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

Unified Diff: ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm

Issue 2869903002: [ios clean] Dismisses ToolsMenu on Layout changes. (Closed)
Patch Set: Checks for frame changes Created 3 years, 7 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/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
diff --git a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
index bdfcad661eced3e263d3fcc6dd2f08f31d3be217..b097d52082ad3e483ce4f5ae25681867cb4bf0a5 100644
--- a/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
+++ b/ios/clean/chrome/browser/ui/tab_grid/tab_grid_view_controller.mm
@@ -25,6 +25,7 @@
@property(nonatomic, weak) UIView* noTabsOverlay;
@property(nonatomic, weak) TabGridToolbar* toolbar;
@property(nonatomic, weak) MDCFloatingButton* floatingNewTabButton;
+@property(nonatomic, assign) CGRect currentFrame;
@end
@implementation TabGridViewController
@@ -32,6 +33,7 @@
@synthesize noTabsOverlay = _noTabsOverlay;
@synthesize toolbar = _toolbar;
@synthesize floatingNewTabButton = _floatingNewTabButton;
+@synthesize currentFrame = _currentFrame;
#pragma mark - Required subclass override
@@ -66,6 +68,8 @@
[self.toolbar.trailingAnchor
constraintEqualToAnchor:self.view.trailingAnchor]
]];
+
+ self.currentFrame = self.view.frame;
}
- (void)viewWillAppear:(BOOL)animated {
@@ -85,6 +89,15 @@
UIEdgeInsetsMake(CGRectGetMaxY(self.toolbar.frame), 0, 0, 0);
}
+- (void)viewWillLayoutSubviews {
+ // We need to dismiss the ToolsMenu everytime the Toolbar frame changes
+ // (e.g. Size changes, rotation changes, etc.)
+ if (!CGRectEqualToRect(self.currentFrame, self.view.frame)) {
+ [self.dispatcher closeToolsMenu];
+ }
+ self.currentFrame = self.view.frame;
+}
+
#pragma mark - SettingsActions
- (void)showSettings:(id)sender {

Powered by Google App Engine
This is Rietveld 408576698