diff options
author | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-20 17:14:52 +0000 |
---|---|---|
committer | yurys@chromium.org <yurys@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-20 17:14:52 +0000 |
commit | 5ae9a87e83b7b7486d9197456a7ad42cb6600d33 (patch) | |
tree | 09f5e8b9ad7dc1694281c00677948a38a8efee8d /webkit/glue | |
parent | 362d5e2f627d28f68965db12021248bcbfefab4c (diff) | |
download | chromium_src-5ae9a87e83b7b7486d9197456a7ad42cb6600d33.zip chromium_src-5ae9a87e83b7b7486d9197456a7ad42cb6600d33.tar.gz chromium_src-5ae9a87e83b7b7486d9197456a7ad42cb6600d33.tar.bz2 |
DevTools: fix interactive tests flakiness appeared after http://src.chromium.org/viewvc/chrome?view=rev&revision=36518.
The console messages are pushed to the frontend on attach as it used to be before. To ensure that injected script source is available when WebDevToolsAgent::attach is called it is loaded from Chromium resource(temporary measure until we come up with something better).
BUG=29068
Review URL: http://codereview.chromium.org/546086
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36635 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/webdevtoolsagent_impl.cc | 23 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsfrontend_impl.cc | 7 |
2 files changed, 11 insertions, 19 deletions
diff --git a/webkit/glue/webdevtoolsagent_impl.cc b/webkit/glue/webdevtoolsagent_impl.cc index 4cc154e1..42dfadd 100644 --- a/webkit/glue/webdevtoolsagent_impl.cc +++ b/webkit/glue/webdevtoolsagent_impl.cc @@ -28,6 +28,7 @@ #include <wtf/OwnPtr.h> #undef LOG +#include "grit/webkit_resources.h" #include "third_party/WebKit/WebKit/chromium/public/WebDataSource.h" #include "third_party/WebKit/WebKit/chromium/public/WebDevToolsAgentClient.h" #include "third_party/WebKit/WebKit/chromium/public/WebDevToolsMessageData.h" @@ -45,6 +46,7 @@ #include "webkit/glue/devtools/profiler_agent_impl.h" #include "webkit/glue/glue_util.h" #include "webkit/glue/webdevtoolsagent_impl.h" +#include "webkit/glue/webkit_glue.h" using WebCore::Document; using WebCore::DocumentLoader; @@ -175,6 +177,15 @@ void WebDevToolsAgentImpl::attach() { this)); ResetInspectorFrontendProxy(); UnhideResourcesPanelIfNecessary(); + // Allow controller to send messages to the frontend. + InspectorController* ic = web_view_impl_->page()->inspectorController(); + + // TODO(yurys): the source should have already been pushed by the frontend. + base::StringPiece injectjs_webkit = + webkit_glue::GetDataResource(IDR_DEVTOOLS_INJECT_WEBKIT_JS); + ic->injectedScriptHost()->setInjectedScriptSource( + injectjs_webkit.as_string().c_str()); + ic->setWindowVisible(true, false); attached_ = true; } @@ -284,18 +295,6 @@ void WebDevToolsAgentImpl::dispatchMessageFromFrontend( return; } - if (webkit_glue::WebStringToStdString(data.className) == - "WebDevToolsAgentImpl" && - webkit_glue::WebStringToStdString(data.methodName) == - "didLoadFrontend") { - // Allow controller to send messages to the frontend. We need to wait until - // front-end is loaded because it pushes injected script source - // to the backend and the injected script is used for console message - // serialization. - GetInspectorController()->setWindowVisible(true, false); - return; - } - if (debugger_agent_impl_.get() && DebuggerAgentDispatch::Dispatch(debugger_agent_impl_.get(), data)) { return; diff --git a/webkit/glue/webdevtoolsfrontend_impl.cc b/webkit/glue/webdevtoolsfrontend_impl.cc index 51e97bb..cce10b53 100644 --- a/webkit/glue/webdevtoolsfrontend_impl.cc +++ b/webkit/glue/webdevtoolsfrontend_impl.cc @@ -385,13 +385,6 @@ v8::Handle<v8::Value> WebDevToolsFrontendImpl::JsLoaded( frontend->ExecuteScript(*it); } frontend->pending_incoming_messages_.clear(); - - // Notify the agent that front-end is loaded. - WebKit::WebDevToolsMessageData data; - data.className = "WebDevToolsAgentImpl"; - data.methodName = "didLoadFrontend"; - frontend->SendRpcMessage(data); - return v8::Undefined(); } |