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

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: Created 5 years, 9 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 e7df5db09306f69a05b55d33ff77849d65d1cdd6..71a2c2ce45a44b067888ba8bd64a8e00ce2d2a36 100644
--- a/chrome/browser/devtools/devtools_window.cc
+++ b/chrome/browser/devtools/devtools_window.cc
@@ -171,7 +171,6 @@ BrowserWindow* DevToolsToolboxDelegate::GetInspectedBrowserWindow() {
return browser->window();
return NULL;
}
-
} // namespace
// DevToolsEventForwarder -----------------------------------------------------
@@ -388,17 +387,17 @@ bool DevToolsWindow::IsDevToolsWindow(content::WebContents* web_contents) {
}
// static
-DevToolsWindow* DevToolsWindow::OpenDevToolsWindowForWorker(
+void DevToolsWindow::OpenDevToolsWindowForWorker(
Profile* profile,
const scoped_refptr<DevToolsAgentHost>& worker_agent) {
DevToolsWindow* window = FindDevToolsWindow(worker_agent.get());
if (!window) {
window = DevToolsWindow::CreateDevToolsWindowForWorker(profile);
- DCHECK(window);
+ if (!window)
+ return;
window->bindings_->AttachTo(worker_agent);
}
window->ScheduleShow(DevToolsToggleAction::Show());
- return window;
}
// static
@@ -409,45 +408,45 @@ DevToolsWindow* DevToolsWindow::CreateDevToolsWindowForWorker(
}
// static
-DevToolsWindow* DevToolsWindow::OpenDevToolsWindow(
+void DevToolsWindow::OpenDevToolsWindow(
content::WebContents* inspected_web_contents) {
- return ToggleDevToolsWindow(
- inspected_web_contents, true, DevToolsToggleAction::Show(), "");
+ ToggleDevToolsWindow(
+ inspected_web_contents, true, 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::OpenDevToolsWindow(
+void DevToolsWindow::OpenDevToolsWindow(
Profile* profile,
const scoped_refptr<content::DevToolsAgentHost>& agent_host) {
DevToolsWindow* window = FindDevToolsWindow(agent_host.get());
if (!window) {
window = DevToolsWindow::Create(
profile, GURL(), nullptr, false, std::string(), false, std::string());
- DCHECK(window);
+ if (!window)
+ return;
window->bindings_->AttachTo(agent_host);
}
window->ScheduleShow(DevToolsToggleAction::Show());
- return window;
}
// 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, "");
@@ -463,15 +462,16 @@ void DevToolsWindow::OpenExternalFrontend(
if (!window) {
window = Create(profile, GURL(), nullptr, isWorker,
DevToolsUI::GetProxyURL(frontend_url).spec(), false, std::string());
- if (window)
- window->bindings_->AttachTo(agent_host);
+ if (!window)
+ return;
+ window->bindings_->AttachTo(agent_host);
}
- if (window)
- window->ScheduleShow(DevToolsToggleAction::Show());
+
+ window->ScheduleShow(DevToolsToggleAction::Show());
}
// static
-DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
+void DevToolsWindow::ToggleDevToolsWindow(
content::WebContents* inspected_web_contents,
bool force_open,
const DevToolsToggleAction& action,
@@ -487,7 +487,8 @@ DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
base::UserMetricsAction("DevTools_InspectRenderer"));
window = Create(profile, GURL(), inspected_web_contents,
false, std::string(), true, settings);
- DCHECK(window);
+ if (!window)
+ return;
window->bindings_->AttachTo(agent.get());
do_open = true;
}
@@ -501,8 +502,6 @@ DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
window->ScheduleShow(action);
else
window->CloseWindow();
-
- return window;
}
// static
@@ -517,8 +516,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;
}
@@ -722,6 +723,10 @@ DevToolsWindow* DevToolsWindow::Create(
const std::string& remote_frontend,
bool can_dock,
const std::string& settings) {
+ // If development tools disabled by policy don't open the window.
dgozman 2015/03/11 10:32:31 nit: "development" -> "developer"
+ if (profile->GetPrefs()->GetBoolean(prefs::kDevToolsDisabled))
+ return nullptr;
+
if (inspected_web_contents) {
// Check for a place to dock.
Browser* browser = NULL;

Powered by Google App Engine
This is Rietveld 408576698