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

Side by Side 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: Added test and removed reurn of pointer from OpenDevToolsWindow(). 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/devtools/devtools_window.h" 5 #include "chrome/browser/devtools/devtools_window.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 } 402 }
403 403
404 // static 404 // static
405 DevToolsWindow* DevToolsWindow::CreateDevToolsWindowForWorker( 405 DevToolsWindow* DevToolsWindow::CreateDevToolsWindowForWorker(
406 Profile* profile) { 406 Profile* profile) {
407 content::RecordAction(base::UserMetricsAction("DevTools_InspectWorker")); 407 content::RecordAction(base::UserMetricsAction("DevTools_InspectWorker"));
408 return Create(profile, GURL(), NULL, true, std::string(), false, ""); 408 return Create(profile, GURL(), NULL, true, std::string(), false, "");
409 } 409 }
410 410
411 // static 411 // static
412 DevToolsWindow* DevToolsWindow::OpenDevToolsWindow( 412 void DevToolsWindow::OpenDevToolsWindow(
413 content::WebContents* inspected_web_contents) { 413 content::WebContents* inspected_web_contents) {
414 return ToggleDevToolsWindow( 414 DevToolsWindow::OpenDevToolsWindow(inspected_web_contents,
415 inspected_web_contents, true, DevToolsToggleAction::Show(), ""); 415 DevToolsToggleAction::Show());
416 } 416 }
417 417
418 // static 418 // static
419 DevToolsWindow* DevToolsWindow::OpenDevToolsWindow( 419 void DevToolsWindow::OpenDevToolsWindow(
420 content::WebContents* inspected_web_contents, 420 content::WebContents* inspected_web_contents,
421 const DevToolsToggleAction& action) { 421 const DevToolsToggleAction& action) {
422 return ToggleDevToolsWindow(inspected_web_contents, true, action, ""); 422 Profile* profile =
423 Profile::FromBrowserContext(inspected_web_contents->GetBrowserContext());
424 // If development tools disabled by policy don't open the window.
425 if (profile->GetPrefs()->GetBoolean(prefs::kDevToolsDisabled)) {
426 return;
427 }
428 ToggleDevToolsWindow(inspected_web_contents, true, action, "");
423 } 429 }
424 430
425 // static 431 // static
426 DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow( 432 DevToolsWindow* DevToolsWindow::ToggleDevToolsWindow(
427 Browser* browser, 433 Browser* browser,
428 const DevToolsToggleAction& action) { 434 const DevToolsToggleAction& action) {
429 if (action.type() == DevToolsToggleAction::kToggle && 435 if (action.type() == DevToolsToggleAction::kToggle &&
430 browser->is_devtools()) { 436 browser->is_devtools()) {
431 browser->tab_strip_model()->CloseAllTabs(); 437 browser->tab_strip_model()->CloseAllTabs();
432 return NULL; 438 return NULL;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 content::WebContents* inspected_web_contents, 501 content::WebContents* inspected_web_contents,
496 int x, 502 int x,
497 int y) { 503 int y) {
498 scoped_refptr<DevToolsAgentHost> agent( 504 scoped_refptr<DevToolsAgentHost> agent(
499 DevToolsAgentHost::GetOrCreateFor(inspected_web_contents)); 505 DevToolsAgentHost::GetOrCreateFor(inspected_web_contents));
500 agent->InspectElement(x, y); 506 agent->InspectElement(x, y);
501 bool should_measure_time = FindDevToolsWindow(agent.get()) == NULL; 507 bool should_measure_time = FindDevToolsWindow(agent.get()) == NULL;
502 base::TimeTicks start_time = base::TimeTicks::Now(); 508 base::TimeTicks start_time = base::TimeTicks::Now();
503 // TODO(loislo): we should initiate DevTools window opening from within 509 // TODO(loislo): we should initiate DevTools window opening from within
504 // renderer. Otherwise, we still can hit a race condition here. 510 // renderer. Otherwise, we still can hit a race condition here.
505 DevToolsWindow* window = OpenDevToolsWindow(inspected_web_contents); 511 OpenDevToolsWindow(inspected_web_contents);
506 if (should_measure_time) 512
513 DevToolsWindow* window = FindDevToolsWindow(agent.get());
514 if (should_measure_time && window)
507 window->inspect_element_start_time_ = start_time; 515 window->inspect_element_start_time_ = start_time;
508 } 516 }
509 517
510 void DevToolsWindow::ScheduleShow(const DevToolsToggleAction& action) { 518 void DevToolsWindow::ScheduleShow(const DevToolsToggleAction& action) {
511 if (life_stage_ == kLoadCompleted) { 519 if (life_stage_ == kLoadCompleted) {
512 Show(action); 520 Show(action);
513 return; 521 return;
514 } 522 }
515 523
516 // Action will be done only after load completed. 524 // Action will be done only after load completed.
(...skipping 686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1203 closure.Run(); 1211 closure.Run();
1204 return; 1212 return;
1205 } 1213 }
1206 load_completed_callback_ = closure; 1214 load_completed_callback_ = closure;
1207 } 1215 }
1208 1216
1209 bool DevToolsWindow::ForwardKeyboardEvent( 1217 bool DevToolsWindow::ForwardKeyboardEvent(
1210 const content::NativeWebKeyboardEvent& event) { 1218 const content::NativeWebKeyboardEvent& event) {
1211 return event_forwarder_->ForwardEvent(event); 1219 return event_forwarder_->ForwardEvent(event);
1212 } 1220 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698