2010-12-02 Sheriff Bot <webkit.review.bot@gmail.com>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Dec 2010 19:30:51 +0000 (19:30 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Dec 2010 19:30:51 +0000 (19:30 +0000)
        Unreviewed, rolling out r73152.
        http://trac.webkit.org/changeset/73152
        https://bugs.webkit.org/show_bug.cgi?id=50401

        the patch has broken chromium win layout tests (Requested by
        loislo on #webkit).

        * inspector/report-API-errors-expected.txt:
        * inspector/report-API-errors.html:
        * inspector/report-protocol-errors-expected.txt:
        * inspector/report-protocol-errors.html:
2010-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73152.
        http://trac.webkit.org/changeset/73152
        https://bugs.webkit.org/show_bug.cgi?id=50401

        the patch has broken chromium win layout tests (Requested by
        loislo on #webkit).

        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/front-end/Callback.js:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        * inspector/front-end/inspector.js:
        (WebInspector.loaded.WebInspector.socket.onmessage):
        (WebInspector.dispatch):
        (WebInspector_syncDispatch):
        (WebInspector.reportProtocolError):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@73171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/inspector/report-API-errors-expected.txt
LayoutTests/inspector/report-API-errors.html
LayoutTests/inspector/report-protocol-errors-expected.txt
LayoutTests/inspector/report-protocol-errors.html
WebCore/ChangeLog
WebCore/inspector/CodeGeneratorInspector.pm
WebCore/inspector/Inspector.idl
WebCore/inspector/front-end/Callback.js
WebCore/inspector/front-end/DOMAgent.js
WebCore/inspector/front-end/inspector.js

index fc69e8a..0e59355 100644 (file)
@@ -1,3 +1,17 @@
+2010-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r73152.
+        http://trac.webkit.org/changeset/73152
+        https://bugs.webkit.org/show_bug.cgi?id=50401
+
+        the patch has broken chromium win layout tests (Requested by
+        loislo on #webkit).
+
+        * inspector/report-API-errors-expected.txt:
+        * inspector/report-API-errors.html:
+        * inspector/report-protocol-errors-expected.txt:
+        * inspector/report-protocol-errors.html:
+
 2010-12-02  W. James MacLean  <wjmaclean@chromium.org>
 
         Reviewed by James Robinson.
index 263f80e..abab55e 100644 (file)
@@ -3,6 +3,5 @@ Tests that InspectorBackendStub is catching incorrect arguments.
 Protocol Error: Invalid type of argument 'enable' for 'InspectorBackend.setMonitoringXHREnabled' call. It should be 'boolean' but it is 'number'.
 Protocol Error: Invalid number of arguments for 'InspectorBackend.setMonitoringXHREnabled' call. It should have the next arguments '{"enable":"boolean"}'.
 Protocol Error: Optional callback argument for 'InspectorBackend.setMonitoringXHREnabled' call should be a function but its type is 'string'.
-Protocol Error: the message is for non-existing domain 'wrongDomain'
-Protocol Error: Attempted to dispatch an unimplemented method 'Inspector.something-strange'
+Protocol Error: Attempted to dispatch an unimplemented WebInspector method 'something-strange'
 
index 45eeca8..a2bc280 100644 (file)
@@ -16,8 +16,7 @@ function test()
     InspectorBackend.setMonitoringXHREnabled(true, "not a function");
     InspectorBackend.setMonitoringXHREnabled(true, undefined);
     InspectorBackend.setMonitoringXHREnabled(false, undefined);
-    InspectorBackend.dispatch('{"type": "event", "domain": "wrongDomain", "event": "something-strange", "data": {}}');
-    InspectorBackend.dispatch('{"type": "event", "domain": "Inspector", "event": "something-strange", "data": {}}');
+    WebInspector_syncDispatch('{"type": "event", "domain": "dom", "event": "something-strange", "data": {}}');
 
     InspectorTest.completeTest();
 }
index 2221c84..f10273b 100644 (file)
@@ -44,7 +44,6 @@ Tests that InspectorBackendDispatcher is catching incorrect messages.
 }
 {
     seq : 2
-    domain : "Resources"
     success : false
     errors : {
         0 : "Protocol Error: 'arguments' property with type 'object' was not found."
@@ -52,7 +51,6 @@ Tests that InspectorBackendDispatcher is catching incorrect messages.
 }
 {
     seq : 3
-    domain : "Resources"
     success : false
     errors : {
         0 : "Protocol Error: 'arguments' property with type 'object' was not found."
@@ -60,7 +58,6 @@ Tests that InspectorBackendDispatcher is catching incorrect messages.
 }
 {
     seq : 4
-    domain : "Resources"
     success : false
     errors : {
         0 : "Protocol Error: Argument 'frameId' with type 'Number' was not found."
@@ -70,7 +67,6 @@ Tests that InspectorBackendDispatcher is catching incorrect messages.
 }
 {
     seq : 5
-    domain : "Resources"
     success : false
     errors : {
         0 : "Protocol Error: Argument 'frameId' with type 'Number' was not found."
@@ -80,20 +76,18 @@ Tests that InspectorBackendDispatcher is catching incorrect messages.
 }
 {
     seq : 6
-    domain : "Debugger"
     success : false
     errors : {
-        0 : "Protocol Error: Debugger handler is not available."
+        0 : "Protocol Error: Debug handler is not available."
         1 : "Protocol Error: Argument 'sourceID' with type 'String' was not found."
         2 : "Protocol Error: Argument 'lineNumber' with type 'Number' was not found."
     }
 }
 {
     seq : 7
-    domain : "Debugger"
     success : false
     errors : {
-        0 : "Protocol Error: Debugger handler is not available."
+        0 : "Protocol Error: Debug handler is not available."
     }
 }
 
index d48961d..4730ae4 100644 (file)
@@ -22,7 +22,7 @@ function test()
     ];
     var numberOfReports = 0;
 
-    InspectorBackend.reportProtocolError = function(message)
+    WebInspector.reportProtocolError = function(message)
     {
         if (numberOfReports < messages.length)
             InspectorTest.addObject(message);
index 6b97d93..48f4d92 100644 (file)
@@ -1,3 +1,23 @@
+2010-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r73152.
+        http://trac.webkit.org/changeset/73152
+        https://bugs.webkit.org/show_bug.cgi?id=50401
+
+        the patch has broken chromium win layout tests (Requested by
+        loislo on #webkit).
+
+        * inspector/CodeGeneratorInspector.pm:
+        * inspector/Inspector.idl:
+        * inspector/front-end/Callback.js:
+        * inspector/front-end/DOMAgent.js:
+        (WebInspector.DOMNode):
+        * inspector/front-end/inspector.js:
+        (WebInspector.loaded.WebInspector.socket.onmessage):
+        (WebInspector.dispatch):
+        (WebInspector_syncDispatch):
+        (WebInspector.reportProtocolError):
+
 2010-12-02  W. James MacLean  <wjmaclean@chromium.org>
 
         Reviewed by James Robinson.
index 6d2e3c4..177ca3b 100644 (file)
@@ -19,16 +19,16 @@ $typeTransform{"Backend"} = {
     "header" => "InspectorBackend.h",
     "domainAccessor" => "m_inspectorController->inspectorBackend()",
 };
-$typeTransform{"Inspector"} = {
+$typeTransform{"Controller"} = {
     "forwardHeader" => "InspectorController.h",
     "domainAccessor" => "m_inspectorController",
 };
-$typeTransform{"Debugger"} = {
+$typeTransform{"Debug"} = {
     "forward" => "InspectorDebuggerAgent",
     "header" => "InspectorDebuggerAgent.h",
     "domainAccessor" => "m_inspectorController->debuggerAgent()",
 };
-$typeTransform{"Resources"} = {
+$typeTransform{"Resource"} = {
     "forward" => "InspectorResourceAgent",
     "header" => "InspectorResourceAgent.h",
     "domainAccessor" => "m_inspectorController->m_resourceAgent",
@@ -240,7 +240,7 @@ sub GenerateInterface
     push(@backendHead, "    static bool getCommandName(const String& message, String* result);");
     $backendConstructor = join("\n", @backendHead);
     $backendFooter = "    InspectorController* m_inspectorController;";
-    $backendTypes{"Inspector"} = 1;
+    $backendTypes{"Controller"} = 1;
     $backendTypes{"InspectorClient"} = 1;
     $backendTypes{"PassRefPtr"} = 1;
     $backendTypes{"Object"} = 1;
@@ -282,7 +282,6 @@ sub generateFrontendFunction
 
     my $functionName = $function->signature->name;
 
-    my $domain = $function->signature->extendedAttributes->{"domain"} || "Inspector";
     my @argsFiltered = grep($_->direction eq "out", @{$function->parameters}); # just keep only out parameters for frontend interface.
     map($frontendTypes{$_->type} = 1, @argsFiltered); # register required types.
     my $arguments = join(", ", map($typeTransform{$_->type}->{"param"} . " " . $_->name, @argsFiltered)); # prepare arguments for function signature.
@@ -296,7 +295,6 @@ sub generateFrontendFunction
         push(@function, "{");
         push(@function, "    RefPtr<InspectorObject> ${functionName}Message = InspectorObject::create();");
         push(@function, "    ${functionName}Message->setString(\"type\", \"event\");");
-        push(@function, "    ${functionName}Message->setString(\"domain\", \"$domain\");");
         push(@function, "    ${functionName}Message->setString(\"event\", \"$functionName\");");
         push(@function, "    RefPtr<InspectorObject> payloadDataObject = InspectorObject::create();");
         my @pushArguments = map("    payloadDataObject->set" . $typeTransform{$_->type}->{"JSONType"} . "(\"" . $_->name . "\", " . $_->name . ");", @argsFiltered);
@@ -342,7 +340,7 @@ sub generateBackendFunction
     push(@function, "    RefPtr<InspectorArray> protocolErrors = InspectorArray::create();");
     push(@function, "");
 
-    my $domain = $function->signature->extendedAttributes->{"domain"} || "Inspector";
+    my $domain = $function->signature->extendedAttributes->{"handler"} || "Controller";
     my $domainAccessor = $typeTransform{$domain}->{"domainAccessor"};
     $backendTypes{$domain} = 1;
     push(@function, "    if (!$domainAccessor)");
@@ -379,7 +377,6 @@ sub generateBackendFunction
     push(@function, "    if ((callId || protocolErrors->length()) && m_inspectorController->hasFrontend()) {");
     push(@function, "        RefPtr<InspectorObject> responseMessage = InspectorObject::create();");
     push(@function, "        responseMessage->setNumber(\"seq\", callId);");
-    push(@function, "        responseMessage->setString(\"domain\", \"$domain\");");
     push(@function, "        responseMessage->setBoolean(\"success\", !protocolErrors->length());");
     push(@function, "");
     push(@function, "        if (protocolErrors->length())");
@@ -550,7 +547,7 @@ sub generateBackendStubJS
 
     foreach my $function (@backendFunctions) {
         my $name = $function->signature->name;
-        my $domain = $function->signature->extendedAttributes->{"domain"};
+        my $domain = $function->signature->extendedAttributes->{"handler"};
         my $argumentNames = join(",", map("\"" . $_->name . "\": \"" . lc($typeTransform{$_->type}->{"JSONType"}) . "\"", grep($_->direction eq "in", @{$function->parameters})));
         push(@JSStubs, "    this._registerDelegate('{" .
             "\"seq\": 0, " .
@@ -566,12 +563,10 @@ $licenseTemplate
 
 WebInspector.InspectorBackendStub = function()
 {
-    this._domainDispatchers = {};
 $JSStubs
 }
 
 WebInspector.InspectorBackendStub.prototype = {
-
     _registerDelegate: function(commandInfo)
     {
         var commandObject = JSON.parse(commandInfo);
@@ -609,55 +604,6 @@ WebInspector.InspectorBackendStub.prototype = {
 
         var message = JSON.stringify(request);
         InspectorFrontendHost.sendMessageToBackend(message);
-    },
-
-    registerDomainDispatcher: function(domain, dispatcher)
-    {
-        this._domainDispatchers[domain] = dispatcher;
-    },
-
-    dispatch: function(message)
-    {
-        if (window.dumpInspectorProtocolMessages)
-            console.log("backend: " + ((typeof message === "string") ? message : JSON.stringify(message)));
-
-        var messageObject = (typeof message === "string") ? JSON.parse(message) : message;
-
-        var arguments = [];
-        if (messageObject.data)
-            for (var key in messageObject.data)
-                arguments.push(messageObject.data[key]);
-
-        if ("seq" in messageObject) { // just a response for some request
-            if (messageObject.success)
-                WebInspector.Callback.processResponse(messageObject.seq, arguments);
-            else {
-                WebInspector.Callback.removeResponseCallbackEntry(messageObject.seq)
-                this.reportProtocolError(messageObject);
-            }
-            return;
-        }
-
-        if (messageObject.type === "event") {
-            if (!(messageObject.domain in this._domainDispatchers)) {
-                console.error("Protocol Error: the message is for non-existing domain '%s'", messageObject.domain);
-                return;
-            }
-            var dispatcher = this._domainDispatchers[messageObject.domain];
-            if (!(messageObject.event in dispatcher)) {
-                console.error("Protocol Error: Attempted to dispatch an unimplemented method '%s.%s'", messageObject.domain, messageObject.event);
-                return;
-            }
-            dispatcher[messageObject.event].apply(dispatcher, arguments);
-        }
-    },
-
-    reportProtocolError: function(messageObject)
-    {
-        console.error("Protocol Error: InspectorBackend request with seq = %d failed.", messageObject.seq);
-        for (var i = 0; i < messageObject.errors.length; ++i)
-            console.error("    " + messageObject.errors[i]);
-        WebInspector.Callback.removeResponseCallbackEntry(messageObject.seq);
     }
 }
 
index 67a5cde..99b2fab 100644 (file)
@@ -92,21 +92,21 @@ module core {
 #endif
 
         // This method is going to be broken down into smaller parts.
-        [domain=Inspector] void populateScriptObjects();
+        [handler=Controller] void populateScriptObjects();
 
-        [domain=Inspector] void getInspectorState(out Object state);
+        [handler=Controller] void getInspectorState(out Object state);
 
-        [domain=Inspector] void setSearchingForNode(in boolean enabled, out boolean newState);
+        [handler=Controller] void setSearchingForNode(in boolean enabled, out boolean newState);
 
-        [domain=Inspector] void setMonitoringXHREnabled(in boolean enable, out boolean newState);
+        [handler=Controller] void setMonitoringXHREnabled(in boolean enable, out boolean newState);
 
-        [domain=Inspector] void reloadPage();
+        [handler=Controller] void reloadPage();
 
-        [domain=Inspector] void startTimelineProfiler();
-        [domain=Inspector] void stopTimelineProfiler();
+        [handler=Controller] void startTimelineProfiler();
+        [handler=Controller] void stopTimelineProfiler();
 
-        [domain=Resources] void cachedResources(out Object resources);
-        [domain=Resources] void resourceContent(in unsigned long frameId, in String url, in boolean base64Encode, out String content);
+        [handler=Resource] void cachedResources(out Object resources);
+        [handler=Resource] void resourceContent(in unsigned long frameId, in String url, in boolean base64Encode, out String content);
         [notify] void identifierForInitialRequest(out long identifier, out String url, out Object loader);
         [notify] void willSendRequest(out long identifier, out double time, out Object request, out Object redirectResponse);
         [notify] void markResourceAsCached(out long identifier);
@@ -125,121 +125,121 @@ module core {
         [notify] void didCloseWebSocket(out unsigned long identifier, out double time);
 
 #if defined(ENABLE_JAVASCRIPT_DEBUGGER) && ENABLE_JAVASCRIPT_DEBUGGER
-        [domain=Backend] void enableDebugger(in boolean always);
-        [domain=Inspector] void disableDebugger(in boolean always);
+        [handler=Backend] void enableDebugger(in boolean always);
+        [handler=Controller] void disableDebugger(in boolean always);
 
-        [domain=Debugger] void setBreakpoint(in String sourceID, in unsigned int lineNumber, in boolean enabled, in String condition, out boolean success, out unsigned int actualLineNumber);
-        [domain=Debugger] void removeBreakpoint(in String sourceID, in unsigned long lineNumber);
-        [domain=Debugger] void activateBreakpoints();
-        [domain=Debugger] void deactivateBreakpoints();
+        [handler=Debug] void setBreakpoint(in String sourceID, in unsigned int lineNumber, in boolean enabled, in String condition, out boolean success, out unsigned int actualLineNumber);
+        [handler=Debug] void removeBreakpoint(in String sourceID, in unsigned long lineNumber);
+        [handler=Debug] void activateBreakpoints();
+        [handler=Debug] void deactivateBreakpoints();
 
-        [domain=Debugger] void pause();
-        [domain=Debugger] void resume();
+        [handler=Debug] void pause();
+        [handler=Debug] void resume();
 
-        [domain=Debugger] void stepOverStatement();
-        [domain=Debugger] void stepIntoStatement();
-        [domain=Debugger] void stepOutOfFunction();
+        [handler=Debug] void stepOverStatement();
+        [handler=Debug] void stepIntoStatement();
+        [handler=Debug] void stepOutOfFunction();
 
-        [domain=Debugger] void setPauseOnExceptionsState(in long pauseOnExceptionsState, out long newState);
+        [handler=Debug] void setPauseOnExceptionsState(in long pauseOnExceptionsState, out long newState);
 
-        [domain=Debugger] void editScriptSource(in String sourceID, in String newContent, out boolean success, out String result, out Value newCallFrames);
-        [domain=Debugger] void getScriptSource(in String sourceID, out String scriptSource);
+        [handler=Debug] void editScriptSource(in String sourceID, in String newContent, out boolean success, out String result, out Value newCallFrames);
+        [handler=Debug] void getScriptSource(in String sourceID, out String scriptSource);
 
-        [domain=Inspector] void setNativeBreakpoint(in Object breakpoint, out String breakpointId);
-        [domain=Inspector] void removeNativeBreakpoint(in String breakpointId);
+        [handler=Controller] void setNativeBreakpoint(in Object breakpoint, out String breakpointId);
+        [handler=Controller] void removeNativeBreakpoint(in String breakpointId);
 
-        [domain=Inspector] void enableProfiler(in boolean always);
-        [domain=Inspector] void disableProfiler(in boolean always);
+        [handler=Controller] void enableProfiler(in boolean always);
+        [handler=Controller] void disableProfiler(in boolean always);
 
-        [domain=Inspector] void startProfiling();
-        [domain=Inspector] void stopProfiling();
+        [handler=Controller] void startProfiling();
+        [handler=Controller] void stopProfiling();
 
-        [domain=Profiler] void getProfileHeaders(out Array headers);
-        [domain=Profiler] void getProfile(in String type, in unsigned long uid, out Object profile);
+        [handler=Profiler] void getProfileHeaders(out Array headers);
+        [handler=Profiler] void getProfile(in String type, in unsigned long uid, out Object profile);
 
-        [domain=Profiler] void removeProfile(in String type, in unsigned long uid);
-        [domain=Profiler] void clearProfiles();
+        [handler=Profiler] void removeProfile(in String type, in unsigned long uid);
+        [handler=Profiler] void clearProfiles();
 
-        [domain=Profiler] void takeHeapSnapshot();
+        [handler=Profiler] void takeHeapSnapshot();
 #endif
-        [domain=Backend] void setInjectedScriptSource(in String scriptSource);
-        [domain=Backend] void dispatchOnInjectedScript(in long injectedScriptId, in String methodName, in String arguments, out Value result, out boolean isException);
-        [domain=Inspector] void addScriptToEvaluateOnLoad(in String scriptSource);
-        [domain=Inspector] void removeAllScriptsToEvaluateOnLoad();
-
-        [domain=DOM] void getChildNodes(in long nodeId);
-        [domain=DOM] void setAttribute(in long elementId, in String name, in String value, out boolean success);
-        [domain=DOM] void removeAttribute(in long elementId, in String name, out boolean success);
-        [domain=DOM] void setTextNodeValue(in long nodeId, in String value, out boolean success);
-        [domain=DOM] void getEventListenersForNode(in long nodeId, out long outNodeId, out Array listenersArray);
-        [domain=DOM] void copyNode(in long nodeId);
-        [domain=DOM] void removeNode(in long nodeId, out long outNodeId);
-        [domain=DOM] void changeTagName(in long nodeId, in String newTagName, out long outNodeId);
-        [domain=DOM] void getOuterHTML(in long nodeId, out String outerHTML);
-        [domain=DOM] void setOuterHTML(in long nodeId, in String outerHTML, out long outNodeId);
-        [domain=DOM] void addInspectedNode(in long nodeId);
-        [domain=DOM] void performSearch(in String query, in boolean runSynchronously);
-        [domain=DOM] void searchCanceled();
-        [domain=DOM] void pushNodeByPathToFrontend(in String path, out long nodeId);
-
-        [domain=Inspector] void setConsoleMessagesEnabled(in boolean enabled, out boolean newState);
+        [handler=Backend] void setInjectedScriptSource(in String scriptSource);
+        [handler=Backend] void dispatchOnInjectedScript(in long injectedScriptId, in String methodName, in String arguments, out Value result, out boolean isException);
+        [handler=Controller] void addScriptToEvaluateOnLoad(in String scriptSource);
+        [handler=Controller] void removeAllScriptsToEvaluateOnLoad();
+
+        [handler=DOM] void getChildNodes(in long nodeId);
+        [handler=DOM] void setAttribute(in long elementId, in String name, in String value, out boolean success);
+        [handler=DOM] void removeAttribute(in long elementId, in String name, out boolean success);
+        [handler=DOM] void setTextNodeValue(in long nodeId, in String value, out boolean success);
+        [handler=DOM] void getEventListenersForNode(in long nodeId, out long outNodeId, out Array listenersArray);
+        [handler=DOM] void copyNode(in long nodeId);
+        [handler=DOM] void removeNode(in long nodeId, out long outNodeId);
+        [handler=DOM] void changeTagName(in long nodeId, in String newTagName, out long outNodeId);
+        [handler=DOM] void getOuterHTML(in long nodeId, out String outerHTML);
+        [handler=DOM] void setOuterHTML(in long nodeId, in String outerHTML, out long outNodeId);
+        [handler=DOM] void addInspectedNode(in long nodeId);
+        [handler=DOM] void performSearch(in String query, in boolean runSynchronously);
+        [handler=DOM] void searchCanceled();
+        [handler=DOM] void pushNodeByPathToFrontend(in String path, out long nodeId);
+
+        [handler=Controller] void setConsoleMessagesEnabled(in boolean enabled, out boolean newState);
         [notify] void addConsoleMessage(out Object messageObj);
         [notify] void updateConsoleMessageExpiredCount(out unsigned long count);
         [notify] void updateConsoleMessageRepeatCount(out unsigned long count);
 
-        [domain=Inspector] void clearConsoleMessages();
+        [handler=Controller] void clearConsoleMessages();
         [notify] void consoleMessagesCleared();
 
-        [domain=Inspector] void highlightDOMNode(in long nodeId);
-        [domain=Inspector] void hideDOMNodeHighlight();
-        [domain=Inspector] void openInInspectedWindow(in String url);
-
-        [domain=Inspector] void highlightFrame(in unsigned long frameId);
-        [domain=Inspector] void hideFrameHighlight();
-
-        [domain=CSS] void getStylesForNode2(in long nodeId, out Value styles);
-        [domain=CSS] void getComputedStyleForNode2(in long nodeId, out Value style);
-        [domain=CSS] void getInlineStyleForNode2(in long nodeId, out Value style);
-        [domain=CSS] void getAllStyles2(out Array styleSheetIds);
-        [domain=CSS] void getStyleSheet2(in String styleSheetId, out Value styleSheet);
-        [domain=CSS] void getStyleSheetText2(in String styleSheetId, out String url, out String text);
-        [domain=CSS] void setStyleSheetText2(in String styleSheetId, in String text, out boolean success);
-        [domain=CSS] void setPropertyText2(in Object styleId, in long propertyIndex, in String text, in boolean overwrite, out Value style);
-        [domain=CSS] void toggleProperty2(in Object styleId, in long propertyIndex, in boolean disable, out Value style);
-        [domain=CSS] void setRuleSelector2(in Object ruleId, in String selector, out Value rule);
-        [domain=CSS] void addRule2(in long contextNodeId, in String selector, out Value rule);
-        [domain=CSS] void getSupportedCSSProperties(out Array cssProperties);
-        [domain=CSS] void querySelectorAll(in long documentId, in String selector, out Array result);
-
-        [domain=Inspector] void getCookies(out Array cookies, out String cookiesString);
-        [domain=Inspector] void deleteCookie(in String cookieName, in String domain);
+        [handler=Controller] void highlightDOMNode(in long nodeId);
+        [handler=Controller] void hideDOMNodeHighlight();
+        [handler=Controller] void openInInspectedWindow(in String url);
+
+        [handler=Controller] void highlightFrame(in unsigned long frameId);
+        [handler=Controller] void hideFrameHighlight();
+
+        [handler=CSS] void getStylesForNode2(in long nodeId, out Value styles);
+        [handler=CSS] void getComputedStyleForNode2(in long nodeId, out Value style);
+        [handler=CSS] void getInlineStyleForNode2(in long nodeId, out Value style);
+        [handler=CSS] void getAllStyles2(out Array styleSheetIds);
+        [handler=CSS] void getStyleSheet2(in String styleSheetId, out Value styleSheet);
+        [handler=CSS] void getStyleSheetText2(in String styleSheetId, out String url, out String text);
+        [handler=CSS] void setStyleSheetText2(in String styleSheetId, in String text, out boolean success);
+        [handler=CSS] void setPropertyText2(in Object styleId, in long propertyIndex, in String text, in boolean overwrite, out Value style);
+        [handler=CSS] void toggleProperty2(in Object styleId, in long propertyIndex, in boolean disable, out Value style);
+        [handler=CSS] void setRuleSelector2(in Object ruleId, in String selector, out Value rule);
+        [handler=CSS] void addRule2(in long contextNodeId, in String selector, out Value rule);
+        [handler=CSS] void getSupportedCSSProperties(out Array cssProperties);
+        [handler=CSS] void querySelectorAll(in long documentId, in String selector, out Array result);
+
+        [handler=Controller] void getCookies(out Array cookies, out String cookiesString);
+        [handler=Controller] void deleteCookie(in String cookieName, in String domain);
 
 #if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) && ENABLE_OFFLINE_WEB_APPLICATIONS
-        [domain=ApplicationCache] void getApplicationCaches(out Value applicationCaches);
+        [handler=ApplicationCache] void getApplicationCaches(out Value applicationCaches);
 #endif
 
 #if defined(ENABLE_FILE_SYSTEM) && ENABLE_FILE_SYSTEM
-        [domain=FileSystem] void getFileSystemPathAsync(in unsigned int type, in String origin);
-        [domain=FileSystem] void revealFolderInOS(in String path);
+        [handler=FileSystem] void getFileSystemPathAsync(in unsigned int type, in String origin);
+        [handler=FileSystem] void revealFolderInOS(in String path);
         [notify] void didGetFileSystemPath(out String root, out int type, out String origin);
         [notify] void didGetFileSystemError(out int type, out String origin);
         [notify] void didGetFileSystemDisabled();
 #endif
 
-        [domain=Backend] void releaseWrapperObjectGroup(in long injectedScriptId, in String objectGroup);
-        [domain=Inspector] void didEvaluateForTestInFrontend(in long testCallId, in String jsonResult);
+        [handler=Backend] void releaseWrapperObjectGroup(in long injectedScriptId, in String objectGroup);
+        [handler=Controller] void didEvaluateForTestInFrontend(in long testCallId, in String jsonResult);
 
 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE
-        [domain=Backend] void getDatabaseTableNames(in long databaseId, out Array tableNames);
-        [domain=Backend] void executeSQL(in long databaseId, in String query, out boolean success, out long transactionId);
+        [handler=Backend] void getDatabaseTableNames(in long databaseId, out Array tableNames);
+        [handler=Backend] void executeSQL(in long databaseId, in String query, out boolean success, out long transactionId);
         [notify] void sqlTransactionSucceeded(out long transactionId, out Value columnNames, out Value values);
         [notify] void sqlTransactionFailed(out long transactionId, out Value sqlError);
 #endif
 
 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
-        [domain=Inspector] void getDOMStorageEntries(in long storageId, out Array entries);
-        [domain=Inspector] void setDOMStorageItem(in long storageId, in String key, in String value, out boolean success);
-        [domain=Inspector] void removeDOMStorageItem(in long storageId, in String key, out boolean success);
+        [handler=Controller] void getDOMStorageEntries(in long storageId, out Array entries);
+        [handler=Controller] void setDOMStorageItem(in long storageId, in String key, in String value, out boolean success);
+        [handler=Controller] void removeDOMStorageItem(in long storageId, in String key, out boolean success);
 #endif
     };
 }
index 8e3f1d7..0621fd1 100644 (file)
@@ -57,5 +57,5 @@ WebInspector.Callback.prototype = {
 
 WebInspector.Callback._INSTANCE = new WebInspector.Callback();
 WebInspector.Callback.wrap = WebInspector.Callback._INSTANCE.wrap.bind(WebInspector.Callback._INSTANCE);
-WebInspector.Callback.processResponse = WebInspector.Callback._INSTANCE.processResponse.bind(WebInspector.Callback._INSTANCE);
-WebInspector.Callback.removeResponseCallbackEntry = WebInspector.Callback._INSTANCE.removeResponseCallbackEntry.bind(WebInspector.Callback._INSTANCE);
+WebInspector.processResponse = WebInspector.Callback._INSTANCE.processResponse.bind(WebInspector.Callback._INSTANCE);
+WebInspector.removeResponseCallbackEntry = WebInspector.Callback._INSTANCE.removeResponseCallbackEntry.bind(WebInspector.Callback._INSTANCE);
index 24e29ec..37bf549 100644 (file)
@@ -80,8 +80,6 @@ WebInspector.DOMNode = function(doc, payload) {
         this.name = payload.name;
         this.value = payload.value;
     }
-
-    InspectorBackend.registerDomainDispatcher("DOM", this);
 }
 
 WebInspector.DOMNode.prototype = {
index f71b89a..51145cf 100644 (file)
@@ -478,7 +478,7 @@ WebInspector.loaded = function()
 {
     if ("page" in WebInspector.queryParamsObject) {
         WebInspector.socket = new WebSocket("ws://" + window.location.host + "/devtools/page/" + WebInspector.queryParamsObject.page);
-        WebInspector.socket.onmessage = function(message) { InspectorBackend.dispatch(message.data); }
+        WebInspector.socket.onmessage = function(message) { WebInspector_syncDispatch(message.data); }
         WebInspector.socket.onerror = function(error) { console.error(error); }
         WebInspector.socket.onopen = function() {
             InspectorFrontendHost.sendMessageToBackend = WebInspector.socket.send.bind(WebInspector.socket);
@@ -520,8 +520,6 @@ WebInspector.doLoadedDone = function()
     this.resourceManager = new WebInspector.ResourceManager();
     this.domAgent = new WebInspector.DOMAgent();
 
-    InspectorBackend.registerDomainDispatcher("Inspector", this);
-
     this.resourceCategories = {
         documents: new WebInspector.ResourceCategory("documents", WebInspector.UIString("Documents"), "rgb(47,102,236)"),
         stylesheets: new WebInspector.ResourceCategory("stylesheets", WebInspector.UIString("Stylesheets"), "rgb(157,231,119)"),
@@ -650,18 +648,58 @@ WebInspector.dispatch = function(message) {
     // This is important to LayoutTests.
     function delayDispatch()
     {
-        InspectorBackend.dispatch(message);
+        WebInspector_syncDispatch(message);
         WebInspector.pendingDispatches--;
     }
     WebInspector.pendingDispatches++;
     setTimeout(delayDispatch, 0);
 }
 
+// This function is purposely put into the global scope for easy access.
+WebInspector_syncDispatch = function(message)
+{
+    if (window.dumpInspectorProtocolMessages)
+        console.log("backend: " + ((typeof message === "string") ? message : JSON.stringify(message)));
+
+    var messageObject = (typeof message === "string") ? JSON.parse(message) : message;
+
+    var arguments = [];
+    if (messageObject.data)
+        for (var key in messageObject.data)
+            arguments.push(messageObject.data[key]);
+
+    if ("seq" in messageObject) { // just a response for some request
+        if (messageObject.success)
+            WebInspector.processResponse(messageObject.seq, arguments);
+        else {
+            WebInspector.removeResponseCallbackEntry(messageObject.seq)
+            WebInspector.reportProtocolError(messageObject);
+        }
+        return;
+    }
+
+    if (messageObject.type === "event") {
+        if (!(messageObject.event in WebInspector)) {
+            console.error("Protocol Error: Attempted to dispatch an unimplemented WebInspector method '%s'", messageObject.event);
+            return;
+        }
+        WebInspector[messageObject.event].apply(WebInspector, arguments);
+    }
+}
+
 WebInspector.dispatchMessageFromBackend = function(messageObject)
 {
     WebInspector.dispatch(messageObject);
 }
 
+WebInspector.reportProtocolError = function(messageObject)
+{
+    console.error("Protocol Error: InspectorBackend request with seq = %d failed.", messageObject.seq);
+    for (var i = 0; i < messageObject.errors.length; ++i)
+        console.error("    " + messageObject.errors[i]);
+    WebInspector.removeResponseCallbackEntry(messageObject.seq);
+}
+
 WebInspector.windowResize = function(event)
 {
     if (this.currentPanel)