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

Unified 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: 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/dev_tools_controller_browsertest.mm
diff --git a/chrome/browser/ui/cocoa/dev_tools_controller_browsertest.mm b/chrome/browser/ui/cocoa/dev_tools_controller_browsertest.mm
index 33c5b9c6502c77745d0bd9c8ea1effd0a2dca96a..eb218e252e1607f181b48836c0bb0eed67e55175 100644
--- a/chrome/browser/ui/cocoa/dev_tools_controller_browsertest.mm
+++ b/chrome/browser/ui/cocoa/dev_tools_controller_browsertest.mm
@@ -13,36 +13,70 @@
#include "chrome/browser/ui/find_bar/find_bar_controller.h"
#include "chrome/common/url_constants.h"
#include "chrome/test/base/in_process_browser_test.h"
+#include "content/public/browser/notification_types.h"
#include "content/public/browser/web_contents.h"
+#include "content/public/test/test_utils.h"
class DevToolsControllerTest : public InProcessBrowserTest {
public:
- DevToolsControllerTest() : InProcessBrowserTest() {
+ DevToolsControllerTest()
+ : InProcessBrowserTest()
+ , devtools_window_(NULL) {}
jochen (gone - plz use gerrit) 2014/07/14 11:15:23 please clang-format
dgozman 2014/07/15 14:38:41 Done.
+
+ protected:
+ void OpenDevToolsWindow() {
+ devtools_window_ =
+ DevToolsWindow::OpenDevToolsWindowForTest(browser(), true);
+ }
+
+ void CloseDevToolsWindow() {
+ content::WindowedNotificationObserver close_observer(
+ content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
+ content::Source<content::WebContents>(
+ devtools_window_->web_contents_for_test()));
+ DevToolsWindow::ToggleDevToolsWindow(
+ browser(), DevToolsToggleAction::Toggle());
+ close_observer.Wait();
+ }
+
+ content::WebContents* web_contents() {
+ return browser()->tab_strip_model()->GetActiveWebContents();
}
- virtual void SetUpOnMainThread() OVERRIDE {
- DevToolsWindow::OpenDevToolsWindowForTest(browser(), true);
+ content::WebContents* devtools_web_contents() {
+ return DevToolsWindow::GetInTabWebContents(web_contents(), NULL);
}
+ DevToolsWindow* devtools_window_;
+
private:
DISALLOW_COPY_AND_ASSIGN(DevToolsControllerTest);
};
// Verify that AllowOverlappingViews is set while the find bar is visible.
IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, AllowOverlappingViews) {
- content::WebContents* web_contents =
- browser()->tab_strip_model()->GetActiveWebContents();
- content::WebContents* dev_tools =
- DevToolsWindow::GetInTabWebContents(web_contents, NULL);
+ OpenDevToolsWindow();
// Without the find bar.
- EXPECT_TRUE(dev_tools->GetAllowOverlappingViews());
+ EXPECT_TRUE(devtools_web_contents()->GetAllowOverlappingViews());
// With the find bar.
browser()->GetFindBarController()->find_bar()->Show(false);
- EXPECT_TRUE(dev_tools->GetAllowOverlappingViews());
+ EXPECT_TRUE(devtools_web_contents()->GetAllowOverlappingViews());
// Without the find bar.
browser()->GetFindBarController()->find_bar()->Hide(false);
- EXPECT_TRUE(dev_tools->GetAllowOverlappingViews());
+ EXPECT_TRUE(devtools_web_contents()->GetAllowOverlappingViews());
+}
+
+// Verify that AllowOtherViews is set when and only when DevTools is visible.
+IN_PROC_BROWSER_TEST_F(DevToolsControllerTest, AllowOtherViews) {
+ EXPECT_FALSE(web_contents()->GetAllowOtherViews());
+
+ OpenDevToolsWindow();
+ EXPECT_TRUE(devtools_web_contents()->GetAllowOtherViews());
+ EXPECT_TRUE(web_contents()->GetAllowOtherViews());
+
+ CloseDevToolsWindow();
+ EXPECT_FALSE(web_contents()->GetAllowOtherViews());
}

Powered by Google App Engine
This is Rietveld 408576698