diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-15 18:20:42 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-15 18:20:42 +0000 |
commit | 30457acf575e10557c03b82f2556ead79ed18bff (patch) | |
tree | b00bfcceed345389b9584e600a65a51153fdd632 /webkit | |
parent | 471cb372870a694218a6c42c7d2468694a29a8b6 (diff) | |
download | chromium_src-30457acf575e10557c03b82f2556ead79ed18bff.zip chromium_src-30457acf575e10557c03b82f2556ead79ed18bff.tar.gz chromium_src-30457acf575e10557c03b82f2556ead79ed18bff.tar.bz2 |
DevTools: provisional commit for new WebInspector's 'last opened panel' change.
Review URL: http://codereview.chromium.org/149613
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20751 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/devtools/debugger_agent_impl.cc | 3 | ||||
-rw-r--r-- | webkit/glue/devtools/js/inject.js | 10 | ||||
-rw-r--r-- | webkit/glue/devtools/js/inspector_controller.js | 8 | ||||
-rw-r--r-- | webkit/glue/devtools/js/inspector_controller_impl.js | 10 | ||||
-rw-r--r-- | webkit/glue/webdevtoolsagent_impl.cc | 7 |
5 files changed, 36 insertions, 2 deletions
diff --git a/webkit/glue/devtools/debugger_agent_impl.cc b/webkit/glue/devtools/debugger_agent_impl.cc index e26f614..312ac4c 100644 --- a/webkit/glue/devtools/debugger_agent_impl.cc +++ b/webkit/glue/devtools/debugger_agent_impl.cc @@ -176,8 +176,7 @@ String DebuggerAgentImpl::ExecuteUtilityFunction( *exception = WebCore::toWebCoreString(try_catch.Message()->Get()); return ""; } else { - v8::Handle<v8::String> res_json = v8::Handle<v8::String>::Cast(res_obj); - return WebCore::toWebCoreString(res_json); + return WebCore::toWebCoreStringWithNullCheck(res_obj); } } diff --git a/webkit/glue/devtools/js/inject.js b/webkit/glue/devtools/js/inject.js index 9e9a5c5..ec26991 100644 --- a/webkit/glue/devtools/js/inject.js +++ b/webkit/glue/devtools/js/inject.js @@ -573,3 +573,13 @@ devtools.Injected.prototype.evaluate = function(expression) { return [ e.toString(), true ]; } }; + + +/** + * Dispatches given method with given args on the host object. + * @param {string} method Method name. + */ +devtools.Injected.prototype.InspectorController = function(method, var_args) { + var args = Array.prototype.slice.call(arguments, 1); + return InspectorController[method].apply(InspectorController, args); +}; diff --git a/webkit/glue/devtools/js/inspector_controller.js b/webkit/glue/devtools/js/inspector_controller.js index daa4229..d16973fb 100644 --- a/webkit/glue/devtools/js/inspector_controller.js +++ b/webkit/glue/devtools/js/inspector_controller.js @@ -99,6 +99,14 @@ devtools.InspectorController.prototype.detach = function() { /** + * Tell host that the active panel has changed. + * @param {string} panel Panel name that was last active. + */ +devtools.InspectorController.prototype.storeLastActivePanel = function(panel) { +}; + + +/** * Clears console message log in the backend. */ devtools.InspectorController.prototype.clearMessages = function() { diff --git a/webkit/glue/devtools/js/inspector_controller_impl.js b/webkit/glue/devtools/js/inspector_controller_impl.js index f0b6cb9..dc24478 100644 --- a/webkit/glue/devtools/js/inspector_controller_impl.js +++ b/webkit/glue/devtools/js/inspector_controller_impl.js @@ -52,6 +52,16 @@ devtools.InspectorController.prototype.detach = function() { /** * {@inheritDoc}. */ +devtools.InspectorController.prototype.storeLastActivePanel = function(panel) { + RemoteToolsAgent.ExecuteUtilityFunction( + devtools.Callback.wrap(undefined), + 'InspectorController', JSON.stringify(['storeLastActivePanel', panel])); +}; + + +/** + * {@inheritDoc}. + */ devtools.InspectorController.prototype.clearMessages = function() { RemoteToolsAgent.ClearConsoleMessages(); }; diff --git a/webkit/glue/webdevtoolsagent_impl.cc b/webkit/glue/webdevtoolsagent_impl.cc index 5ff16ed..7267e4a 100644 --- a/webkit/glue/webdevtoolsagent_impl.cc +++ b/webkit/glue/webdevtoolsagent_impl.cc @@ -304,6 +304,13 @@ void WebDevToolsAgentImpl::InitDevToolsAgentHost() { "getNodeForId", WebDevToolsAgentImpl::JsGetNodeForId); devtools_agent_host_->Build(); + + v8::HandleScope scope; + v8::Context::Scope utility_scope(utility_context_); + InspectorController* ic = web_view_impl_->page()->inspectorController(); + utility_context_->Global()->Set( + v8::String::New("InspectorController"), + V8DOMWrapper::convertToV8Object(V8ClassIndex::INSPECTORCONTROLLER, ic)); } // static |