Commit 569dd0cc authored by Gauthier Ambard's avatar Gauthier Ambard Committed by Commit Bot

Move LegacyToolbar method to a specific protocol

This CL splits the use of the legacy method of the
LegacyToolbarCoordinator and regroup them in a specific protocol.
It allows a clearer interface description of the toolbar.

Bug: 798418
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: Ibde8c9e2a819be056de801ff6560922b22ec59d3
Reviewed-on: https://chromium-review.googlesource.com/848855Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarMark Cogan <marq@chromium.org>
Reviewed-by: default avatarOlivier Robin <olivierrobin@chromium.org>
Commit-Queue: Gauthier Ambard <gambard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526991}
parent 831cd095
...@@ -149,6 +149,9 @@ using web::WebStateImpl; ...@@ -149,6 +149,9 @@ using web::WebStateImpl;
- (void)selectedTabChanged; - (void)selectedTabChanged;
- (void)dismissToolsMenuPopup; - (void)dismissToolsMenuPopup;
- (void)cancelOmniboxEdit; - (void)cancelOmniboxEdit;
- (void)setBackgroundAlpha:(CGFloat)alpha;
- (void)browserStateDestroyed;
- (void)stop;
- (ToolbarButtonUpdater*)buttonUpdater; - (ToolbarButtonUpdater*)buttonUpdater;
- (void)setToolsMenuStateProvider:(id)provider; - (void)setToolsMenuStateProvider:(id)provider;
...@@ -199,6 +202,15 @@ using web::WebStateImpl; ...@@ -199,6 +202,15 @@ using web::WebStateImpl;
- (void)start { - (void)start {
return; return;
} }
- (void)setBackgroundAlpha:(CGFloat)alpha {
return;
}
- (void)browserStateDestroyed {
return;
}
- (void)stop {
return;
}
@end @end
#pragma mark - #pragma mark -
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#import "ios/chrome/browser/ui/fullscreen/fullscreen_ui_element.h" #import "ios/chrome/browser/ui/fullscreen/fullscreen_ui_element.h"
#import "ios/chrome/browser/ui/ntp/incognito_view_controller_delegate.h" #import "ios/chrome/browser/ui/ntp/incognito_view_controller_delegate.h"
#import "ios/chrome/browser/ui/toolbar/public/abstract_web_toolbar.h" #import "ios/chrome/browser/ui/toolbar/public/abstract_web_toolbar.h"
#import "ios/chrome/browser/ui/toolbar/public/legacy_toolbar_coordinator.h"
#import "ios/chrome/browser/ui/toolbar/public/primary_toolbar_coordinator.h" #import "ios/chrome/browser/ui/toolbar/public/primary_toolbar_coordinator.h"
#import "ios/chrome/browser/ui/toolbar/toolbar_snapshot_providing.h" #import "ios/chrome/browser/ui/toolbar/toolbar_snapshot_providing.h"
#import "ios/chrome/browser/ui/tools_menu/public/tools_menu_presentation_provider.h" #import "ios/chrome/browser/ui/tools_menu/public/tools_menu_presentation_provider.h"
...@@ -37,13 +38,14 @@ ...@@ -37,13 +38,14 @@
- (void)setToolsMenuIsVisibleForToolsMenuButton:(BOOL)isVisible; - (void)setToolsMenuIsVisibleForToolsMenuButton:(BOOL)isVisible;
- (void)start; - (void)start;
- (void)stop;
@end @end
@interface LegacyToolbarCoordinator @interface LegacyToolbarCoordinator
: ChromeCoordinator<PrimaryToolbarCoordinator, : ChromeCoordinator<PrimaryToolbarCoordinator,
BubbleViewAnchorPointProvider,
IncognitoViewControllerDelegate, IncognitoViewControllerDelegate,
LegacyToolbarCoordinator,
ToolbarSnapshotProviding, ToolbarSnapshotProviding,
ToolsMenuPresentationStateProvider> ToolsMenuPresentationStateProvider>
...@@ -72,16 +74,6 @@ ...@@ -72,16 +74,6 @@
- (void)updateToolbarState; - (void)updateToolbarState;
- (CGRect)visibleOmniboxFrame; - (CGRect)visibleOmniboxFrame;
- (void)triggerToolsMenuButtonAnimation; - (void)triggerToolsMenuButtonAnimation;
- (BOOL)isShowingToolsMenu;
// TODO(crbug.com/788705): Legacy interface. Removes those methods once the old
// toolbar is removed.
- (void)selectedTabChanged;
- (void)setTabCount:(NSInteger)tabCount;
- (void)browserStateDestroyed;
- (void)setShareButtonEnabled:(BOOL)enabled;
- (void)currentPageLoadStarted;
- (void)adjustToolbarHeight;
@end @end
......
...@@ -73,6 +73,9 @@ ...@@ -73,6 +73,9 @@
} }
- (void)stop { - (void)stop {
[self.toolbarController setBackgroundAlpha:1.0];
[self.toolbarController browserStateDestroyed];
[self.toolbarController stop];
if (base::FeatureList::IsEnabled(fullscreen::features::kNewFullscreen)) if (base::FeatureList::IsEnabled(fullscreen::features::kNewFullscreen))
[self stopObservingFullscreen]; [self stopObservingFullscreen];
self.toolbarController = nil; self.toolbarController = nil;
...@@ -130,10 +133,7 @@ ...@@ -130,10 +133,7 @@
} }
- (void)browserStateDestroyed { - (void)browserStateDestroyed {
[self.toolbarController setBackgroundAlpha:1.0]; [self stop];
[self.toolbarController browserStateDestroyed];
if (base::FeatureList::IsEnabled(fullscreen::features::kNewFullscreen))
[self stopObservingFullscreen];
} }
- (void)updateToolbarState { - (void)updateToolbarState {
......
...@@ -7,6 +7,7 @@ source_set("public") { ...@@ -7,6 +7,7 @@ source_set("public") {
sources = [ sources = [
"abstract_toolbar.h", "abstract_toolbar.h",
"abstract_web_toolbar.h", "abstract_web_toolbar.h",
"legacy_toolbar_coordinator.h",
"omnibox_focuser.h", "omnibox_focuser.h",
"primary_toolbar_coordinator.h", "primary_toolbar_coordinator.h",
"side_swipe_toolbar_interacting.h", "side_swipe_toolbar_interacting.h",
...@@ -21,6 +22,7 @@ source_set("public") { ...@@ -21,6 +22,7 @@ source_set("public") {
":toolbar_base_feature", ":toolbar_base_feature",
"//base", "//base",
"//ios/chrome/browser/ui", "//ios/chrome/browser/ui",
"//ios/chrome/browser/ui/bubble",
] ]
} }
......
// Copyright 2018 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 IOS_CHROME_BROWSER_UI_TOOLBAR_PUBLIC_LEGACY_TOOLBAR_COORDINATOR_H_
#define IOS_CHROME_BROWSER_UI_TOOLBAR_PUBLIC_LEGACY_TOOLBAR_COORDINATOR_H_
#import "ios/chrome/browser/ui/bubble/bubble_view_anchor_point_provider.h"
// TODO(crbug.com/788705): Remove this protocol during old toolbar cleanup.
// This protocol is containing the legacy methods implemented by the
// LegacyToolbarCoordinator. It is used to separate those methods from the ones
// used in the refactored toolbar.
@protocol LegacyToolbarCoordinator<BubbleViewAnchorPointProvider>
- (void)selectedTabChanged;
- (void)setTabCount:(NSInteger)tabCount;
- (void)browserStateDestroyed;
- (void)setShareButtonEnabled:(BOOL)enabled;
- (void)currentPageLoadStarted;
- (void)adjustToolbarHeight;
@end
#endif // IOS_CHROME_BROWSER_UI_TOOLBAR_PUBLIC_LEGACY_TOOLBAR_COORDINATOR_H_
...@@ -129,6 +129,10 @@ ...@@ -129,6 +129,10 @@
[self.toolbarCoordinator start]; [self.toolbarCoordinator start];
} }
- (void)stop {
[self.toolbarCoordinator stop];
}
#pragma mark - OmniboxFocuser #pragma mark - OmniboxFocuser
- (void)focusOmnibox { - (void)focusOmnibox {
......
...@@ -575,6 +575,9 @@ using ios::material::TimingFunction; ...@@ -575,6 +575,9 @@ using ios::material::TimingFunction;
- (void)start { - (void)start {
} }
- (void)stop {
}
- (void)didMoveToParentViewController:(UIViewController*)parent { - (void)didMoveToParentViewController:(UIViewController*)parent {
UILayoutGuide* omniboxPopupGuide = FindNamedGuide(kOmniboxGuide, self.view); UILayoutGuide* omniboxPopupGuide = FindNamedGuide(kOmniboxGuide, self.view);
// The layout guide should be positioned with the same constraints as the // The layout guide should be positioned with the same constraints as the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment