diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-07 13:28:51 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-07 13:28:51 +0000 |
commit | cc220a1229c4387bfd76d2ad9c27a9da67687527 (patch) | |
tree | 0f82a4ee95a60e3bc4d091039cd73a26dfa07727 /chrome | |
parent | 780e83b7ad7a1f9e87eb46d39f00a6d5a6af16f5 (diff) | |
download | chromium_src-cc220a1229c4387bfd76d2ad9c27a9da67687527.zip chromium_src-cc220a1229c4387bfd76d2ad9c27a9da67687527.tar.gz chromium_src-cc220a1229c4387bfd76d2ad9c27a9da67687527.tar.bz2 |
DevTools: fix exception in console during DevTools startup
When opening DevTools window there is an exception in the console: "Uncaught ReferenceError: WebInspector is not defined" because some commands are sent to the front-end before it's loaded.
BUG=None
TEST=Open DevTools window, you should see no exceptions in the console
Review URL: http://codereview.chromium.org/6801044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80767 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/debugger/devtools_window.cc | 10 | ||||
-rw-r--r-- | chrome/browser/debugger/devtools_window.h | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/chrome/browser/debugger/devtools_window.cc b/chrome/browser/debugger/devtools_window.cc index 63f178b..a53e7eb 100644 --- a/chrome/browser/debugger/devtools_window.cc +++ b/chrome/browser/debugger/devtools_window.cc @@ -145,7 +145,6 @@ void DevToolsWindow::Show(DevToolsToggleAction action) { BrowserWindow* inspected_window = inspected_browser->window(); tab_contents_->tab_contents()->set_delegate(this); inspected_window->UpdateDevTools(); - SetAttachedWindow(); tab_contents_->view()->SetInitialFocus(); inspected_window->Show(); TabStripModel* tabstrip_model = inspected_browser->tabstrip_model(); @@ -166,11 +165,10 @@ void DevToolsWindow::Show(DevToolsToggleAction action) { if (!browser_) CreateDevToolsBrowser(); - if (should_show_window) + if (should_show_window) { browser_->window()->Show(); - SetAttachedWindow(); - if (should_show_window) tab_contents_->view()->SetInitialFocus(); + } ScheduleAction(action); } @@ -279,7 +277,7 @@ bool DevToolsWindow::IsInspectedBrowserPopup() { return (browser->type() & Browser::TYPE_POPUP) != 0; } -void DevToolsWindow::SetAttachedWindow() { +void DevToolsWindow::UpdateFrontendAttachedState() { tab_contents_->render_view_host()->ExecuteJavascriptInWebFrame( string16(), docked_ ? ASCIIToUTF16("WebInspector.setAttachedWindow(true);") @@ -327,7 +325,6 @@ void DevToolsWindow::Observe(NotificationType type, const NotificationSource& source, const NotificationDetails& details) { if (type == NotificationType::LOAD_STOP && !is_loaded_) { - SetAttachedWindow(); is_loaded_ = true; UpdateTheme(); DoAction(); @@ -354,6 +351,7 @@ void DevToolsWindow::ScheduleAction(DevToolsToggleAction action) { } void DevToolsWindow::DoAction() { + UpdateFrontendAttachedState(); // TODO: these messages should be pushed through the WebKit API instead. switch (action_on_load_) { case DEVTOOLS_TOGGLE_ACTION_SHOW_CONSOLE: diff --git a/chrome/browser/debugger/devtools_window.h b/chrome/browser/debugger/devtools_window.h index 1d8f6f4..9b39833 100644 --- a/chrome/browser/debugger/devtools_window.h +++ b/chrome/browser/debugger/devtools_window.h @@ -56,7 +56,7 @@ class DevToolsWindow bool FindInspectedBrowserAndTabIndex(Browser**, int* tab); BrowserWindow* GetInspectedBrowserWindow(); bool IsInspectedBrowserPopup(); - void SetAttachedWindow(); + void UpdateFrontendAttachedState(); // Overridden from NotificationObserver. virtual void Observe(NotificationType type, |