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

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

Issue 388803003: [Mac] Replace SetOverlayView with AllowOtherViews. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased, fixed comments Created 6 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/notification_types.h"
16 #include "content/public/browser/web_contents.h" 17 #include "content/public/browser/web_contents.h"
18 #include "content/public/test/test_utils.h"
17 19
18 class DevToolsControllerTest : public InProcessBrowserTest { 20 class DevToolsControllerTest : public InProcessBrowserTest {
19 public: 21 public:
20 DevToolsControllerTest() : InProcessBrowserTest() { 22 DevToolsControllerTest() : InProcessBrowserTest(), devtools_window_(NULL) {}
23
24 protected:
25 void OpenDevToolsWindow() {
26 devtools_window_ =
27 DevToolsWindow::OpenDevToolsWindowForTest(browser(), true);
21 } 28 }
22 29
23 virtual void SetUpOnMainThread() OVERRIDE { 30 void CloseDevToolsWindow() {
24 DevToolsWindow::OpenDevToolsWindowForTest(browser(), true); 31 content::WindowedNotificationObserver close_observer(
32 content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
33 content::Source<content::WebContents>(
34 devtools_window_->web_contents_for_test()));
35 DevToolsWindow::ToggleDevToolsWindow(
36 browser(), DevToolsToggleAction::Toggle());
37 close_observer.Wait();
25 } 38 }
26 39
40 content::WebContents* web_contents() {
41 return browser()->tab_strip_model()->GetActiveWebContents();
42 }
43
44 content::WebContents* devtools_web_contents() {
45 return DevToolsWindow::GetInTabWebContents(web_contents(), NULL);
46 }
47
48 DevToolsWindow* devtools_window_;
49
27 private: 50 private:
28 DISALLOW_COPY_AND_ASSIGN(DevToolsControllerTest); 51 DISALLOW_COPY_AND_ASSIGN(DevToolsControllerTest);
29 }; 52 };
30 53
31 // Verify that AllowOverlappingViews is set while the find bar is visible. 54 // Verify that AllowOverlappingViews is set while the find bar is visible.
32 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, AllowOverlappingViews) { 55 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, AllowOverlappingViews) {
33 content::WebContents* web_contents = 56 OpenDevToolsWindow();
34 browser()->tab_strip_model()->GetActiveWebContents();
35 content::WebContents* dev_tools =
36 DevToolsWindow::GetInTabWebContents(web_contents, NULL);
37 57
38 // Without the find bar. 58 // Without the find bar.
39 EXPECT_TRUE(dev_tools->GetAllowOverlappingViews()); 59 EXPECT_TRUE(devtools_web_contents()->GetAllowOverlappingViews());
40 60
41 // With the find bar. 61 // With the find bar.
42 browser()->GetFindBarController()->find_bar()->Show(false); 62 browser()->GetFindBarController()->find_bar()->Show(false);
43 EXPECT_TRUE(dev_tools->GetAllowOverlappingViews()); 63 EXPECT_TRUE(devtools_web_contents()->GetAllowOverlappingViews());
44 64
45 // Without the find bar. 65 // Without the find bar.
46 browser()->GetFindBarController()->find_bar()->Hide(false); 66 browser()->GetFindBarController()->find_bar()->Hide(false);
47 EXPECT_TRUE(dev_tools->GetAllowOverlappingViews()); 67 EXPECT_TRUE(devtools_web_contents()->GetAllowOverlappingViews());
48 } 68 }
69
70 // Verify that AllowOtherViews is set when and only when DevTools is visible.
71 IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, AllowOtherViews) {
72 EXPECT_FALSE(web_contents()->GetAllowOtherViews());
73
74 OpenDevToolsWindow();
75 EXPECT_TRUE(devtools_web_contents()->GetAllowOtherViews());
76 EXPECT_TRUE(web_contents()->GetAllowOtherViews());
77
78 CloseDevToolsWindow();
79 EXPECT_FALSE(web_contents()->GetAllowOtherViews());
80 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/dev_tools_controller.mm ('k') | content/browser/renderer_host/render_widget_host_view_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698