summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authoryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-07 13:28:51 +0000
committeryurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-07 13:28:51 +0000
commitcc220a1229c4387bfd76d2ad9c27a9da67687527 (patch)
tree0f82a4ee95a60e3bc4d091039cd73a26dfa07727 /chrome
parent780e83b7ad7a1f9e87eb46d39f00a6d5a6af16f5 (diff)
downloadchromium_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.cc10
-rw-r--r--chrome/browser/debugger/devtools_window.h2
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,