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

Side by Side Diff: chrome/browser/ui/cocoa/browser_window_controller_private.mm

Issue 468193005: Remove SetAllowOverlappingView from RWHVMac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_ca_flag
Patch Set: Created 6 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "chrome/browser/ui/cocoa/browser_window_controller_private.h" 5 #import "chrome/browser/ui/cocoa/browser_window_controller_private.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/mac/mac_util.h" 10 #include "base/mac/mac_util.h"
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 ([self hasTabStrip] || [self hasToolbar] || [self hasLocationBar])) { 786 ([self hasTabStrip] || [self hasToolbar] || [self hasLocationBar])) {
787 floatingBarBackingView_.reset( 787 floatingBarBackingView_.reset(
788 [[FloatingBarBackingView alloc] initWithFrame:NSZeroRect]); 788 [[FloatingBarBackingView alloc] initWithFrame:NSZeroRect]);
789 [floatingBarBackingView_ setAutoresizingMask:(NSViewWidthSizable | 789 [floatingBarBackingView_ setAutoresizingMask:(NSViewWidthSizable |
790 NSViewMinYMargin)]; 790 NSViewMinYMargin)];
791 } 791 }
792 792
793 // Force the bookmark bar z-order to update. 793 // Force the bookmark bar z-order to update.
794 [[bookmarkBarController_ view] removeFromSuperview]; 794 [[bookmarkBarController_ view] removeFromSuperview];
795 [self updateSubviewZOrder:fullscreen]; 795 [self updateSubviewZOrder:fullscreen];
796 [self updateAllowOverlappingViews:fullscreen];
797 } 796 }
798 797
799 - (void)showFullscreenExitBubbleIfNecessary { 798 - (void)showFullscreenExitBubbleIfNecessary {
800 // This method is called in response to 799 // This method is called in response to
801 // |-updateFullscreenExitBubbleURL:bubbleType:|. If we're in the middle of the 800 // |-updateFullscreenExitBubbleURL:bubbleType:|. If we're in the middle of the
802 // transition into fullscreen (i.e., using the System Fullscreen API), do not 801 // transition into fullscreen (i.e., using the System Fullscreen API), do not
803 // show the bubble because it will cause visual jank 802 // show the bubble because it will cause visual jank
804 // (http://crbug.com/130649). This will be called again as part of 803 // (http://crbug.com/130649). This will be called again as part of
805 // |-windowDidEnterFullScreen:|, so arrange to do that work then instead. 804 // |-windowDidEnterFullScreen:|, so arrange to do that work then instead.
806 if (enteringFullscreen_) 805 if (enteringFullscreen_)
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
1024 isPositioned:NSWindowAbove 1023 isPositioned:NSWindowAbove
1025 relativeTo:[bookmarkBarController_ view]]; 1024 relativeTo:[bookmarkBarController_ view]];
1026 } else { 1025 } else {
1027 [contentView cr_ensureSubview:floatingBarBackingView_ 1026 [contentView cr_ensureSubview:floatingBarBackingView_
1028 isPositioned:NSWindowBelow 1027 isPositioned:NSWindowBelow
1029 relativeTo:[bookmarkBarController_ view]]; 1028 relativeTo:[bookmarkBarController_ view]];
1030 } 1029 }
1031 } 1030 }
1032 } 1031 }
1033 1032
1034 - (BOOL)shouldAllowOverlappingViews:(BOOL)inPresentationMode {
1035 if (inPresentationMode)
1036 return YES;
1037
1038 if (findBarCocoaController_ &&
1039 ![[findBarCocoaController_ findBarView] isHidden]) {
1040 return YES;
1041 }
1042
1043 if (overlappedViewCount_)
1044 return YES;
1045
1046 return NO;
1047 }
1048
1049 - (void)updateAllowOverlappingViews:(BOOL)inPresentationMode {
1050 WebContents* contents = browser_->tab_strip_model()->GetActiveWebContents();
1051 if (!contents)
1052 return;
1053
1054 BOOL allowOverlappingViews =
1055 [self shouldAllowOverlappingViews:inPresentationMode];
1056
1057 // The rendering path with overlapping views disabled causes bugs when
1058 // transitioning between composited and non-composited mode.
1059 // http://crbug.com/279472
1060 allowOverlappingViews = YES;
1061 contents->SetAllowOverlappingViews(allowOverlappingViews);
1062
1063 WebContents* devTools = DevToolsWindow::GetInTabWebContents(contents, NULL);
1064 if (devTools)
1065 devTools->SetAllowOverlappingViews(allowOverlappingViews);
1066 }
1067
1068 - (void)updateInfoBarTipVisibility { 1033 - (void)updateInfoBarTipVisibility {
1069 // If there's no toolbar then hide the infobar tip. 1034 // If there's no toolbar then hide the infobar tip.
1070 [infoBarContainerController_ 1035 [infoBarContainerController_
1071 setShouldSuppressTopInfoBarTip:![self hasToolbar]]; 1036 setShouldSuppressTopInfoBarTip:![self hasToolbar]];
1072 } 1037 }
1073 1038
1074 @end // @implementation BrowserWindowController(Private) 1039 @end // @implementation BrowserWindowController(Private)
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/browser_window_controller_private.h ('k') | chrome/browser/ui/cocoa/confirm_bubble_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698