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

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

Issue 555243002: mac: Refactor browser_window_controller layout logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fullscreen_layout
Patch Set: Comments from andresantoso, round 2. Created 6 years, 3 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.h" 5 #import "chrome/browser/ui/cocoa/browser_window_controller.h"
6 6
7 #import "base/mac/mac_util.h" 7 #import "base/mac/mac_util.h"
8 #include "base/mac/sdk_forward_declarations.h" 8 #include "base/mac/sdk_forward_declarations.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 timer.Start( 193 timer.Start(
194 FROM_HERE, 194 FROM_HERE,
195 base::TimeDelta::FromMilliseconds(15), 195 base::TimeDelta::FromMilliseconds(15),
196 base::Bind(&CheckBookmarkBarAnimation, 196 base::Bind(&CheckBookmarkBarAnimation,
197 [controller() bookmarkBarController], 197 [controller() bookmarkBarController],
198 runner->QuitClosure())); 198 runner->QuitClosure()));
199 runner->Run(); 199 runner->Run();
200 } 200 }
201 201
202 NSInteger GetExpectedTopInfoBarTipHeight() { 202 NSInteger GetExpectedTopInfoBarTipHeight() {
203 InfoBarContainerController* info_bar_container_controller = 203 // Bubble point in window coordinates.
204 [controller() infoBarContainerController];
205 CGFloat overlapping_tip_height =
206 [info_bar_container_controller overlappingTipHeight];
207 LocationBarViewMac* location_bar_view = [controller() locationBarBridge]; 204 LocationBarViewMac* location_bar_view = [controller() locationBarBridge];
208 NSPoint icon_bottom = location_bar_view->GetPageInfoBubblePoint(); 205 NSPoint icon_bottom = location_bar_view->GetPageInfoBubblePoint();
209 206
210 NSPoint info_bar_top = NSMakePoint(0, 207 // Toolbar's frame in window coordinates.
211 NSHeight([info_bar_container_controller view].frame) - 208 NSView* toolbar = [[controller() toolbarController] view];
212 overlapping_tip_height); 209 NSRect toolbarFrame = [toolbar convertRect:toolbar.bounds toView:nil];
213 info_bar_top = [[info_bar_container_controller view] 210
214 convertPoint:info_bar_top toView:nil]; 211 return icon_bottom.y - NSMinY(toolbarFrame);
215 return icon_bottom.y - info_bar_top.y;
216 } 212 }
213
217 // The traffic lights should always be in front of the content view and the 214 // The traffic lights should always be in front of the content view and the
218 // tab strip view. Since the traffic lights change across OSX versions, this 215 // tab strip view. Since the traffic lights change across OSX versions, this
219 // test verifies that the contentView is in the back, and if the tab strip 216 // test verifies that the contentView is in the back, and if the tab strip
220 // view is a sibling, it is directly in front of the content view. 217 // view is a sibling, it is directly in front of the content view.
221 void VerifyTrafficLightZOrder() const { 218 void VerifyTrafficLightZOrder() const {
222 NSView* contentView = [[controller() window] contentView]; 219 NSView* contentView = [[controller() window] contentView];
223 NSView* rootView = [contentView superview]; 220 NSView* rootView = [contentView superview];
224 EXPECT_EQ(contentView, [[rootView subviews] objectAtIndex:0]); 221 EXPECT_EQ(contentView, [[rootView subviews] objectAtIndex:0]);
225 222
226 NSView* tabStripView = [controller() tabStripView]; 223 NSView* tabStripView = [controller() tabStripView];
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 return; 333 return;
337 334
338 chrome::ToggleFullscreenMode(browser()); 335 chrome::ToggleFullscreenMode(browser());
339 336
340 NSView* fullscreen_floating_bar = 337 NSView* fullscreen_floating_bar =
341 GetViewWithID(VIEW_ID_FULLSCREEN_FLOATING_BAR); 338 GetViewWithID(VIEW_ID_FULLSCREEN_FLOATING_BAR);
342 [fullscreen_floating_bar removeFromSuperview]; 339 [fullscreen_floating_bar removeFromSuperview];
343 [[[controller() window] contentView] addSubview:fullscreen_floating_bar 340 [[[controller() window] contentView] addSubview:fullscreen_floating_bar
344 positioned:NSWindowBelow 341 positioned:NSWindowBelow
345 relativeTo:nil]; 342 relativeTo:nil];
346 [controller() updateSubviewZOrder:[controller() inPresentationMode]]; 343 [controller() updateSubviewZOrder];
347 344
348 std::vector<ViewID> view_list; 345 std::vector<ViewID> view_list;
349 view_list.push_back(VIEW_ID_INFO_BAR); 346 view_list.push_back(VIEW_ID_INFO_BAR);
350 view_list.push_back(VIEW_ID_TAB_CONTENT_AREA); 347 view_list.push_back(VIEW_ID_TAB_CONTENT_AREA);
351 view_list.push_back(VIEW_ID_FULLSCREEN_FLOATING_BAR); 348 view_list.push_back(VIEW_ID_FULLSCREEN_FLOATING_BAR);
352 view_list.push_back(VIEW_ID_BOOKMARK_BAR); 349 view_list.push_back(VIEW_ID_BOOKMARK_BAR);
353 view_list.push_back(VIEW_ID_TOOLBAR); 350 view_list.push_back(VIEW_ID_TOOLBAR);
354 view_list.push_back(VIEW_ID_DOWNLOAD_SHELF); 351 view_list.push_back(VIEW_ID_DOWNLOAD_SHELF);
355 VerifyZOrder(view_list); 352 VerifyZOrder(view_list);
356 } 353 }
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 // Toggle overlay, then verify z order. 481 // Toggle overlay, then verify z order.
485 [controller() showOverlay]; 482 [controller() showOverlay];
486 [controller() removeOverlay]; 483 [controller() removeOverlay];
487 VerifyTrafficLightZOrder(); 484 VerifyTrafficLightZOrder();
488 485
489 // Toggle immersive fullscreen, then verify z order. 486 // Toggle immersive fullscreen, then verify z order.
490 [controller() enterImmersiveFullscreen]; 487 [controller() enterImmersiveFullscreen];
491 [controller() exitImmersiveFullscreen]; 488 [controller() exitImmersiveFullscreen];
492 VerifyTrafficLightZOrder(); 489 VerifyTrafficLightZOrder();
493 } 490 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698