Index: chrome/browser/devtools/devtools_sanity_browsertest.cc |
diff --git a/chrome/browser/devtools/devtools_sanity_browsertest.cc b/chrome/browser/devtools/devtools_sanity_browsertest.cc |
index e8500cfe6965e208ee5a56644bc5b3a6f0e8b0ad..0d5fb78cab6e00574a6a6b9b2e6d7bfdd3d52ea9 100644 |
--- a/chrome/browser/devtools/devtools_sanity_browsertest.cc |
+++ b/chrome/browser/devtools/devtools_sanity_browsertest.cc |
@@ -27,6 +27,7 @@ |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/common/chrome_paths.h" |
#include "chrome/common/chrome_switches.h" |
+#include "chrome/common/pref_names.h" |
#include "chrome/common/url_constants.h" |
#include "chrome/test/base/in_process_browser_test.h" |
#include "chrome/test/base/test_switches.h" |
@@ -154,6 +155,35 @@ class DevToolsSanityTest : public InProcessBrowserTest { |
DevToolsWindow* window_; |
}; |
+ |
+class DevToolsPolicyTest : public InProcessBrowserTest { |
+ public: |
+ DevToolsPolicyTest() : window_(NULL) {} |
+ |
+ protected: |
+ void OpenDevToolsWindowAndAgentHost(const std::string& test_page) { |
dgozman
2015/03/10 19:36:34
|test_page| not used.
|
+ ASSERT_TRUE(test_server()->Start()); |
dgozman
2015/03/10 19:36:34
Don't start test server.
|
+ GURL url("about:blank"); |
dgozman
2015/03/10 19:36:34
inline
|
+ ui_test_utils::NavigateToURL(browser(), url); |
+ content::WebContents* web_contents = |
+ browser()->tab_strip_model()->GetWebContentsAt(0); |
+ scoped_refptr<content::DevToolsAgentHost> agent( |
+ content::DevToolsAgentHost::GetOrCreateFor(web_contents)); |
+ DevToolsWindow::OpenDevToolsWindow(web_contents); |
+ window_ = DevToolsWindow::FindDevToolsWindow(agent.get()); |
+ } |
+ |
+ void SetPolicyDevToolsDisabled(bool value) { |
+ browser()->profile()->GetPrefs()->SetBoolean(prefs::kDevToolsDisabled, |
+ value); |
+ } |
+ |
+ bool WindowExists() { return window_; } |
+ |
+ DevToolsWindow* window_; |
+}; |
+ |
+ |
// Used to block until a dev tools window gets beforeunload event. |
class DevToolsWindowBeforeUnloadObserver |
: public content::WebContentsObserver { |
@@ -873,6 +903,18 @@ IN_PROC_BROWSER_TEST_F(DevToolsSanityTest, TestPageWithNoJavaScript) { |
CloseDevToolsWindow(); |
} |
+IN_PROC_BROWSER_TEST_F(DevToolsPolicyTest, PolicyTrue) { |
+ SetPolicyDevToolsDisabled(true); |
+ OpenDevToolsWindowAndAgentHost(kDebuggerTestPage); |
+ ASSERT_FALSE(WindowExists()); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(DevToolsPolicyTest, PolicyFalse) { |
dgozman
2015/03/10 19:36:34
I don't think this tests anything. I'd rather remo
|
+ SetPolicyDevToolsDisabled(false); |
+ OpenDevToolsWindowAndAgentHost(kDebuggerTestPage); |
+ ASSERT_TRUE(WindowExists()); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(WorkerDevToolsSanityTest, InspectSharedWorker) { |
#if defined(OS_WIN) && defined(USE_ASH) |
// Disable this test in Metro+Ash for now (http://crbug.com/262796). |