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

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

Issue 18009003: Instant Extended: Delete unused overlay code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/dev_tools_controller.h" 5 #import "chrome/browser/ui/cocoa/dev_tools_controller.h"
6 6
7 #include "chrome/browser/devtools/devtools_window.h" 7 #include "chrome/browser/devtools/devtools_window.h"
8 #include "chrome/browser/ui/browser.h" 8 #include "chrome/browser/ui/browser.h"
9 #include "chrome/browser/ui/browser_list.h" 9 #include "chrome/browser/ui/browser_list.h"
10 #include "chrome/browser/ui/browser_window.h" 10 #include "chrome/browser/ui/browser_window.h"
11 #include "chrome/browser/ui/cocoa/browser_window_controller.h" 11 #include "chrome/browser/ui/cocoa/browser_window_controller.h"
12 #include "chrome/browser/ui/find_bar/find_bar.h" 12 #include "chrome/browser/ui/find_bar/find_bar.h"
13 #include "chrome/browser/ui/find_bar/find_bar_controller.h" 13 #include "chrome/browser/ui/find_bar/find_bar_controller.h"
14 #include "chrome/common/url_constants.h" 14 #include "chrome/common/url_constants.h"
15 #include "chrome/test/base/in_process_browser_test.h" 15 #include "chrome/test/base/in_process_browser_test.h"
16 #include "content/public/browser/web_contents.h" 16 #include "content/public/browser/web_contents.h"
17 #include "content/public/browser/web_contents_view.h" 17 #include "content/public/browser/web_contents_view.h"
18 18
19 class DevToolsControllerTest : public InProcessBrowserTest { 19 class DevToolsControllerTest : public InProcessBrowserTest {
20 public: 20 public:
21 DevToolsControllerTest() : InProcessBrowserTest() { 21 DevToolsControllerTest() : InProcessBrowserTest() {
22 } 22 }
23 23
24 virtual void SetUpOnMainThread() OVERRIDE { 24 virtual void SetUpOnMainThread() OVERRIDE {
25 DevToolsWindow::ToggleDevToolsWindow(browser(), 25 DevToolsWindow::ToggleDevToolsWindow(browser(),
26 DEVTOOLS_TOGGLE_ACTION_SHOW); 26 DEVTOOLS_TOGGLE_ACTION_SHOW);
27 } 27 }
28 28
29 DevToolsController* controller() {
30 NSWindow* window = browser()->window()->GetNativeWindow();
31 BrowserWindowController* window_controller =
32 [BrowserWindowController browserWindowControllerForWindow:window];
33 return [window_controller devToolsController];
34 }
35
36 void SetDockSide(DevToolsDockSide side) {
37 content::WebContents* web_contents =
38 browser()->tab_strip_model()->GetActiveWebContents();
39 DevToolsWindow* dev_tools =
40 DevToolsWindow::GetDockedInstanceForInspectedTab(web_contents);
41 dev_tools->SetDockSide(dev_tools->SideToString(side));
42 }
43
44 private: 29 private:
45 DISALLOW_COPY_AND_ASSIGN(DevToolsControllerTest); 30 DISALLOW_COPY_AND_ASSIGN(DevToolsControllerTest);
46 }; 31 };
47 32
48 // Verify that in horizontal mode the splitter is not allowed to go past the
49 // bookmark bar.
50 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, ConstrainSplitter) {
51 [controller() setTopContentOffset:0];
52 EXPECT_EQ(0, [controller() splitView:[controller() splitView]
53 constrainSplitPosition:0
54 ofSubviewAt:0]);
55
56 CGFloat offset = 50;
57 [controller() setTopContentOffset:offset];
58 EXPECT_EQ(offset, [controller() splitView:[controller() splitView]
59 constrainSplitPosition:0
60 ofSubviewAt:0]);
61
62 // Should not be constrained in vertical mode.
63 [[controller() splitView] setVertical:YES];
64 EXPECT_EQ(0, [controller() splitView:[controller() splitView]
65 constrainSplitPosition:0
66 ofSubviewAt:0]);
67 }
68
69 // When docked to the right the dev tools view should be shrunk so that it
70 // doesn't overlap the bookmark bar.
71 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, ViewSize) {
72 EXPECT_EQ(2u, [[[controller() splitView] subviews] count]);
73 NSView* container_view = [[[controller() splitView] subviews] lastObject];
74 EXPECT_EQ(1u, [[container_view subviews] count]);
75 NSView* dev_tools_view = [[container_view subviews] lastObject];
76 CGFloat width = NSWidth([[controller() splitView] bounds]);
77 CGFloat height = NSHeight([[controller() splitView] bounds]);
78 CGFloat offset = [controller() topContentOffset];
79
80 SetDockSide(DEVTOOLS_DOCK_SIDE_BOTTOM);
81 EXPECT_EQ(width, NSWidth([dev_tools_view bounds]));
82
83 SetDockSide(DEVTOOLS_DOCK_SIDE_RIGHT);
84 EXPECT_EQ(height - offset, NSHeight([dev_tools_view bounds]));
85
86 CGFloat new_offset = 50;
87 [controller() setTopContentOffset:new_offset];
88
89 SetDockSide(DEVTOOLS_DOCK_SIDE_BOTTOM);
90 EXPECT_EQ(width, NSWidth([dev_tools_view bounds]));
91
92 SetDockSide(DEVTOOLS_DOCK_SIDE_RIGHT);
93 EXPECT_EQ(height - new_offset, NSHeight([dev_tools_view bounds]));
94 }
95
96 // Verify that the dev tool's web view is layed out correctly when docked to the
97 // right.
98 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, WebViewLayout) {
99 CGFloat offset = 50;
100 [controller() setTopContentOffset:offset];
101
102 SetDockSide(DEVTOOLS_DOCK_SIDE_RIGHT);
103 AddTabAtIndex(
104 0, GURL(content::kAboutBlankURL), content::PAGE_TRANSITION_TYPED);
105 DevToolsWindow::ToggleDevToolsWindow(browser(), DEVTOOLS_TOGGLE_ACTION_SHOW);
106
107 NSView* container_view = [[[controller() splitView] subviews] lastObject];
108 NSView* dev_tools_view = [[container_view subviews] lastObject];
109 NSView* web_view = [[dev_tools_view subviews] lastObject];
110
111 CGFloat height = NSHeight([[controller() splitView] bounds]);
112
113 EXPECT_EQ(height - offset, NSHeight([web_view bounds]));
114 EXPECT_EQ(0, NSMinY([web_view bounds]));
115
116 // Update the offset and verify that the view is resized.
117 CGFloat new_offset = 25;
118 [controller() setTopContentOffset:new_offset];
119 EXPECT_EQ(height - new_offset, NSHeight([web_view bounds]));
120 EXPECT_EQ(0, NSMinY([web_view bounds]));
121 }
122
123 // Verify that the dev tools undocked window is layed out correctly.
124 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, UndockedOffset) {
125 BrowserList* browser_list =
126 BrowserList::GetInstance(chrome::GetActiveDesktop());
127 EXPECT_EQ(1u, browser_list->size());
128 SetDockSide(DEVTOOLS_DOCK_SIDE_UNDOCKED);
129 EXPECT_EQ(2u, browser_list->size());
130
131 Browser* dev_tools_browser = browser_list->get(1);
132 BrowserWindowController* window_controller =
133 [BrowserWindowController browserWindowControllerForWindow:
134 dev_tools_browser->window()->GetNativeWindow()];
135 EXPECT_EQ(0.0, [[window_controller devToolsController] topContentOffset]);
136 }
137
138 // Verify that AllowOverlappingViews is set while the find bar is visible. 33 // Verify that AllowOverlappingViews is set while the find bar is visible.
139 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, AllowOverlappingViews) { 34 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, AllowOverlappingViews) {
140 content::WebContents* web_contents = 35 content::WebContents* web_contents =
141 browser()->tab_strip_model()->GetActiveWebContents(); 36 browser()->tab_strip_model()->GetActiveWebContents();
142 DevToolsWindow* dev_tools = 37 DevToolsWindow* dev_tools =
143 DevToolsWindow::GetDockedInstanceForInspectedTab(web_contents); 38 DevToolsWindow::GetDockedInstanceForInspectedTab(web_contents);
144 content::WebContentsView* dev_tools_view = 39 content::WebContentsView* dev_tools_view =
145 dev_tools->web_contents()->GetView(); 40 dev_tools->web_contents()->GetView();
146 41
147 // Without the find bar. 42 // Without the find bar.
148 EXPECT_FALSE(dev_tools_view->GetAllowOverlappingViews()); 43 EXPECT_FALSE(dev_tools_view->GetAllowOverlappingViews());
149 44
150 // With the find bar. 45 // With the find bar.
151 browser()->GetFindBarController()->find_bar()->Show(false); 46 browser()->GetFindBarController()->find_bar()->Show(false);
152 EXPECT_TRUE(dev_tools_view->GetAllowOverlappingViews()); 47 EXPECT_TRUE(dev_tools_view->GetAllowOverlappingViews());
153 48
154 // Without the find bar. 49 // Without the find bar.
155 browser()->GetFindBarController()->find_bar()->Hide(false); 50 browser()->GetFindBarController()->find_bar()->Hide(false);
156 EXPECT_FALSE(dev_tools_view->GetAllowOverlappingViews()); 51 EXPECT_FALSE(dev_tools_view->GetAllowOverlappingViews());
157 } 52 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/dev_tools_controller.mm ('k') | chrome/browser/ui/cocoa/fast_resize_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698