summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-15 18:20:42 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-15 18:20:42 +0000
commit30457acf575e10557c03b82f2556ead79ed18bff (patch)
treeb00bfcceed345389b9584e600a65a51153fdd632 /webkit
parent471cb372870a694218a6c42c7d2468694a29a8b6 (diff)
downloadchromium_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.cc3
-rw-r--r--webkit/glue/devtools/js/inject.js10
-rw-r--r--webkit/glue/devtools/js/inspector_controller.js8
-rw-r--r--webkit/glue/devtools/js/inspector_controller_impl.js10
-rw-r--r--webkit/glue/webdevtoolsagent_impl.cc7
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