[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
pfeldman at chromium.org
pfeldman at chromium.org
Wed Dec 22 11:39:58 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit cfb6ac75ff3baabf750de4a0c6c71c3e328fdcdb
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 3 07:36:44 2010 +0000
2010-08-02 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: Get rid of DevTools RPC.
https://bugs.webkit.org/show_bug.cgi?id=43335
* bindings/js/ScriptProfiler.h:
(WebCore::ScriptProfiler::getProfilerLogLines):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::getProfilerLogLines):
* bindings/v8/ScriptProfiler.h:
* inspector/Inspector.idl:
* inspector/InspectorBackend.cpp:
(WebCore::InspectorBackend::takeHeapSnapshot):
(WebCore::InspectorBackend::getProfilerLogLines):
* inspector/InspectorBackend.h:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::disableProfiler):
* inspector/InspectorController.h:
* inspector/InspectorFrontend.h:
* inspector/front-end/InspectorBackendStub.js:
(WebInspector.InspectorBackendStub):
2010-08-02 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: Get rid of DevTools RPC.
https://bugs.webkit.org/show_bug.cgi?id=43335
* WebKit.gyp:
* public/WebDevToolsAgent.h:
* public/WebDevToolsAgentClient.h:
(WebKit::WebDevToolsAgentClient::sendMessageToInspectorFrontend):
(WebKit::WebDevToolsAgentClient::sendDebuggerOutput):
(WebKit::WebDevToolsAgentClient::sendDispatchToAPU):
* public/WebDevToolsFrontend.h:
* public/WebDevToolsFrontendClient.h:
(WebKit::WebDevToolsFrontendClient::sendMessageToBackend):
* public/WebDevToolsMessageData.h: Removed.
* public/WebDevToolsMessageTransport.h: Removed.
* src/APUAgentDelegate.h: Removed.
* src/DebuggerAgent.h: Removed.
* src/DebuggerAgentImpl.cpp:
(WebKit::DebuggerAgentImpl::DebuggerAgentImpl):
(WebKit::DebuggerAgentImpl::debuggerOutput):
* src/DebuggerAgentImpl.h:
* src/DebuggerAgentManager.cpp:
(WebKit::DebuggerAgentManager::debugDetach):
(WebKit::DebuggerAgentManager::onV8DebugMessage):
(WebKit::DebuggerAgentManager::executeDebuggerCommand):
(WebKit::DebuggerAgentManager::sendCommandToV8):
(WebKit::DebuggerAgentManager::sendContinueCommandToV8):
* src/DevToolsRPC.h: Removed.
* src/DevToolsRPCJS.h: Removed.
* src/InspectorClientImpl.cpp:
* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::sendMessageToBackend):
* src/ProfilerAgent.h: Removed.
* src/ProfilerAgentImpl.cpp: Removed.
* src/ProfilerAgentImpl.h: Removed.
* src/ToolsAgent.h: Removed.
* src/WebDevToolsAgentImpl.cpp:
(WebKit::):
(WebKit::WebDevToolsAgentImpl::WebDevToolsAgentImpl):
(WebKit::WebDevToolsAgentImpl::attach):
(WebKit::WebDevToolsAgentImpl::didClearWindowObject):
(WebKit::WebDevToolsAgentImpl::dispatchOnInspectorBackend):
(WebKit::WebDevToolsAgentImpl::jsDispatchOnClient):
(WebKit::WebDevToolsAgentImpl::sendMessageToFrontend):
* src/WebDevToolsAgentImpl.h:
* src/WebDevToolsFrontendImpl.cpp:
(WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
(WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
(WebKit::WebDevToolsFrontendImpl::frontendLoaded):
(WebKit::WebDevToolsFrontendImpl::executeScript):
* src/WebDevToolsFrontendImpl.h:
* src/js/DevTools.js:
(devtools.dispatch):
(devtools.ToolsAgent):
* src/js/DevToolsHostStub.js:
* src/js/ProfilerAgent.js:
(devtools.ProfilerAgent):
2010-08-02 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
Chromium DevTools: Get rid of DevTools RPC.
https://bugs.webkit.org/show_bug.cgi?id=43335
* DumpRenderTree/chromium/DRTDevToolsAgent.cpp:
(DRTDevToolsAgent::sendMessageToInspectorFrontend):
(DRTDevToolsAgent::call):
* DumpRenderTree/chromium/DRTDevToolsAgent.h:
* DumpRenderTree/chromium/DRTDevToolsCallArgs.h:
(DRTDevToolsCallArgs::DRTDevToolsCallArgs):
* DumpRenderTree/chromium/DRTDevToolsClient.cpp:
(DRTDevToolsClient::sendMessageToBackend):
(DRTDevToolsClient::call):
* DumpRenderTree/chromium/DRTDevToolsClient.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f43f8c7..5156bf9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,28 @@
+2010-08-02 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Chromium DevTools: Get rid of DevTools RPC.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43335
+
+ * bindings/js/ScriptProfiler.h:
+ (WebCore::ScriptProfiler::getProfilerLogLines):
+ * bindings/v8/ScriptProfiler.cpp:
+ (WebCore::ScriptProfiler::getProfilerLogLines):
+ * bindings/v8/ScriptProfiler.h:
+ * inspector/Inspector.idl:
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::takeHeapSnapshot):
+ (WebCore::InspectorBackend::getProfilerLogLines):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::disableProfiler):
+ * inspector/InspectorController.h:
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/InspectorBackendStub.js:
+ (WebInspector.InspectorBackendStub):
+
2010-08-02 Dan Bernstein <mitz at apple.com>
Rubber-stamped by Sam Weinig.
diff --git a/WebCore/bindings/js/ScriptProfiler.h b/WebCore/bindings/js/ScriptProfiler.h
index 16195a3..4fa331c 100644
--- a/WebCore/bindings/js/ScriptProfiler.h
+++ b/WebCore/bindings/js/ScriptProfiler.h
@@ -40,6 +40,7 @@ public:
static void start(ScriptState* state, const String& title);
static PassRefPtr<ScriptProfile> stop(ScriptState* state, const String& title);
static void takeHeapSnapshot() { }
+ static long getProfilerLogLines(long, String*) { return 0; }
};
} // namespace WebCore
diff --git a/WebCore/bindings/v8/ScriptProfiler.cpp b/WebCore/bindings/v8/ScriptProfiler.cpp
index 4891892..9213774 100644
--- a/WebCore/bindings/v8/ScriptProfiler.cpp
+++ b/WebCore/bindings/v8/ScriptProfiler.cpp
@@ -59,4 +59,14 @@ void ScriptProfiler::takeHeapSnapshot()
| v8::PROFILER_MODULE_JS_CONSTRUCTORS);
}
+long ScriptProfiler::getProfilerLogLines(long position, String* data)
+{
+ static char buffer[65536];
+ const int readSize = v8::V8::GetLogLines(position, buffer, sizeof(buffer) - 1);
+ buffer[readSize] = '\0';
+ position += readSize;
+ *data = buffer;
+ return position;
+}
+
} // namespace WebCore
diff --git a/WebCore/bindings/v8/ScriptProfiler.h b/WebCore/bindings/v8/ScriptProfiler.h
index aff3ce7..5c1054b 100644
--- a/WebCore/bindings/v8/ScriptProfiler.h
+++ b/WebCore/bindings/v8/ScriptProfiler.h
@@ -44,6 +44,7 @@ public:
static void start(ScriptState* state, const String& title);
static PassRefPtr<ScriptProfile> stop(ScriptState* state, const String& title);
static void takeHeapSnapshot();
+ static long getProfilerLogLines(long position, String* data);
};
} // namespace WebCore
diff --git a/WebCore/inspector/Inspector.idl b/WebCore/inspector/Inspector.idl
index 155bfcd..cf3f687 100644
--- a/WebCore/inspector/Inspector.idl
+++ b/WebCore/inspector/Inspector.idl
@@ -98,6 +98,7 @@ module core {
void clearProfiles();
void takeHeapSnapshot();
+ void getProfilerLogLines(in long callId, in long inPosition, out long outPosition, out String log);
#endif
void setInjectedScriptSource(in String scriptSource);
void dispatchOnInjectedScript(in long callId, in long injectedScriptId, in String methodName, in String arguments, in boolean async);
@@ -157,5 +158,6 @@ module core {
void setDOMStorageItem(in long callId, in long storageId, in String key, in String value);
void removeDOMStorageItem(in long callId, in long storageId, in String key);
#endif
+
};
}
diff --git a/WebCore/inspector/InspectorBackend.cpp b/WebCore/inspector/InspectorBackend.cpp
index f27b812..3bdccde 100644
--- a/WebCore/inspector/InspectorBackend.cpp
+++ b/WebCore/inspector/InspectorBackend.cpp
@@ -52,6 +52,7 @@
#include "RemoteInspectorFrontend.h"
#include "ScriptArray.h"
#include "ScriptBreakpoint.h"
+#include "ScriptProfiler.h"
#include "SerializedScriptValue.h"
#if ENABLE(DOM_STORAGE)
@@ -292,8 +293,18 @@ void InspectorBackend::clearProfiles()
void InspectorBackend::takeHeapSnapshot()
{
- if (m_inspectorController)
- m_inspectorController->takeHeapSnapshot();
+ ScriptProfiler::takeHeapSnapshot();
+}
+
+void InspectorBackend::getProfilerLogLines(long callId, long position)
+{
+ // FIXME: we should make inspector dispatcher pluggable, so that embedders could contribute APIs instead of polluting the core one
+ // https://bugs.webkit.org/show_bug.cgi?id=43357
+ if (RemoteInspectorFrontend* frontend = remoteFrontend()) {
+ String data;
+ int outPosition = ScriptProfiler::getProfilerLogLines(position, &data);
+ frontend->didGetProfilerLogLines(callId, outPosition, data);
+ }
}
#endif
diff --git a/WebCore/inspector/InspectorBackend.h b/WebCore/inspector/InspectorBackend.h
index 16d53c0..3a2159c 100644
--- a/WebCore/inspector/InspectorBackend.h
+++ b/WebCore/inspector/InspectorBackend.h
@@ -112,6 +112,7 @@ public:
void clearProfiles();
void takeHeapSnapshot();
+ void getProfilerLogLines(long callId, long position);
#endif
void setInjectedScriptSource(const String& source);
diff --git a/WebCore/inspector/InspectorController.cpp b/WebCore/inspector/InspectorController.cpp
index 369b40b..c20c96a 100644
--- a/WebCore/inspector/InspectorController.cpp
+++ b/WebCore/inspector/InspectorController.cpp
@@ -1688,14 +1688,6 @@ void InspectorController::disableProfiler(bool always)
if (m_frontend)
m_frontend->profilerWasDisabled();
}
-
-void InspectorController::takeHeapSnapshot()
-{
- if (!enabled())
- return;
-
- ScriptProfiler::takeHeapSnapshot();
-}
#endif
#if ENABLE(JAVASCRIPT_DEBUGGER)
diff --git a/WebCore/inspector/InspectorController.h b/WebCore/inspector/InspectorController.h
index 176dd11..0153d9a 100644
--- a/WebCore/inspector/InspectorController.h
+++ b/WebCore/inspector/InspectorController.h
@@ -260,8 +260,6 @@ public:
void disableProfiler(bool always = false);
bool profilerEnabled() const { return enabled() && m_profilerEnabled; }
- void takeHeapSnapshot();
-
void enableDebugger();
void disableDebugger(bool always = false);
bool debuggerEnabled() const { return m_debuggerEnabled; }
diff --git a/WebCore/inspector/front-end/InspectorBackendStub.js b/WebCore/inspector/front-end/InspectorBackendStub.js
index 7cfc8a1..fcb0b2e 100644
--- a/WebCore/inspector/front-end/InspectorBackendStub.js
+++ b/WebCore/inspector/front-end/InspectorBackendStub.js
@@ -81,6 +81,7 @@ WebInspector.InspectorBackendStub = function()
this._registerDelegate("stopTimelineProfiler");
this._registerDelegate("storeLastActivePanel");
this._registerDelegate("takeHeapSnapshot");
+ this._registerDelegate("getProfilerLogLines");
this._registerDelegate("getAllStyles");
this._registerDelegate("getStyles");
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index ee389cc..db76b8e 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,70 @@
+2010-08-02 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Chromium DevTools: Get rid of DevTools RPC.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43335
+
+ * WebKit.gyp:
+ * public/WebDevToolsAgent.h:
+ * public/WebDevToolsAgentClient.h:
+ (WebKit::WebDevToolsAgentClient::sendMessageToInspectorFrontend):
+ (WebKit::WebDevToolsAgentClient::sendDebuggerOutput):
+ (WebKit::WebDevToolsAgentClient::sendDispatchToAPU):
+ * public/WebDevToolsFrontend.h:
+ * public/WebDevToolsFrontendClient.h:
+ (WebKit::WebDevToolsFrontendClient::sendMessageToBackend):
+ * public/WebDevToolsMessageData.h: Removed.
+ * public/WebDevToolsMessageTransport.h: Removed.
+ * src/APUAgentDelegate.h: Removed.
+ * src/DebuggerAgent.h: Removed.
+ * src/DebuggerAgentImpl.cpp:
+ (WebKit::DebuggerAgentImpl::DebuggerAgentImpl):
+ (WebKit::DebuggerAgentImpl::debuggerOutput):
+ * src/DebuggerAgentImpl.h:
+ * src/DebuggerAgentManager.cpp:
+ (WebKit::DebuggerAgentManager::debugDetach):
+ (WebKit::DebuggerAgentManager::onV8DebugMessage):
+ (WebKit::DebuggerAgentManager::executeDebuggerCommand):
+ (WebKit::DebuggerAgentManager::sendCommandToV8):
+ (WebKit::DebuggerAgentManager::sendContinueCommandToV8):
+ * src/DevToolsRPC.h: Removed.
+ * src/DevToolsRPCJS.h: Removed.
+ * src/InspectorClientImpl.cpp:
+ * src/InspectorFrontendClientImpl.cpp:
+ (WebKit::InspectorFrontendClientImpl::sendMessageToBackend):
+ * src/ProfilerAgent.h: Removed.
+ * src/ProfilerAgentImpl.cpp: Removed.
+ * src/ProfilerAgentImpl.h: Removed.
+ * src/ToolsAgent.h: Removed.
+ * src/WebDevToolsAgentImpl.cpp:
+ (WebKit::):
+ (WebKit::WebDevToolsAgentImpl::WebDevToolsAgentImpl):
+ (WebKit::WebDevToolsAgentImpl::attach):
+ (WebKit::WebDevToolsAgentImpl::didClearWindowObject):
+ (WebKit::WebDevToolsAgentImpl::dispatchOnInspectorBackend):
+ (WebKit::WebDevToolsAgentImpl::jsDispatchOnClient):
+ (WebKit::WebDevToolsAgentImpl::sendMessageToFrontend):
+ * src/WebDevToolsAgentImpl.h:
+ * src/WebDevToolsFrontendImpl.cpp:
+ (WebKit::WebDevToolsFrontendImpl::WebDevToolsFrontendImpl):
+ (WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):
+ (WebKit::WebDevToolsFrontendImpl::frontendLoaded):
+ (WebKit::WebDevToolsFrontendImpl::executeScript):
+ * src/WebDevToolsFrontendImpl.h:
+ * src/js/DevTools.js:
+ (devtools.dispatch):
+ (devtools.ToolsAgent):
+ * src/js/DevToolsHostStub.js:
+ * src/js/ProfilerAgent.js:
+ (devtools.ProfilerAgent):
+ (devtools.ProfilerAgent.prototype._getNextLogLines.else.delayedRequest):
+ (devtools.ProfilerAgent.prototype._getNextLogLines):
+ (devtools.ProfilerAgent.prototype._didGetProfilerLogLines):
+ * src/js/ProfilerProcessor.js:
+ (devtools.profiler.Processor.prototype.printError):
+
2010-08-02 Kent Tamura <tkent at chromium.org>
Reviewed by Dimitri Glazkov.
diff --git a/WebKit/chromium/WebKit.gyp b/WebKit/chromium/WebKit.gyp
index 10f01e5..9da85cd 100644
--- a/WebKit/chromium/WebKit.gyp
+++ b/WebKit/chromium/WebKit.gyp
@@ -142,8 +142,6 @@
'public/WebDevToolsAgentClient.h',
'public/WebDevToolsFrontend.h',
'public/WebDevToolsFrontendClient.h',
- 'public/WebDevToolsMessageData.h',
- 'public/WebDevToolsMessageTransport.h',
'public/WebDocument.h',
'public/WebDocumentType.h',
'public/WebDragData.h',
@@ -271,7 +269,6 @@
'public/win/WebSandboxSupport.h',
'public/win/WebScreenInfoFactory.h',
'public/win/WebScreenInfoFactory.h',
- 'src/APUAgentDelegate.h',
'src/ApplicationCacheHost.cpp',
'src/ApplicationCacheHostInternal.h',
'src/AssertMatchingEnums.cpp',
@@ -292,13 +289,10 @@
'src/ContextMenuClientImpl.cpp',
'src/ContextMenuClientImpl.h',
'src/DatabaseObserver.cpp',
- 'src/DebuggerAgent.h',
'src/DebuggerAgentImpl.cpp',
'src/DebuggerAgentImpl.h',
'src/DebuggerAgentManager.cpp',
'src/DebuggerAgentManager.h',
- 'src/DevToolsRPC.h',
- 'src/DevToolsRPCJS.h',
'src/DOMUtilitiesPrivate.cpp',
'src/DOMUtilitiesPrivate.h',
'src/DragClientImpl.cpp',
@@ -343,9 +337,6 @@
'src/NotificationPresenterImpl.cpp',
'src/PlatformMessagePortChannel.cpp',
'src/PlatformMessagePortChannel.h',
- 'src/ProfilerAgent.h',
- 'src/ProfilerAgentImpl.cpp',
- 'src/ProfilerAgentImpl.h',
'src/ResourceHandle.cpp',
'src/SharedWorkerRepository.cpp',
'src/SocketStreamHandle.cpp',
@@ -359,7 +350,6 @@
'src/StorageNamespaceProxy.cpp',
'src/StorageNamespaceProxy.h',
'src/TemporaryGlue.h',
- 'src/ToolsAgent.h',
'src/WebAccessibilityCache.cpp',
'src/WebAccessibilityCacheImpl.cpp',
'src/WebAccessibilityCacheImpl.h',
diff --git a/WebKit/chromium/public/WebDevToolsAgent.h b/WebKit/chromium/public/WebDevToolsAgent.h
index 0e26cc9..d9f9cca 100644
--- a/WebKit/chromium/public/WebDevToolsAgent.h
+++ b/WebKit/chromium/public/WebDevToolsAgent.h
@@ -54,7 +54,7 @@ public:
virtual void didNavigate() = 0;
- virtual void dispatchMessageFromFrontend(const WebDevToolsMessageData&) = 0;
+ virtual void dispatchOnInspectorBackend(const WebString& message) = 0;
virtual void inspectElementAt(const WebPoint&) = 0;
@@ -72,8 +72,6 @@ public:
// Asynchronously request debugger to pause immediately.
WEBKIT_API static void debuggerPauseScript();
- WEBKIT_API static bool dispatchMessageFromFrontendOnIOThread(WebDevToolsMessageTransport*, const WebDevToolsMessageData&);
-
typedef void (*MessageLoopDispatchHandler)();
// Installs dispatch handle that is going to be called periodically
diff --git a/WebKit/chromium/public/WebDevToolsAgentClient.h b/WebKit/chromium/public/WebDevToolsAgentClient.h
index 91fd3e8..08bdd58 100644
--- a/WebKit/chromium/public/WebDevToolsAgentClient.h
+++ b/WebKit/chromium/public/WebDevToolsAgentClient.h
@@ -40,7 +40,9 @@ struct WebDevToolsMessageData;
class WebDevToolsAgentClient {
public:
- virtual void sendMessageToFrontend(const WebDevToolsMessageData&) { }
+ virtual void sendMessageToInspectorFrontend(const WebString&) { }
+ virtual void sendDebuggerOutput(const WebString&) { }
+ virtual void sendDispatchToAPU(const WebString&) { }
// Invalidates widget which leads to the repaint.
virtual void forceRepaint() { }
diff --git a/WebKit/chromium/public/WebDevToolsFrontend.h b/WebKit/chromium/public/WebDevToolsFrontend.h
index d95f35a..0325f92 100644
--- a/WebKit/chromium/public/WebDevToolsFrontend.h
+++ b/WebKit/chromium/public/WebDevToolsFrontend.h
@@ -38,7 +38,6 @@ namespace WebKit {
class WebDevToolsFrontendClient;
class WebString;
class WebView;
-struct WebDevToolsMessageData;
// WebDevToolsFrontend represents DevTools client sitting in the Glue. It provides
// direct and delegate Apis to the host.
@@ -50,7 +49,7 @@ public:
virtual ~WebDevToolsFrontend() {}
- virtual void dispatchMessageFromAgent(const WebDevToolsMessageData&) = 0;
+ virtual void dispatchOnInspectorFrontend(const WebString&) = 0;
};
} // namespace WebKit
diff --git a/WebKit/chromium/public/WebDevToolsFrontendClient.h b/WebKit/chromium/public/WebDevToolsFrontendClient.h
index 159a3cd..b876c33 100644
--- a/WebKit/chromium/public/WebDevToolsFrontendClient.h
+++ b/WebKit/chromium/public/WebDevToolsFrontendClient.h
@@ -40,7 +40,7 @@ class WebDevToolsFrontendClient {
public:
WebDevToolsFrontendClient() { }
- virtual void sendMessageToAgent(const WebDevToolsMessageData&) { }
+ virtual void sendMessageToBackend(const WebString&) { }
virtual void sendDebuggerCommandToAgent(const WebString& command) { }
virtual void sendDebuggerPauseScript() { }
diff --git a/WebKit/chromium/public/WebDevToolsMessageData.h b/WebKit/chromium/public/WebDevToolsMessageData.h
deleted file mode 100644
index 9bf9acd..0000000
--- a/WebKit/chromium/public/WebDevToolsMessageData.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebDevToolsMessageData_h
-#define WebDevToolsMessageData_h
-
-#include "WebCommon.h"
-#include "WebString.h"
-#include "WebVector.h"
-
-namespace WebKit {
-
-struct WebDevToolsMessageData {
- WebString className;
- WebString methodName;
- WebVector<WebString> arguments;
-};
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/public/WebDevToolsMessageTransport.h b/WebKit/chromium/public/WebDevToolsMessageTransport.h
deleted file mode 100644
index 54c07f1..0000000
--- a/WebKit/chromium/public/WebDevToolsMessageTransport.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebDevToolsMessageTransport_h
-#define WebDevToolsMessageTransport_h
-
-#include "WebCString.h"
-#include "WebCommon.h"
-
-namespace WebKit {
-struct WebDevToolsMessageData;
-
-class WebDevToolsMessageTransport {
-public:
- virtual ~WebDevToolsMessageTransport() { }
- virtual void sendMessageToFrontendOnIOThread(const WebDevToolsMessageData&) = 0;
-};
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/APUAgentDelegate.h b/WebKit/chromium/src/APUAgentDelegate.h
deleted file mode 100644
index 70be702..0000000
--- a/WebKit/chromium/src/APUAgentDelegate.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef APUAgentDelegate_h
-#define APUAgentDelegate_h
-
-#include "DevToolsRPC.h"
-
-namespace WebKit {
-
-#define APU_AGENT_DELEGATE_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, MEHTOD4, METHOD5) \
- /* Sends a json object to apu. */ \
- METHOD1(dispatchToApu, String /* data */)
-
-DEFINE_RPC_CLASS(ApuAgentDelegate, APU_AGENT_DELEGATE_STRUCT)
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/DebuggerAgent.h b/WebKit/chromium/src/DebuggerAgent.h
deleted file mode 100644
index 17cde11..0000000
--- a/WebKit/chromium/src/DebuggerAgent.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DebuggerAgent_h
-#define DebuggerAgent_h
-
-#include "DevToolsRPC.h"
-
-namespace WebKit {
-
-#define DEBUGGER_AGENT_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, METHOD4, METHOD5) \
- /* Requests global context id of the inspected tab. */ \
- METHOD0(getContextId) \
- \
- /* Request v8 to process all debug commands in the queue. */ \
- METHOD0(processDebugCommands)
-
-DEFINE_RPC_CLASS(DebuggerAgent, DEBUGGER_AGENT_STRUCT)
-
-#define DEBUGGER_AGENT_DELEGATE_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, METHOD4, METHOD5) \
- METHOD1(debuggerOutput, String /* output text */) \
- \
- /* Pushes debugger context id into the client. */ \
- METHOD1(setContextId, int /* context id */)
-
-DEFINE_RPC_CLASS(DebuggerAgentDelegate, DEBUGGER_AGENT_DELEGATE_STRUCT)
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/DebuggerAgentImpl.cpp b/WebKit/chromium/src/DebuggerAgentImpl.cpp
index dde9e1d..4dc40a8 100644
--- a/WebKit/chromium/src/DebuggerAgentImpl.cpp
+++ b/WebKit/chromium/src/DebuggerAgentImpl.cpp
@@ -37,6 +37,7 @@
#include "Page.h"
#include "ScriptDebugServer.h"
#include "V8Binding.h"
+#include "WebDevToolsAgentClient.h"
#include "WebDevToolsAgentImpl.h"
#include "WebViewImpl.h"
#include <wtf/HashSet.h>
@@ -53,11 +54,11 @@ namespace WebKit {
DebuggerAgentImpl::DebuggerAgentImpl(
WebViewImpl* webViewImpl,
- DebuggerAgentDelegate* delegate,
- WebDevToolsAgentImpl* webdevtoolsAgent)
+ WebDevToolsAgentImpl* webdevtoolsAgent,
+ WebDevToolsAgentClient* webdevtoolsAgentClient)
: m_webViewImpl(webViewImpl)
- , m_delegate(delegate)
, m_webdevtoolsAgent(webdevtoolsAgent)
+ , m_webdevtoolsAgentClient(webdevtoolsAgentClient)
, m_autoContinueOnException(false)
{
DebuggerAgentManager::debugAttach(this);
@@ -68,20 +69,9 @@ DebuggerAgentImpl::~DebuggerAgentImpl()
DebuggerAgentManager::debugDetach(this);
}
-void DebuggerAgentImpl::getContextId()
-{
- m_delegate->setContextId(m_webdevtoolsAgent->hostId());
-}
-
-void DebuggerAgentImpl::processDebugCommands()
-{
- DebuggerAgentManager::UtilityContextScope utilityScope;
- v8::Debug::ProcessDebugMessages();
-}
-
void DebuggerAgentImpl::debuggerOutput(const String& command)
{
- m_delegate->debuggerOutput(command);
+ m_webdevtoolsAgentClient->sendDebuggerOutput(command);
m_webdevtoolsAgent->forceRepaint();
}
diff --git a/WebKit/chromium/src/DebuggerAgentImpl.h b/WebKit/chromium/src/DebuggerAgentImpl.h
index 0e6e6af..d8b13fd 100644
--- a/WebKit/chromium/src/DebuggerAgentImpl.h
+++ b/WebKit/chromium/src/DebuggerAgentImpl.h
@@ -31,8 +31,6 @@
#ifndef DebuggerAgentImpl_h
#define DebuggerAgentImpl_h
-#include "DebuggerAgent.h"
-
#include <v8.h>
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
@@ -47,20 +45,17 @@ class String;
namespace WebKit {
+class WebDevToolsAgentClient;
class WebDevToolsAgentImpl;
class WebViewImpl;
-class DebuggerAgentImpl : public DebuggerAgent {
+class DebuggerAgentImpl {
public:
DebuggerAgentImpl(WebKit::WebViewImpl* webViewImpl,
- DebuggerAgentDelegate* delegate,
- WebDevToolsAgentImpl* webdevtoolsAgent);
+ WebDevToolsAgentImpl* webdevtoolsAgent,
+ WebDevToolsAgentClient* webdevtoolsAgentClient);
virtual ~DebuggerAgentImpl();
- // DebuggerAgent implementation.
- virtual void getContextId();
- virtual void processDebugCommands();
-
void debuggerOutput(const WebCore::String& out);
void setAutoContinueOnException(bool autoContinue) { m_autoContinueOnException = autoContinue; }
@@ -87,8 +82,8 @@ public:
private:
WebKit::WebViewImpl* m_webViewImpl;
- DebuggerAgentDelegate* m_delegate;
WebDevToolsAgentImpl* m_webdevtoolsAgent;
+ WebDevToolsAgentClient* m_webdevtoolsAgentClient;
bool m_autoContinueOnException;
};
diff --git a/WebKit/chromium/src/DebuggerAgentManager.cpp b/WebKit/chromium/src/DebuggerAgentManager.cpp
index 1cc6740..23cbd73 100644
--- a/WebKit/chromium/src/DebuggerAgentManager.cpp
+++ b/WebKit/chromium/src/DebuggerAgentManager.cpp
@@ -157,7 +157,7 @@ void DebuggerAgentManager::debugDetach(DebuggerAgentImpl* debuggerAgent)
}
} else {
// Remove all breakpoints set by the agent.
- String clearBreakpointGroupCmd = String::format(
+ WebCore::String clearBreakpointGroupCmd = WebCore::String::format(
"{\"seq\":1,\"type\":\"request\",\"command\":\"clearbreakpointgroup\","
"\"arguments\":{\"groupId\":%d}}",
hostId);
@@ -176,7 +176,7 @@ void DebuggerAgentManager::onV8DebugMessage(const v8::Debug::Message& message)
{
v8::HandleScope scope;
v8::String::Value value(message.GetJSON());
- String out(reinterpret_cast<const UChar*>(*value), value.length());
+ WebCore::String out(reinterpret_cast<const UChar*>(*value), value.length());
// If callerData is not 0 the message is a response to a debugger command.
if (v8::Debug::ClientData* callerData = message.GetClientData()) {
@@ -248,7 +248,7 @@ void DebuggerAgentManager::pauseScript()
v8::Debug::DebugBreak();
}
-void DebuggerAgentManager::executeDebuggerCommand(const String& command, int callerId)
+void DebuggerAgentManager::executeDebuggerCommand(const WebCore::String& command, int callerId)
{
sendCommandToV8(command, new CallerIdWrapper(callerId));
}
@@ -286,14 +286,14 @@ void DebuggerAgentManager::onNavigate()
DebuggerAgentManager::sendContinueCommandToV8();
}
-void DebuggerAgentManager::sendCommandToV8(const String& cmd, v8::Debug::ClientData* data)
+void DebuggerAgentManager::sendCommandToV8(const WebCore::String& cmd, v8::Debug::ClientData* data)
{
v8::Debug::SendCommand(reinterpret_cast<const uint16_t*>(cmd.characters()), cmd.length(), data);
}
void DebuggerAgentManager::sendContinueCommandToV8()
{
- String continueCmd("{\"seq\":1,\"type\":\"request\",\"command\":\"continue\"}");
+ WebCore::String continueCmd("{\"seq\":1,\"type\":\"request\",\"command\":\"continue\"}");
sendCommandToV8(continueCmd, new CallerIdWrapper());
}
diff --git a/WebKit/chromium/src/DevToolsRPC.h b/WebKit/chromium/src/DevToolsRPC.h
deleted file mode 100644
index 7176821..0000000
--- a/WebKit/chromium/src/DevToolsRPC.h
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// DevTools RPC subsystem is a simple string serialization-based rpc
-// implementation. The client is responsible for defining the Rpc-enabled
-// interface in terms of its macros:
-//
-// #define MYAPI_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3)
-// METHOD0(Method1)
-// METHOD1(Method3, int)
-// (snippet above should be multiline macro, add trailing backslashes)
-//
-// DEFINE_RPC_CLASS(MyApi, MYAPI_STRUCT)
-//
-// The snippet above will generate three classes: MyApi, MyApiStub and
-// MyApiDispatch.
-//
-// 1. For each method defined in the marco MyApi will have a
-// pure virtual function generated, so that MyApi would look like:
-//
-// class MyApi {
-// private:
-// MyApi() { }
-// ~MyApi() { }
-// virtual void method1() = 0;
-// virtual void method2(
-// int param1,
-// const String& param2,
-// const Value& param3) = 0;
-// virtual void method3(int param1) = 0;
-// };
-//
-// 2. MyApiStub will implement MyApi interface and would serialize all calls
-// into the string-based calls of the underlying transport:
-//
-// DevToolsRPC::Delegate* transport;
-// myApi = new MyApiStub(transport);
-// myApi->method1();
-// myApi->method3(2);
-//
-// 3. MyApiDelegate is capable of dispatching the calls and convert them to the
-// calls to the underlying MyApi methods:
-//
-// MyApi* realObject;
-// MyApiDispatch::dispatch(realObject, rawStringCallGeneratedByStub);
-//
-// will make corresponding calls to the real object.
-
-#ifndef DevToolsRPC_h
-#define DevToolsRPC_h
-
-#include "PlatformString.h"
-#include "Vector.h"
-#include "WebDevToolsMessageData.h"
-
-#include <wtf/Noncopyable.h>
-
-namespace WebCore {
-class String;
-}
-
-using WebCore::String;
-using WTF::Vector;
-
-namespace WebKit {
-
-///////////////////////////////////////////////////////
-// RPC dispatch macro
-
-template<typename T>
-struct RpcTypeTrait {
- typedef T ApiType;
-};
-
-template<>
-struct RpcTypeTrait<bool> {
- typedef bool ApiType;
- static bool parse(const WebCore::String& t)
- {
- return t == "true";
- }
- static WebCore::String toString(bool b)
- {
- return b ? "true" : "false";
- }
-};
-
-template<>
-struct RpcTypeTrait<int> {
- typedef int ApiType;
- static int parse(const WebCore::String& t)
- {
- bool success;
- int i = t.toIntStrict(&success);
- ASSERT(success);
- return i;
- }
- static WebCore::String toString(int i)
- {
- return WebCore::String::number(i);
- }
-};
-
-template<>
-struct RpcTypeTrait<String> {
- typedef const String& ApiType;
- static String parse(const WebCore::String& t)
- {
- return t;
- }
- static WebCore::String toString(const String& t)
- {
- return t;
- }
-};
-
-///////////////////////////////////////////////////////
-// RPC Api method declarations
-
-#define TOOLS_RPC_API_METHOD0(Method) \
- virtual void Method() = 0;
-
-#define TOOLS_RPC_API_METHOD1(Method, T1) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1) = 0;
-
-#define TOOLS_RPC_API_METHOD2(Method, T1, T2) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2) = 0;
-
-#define TOOLS_RPC_API_METHOD3(Method, T1, T2, T3) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2, \
- RpcTypeTrait<T3>::ApiType t3) = 0;
-
-#define TOOLS_RPC_API_METHOD4(Method, T1, T2, T3, T4) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2, \
- RpcTypeTrait<T3>::ApiType t3, \
- RpcTypeTrait<T4>::ApiType t4) = 0;
-
-#define TOOLS_RPC_API_METHOD5(Method, T1, T2, T3, T4, T5) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2, \
- RpcTypeTrait<T3>::ApiType t3, \
- RpcTypeTrait<T4>::ApiType t4, \
- RpcTypeTrait<T5>::ApiType t5) = 0;
-
-///////////////////////////////////////////////////////
-// RPC stub method implementations
-
-#define TOOLS_RPC_STUB_METHOD0(Method) \
- virtual void Method() { \
- Vector<String> args; \
- this->sendRpcMessage(m_className, #Method, args); \
- }
-
-#define TOOLS_RPC_STUB_METHOD1(Method, T1) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1) { \
- Vector<String> args(1); \
- args[0] = RpcTypeTrait<T1>::toString(t1); \
- this->sendRpcMessage(m_className, #Method, args); \
- }
-
-#define TOOLS_RPC_STUB_METHOD2(Method, T1, T2) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2) { \
- Vector<String> args(2); \
- args[0] = RpcTypeTrait<T1>::toString(t1); \
- args[1] = RpcTypeTrait<T2>::toString(t2); \
- this->sendRpcMessage(m_className, #Method, args); \
- }
-
-#define TOOLS_RPC_STUB_METHOD3(Method, T1, T2, T3) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2, \
- RpcTypeTrait<T3>::ApiType t3) { \
- Vector<String> args(3); \
- args[0] = RpcTypeTrait<T1>::toString(t1); \
- args[1] = RpcTypeTrait<T2>::toString(t2); \
- args[2] = RpcTypeTrait<T3>::toString(t3); \
- this->sendRpcMessage(m_className, #Method, args); \
- }
-
-#define TOOLS_RPC_STUB_METHOD4(Method, T1, T2, T3, T4) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2, \
- RpcTypeTrait<T3>::ApiType t3, \
- RpcTypeTrait<T4>::ApiType t4) { \
- Vector<String> args(4); \
- args[0] = RpcTypeTrait<T1>::toString(t1); \
- args[1] = RpcTypeTrait<T2>::toString(t2); \
- args[2] = RpcTypeTrait<T3>::toString(t3); \
- args[3] = RpcTypeTrait<T4>::toString(t4); \
- this->sendRpcMessage(m_className, #Method, args); \
- }
-
-#define TOOLS_RPC_STUB_METHOD5(Method, T1, T2, T3, T4, T5) \
- virtual void Method(RpcTypeTrait<T1>::ApiType t1, \
- RpcTypeTrait<T2>::ApiType t2, \
- RpcTypeTrait<T3>::ApiType t3, \
- RpcTypeTrait<T4>::ApiType t4, \
- RpcTypeTrait<T5>::ApiType t5) { \
- Vector<String> args(5); \
- args[0] = RpcTypeTrait<T1>::toString(t1); \
- args[1] = RpcTypeTrait<T2>::toString(t2); \
- args[2] = RpcTypeTrait<T3>::toString(t3); \
- args[3] = RpcTypeTrait<T4>::toString(t4); \
- args[4] = RpcTypeTrait<T5>::toString(t5); \
- this->sendRpcMessage(m_className, #Method, args); \
- }
-
-///////////////////////////////////////////////////////
-// RPC dispatch method implementations
-
-#define TOOLS_RPC_DISPATCH0(Method) \
-if (methodName == #Method) { \
- delegate->Method(); \
- return true; \
-}
-
-#define TOOLS_RPC_DISPATCH1(Method, T1) \
-if (methodName == #Method) { \
- delegate->Method(RpcTypeTrait<T1>::parse(args[0])); \
- return true; \
-}
-
-#define TOOLS_RPC_DISPATCH2(Method, T1, T2) \
-if (methodName == #Method) { \
- delegate->Method( \
- RpcTypeTrait<T1>::parse(args[0]), \
- RpcTypeTrait<T2>::parse(args[1]) \
- ); \
- return true; \
-}
-
-#define TOOLS_RPC_DISPATCH3(Method, T1, T2, T3) \
-if (methodName == #Method) { \
- delegate->Method( \
- RpcTypeTrait<T1>::parse(args[0]), \
- RpcTypeTrait<T2>::parse(args[1]), \
- RpcTypeTrait<T3>::parse(args[2]) \
- ); \
- return true; \
-}
-
-#define TOOLS_RPC_DISPATCH4(Method, T1, T2, T3, T4) \
-if (methodName == #Method) { \
- delegate->Method( \
- RpcTypeTrait<T1>::parse(args[0]), \
- RpcTypeTrait<T2>::parse(args[1]), \
- RpcTypeTrait<T3>::parse(args[2]), \
- RpcTypeTrait<T4>::parse(args[3]) \
- ); \
- return true; \
-}
-
-#define TOOLS_RPC_DISPATCH5(Method, T1, T2, T3, T4, T5) \
-if (methodName == #Method) { \
- delegate->Method( \
- RpcTypeTrait<T1>::parse(args[0]), \
- RpcTypeTrait<T2>::parse(args[1]), \
- RpcTypeTrait<T3>::parse(args[2]), \
- RpcTypeTrait<T4>::parse(args[3]), \
- RpcTypeTrait<T5>::parse(args[4]) \
- ); \
- return true; \
-}
-
-#define TOOLS_END_RPC_DISPATCH() \
-}
-
-// This macro defines three classes: Class with the Api, ClassStub that is
-// serializing method calls and ClassDispatch that is capable of dispatching
-// the serialized message into its delegate.
-#define DEFINE_RPC_CLASS(Class, STRUCT) \
-class Class : public Noncopyable {\
-public: \
- Class() \
- { \
- m_className = #Class; \
- } \
- virtual ~Class() { } \
- \
- STRUCT( \
- TOOLS_RPC_API_METHOD0, \
- TOOLS_RPC_API_METHOD1, \
- TOOLS_RPC_API_METHOD2, \
- TOOLS_RPC_API_METHOD3, \
- TOOLS_RPC_API_METHOD4, \
- TOOLS_RPC_API_METHOD5) \
- WebCore::String m_className; \
-}; \
-\
-class Class##Stub \
- : public Class \
- , public DevToolsRPC { \
-public: \
- explicit Class##Stub(Delegate* delegate) : DevToolsRPC(delegate) { } \
- virtual ~Class##Stub() { } \
- typedef Class CLASS; \
- STRUCT( \
- TOOLS_RPC_STUB_METHOD0, \
- TOOLS_RPC_STUB_METHOD1, \
- TOOLS_RPC_STUB_METHOD2, \
- TOOLS_RPC_STUB_METHOD3, \
- TOOLS_RPC_STUB_METHOD4, \
- TOOLS_RPC_STUB_METHOD5) \
-}; \
-\
-class Class##Dispatch : public Noncopyable { \
-public: \
- Class##Dispatch() { } \
- virtual ~Class##Dispatch() { } \
- \
- static bool dispatch(Class* delegate, \
- const WebKit::WebDevToolsMessageData& data) { \
- String className = data.className; \
- if (className != #Class) \
- return false; \
- String methodName = data.methodName; \
- Vector<String> args; \
- for (size_t i = 0; i < data.arguments.size(); i++) \
- args.append(data.arguments[i]); \
- typedef Class CLASS; \
- STRUCT( \
- TOOLS_RPC_DISPATCH0, \
- TOOLS_RPC_DISPATCH1, \
- TOOLS_RPC_DISPATCH2, \
- TOOLS_RPC_DISPATCH3, \
- TOOLS_RPC_DISPATCH4, \
- TOOLS_RPC_DISPATCH5) \
- return false; \
- } \
-};
-
-///////////////////////////////////////////////////////
-// RPC base class
-class DevToolsRPC {
-public:
- class Delegate {
- public:
- Delegate() { }
- virtual ~Delegate() { }
- virtual void sendRpcMessage(const WebKit::WebDevToolsMessageData& data) = 0;
- };
-
- explicit DevToolsRPC(Delegate* delegate) : m_delegate(delegate) { }
- virtual ~DevToolsRPC() { };
-
-protected:
- void sendRpcMessage(const String& className,
- const String& methodName,
- const Vector<String>& args) {
- WebKit::WebVector<WebKit::WebString> webArgs(args.size());
- for (size_t i = 0; i < args.size(); i++)
- webArgs[i] = args[i];
- WebKit::WebDevToolsMessageData data;
- data.className = className;
- data.methodName = methodName;
- data.arguments.swap(webArgs);
- this->m_delegate->sendRpcMessage(data);
- }
-
- Delegate* m_delegate;
-};
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/DevToolsRPCJS.h b/WebKit/chromium/src/DevToolsRPCJS.h
deleted file mode 100644
index 8ae279f..0000000
--- a/WebKit/chromium/src/DevToolsRPCJS.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// Additional set of macros for the JS RPC.
-
-#ifndef DevToolsRPCJS_h
-#define DevToolsRPCJS_h
-
-// Do not remove this one although it is not used.
-#include "BoundObject.h"
-#include "DevToolsRPC.h"
-#include "WebFrame.h"
-#include <wtf/Noncopyable.h>
-#include <wtf/OwnPtr.h>
-
-namespace WebKit {
-
-///////////////////////////////////////////////////////
-// JS RPC binds and stubs
-
-#define TOOLS_RPC_JS_BIND_METHOD0(Method) \
- boundObj.addProtoFunction(#Method, OCLASS::js##Method);
-
-#define TOOLS_RPC_JS_BIND_METHOD1(Method, T1) \
- boundObj.addProtoFunction(#Method, OCLASS::js##Method);
-
-#define TOOLS_RPC_JS_BIND_METHOD2(Method, T1, T2) \
- boundObj.addProtoFunction(#Method, OCLASS::js##Method);
-
-#define TOOLS_RPC_JS_BIND_METHOD3(Method, T1, T2, T3) \
- boundObj.addProtoFunction(#Method, OCLASS::js##Method);
-
-#define TOOLS_RPC_JS_BIND_METHOD4(Method, T1, T2, T3, T4) \
- boundObj.addProtoFunction(#Method, OCLASS::js##Method);
-
-#define TOOLS_RPC_JS_BIND_METHOD5(Method, T1, T2, T3, T4, T5) \
- boundObj.addProtoFunction(#Method, OCLASS::js##Method);
-
-#define TOOLS_RPC_JS_STUB_METHOD0(Method) \
- static v8::Handle<v8::Value> js##Method(const v8::Arguments& args) { \
- sendRpcMessageFromJS(#Method, args, 0); \
- return v8::Undefined(); \
- }
-
-#define TOOLS_RPC_JS_STUB_METHOD1(Method, T1) \
- static v8::Handle<v8::Value> js##Method(const v8::Arguments& args) { \
- sendRpcMessageFromJS(#Method, args, 1); \
- return v8::Undefined(); \
- }
-
-#define TOOLS_RPC_JS_STUB_METHOD2(Method, T1, T2) \
- static v8::Handle<v8::Value> js##Method(const v8::Arguments& args) { \
- sendRpcMessageFromJS(#Method, args, 2); \
- return v8::Undefined(); \
- }
-
-#define TOOLS_RPC_JS_STUB_METHOD3(Method, T1, T2, T3) \
- static v8::Handle<v8::Value> js##Method(const v8::Arguments& args) { \
- sendRpcMessageFromJS(#Method, args, 3); \
- return v8::Undefined(); \
- }
-
-#define TOOLS_RPC_JS_STUB_METHOD4(Method, T1, T2, T3, T4) \
- static v8::Handle<v8::Value> js##Method(const v8::Arguments& args) { \
- sendRpcMessageFromJS(#Method, args, 4); \
- return v8::Undefined(); \
- }
-
-#define TOOLS_RPC_JS_STUB_METHOD5(Method, T1, T2, T3, T4, T5) \
- static v8::Handle<v8::Value> js##Method(const v8::Arguments& args) { \
- sendRpcMessageFromJS(#Method, args, 5); \
- return v8::Undefined(); \
- }
-
-///////////////////////////////////////////////////////
-// JS RPC main obj macro
-
-#define DEFINE_RPC_JS_BOUND_OBJ(Class, STRUCT, DClass, DELEGATE_STRUCT) \
-class JS##Class##BoundObj : public Class##Stub { \
-public: \
- JS##Class##BoundObj(Delegate* rpcDelegate, \
- v8::Handle<v8::Context> context, \
- const char* classname) \
- : Class##Stub(rpcDelegate) { \
- BoundObject boundObj(context, this, classname); \
- STRUCT( \
- TOOLS_RPC_JS_BIND_METHOD0, \
- TOOLS_RPC_JS_BIND_METHOD1, \
- TOOLS_RPC_JS_BIND_METHOD2, \
- TOOLS_RPC_JS_BIND_METHOD3, \
- TOOLS_RPC_JS_BIND_METHOD4, \
- TOOLS_RPC_JS_BIND_METHOD5) \
- boundObj.build(); \
- } \
- virtual ~JS##Class##BoundObj() { } \
- typedef JS##Class##BoundObj OCLASS; \
- STRUCT( \
- TOOLS_RPC_JS_STUB_METHOD0, \
- TOOLS_RPC_JS_STUB_METHOD1, \
- TOOLS_RPC_JS_STUB_METHOD2, \
- TOOLS_RPC_JS_STUB_METHOD3, \
- TOOLS_RPC_JS_STUB_METHOD4, \
- TOOLS_RPC_JS_STUB_METHOD5) \
-private: \
- static void sendRpcMessageFromJS(const char* method, \
- const v8::Arguments& jsArguments, \
- size_t argsCount) \
- { \
- Vector<String> args(argsCount); \
- for (size_t i = 0; i < argsCount; i++) \
- args[i] = WebCore::toWebCoreStringWithNullCheck(jsArguments[i]); \
- void* selfPtr = v8::External::Cast(*jsArguments.Data())->Value(); \
- JS##Class##BoundObj* self = static_cast<JS##Class##BoundObj*>(selfPtr); \
- self->sendRpcMessage(#Class, method, args); \
- } \
-};
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/InspectorClientImpl.cpp b/WebKit/chromium/src/InspectorClientImpl.cpp
index cf491f7..a747dbd 100644
--- a/WebKit/chromium/src/InspectorClientImpl.cpp
+++ b/WebKit/chromium/src/InspectorClientImpl.cpp
@@ -36,7 +36,6 @@
#include "NotImplemented.h"
#include "Page.h"
#include "WebDevToolsAgentImpl.h"
-#include "WebDevToolsMessageData.h"
#include "WebRect.h"
#include "WebURL.h"
#include "WebURLRequest.h"
diff --git a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
index 870bdee..46f2cb6 100644
--- a/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
+++ b/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
@@ -40,6 +40,7 @@
#include "V8Proxy.h"
#include "WebDevToolsFrontendClient.h"
#include "WebDevToolsFrontendImpl.h"
+#include "WebString.h"
using namespace WebCore;
@@ -126,13 +127,7 @@ void InspectorFrontendClientImpl::inspectedURLChanged(const String& url)
void InspectorFrontendClientImpl::sendMessageToBackend(const String& message)
{
- WebDevToolsMessageData messageData;
- messageData.className = "ToolsAgent";
- messageData.methodName = "dispatchOnInspectorController";
- WebVector<WebString> args(static_cast<size_t>(1));
- args[0] = message;
- messageData.arguments.swap(args);
- m_client->sendMessageToAgent(messageData);
+ m_client->sendMessageToBackend(message);
}
} // namespace WebKit
diff --git a/WebKit/chromium/src/ProfilerAgent.h b/WebKit/chromium/src/ProfilerAgent.h
deleted file mode 100644
index 52337b8..0000000
--- a/WebKit/chromium/src/ProfilerAgent.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ProfilerAgent_h
-#define ProfilerAgent_h
-
-#include "DevToolsRPC.h"
-
-namespace WebKit {
-
-// Profiler agent provides API for retrieving profiler data.
-// These methods are handled on the IO thread, so profiler can
-// operate while a script on a page performs heavy work.
-#define PROFILER_AGENT_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, METHOD4, METHOD5) \
- /* Requests current profiler state. */ \
- METHOD0(getActiveProfilerModules) \
- \
- /* Retrieves portion of profiler log. */ \
- METHOD1(getLogLines, int /* position */)
-
-DEFINE_RPC_CLASS(ProfilerAgent, PROFILER_AGENT_STRUCT)
-
-#define PROFILER_AGENT_DELEGATE_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, METHOD4, METHOD5) \
- /* Response to getActiveProfilerModules. */ \
- METHOD1(didGetActiveProfilerModules, int /* flags */) \
- \
- /* Response to getLogLines. */ \
- METHOD2(didGetLogLines, int /* position */, String /* log */)
-
-DEFINE_RPC_CLASS(ProfilerAgentDelegate, PROFILER_AGENT_DELEGATE_STRUCT)
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/ProfilerAgentImpl.cpp b/WebKit/chromium/src/ProfilerAgentImpl.cpp
deleted file mode 100644
index 07570df..0000000
--- a/WebKit/chromium/src/ProfilerAgentImpl.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "ProfilerAgentImpl.h"
-
-#include <v8.h>
-
-namespace WebKit {
-
-void ProfilerAgentImpl::getActiveProfilerModules()
-{
- m_delegate->didGetActiveProfilerModules(v8::V8::GetActiveProfilerModules());
-}
-
-void ProfilerAgentImpl::getLogLines(int position)
-{
- static char buffer[65536];
- const int readSize = v8::V8::GetLogLines(position, buffer, sizeof(buffer) - 1);
- buffer[readSize] = '\0';
- position += readSize;
- m_delegate->didGetLogLines(position, buffer);
-}
-
-} // namespace WebKit
diff --git a/WebKit/chromium/src/ProfilerAgentImpl.h b/WebKit/chromium/src/ProfilerAgentImpl.h
deleted file mode 100644
index d38f57c..0000000
--- a/WebKit/chromium/src/ProfilerAgentImpl.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ProfilerAgentImpl_h
-#define ProfilerAgentImpl_h
-
-#include "ProfilerAgent.h"
-
-namespace WebKit {
-
-class ProfilerAgentImpl : public ProfilerAgent {
-public:
- ProfilerAgentImpl(ProfilerAgentDelegate* delegate) : m_delegate(delegate) { }
- virtual ~ProfilerAgentImpl() { }
-
- // ProfilerAgent implementation.
-
- // This method is called on IO thread.
- virtual void getActiveProfilerModules();
-
- // This method is called on IO thread.
- virtual void getLogLines(int position);
-
-private:
- ProfilerAgentDelegate* m_delegate;
-};
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/ToolsAgent.h b/WebKit/chromium/src/ToolsAgent.h
deleted file mode 100644
index 937fcf0..0000000
--- a/WebKit/chromium/src/ToolsAgent.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ToolsAgent_h
-#define ToolsAgent_h
-
-#include "DevToolsRPC.h"
-
-namespace WebKit {
-
-// Tools agent provides API for enabling / disabling other agents as well as
-// API for auxiliary UI functions such as dom elements highlighting.
-#define TOOLS_AGENT_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, METHOD4, METHOD5) \
- /* Dispatches given function on the InspectorController object */ \
- METHOD1(dispatchOnInspectorController, String /* message */) \
-
-DEFINE_RPC_CLASS(ToolsAgent, TOOLS_AGENT_STRUCT)
-
-#define TOOLS_AGENT_DELEGATE_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, METHOD4, METHOD5) \
- /* Response to the DispatchOn*. */ \
- METHOD3(didDispatchOn, int /* call_id */, String /* result */, String /* exception */) \
- \
- /* Sends InspectorFrontend message to be dispatched on client. */ \
- METHOD1(dispatchOnClient, String /* data */)
-
-DEFINE_RPC_CLASS(ToolsAgentDelegate, TOOLS_AGENT_DELEGATE_STRUCT)
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index 1a65bfe..93170ff 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -46,7 +46,6 @@
#include "Page.h"
#include "PageGroup.h"
#include "PlatformString.h"
-#include "ProfilerAgentImpl.h"
#include "ResourceError.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
@@ -59,8 +58,6 @@
#include "V8Utilities.h"
#include "WebDataSource.h"
#include "WebDevToolsAgentClient.h"
-#include "WebDevToolsMessageData.h"
-#include "WebDevToolsMessageTransport.h"
#include "WebFrameImpl.h"
#include "WebRect.h"
#include "WebString.h"
@@ -109,21 +106,6 @@ static const char kResourceTrackingFeatureName[] = "resource-tracking";
static const char kTimelineFeatureName[] = "timeline-profiler";
static const char kApuAgentFeatureName[] = "apu-agent";
-class IORPCDelegate : public DevToolsRPC::Delegate, public Noncopyable {
-public:
- IORPCDelegate() : m_transport(0) { }
- explicit IORPCDelegate(WebDevToolsMessageTransport* transport) : m_transport(transport) { }
- virtual ~IORPCDelegate() { }
- virtual void sendRpcMessage(const WebDevToolsMessageData& data)
- {
- if (m_transport)
- m_transport->sendMessageToFrontendOnIOThread(data);
- }
-
-private:
- WebDevToolsMessageTransport* m_transport;
-};
-
class ClientMessageLoopAdapter : public WebCore::ScriptDebugServer::ClientMessageLoop {
public:
static void ensureClientMessageLoopCreated(WebDevToolsAgentClient* client)
@@ -222,9 +204,6 @@ WebDevToolsAgentImpl::WebDevToolsAgentImpl(
{
DebuggerAgentManager::setExposeV8DebuggerProtocol(
client->exposeV8DebuggerProtocol());
- m_debuggerAgentDelegateStub.set(new DebuggerAgentDelegateStub(this));
- m_toolsAgentDelegateStub.set(new ToolsAgentDelegateStub(this));
- m_apuAgentDelegateStub.set(new ApuAgentDelegateStub(this));
}
WebDevToolsAgentImpl::~WebDevToolsAgentImpl()
@@ -251,9 +230,7 @@ void WebDevToolsAgentImpl::attach()
ClientMessageLoopAdapter::ensureClientMessageLoopCreated(m_client);
m_debuggerAgentImpl.set(
- new DebuggerAgentImpl(m_webViewImpl,
- m_debuggerAgentDelegateStub.get(),
- this));
+ new DebuggerAgentImpl(m_webViewImpl, this, m_client));
createInspectorFrontendProxy();
// Allow controller to send messages to the frontend.
@@ -296,10 +273,6 @@ void WebDevToolsAgentImpl::didNavigate()
void WebDevToolsAgentImpl::didClearWindowObject(WebFrameImpl* webframe)
{
DebuggerAgentManager::setHostId(webframe, m_hostId);
- if (m_attached) {
- // Push context id into the client if it is already attached.
- m_debuggerAgentDelegateStub->setContextId(m_hostId);
- }
}
void WebDevToolsAgentImpl::forceRepaint()
@@ -307,23 +280,11 @@ void WebDevToolsAgentImpl::forceRepaint()
m_client->forceRepaint();
}
-void WebDevToolsAgentImpl::dispatchOnInspectorController(const String& message)
+void WebDevToolsAgentImpl::dispatchOnInspectorBackend(const WebString& message)
{
inspectorController()->inspectorBackendDispatcher()->dispatch(message);
}
-void WebDevToolsAgentImpl::dispatchMessageFromFrontend(const WebDevToolsMessageData& data)
-{
- if (ToolsAgentDispatch::dispatch(this, data))
- return;
-
- if (!m_attached)
- return;
-
- if (m_debuggerAgentImpl.get() && DebuggerAgentDispatch::dispatch(m_debuggerAgentImpl.get(), data))
- return;
-}
-
void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& point)
{
m_webViewImpl->inspectElementAt(point);
@@ -344,11 +305,6 @@ void WebDevToolsAgentImpl::setRuntimeFeatureEnabled(const WebString& feature, bo
}
}
-void WebDevToolsAgentImpl::sendRpcMessage(const WebDevToolsMessageData& data)
-{
- m_client->sendMessageToFrontend(data);
-}
-
void WebDevToolsAgentImpl::compileUtilityScripts()
{
v8::HandleScope handleScope;
@@ -428,7 +384,7 @@ v8::Handle<v8::Value> WebDevToolsAgentImpl::jsDispatchOnClient(const v8::Argumen
WebDevToolsAgentImpl* agent = static_cast<WebDevToolsAgentImpl*>(v8::External::Cast(*args.Data())->Value());
if (!agent->m_apuAgentEnabled) {
- agent->m_toolsAgentDelegateStub->dispatchOnClient(message);
+ agent->m_client->sendMessageToInspectorFrontend(message);
return v8::Undefined();
}
@@ -436,10 +392,10 @@ v8::Handle<v8::Value> WebDevToolsAgentImpl::jsDispatchOnClient(const v8::Argumen
if (method.isEmpty() || exceptionCatcher.HasCaught())
return v8::Undefined();
- if (method != "addRecordToTimeline" && method != "updateResource" && method != "addResource")
+ if (method != "updateResource" && method != "addResource")
return v8::Undefined();
- agent->m_apuAgentDelegateStub->dispatchToApu(message);
+ agent->m_client->sendDispatchToAPU(message);
return v8::Undefined();
}
@@ -543,18 +499,12 @@ bool WebDevToolsAgentImpl::sendMessageToFrontend(const WebCore::String& message)
if (!devToolsAgent)
return false;
- if (devToolsAgent->m_apuAgentEnabled && devToolsAgent->m_apuAgentDelegateStub) {
- devToolsAgent->m_apuAgentDelegateStub->dispatchToApu(message);
+ if (devToolsAgent->m_apuAgentEnabled) {
+ m_client->sendDispatchToAPU(message);
return true;
}
- WebVector<WebString> arguments(size_t(1));
- arguments[0] = message;
- WebDevToolsMessageData data;
- data.className = "ToolsAgentDelegate";
- data.methodName = "dispatchOnClient";
- data.arguments.swap(arguments);
- devToolsAgent->sendRpcMessage(data);
+ m_client->sendMessageToInspectorFrontend(message);
return true;
}
@@ -608,12 +558,4 @@ void WebDevToolsAgent::setMessageLoopDispatchHandler(MessageLoopDispatchHandler
DebuggerAgentManager::setMessageLoopDispatchHandler(handler);
}
-bool WebDevToolsAgent::dispatchMessageFromFrontendOnIOThread(WebDevToolsMessageTransport* transport, const WebDevToolsMessageData& data)
-{
- IORPCDelegate delegate(transport);
- ProfilerAgentDelegateStub stub(&delegate);
- ProfilerAgentImpl agent(&stub);
- return ProfilerAgentDispatch::dispatch(&agent, data);
-}
-
} // namespace WebKit
diff --git a/WebKit/chromium/src/WebDevToolsAgentImpl.h b/WebKit/chromium/src/WebDevToolsAgentImpl.h
index c8e22b0..9659deb 100644
--- a/WebKit/chromium/src/WebDevToolsAgentImpl.h
+++ b/WebKit/chromium/src/WebDevToolsAgentImpl.h
@@ -33,9 +33,6 @@
#include "InspectorClient.h"
-#include "APUAgentDelegate.h"
-#include "DevToolsRPC.h"
-#include "ToolsAgent.h"
#include "WebDevToolsAgentPrivate.h"
#include <v8.h>
@@ -51,7 +48,6 @@ class String;
namespace WebKit {
-class DebuggerAgentDelegateStub;
class DebuggerAgentImpl;
class WebDevToolsAgentClient;
class WebFrame;
@@ -64,16 +60,11 @@ struct WebURLError;
struct WebDevToolsMessageData;
class WebDevToolsAgentImpl : public WebDevToolsAgentPrivate,
- public ToolsAgent,
- public DevToolsRPC::Delegate,
public WebCore::InspectorClient {
public:
WebDevToolsAgentImpl(WebViewImpl* webViewImpl, WebDevToolsAgentClient* client);
virtual ~WebDevToolsAgentImpl();
- // ToolsAgent implementation.
- virtual void dispatchOnInspectorController(const WebCore::String& message);
-
// WebDevToolsAgentPrivate implementation.
virtual void didClearWindowObject(WebFrameImpl* frame);
@@ -81,7 +72,7 @@ public:
virtual void attach();
virtual void detach();
virtual void didNavigate();
- virtual void dispatchMessageFromFrontend(const WebDevToolsMessageData& data);
+ virtual void dispatchOnInspectorBackend(const WebString& message);
virtual void inspectElementAt(const WebPoint& point);
virtual void evaluateInWebInspector(long callId, const WebString& script);
virtual void setRuntimeFeatureEnabled(const WebString& feature, bool enabled);
@@ -107,9 +98,6 @@ public:
virtual void timelineProfilerWasStopped();
virtual bool sendMessageToFrontend(const WebCore::String&);
- // DevToolsRPC::Delegate implementation.
- virtual void sendRpcMessage(const WebDevToolsMessageData& data);
-
void forceRepaint();
int hostId() { return m_hostId; }
@@ -130,10 +118,7 @@ private:
int m_hostId;
WebDevToolsAgentClient* m_client;
WebViewImpl* m_webViewImpl;
- OwnPtr<DebuggerAgentDelegateStub> m_debuggerAgentDelegateStub;
- OwnPtr<ToolsAgentDelegateStub> m_toolsAgentDelegateStub;
OwnPtr<DebuggerAgentImpl> m_debuggerAgentImpl;
- OwnPtr<ApuAgentDelegateStub> m_apuAgentDelegateStub;
bool m_apuAgentEnabled;
bool m_resourceTrackingWasEnabled;
bool m_attached;
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
index 592a532..a0c8eba 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
@@ -35,8 +35,6 @@
#include "ContextMenuController.h"
#include "ContextMenuItem.h"
#include "DOMWindow.h"
-#include "DebuggerAgent.h"
-#include "DevToolsRPCJS.h"
#include "Document.h"
#include "Event.h"
#include "Frame.h"
@@ -48,10 +46,8 @@
#include "Page.h"
#include "Pasteboard.h"
#include "PlatformString.h"
-#include "ProfilerAgent.h"
#include "SecurityOrigin.h"
#include "Settings.h"
-#include "ToolsAgent.h"
#include "V8Binding.h"
#include "V8DOMWrapper.h"
#include "V8InspectorFrontendHost.h"
@@ -78,10 +74,6 @@ static v8::Local<v8::String> ToV8String(const String& s)
return v8::String::New(reinterpret_cast<const uint16_t*>(s.characters()), s.length());
}
-DEFINE_RPC_JS_BOUND_OBJ(DebuggerAgent, DEBUGGER_AGENT_STRUCT, DebuggerAgentDelegate, DEBUGGER_AGENT_DELEGATE_STRUCT)
-DEFINE_RPC_JS_BOUND_OBJ(ProfilerAgent, PROFILER_AGENT_STRUCT, ProfilerAgentDelegate, PROFILER_AGENT_DELEGATE_STRUCT)
-DEFINE_RPC_JS_BOUND_OBJ(ToolsAgent, TOOLS_AGENT_STRUCT, ToolsAgentDelegate, TOOLS_AGENT_DELEGATE_STRUCT)
-
WebDevToolsFrontend* WebDevToolsFrontend::create(
WebView* view,
WebDevToolsFrontendClient* client,
@@ -113,16 +105,9 @@ WebDevToolsFrontendImpl::WebDevToolsFrontendImpl(
v8::HandleScope scope;
v8::Handle<v8::Context> frameContext = V8Proxy::context(frame->frame());
- m_debuggerAgentObj.set(new JSDebuggerAgentBoundObj(this, frameContext, "RemoteDebuggerAgent"));
- m_profilerAgentObj.set(new JSProfilerAgentBoundObj(this, frameContext, "RemoteProfilerAgent"));
- m_toolsAgentObj.set(new JSToolsAgentBoundObj(this, frameContext, "RemoteToolsAgent"));
-
// Debugger commands should be sent using special method.
BoundObject debuggerCommandExecutorObj(frameContext, this, "RemoteDebuggerCommandExecutor");
debuggerCommandExecutorObj.addProtoFunction(
- "DebuggerCommand",
- WebDevToolsFrontendImpl::jsDebuggerCommand);
- debuggerCommandExecutorObj.addProtoFunction(
"DebuggerPauseScript",
WebDevToolsFrontendImpl::jsDebuggerPauseScript);
debuggerCommandExecutorObj.build();
@@ -132,25 +117,20 @@ WebDevToolsFrontendImpl::~WebDevToolsFrontendImpl()
{
}
-void WebDevToolsFrontendImpl::dispatchMessageFromAgent(const WebDevToolsMessageData& data)
+void WebDevToolsFrontendImpl::dispatchOnInspectorFrontend(const WebString& message)
{
- Vector<String> v;
- v.append(data.className);
- v.append(data.methodName);
- for (size_t i = 0; i < data.arguments.size(); i++)
- v.append(data.arguments[i]);
if (!m_loaded) {
- m_pendingIncomingMessages.append(v);
+ m_pendingIncomingMessages.append(message);
return;
}
- executeScript(v);
+ executeScript(message);
}
void WebDevToolsFrontendImpl::frontendLoaded()
{
m_loaded = true;
- for (Vector<Vector<String> >::iterator it = m_pendingIncomingMessages.begin();
+ for (Vector<WebString>::iterator it = m_pendingIncomingMessages.begin();
it != m_pendingIncomingMessages.end();
++it) {
executeScript(*it);
@@ -158,7 +138,7 @@ void WebDevToolsFrontendImpl::frontendLoaded()
m_pendingIncomingMessages.clear();
}
-void WebDevToolsFrontendImpl::executeScript(const Vector<String>& v)
+void WebDevToolsFrontendImpl::executeScript(const WebString& message)
{
WebFrameImpl* frame = m_webViewImpl->mainFrameImpl();
v8::HandleScope scope;
@@ -168,26 +148,12 @@ void WebDevToolsFrontendImpl::executeScript(const Vector<String>& v)
ASSERT(dispatchFunction->IsFunction());
v8::Handle<v8::Function> function = v8::Handle<v8::Function>::Cast(dispatchFunction);
Vector< v8::Handle<v8::Value> > args;
- for (size_t i = 0; i < v.size(); i++)
- args.append(ToV8String(v.at(i)));
+ args.append(ToV8String(message));
v8::TryCatch tryCatch;
tryCatch.SetVerbose(true);
function->Call(frameContext->Global(), args.size(), args.data());
}
-void WebDevToolsFrontendImpl::sendRpcMessage(const WebDevToolsMessageData& data)
-{
- m_client->sendMessageToAgent(data);
-}
-
-v8::Handle<v8::Value> WebDevToolsFrontendImpl::jsDebuggerCommand(const v8::Arguments& args)
-{
- WebDevToolsFrontendImpl* frontend = static_cast<WebDevToolsFrontendImpl*>(v8::External::Cast(*args.Data())->Value());
- WebString command = WebCore::toWebCoreStringWithNullCheck(args[0]);
- frontend->m_client->sendDebuggerCommandToAgent(command);
- return v8::Undefined();
-}
-
v8::Handle<v8::Value> WebDevToolsFrontendImpl::jsDebuggerPauseScript(const v8::Arguments& args)
{
WebDevToolsFrontendImpl* frontend = static_cast<WebDevToolsFrontendImpl*>(v8::External::Cast(*args.Data())->Value());
diff --git a/WebKit/chromium/src/WebDevToolsFrontendImpl.h b/WebKit/chromium/src/WebDevToolsFrontendImpl.h
index fa4707d..c1c4786 100644
--- a/WebKit/chromium/src/WebDevToolsFrontendImpl.h
+++ b/WebKit/chromium/src/WebDevToolsFrontendImpl.h
@@ -31,7 +31,7 @@
#ifndef WebDevToolsFrontendImpl_h
#define WebDevToolsFrontendImpl_h
-#include "DevToolsRPC.h"
+#include "PlatformString.h"
#include "WebDevToolsFrontend.h"
#include <v8.h>
#include <wtf/HashMap.h>
@@ -49,15 +49,13 @@ class String;
namespace WebKit {
-class JSDebuggerAgentBoundObj;
-class JSProfilerAgentBoundObj;
-class JSToolsAgentBoundObj;
class WebDevToolsClientDelegate;
class WebViewImpl;
struct WebDevToolsMessageData;
+using WebCore::String;
+
class WebDevToolsFrontendImpl : public WebKit::WebDevToolsFrontend
- , public DevToolsRPC::Delegate
, public Noncopyable {
public:
WebDevToolsFrontendImpl(
@@ -66,28 +64,21 @@ public:
const String& applicationLocale);
virtual ~WebDevToolsFrontendImpl();
- // DevToolsRPC::Delegate implementation.
- virtual void sendRpcMessage(const WebKit::WebDevToolsMessageData& data);
-
// WebDevToolsFrontend implementation.
- virtual void dispatchMessageFromAgent(const WebKit::WebDevToolsMessageData& data);
+ virtual void dispatchOnInspectorFrontend(const WebString& message);
void frontendLoaded();
private:
- void executeScript(const Vector<String>& v);
+ void executeScript(const WebString& message);
- static v8::Handle<v8::Value> jsDebuggerCommand(const v8::Arguments& args);
static v8::Handle<v8::Value> jsDebuggerPauseScript(const v8::Arguments& args);
WebKit::WebViewImpl* m_webViewImpl;
WebKit::WebDevToolsFrontendClient* m_client;
String m_applicationLocale;
- OwnPtr<JSDebuggerAgentBoundObj> m_debuggerAgentObj;
- OwnPtr<JSProfilerAgentBoundObj> m_profilerAgentObj;
- OwnPtr<JSToolsAgentBoundObj> m_toolsAgentObj;
bool m_loaded;
- Vector<Vector<String> > m_pendingIncomingMessages;
+ Vector<WebString> m_pendingIncomingMessages;
};
} // namespace WebKit
diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js
index 674f1d7..8e07a6a 100644
--- a/WebKit/chromium/src/js/DevTools.js
+++ b/WebKit/chromium/src/js/DevTools.js
@@ -41,44 +41,22 @@
* @prama {string} methodName
* @param {string} param1, param2, param3 Arguments to dispatch.
*/
-devtools$$dispatch = function(remoteName, methodName, param1, param2, param3)
+devtools$$dispatch = function(message)
{
- remoteName = "Remote" + remoteName.substring(0, remoteName.length - 8);
- var agent = window[remoteName];
- if (!agent) {
- debugPrint("No remote agent '" + remoteName + "' found.");
- return;
- }
- var method = agent[methodName];
- if (!method) {
- debugPrint("No method '" + remoteName + "." + methodName + "' found.");
- return;
- }
- method.call(this, param1, param2, param3);
+ var args = typeof message === "string" ? JSON.parse(message) : message;
+ var methodName = args[0];
+ var parameters = args.slice(1);
+ WebInspector[methodName].apply(WebInspector, parameters);
};
devtools.ToolsAgent = function()
{
- RemoteToolsAgent.didDispatchOn = WebInspector.Callback.processCallback;
- RemoteToolsAgent.dispatchOnClient = this.dispatchOnClient_.bind(this);
this.profilerAgent_ = new devtools.ProfilerAgent();
};
/**
- * @param {string} script Script exression to be evaluated in the context of the
- * inspected page.
- * @param {function(Object|string, boolean):undefined} opt_callback Function to
- * call with the result.
- */
-devtools.ToolsAgent.prototype.evaluateJavaScript = function(script, opt_callback)
-{
- InspectorBackend.evaluate(script, opt_callback || function() {});
-};
-
-
-/**
* @return {devtools.ProfilerAgent} Profiler agent instance.
*/
devtools.ToolsAgent.prototype.getProfilerAgent = function()
@@ -87,38 +65,6 @@ devtools.ToolsAgent.prototype.getProfilerAgent = function()
};
-/**
- * @param {string} message Serialized call to be dispatched on WebInspector.
- * @private
- */
-devtools.ToolsAgent.prototype.dispatchOnClient_ = function(message)
-{
- var args = typeof message === "string" ? JSON.parse(message) : message;
- var methodName = args[0];
- var parameters = args.slice(1);
- WebInspector[methodName].apply(WebInspector, parameters);
-};
-
-
-/**
- * Evaluates js expression.
- * @param {string} expr
- */
-devtools.ToolsAgent.prototype.evaluate = function(expr)
-{
- RemoteToolsAgent.evaluate(expr);
-};
-
-
-/**
- * Prints string to the inspector console or shows alert if the console doesn't
- * exist.
- * @param {string} text
- */
-function debugPrint(text) {
- WebInspector.log(text);
-}
-
/**
* Global instance of the tools agent.
diff --git a/WebKit/chromium/src/js/DevToolsHostStub.js b/WebKit/chromium/src/js/DevToolsHostStub.js
index 52b28bb..d3333e2 100644
--- a/WebKit/chromium/src/js/DevToolsHostStub.js
+++ b/WebKit/chromium/src/js/DevToolsHostStub.js
@@ -35,8 +35,4 @@
if (!window["RemoteDebuggerCommandExecutor"]) {
window["RemoteDebuggerCommandExecutor"] = {};
- window["RemoteProfilerAgent"] = {};
- window["RemoteToolsAgent"] = {
- dispatchOnInspectorController: function() {}
- };
}
diff --git a/WebKit/chromium/src/js/ProfilerAgent.js b/WebKit/chromium/src/js/ProfilerAgent.js
index 0b65ace..7f74595 100644
--- a/WebKit/chromium/src/js/ProfilerAgent.js
+++ b/WebKit/chromium/src/js/ProfilerAgent.js
@@ -37,8 +37,6 @@
*/
devtools.ProfilerAgent = function()
{
- RemoteProfilerAgent.didGetActiveProfilerModules = this._didGetActiveProfilerModules.bind(this);
- RemoteProfilerAgent.didGetLogLines = this._didGetLogLines.bind(this);
/**
* Profiler log position.
@@ -92,10 +90,17 @@ devtools.ProfilerAgent.prototype._getNextLogLines = function(immediately)
if (this._lastRequestedLogPosition == this._logPosition)
return;
var pos = this._lastRequestedLogPosition = this._logPosition;
+
+ var callId = WebInspector.Callback.wrap(this._didGetProfilerLogLines.bind(this));
if (immediately)
- RemoteProfilerAgent.getLogLines(pos);
- else
- setTimeout(function() { RemoteProfilerAgent.getLogLines(pos); }, 500);
+ InspectorBackend.getProfilerLogLines(callId, pos);
+ else {
+ function delayedRequest()
+ {
+ InspectorBackend.getProfilerLogLines(callId, pos);
+ }
+ setTimeout(delayedRequest, 500);
+ }
};
@@ -114,20 +119,11 @@ devtools.ProfilerAgent.prototype.startProfiling = function(modules)
/**
- * Handles current profiler status.
- * @param {number} modules List of active (started) modules.
- */
-devtools.ProfilerAgent.prototype._didGetActiveProfilerModules = function(modules)
-{
-};
-
-
-/**
* Handles a portion of a profiler log retrieved by getLogLines call.
* @param {number} pos Current position in log.
* @param {string} log A portion of profiler log.
*/
-devtools.ProfilerAgent.prototype._didGetLogLines = function(pos, log)
+devtools.ProfilerAgent.prototype._didGetProfilerLogLines = function(pos, log)
{
this._logPosition = pos;
if (log.length > 0) {
@@ -138,3 +134,5 @@ devtools.ProfilerAgent.prototype._didGetLogLines = function(pos, log)
this._lastRequestedLogPosition = this._logPosition - 1;
}
};
+
+WebInspector.didGetProfilerLogLines = WebInspector.Callback.processCallback;
diff --git a/WebKit/chromium/src/js/ProfilerProcessor.js b/WebKit/chromium/src/js/ProfilerProcessor.js
index f678d2c..61714e8 100644
--- a/WebKit/chromium/src/js/ProfilerProcessor.js
+++ b/WebKit/chromium/src/js/ProfilerProcessor.js
@@ -281,7 +281,7 @@ devtools.profiler.Processor.prototype.__proto__ = devtools.profiler.LogReader.pr
*/
devtools.profiler.Processor.prototype.printError = function(str)
{
- debugPrint(str);
+ WebInspector.log(str);
};
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index c5e5eb1..e8dc7b9 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,22 @@
+2010-08-02 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Chromium DevTools: Get rid of DevTools RPC.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43335
+
+ * DumpRenderTree/chromium/DRTDevToolsAgent.cpp:
+ (DRTDevToolsAgent::sendMessageToInspectorFrontend):
+ (DRTDevToolsAgent::call):
+ * DumpRenderTree/chromium/DRTDevToolsAgent.h:
+ * DumpRenderTree/chromium/DRTDevToolsCallArgs.h:
+ (DRTDevToolsCallArgs::DRTDevToolsCallArgs):
+ * DumpRenderTree/chromium/DRTDevToolsClient.cpp:
+ (DRTDevToolsClient::sendMessageToBackend):
+ (DRTDevToolsClient::call):
+ * DumpRenderTree/chromium/DRTDevToolsClient.h:
+
2010-08-02 Kent Tamura <tkent at chromium.org>
Reviewed by Dimitri Glazkov.
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp
index 0ff77a0..9dbba49 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.cpp
@@ -36,7 +36,6 @@
#include "public/WebCString.h"
#include "public/WebDevToolsAgent.h"
-#include "public/WebDevToolsMessageData.h"
#include "public/WebString.h"
#include "public/WebView.h"
#include "webkit/support/webkit_support.h"
@@ -60,7 +59,7 @@ void DRTDevToolsAgent::setWebView(WebView* webView)
m_webView = webView;
}
-void DRTDevToolsAgent::sendMessageToFrontend(const WebDevToolsMessageData& data)
+void DRTDevToolsAgent::sendMessageToInspectorFrontend(const WebKit::WebString& data)
{
if (m_drtDevToolsClient)
m_drtDevToolsClient->asyncCall(DRTDevToolsCallArgs(data));
@@ -100,7 +99,7 @@ void DRTDevToolsAgent::call(const DRTDevToolsCallArgs &args)
{
WebDevToolsAgent* agent = webDevToolsAgent();
if (agent)
- agent->dispatchMessageFromFrontend(args.m_data);
+ agent->dispatchOnInspectorBackend(args.m_data);
if (DRTDevToolsCallArgs::callsCount() == 1 && m_drtDevToolsClient)
m_drtDevToolsClient->allMessagesProcessed();
}
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h
index 37fc119..bf69c19 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsAgent.h
@@ -56,7 +56,7 @@ public:
void setWebView(WebKit::WebView*);
// WebDevToolsAgentClient implementation.
- virtual void sendMessageToFrontend(const WebKit::WebDevToolsMessageData&);
+ virtual void sendMessageToInspectorFrontend(const WebKit::WebString&);
virtual int hostIdentifier() { return m_routingID; }
virtual void forceRepaint();
virtual void runtimeFeatureStateChanged(const WebKit::WebString& feature, bool enabled);
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h
index e4a3d48..b1ac2ec 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsCallArgs.h
@@ -31,22 +31,15 @@
#ifndef DRTDevToolsCallArgs_h
#define DRTDevToolsCallArgs_h
-#include "public/WebDevToolsMessageData.h"
#include "public/WebString.h"
#include <wtf/Assertions.h>
class DRTDevToolsCallArgs {
public:
- DRTDevToolsCallArgs(const WebKit::WebDevToolsMessageData& data)
+ DRTDevToolsCallArgs(const WebKit::WebString& data)
: m_data(data)
{
++m_callsCount;
-
- // The same behaviour as we have in case of IPC.
- for (size_t i = 0; i < m_data.arguments.size(); ++i) {
- if (m_data.arguments[i].isNull())
- m_data.arguments[i] = WebKit::WebString::fromUTF8("");
- }
}
DRTDevToolsCallArgs(const DRTDevToolsCallArgs& args)
@@ -63,7 +56,7 @@ public:
static int callsCount() { return m_callsCount; }
- WebKit::WebDevToolsMessageData m_data;
+ WebKit::WebString m_data;
private:
static int m_callsCount;
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp
index e14f008..e5b5562 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.cpp
@@ -64,7 +64,7 @@ DRTDevToolsClient::~DRTDevToolsClient()
m_drtDevToolsAgent->detach(this);
}
-void DRTDevToolsClient::sendMessageToAgent(const WebDevToolsMessageData& data)
+void DRTDevToolsClient::sendMessageToBackend(const WebString& data)
{
if (m_drtDevToolsAgent)
m_drtDevToolsAgent->asyncCall(DRTDevToolsCallArgs(data));
@@ -103,7 +103,7 @@ void DRTDevToolsClient::asyncCall(const DRTDevToolsCallArgs& args)
void DRTDevToolsClient::call(const DRTDevToolsCallArgs& args)
{
- m_webDevToolsFrontend->dispatchMessageFromAgent(args.m_data);
+ m_webDevToolsFrontend->dispatchOnInspectorFrontend(args.m_data);
if (DRTDevToolsCallArgs::callsCount() == 1)
allMessagesProcessed();
}
diff --git a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h
index f08644b..691e1d5 100644
--- a/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h
+++ b/WebKitTools/DumpRenderTree/chromium/DRTDevToolsClient.h
@@ -55,7 +55,7 @@ public:
virtual ~DRTDevToolsClient();
// WebDevToolsFrontendClient implementation
- virtual void sendMessageToAgent(const WebKit::WebDevToolsMessageData&);
+ virtual void sendMessageToBackend(const WebKit::WebString&);
virtual void sendDebuggerCommandToAgent(const WebKit::WebString& command);
virtual void activateWindow();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list