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

Unified Diff: chrome/browser/devtools/devtools_window.cc

Issue 972123003: Fixed behavior in case of disabled devtools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed conflict Created 5 years, 10 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/devtools/devtools_window.cc
diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
index a517f18ba8532dc828cdcae38af6451a50683541..247bf851e7ba25d55c70438b89a2410c328a46a8 100644
--- a/chrome/browser/devtools/devtools_window.cc
+++ b/chrome/browser/devtools/devtools_window.cc
@@ -172,6 +172,13 @@ BrowserWindow* DevToolsToolboxDelegate::GetInspectedBrowserWindow() {
return NULL;
}
+bool AreDeveloperToolsDisabled(
+ const WebContents* const inspected_web_contents) {
+ Profile* profile =
+ Profile::FromBrowserContext(inspected_web_contents->GetBrowserContext());
+ return profile->GetPrefs()->GetBoolean(prefs::kDevToolsDisabled);
+}
+
} // namespace
// DevToolsEventForwarder -----------------------------------------------------
@@ -409,30 +416,30 @@ DevToolsWindow* DevToolsWindow::CreateDevToolsWindowForWorker(
}
// static
-DevToolsWindow* DevToolsWindow::OpenDevToolsWindow(
+void DevToolsWindow::OpenDevToolsWindow(
content::WebContents* inspected_web_contents) {
- return ToggleDevToolsWindow(
- inspected_web_contents, true, DevToolsToggleAction::Show(), "");
+ DevToolsWindow::OpenDevToolsWindow(inspected_web_contents,
+ DevToolsToggleAction::Show());
}
// static
-DevToolsWindow* DevToolsWindow::OpenDevToolsWindow(
+void DevToolsWindow::OpenDevToolsWindow(
content::WebContents* inspected_web_contents,
const DevToolsToggleAction& action) {
- return ToggleDevToolsWindow(inspected_web_contents, true, action, "");
+ ToggleDevToolsWindow(inspected_web_contents, true, action, "");
}
// static
-DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
+void DevToolsWindow::ToggleDevToolsWindow(
Browser* browser,
const DevToolsToggleAction& action) {
if (action.type() == DevToolsToggleAction::kToggle &&
browser->is_devtools()) {
browser->tab_strip_model()->CloseAllTabs();
- return NULL;
+ return;
}
- return ToggleDevToolsWindow(
+ ToggleDevToolsWindow(
browser->tab_strip_model()->GetActiveWebContents(),
action.type() == DevToolsToggleAction::kInspect,
action, "");
@@ -456,11 +463,15 @@ void DevToolsWindow::OpenExternalFrontend(
}
// static
-DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
+void DevToolsWindow::ToggleDevToolsWindow(
content::WebContents* inspected_web_contents,
bool force_open,
const DevToolsToggleAction& action,
const std::string& settings) {
+ // If development tools disabled by policy don't open the window.
+ if (AreDeveloperToolsDisabled(inspected_web_contents))
+ return;
+
scoped_refptr<DevToolsAgentHost> agent(
DevToolsAgentHost::GetOrCreateFor(inspected_web_contents));
DevToolsWindow* window = FindDevToolsWindow(agent.get());
@@ -486,8 +497,6 @@ DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
window->ScheduleShow(action);
else
window->CloseWindow();
-
- return window;
}
// static
@@ -502,8 +511,10 @@ void DevToolsWindow::InspectElement(
base::TimeTicks start_time = base::TimeTicks::Now();
// TODO(loislo): we should initiate DevTools window opening from within
// renderer. Otherwise, we still can hit a race condition here.
- DevToolsWindow* window = OpenDevToolsWindow(inspected_web_contents);
- if (should_measure_time)
+ OpenDevToolsWindow(inspected_web_contents);
+
+ DevToolsWindow* window = FindDevToolsWindow(agent.get());
+ if (should_measure_time && window)
window->inspect_element_start_time_ = start_time;
}

Powered by Google App Engine
This is Rietveld 408576698