Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Unified Diff: ios/chrome/browser/ui/omnibox/location_bar_controller_impl.h

Issue 2796793003: [ios] Adds a LocationBarController interface. (Closed)
Patch Set: Review. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/ui/omnibox/location_bar_controller_impl.h
diff --git a/ios/chrome/browser/ui/omnibox/location_bar_view_ios.h b/ios/chrome/browser/ui/omnibox/location_bar_controller_impl.h
similarity index 54%
rename from ios/chrome/browser/ui/omnibox/location_bar_view_ios.h
rename to ios/chrome/browser/ui/omnibox/location_bar_controller_impl.h
index 9e583feb7000339d15afa0b24d0734a2b383f56d..8c99cc22cce3a51d88d4f63848cdb79b169cbe9a 100644
--- a/ios/chrome/browser/ui/omnibox/location_bar_view_ios.h
+++ b/ios/chrome/browser/ui/omnibox/location_bar_controller_impl.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef IOS_CHROME_BROWSER_UI_OMNIBOX_LOCATION_BAR_VIEW_IOS_H_
-#define IOS_CHROME_BROWSER_UI_OMNIBOX_LOCATION_BAR_VIEW_IOS_H_
+#ifndef IOS_CHROME_BROWSER_UI_OMNIBOX_LOCATION_BAR_CONTROLLER_IMPL_H_
+#define IOS_CHROME_BROWSER_UI_OMNIBOX_LOCATION_BAR_CONTROLLER_IMPL_H_
#import <UIKit/UIKit.h>
@@ -12,7 +12,7 @@
#include "base/mac/scoped_nsobject.h"
#include "base/strings/utf_string_conversions.h"
#include "components/omnibox/browser/omnibox_view.h"
-#include "ios/chrome/browser/ui/omnibox/web_omnibox_edit_controller.h"
+#include "ios/shared/chrome/browser/ui/omnibox/location_bar_controller.h"
#include "ui/base/page_transition_types.h"
#include "url/gurl.h"
@@ -24,6 +24,7 @@ namespace web {
class WebState;
}
+@protocol LocationBarDelegate;
class OmniboxViewIOS;
@class OmniboxClearButtonBridge;
@protocol OmniboxPopupPositioner;
@@ -31,31 +32,15 @@ class OmniboxViewIOS;
@protocol PreloadProvider;
class ToolbarModel;
-// Delegate for LocationBarViewIOS objects. Used to provide the location bar a
-// way to open URLs and otherwise interact with the browser.
-@protocol LocationBarDelegate
-- (void)loadGURLFromLocationBar:(const GURL&)url
- transition:(ui::PageTransition)transition;
-- (void)locationBarHasBecomeFirstResponder;
-- (void)locationBarHasResignedFirstResponder;
-- (void)locationBarBeganEdit;
-- (void)locationBarChanged;
-- (web::WebState*)getWebState;
-- (ToolbarModel*)toolbarModel;
-@end
-
-// C++ object that wraps an OmniboxViewIOS and serves as its
-// OmniboxEditController. LocationBarViewIOS bridges between the edit view
-// and the rest of the browser and manages text field decorations (location
-// icon, security icon, etc.).
-class LocationBarViewIOS : public WebOmniboxEditController {
+// Concrete implementation of the LocationBarController interface.
+class LocationBarControllerImpl : public LocationBarController {
public:
- LocationBarViewIOS(OmniboxTextFieldIOS* field,
- ios::ChromeBrowserState* browser_state,
- id<PreloadProvider> preloader,
- id<OmniboxPopupPositioner> positioner,
- id<LocationBarDelegate> delegate);
- ~LocationBarViewIOS() override;
+ LocationBarControllerImpl(OmniboxTextFieldIOS* field,
+ ios::ChromeBrowserState* browser_state,
+ id<PreloadProvider> preloader,
+ id<OmniboxPopupPositioner> positioner,
+ id<LocationBarDelegate> delegate);
+ ~LocationBarControllerImpl() override;
// OmniboxEditController implementation
void OnAutocompleteAccept(const GURL& url,
@@ -72,22 +57,13 @@ class LocationBarViewIOS : public WebOmniboxEditController {
web::WebState* GetWebState() override;
void OnKillFocus() override;
- // Called when toolbar state is updated.
- void OnToolbarUpdated();
-
- // Resign omnibox first responder and end edit view editing.
- void HideKeyboardAndEndEditing();
-
- // Tells the omnibox if it can show the hint text or not.
- void SetShouldShowHintText(bool show_hint_text);
-
- // Returns a pointer to the text entry view.
- const OmniboxView* GetLocationEntry() const;
- OmniboxView* GetLocationEntry();
-
- // True if the omnibox text field is showing a placeholder image in its left
- // view while it's collapsed (i.e. not in editing mode).
- bool IsShowingPlaceholderWhileCollapsed();
+ // LocationBarController implementation.
+ void OnToolbarUpdated() override;
+ void HideKeyboardAndEndEditing() override;
+ void SetShouldShowHintText(bool show_hint_text) override;
+ const OmniboxView* GetLocationEntry() const override;
+ OmniboxView* GetLocationEntry() override;
+ bool IsShowingPlaceholderWhileCollapsed() override;
private:
// Installs a UIButton that serves as the location icon and lock icon. This
@@ -116,4 +92,4 @@ class LocationBarViewIOS : public WebOmniboxEditController {
bool is_showing_placeholder_while_collapsed_;
};
-#endif // IOS_CHROME_BROWSER_UI_OMNIBOX_LOCATION_BAR_VIEW_IOS_H_
+#endif // IOS_CHROME_BROWSER_UI_OMNIBOX_LOCATION_BAR_CONTROLLER_IMPL_H_

Powered by Google App Engine
This is Rietveld 408576698