Index: chrome/browser/ui/cocoa/browser_window_controller_private.mm |
diff --git a/chrome/browser/ui/cocoa/browser_window_controller_private.mm b/chrome/browser/ui/cocoa/browser_window_controller_private.mm |
index f261abb8e37d01e1ccac1185de6cc65cde825eef..65c4c4a81ae220cecc5a7dd64dc08da367c66977 100644 |
--- a/chrome/browser/ui/cocoa/browser_window_controller_private.mm |
+++ b/chrome/browser/ui/cocoa/browser_window_controller_private.mm |
@@ -277,6 +277,20 @@ willPositionSheet:(NSWindow*)sheet |
// Normally, we don't need to tell the toolbar whether or not to show the |
// divider, but things break down during animation. |
[toolbarController_ setDividerOpacity:[self toolbarDividerOpacity]]; |
+ |
+ // Update the position of the active constrained window sheet. We force this |
+ // here because the |sheetParentView| may not have been resized (e.g., to |
+ // prevent jank during a fullscreen mode transition), but constrained window |
+ // sheets also compute their position based on the bookmark bar and toolbar. |
+ content::WebContents* const activeWebContents = |
+ browser_->tab_strip_model()->GetActiveWebContents(); |
+ NSView* const sheetParentView = activeWebContents ? |
+ GetSheetParentViewForWebContents(activeWebContents) : nil; |
+ if (sheetParentView) { |
+ [[NSNotificationCenter defaultCenter] |
+ postNotificationName:NSViewFrameDidChangeNotification |
+ object:sheetParentView]; |
+ } |
} |
- (CGFloat)floatingBarHeight { |