[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