| 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;
|
| }
|
|
|
|
|