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

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

Issue 607723002: mac: Refactor tab strip layout logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tabstrip_relayout_bug_base
Patch Set: Created 6 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #include "base/mac/scoped_nsobject.h" 7 #include "base/mac/scoped_nsobject.h"
8 #import "chrome/browser/ui/cocoa/browser_window_layout.h" 8 #import "chrome/browser/ui/cocoa/browser_window_layout.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 class BrowserWindowLayoutTest : public testing::Test { 11 class BrowserWindowLayoutTest : public testing::Test {
12 public: 12 public:
13 BrowserWindowLayoutTest() {} 13 BrowserWindowLayoutTest() {}
14 virtual void SetUp() OVERRIDE { 14 virtual void SetUp() OVERRIDE {
15 layout.reset([[BrowserWindowLayout alloc] init]); 15 layout.reset([[BrowserWindowLayout alloc] init]);
16 16
17 [layout setContentViewSize:NSMakeSize(600, 600)]; 17 [layout setContentViewSize:NSMakeSize(600, 600)];
18 [layout setWindowSize:NSMakeSize(600, 622)]; 18 [layout setWindowSize:NSMakeSize(600, 622)];
19 [layout setInAnyFullscreen:NO]; 19 [layout setInAnyFullscreen:NO];
20 [layout setHasTabStrip:YES]; 20 [layout setHasTabStrip:YES];
21 [layout setFullscreenButtonFrame:NSMakeRect(575, 596, 16, 17)];
22 [layout setShouldShowAvatar:YES];
23 [layout setShouldUseNewAvatar:YES];
24 [layout setAvatarSize:NSMakeSize(63, 27)];
25 [layout setAvatarLineWidth:1];
21 [layout setHasToolbar:YES]; 26 [layout setHasToolbar:YES];
22 [layout setToolbarHeight:32]; 27 [layout setToolbarHeight:32];
23 [layout setPlaceBookmarkBarBelowInfoBar:NO]; 28 [layout setPlaceBookmarkBarBelowInfoBar:NO];
24 [layout setBookmarkBarHidden:NO]; 29 [layout setBookmarkBarHidden:NO];
25 [layout setBookmarkBarHeight:26]; 30 [layout setBookmarkBarHeight:26];
26 [layout setInfoBarHeight:72]; 31 [layout setInfoBarHeight:72];
27 [layout setPageInfoBubblePointY:13]; 32 [layout setPageInfoBubblePointY:13];
28 [layout setHasDownloadShelf:YES]; 33 [layout setHasDownloadShelf:YES];
29 [layout setDownloadShelfHeight:44]; 34 [layout setDownloadShelfHeight:44];
30 } 35 }
31 36
32 base::scoped_nsobject<BrowserWindowLayout> layout; 37 base::scoped_nsobject<BrowserWindowLayout> layout;
33 38
34 private: 39 private:
35 DISALLOW_COPY_AND_ASSIGN(BrowserWindowLayoutTest); 40 DISALLOW_COPY_AND_ASSIGN(BrowserWindowLayoutTest);
36 }; 41 };
37 42
38 TEST_F(BrowserWindowLayoutTest, TestAllViews) { 43 TEST_F(BrowserWindowLayoutTest, TestAllViews) {
39 chrome::LayoutOutput output = [layout computeLayout]; 44 chrome::LayoutOutput output = [layout computeLayout];
40 45
41 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripFrame)); 46 EXPECT_TRUE(
47 NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripLayout.frame));
48 EXPECT_TRUE(NSEqualRects(NSMakeRect(508, 590, 63, 27),
49 output.tabStripLayout.avatarFrame));
50 EXPECT_EQ(70, output.tabStripLayout.leftIndent);
51 EXPECT_EQ(92, output.tabStripLayout.rightIndent);
42 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame)); 52 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame));
43 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame)); 53 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame));
44 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame)); 54 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame));
45 EXPECT_EQ(527, output.findBarMaxY); 55 EXPECT_EQ(527, output.findBarMaxY);
46 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame)); 56 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame));
47 EXPECT_TRUE( 57 EXPECT_TRUE(
48 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame)); 58 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame));
49 EXPECT_TRUE( 59 EXPECT_TRUE(
50 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame)); 60 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame));
51 } 61 }
52 62
53 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreen) { 63 TEST_F(BrowserWindowLayoutTest, TestAllViewsFullscreen) {
54 // Content view has same size as window in AppKit Fullscreen. 64 // Content view has same size as window in AppKit Fullscreen.
55 [layout setContentViewSize:NSMakeSize(600, 622)]; 65 [layout setContentViewSize:NSMakeSize(600, 622)];
56 [layout setInAnyFullscreen:YES]; 66 [layout setInAnyFullscreen:YES];
57 [layout setFullscreenSlidingStyle:fullscreen_mac::OMNIBOX_TABS_PRESENT]; 67 [layout setFullscreenSlidingStyle:fullscreen_mac::OMNIBOX_TABS_PRESENT];
58 [layout setFullscreenMenubarOffset:0]; 68 [layout setFullscreenMenubarOffset:0];
59 [layout setFullscreenToolbarFraction:0]; 69 [layout setFullscreenToolbarFraction:0];
70 [layout setFullscreenButtonFrame:NSZeroRect];
60 71
61 chrome::LayoutOutput output = [layout computeLayout]; 72 chrome::LayoutOutput output = [layout computeLayout];
62 73
63 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripFrame)); 74 EXPECT_TRUE(
75 NSEqualRects(NSMakeRect(0, 585, 600, 37), output.tabStripLayout.frame));
76 EXPECT_TRUE(NSEqualRects(NSMakeRect(533, 590, 63, 27),
77 output.tabStripLayout.avatarFrame));
78 EXPECT_EQ(0, output.tabStripLayout.leftIndent);
79 EXPECT_EQ(67, output.tabStripLayout.rightIndent);
64 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame)); 80 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 553, 600, 32), output.toolbarFrame));
65 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame)); 81 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 26), output.bookmarkFrame));
66 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 95), 82 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 527, 600, 95),
67 output.fullscreenBackingBarFrame)); 83 output.fullscreenBackingBarFrame));
68 EXPECT_EQ(527, output.findBarMaxY); 84 EXPECT_EQ(527, output.findBarMaxY);
69 EXPECT_EQ(527, output.fullscreenExitButtonMaxY); 85 EXPECT_EQ(527, output.fullscreenExitButtonMaxY);
70 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame)); 86 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 455, 600, 111), output.infoBarFrame));
71 EXPECT_TRUE( 87 EXPECT_TRUE(
72 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame)); 88 NSEqualRects(NSMakeRect(0, 0, 600, 44), output.downloadShelfFrame));
73 EXPECT_TRUE( 89 EXPECT_TRUE(
74 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame)); 90 NSEqualRects(NSMakeRect(0, 44, 600, 411), output.contentAreaFrame));
75 } 91 }
76 92
77 TEST_F(BrowserWindowLayoutTest, TestPopupWindow) { 93 TEST_F(BrowserWindowLayoutTest, TestPopupWindow) {
78 [layout setHasTabStrip:NO]; 94 [layout setHasTabStrip:NO];
79 [layout setHasToolbar:NO]; 95 [layout setHasToolbar:NO];
80 [layout setHasLocationBar:YES]; 96 [layout setHasLocationBar:YES];
81 [layout setBookmarkBarHidden:YES]; 97 [layout setBookmarkBarHidden:YES];
82 [layout setHasDownloadShelf:NO]; 98 [layout setHasDownloadShelf:NO];
83 99
84 chrome::LayoutOutput output = [layout computeLayout]; 100 chrome::LayoutOutput output = [layout computeLayout];
85 101
86 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.tabStripFrame)); 102 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.tabStripLayout.frame));
103 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.tabStripLayout.avatarFrame));
104 EXPECT_EQ(0, output.tabStripLayout.leftIndent);
105 EXPECT_EQ(0, output.tabStripLayout.rightIndent);
87 EXPECT_TRUE(NSEqualRects(NSMakeRect(1, 568, 598, 32), output.toolbarFrame)); 106 EXPECT_TRUE(NSEqualRects(NSMakeRect(1, 568, 598, 32), output.toolbarFrame));
88 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.bookmarkFrame)); 107 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.bookmarkFrame));
89 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame)); 108 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.fullscreenBackingBarFrame));
90 EXPECT_EQ(567, output.findBarMaxY); 109 EXPECT_EQ(567, output.findBarMaxY);
91 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 495, 600, 86), output.infoBarFrame)); 110 EXPECT_TRUE(NSEqualRects(NSMakeRect(0, 495, 600, 86), output.infoBarFrame));
92 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.downloadShelfFrame)); 111 EXPECT_TRUE(NSEqualRects(NSZeroRect, output.downloadShelfFrame));
93 EXPECT_TRUE( 112 EXPECT_TRUE(
94 NSEqualRects(NSMakeRect(0, 0, 600, 495), output.contentAreaFrame)); 113 NSEqualRects(NSMakeRect(0, 0, 600, 495), output.contentAreaFrame));
95 } 114 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698