| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_OMNIBOX_BROWSER_OMNIBOX_EDIT_CONTROLLER_H_ |
| #define COMPONENTS_OMNIBOX_BROWSER_OMNIBOX_EDIT_CONTROLLER_H_ |
| |
| #include "base/strings/string16.h" |
| #include "ui/base/page_transition_types.h" |
| #include "ui/base/window_open_disposition.h" |
| #include "url/gurl.h" |
| |
| class ToolbarModel; |
| |
| namespace gfx { |
| class Image; |
| } |
| |
| class OmniboxEditController { |
| public: |
| virtual void OnAutocompleteAccept(const GURL& destination_url, |
| WindowOpenDisposition disposition, |
| ui::PageTransition transition); |
| |
| // Called when the the controller should update itself without restoring any |
| // tab state. |
| virtual void UpdateWithoutTabRestore() = 0; |
| |
| // Called when anything has changed that might affect the layout or contents |
| // of the views around the edit, including the text of the edit and the |
| // status of any keyword- or hint-related state. |
| virtual void OnChanged() = 0; |
| |
| // Called whenever the autocomplete edit gets focused. |
| virtual void OnSetFocus() = 0; |
| |
| // Shows the URL. |
| virtual void ShowURL() = 0; |
| |
| virtual ToolbarModel* GetToolbarModel() = 0; |
| virtual const ToolbarModel* GetToolbarModel() const = 0; |
| |
| protected: |
| OmniboxEditController(); |
| virtual ~OmniboxEditController(); |
| |
| GURL destination_url() const { return destination_url_; } |
| WindowOpenDisposition disposition() const { return disposition_; } |
| ui::PageTransition transition() const { return transition_; } |
| |
| private: |
| // The details necessary to open the user's desired omnibox match. |
| GURL destination_url_; |
| WindowOpenDisposition disposition_; |
| ui::PageTransition transition_; |
| |
| DISALLOW_COPY_AND_ASSIGN(OmniboxEditController); |
| }; |
| |
| #endif // COMPONENTS_OMNIBOX_BROWSER_OMNIBOX_EDIT_CONTROLLER_H_ |