[Webkit-unassigned] [Bug 43732] New: Web Inspector: Remove debugging meta-bug

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 9 11:12:17 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=43732

           Summary: Web Inspector: Remove debugging meta-bug
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Web Inspector
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: pfeldman at chromium.org
                CC: timothy at apple.com, rik at webkit.org, keishi at webkit.org,
                    pmuellr at yahoo.com, joepeck at webkit.org,
                    pfeldman at chromium.org, yurys at chromium.org,
                    bweinstein at apple.com, loislo at chromium.org


Here is how I see it:
- Ilya completes his work on generating transport for new InspectorBackend <-> InspectorFrontend interaction
- There are two types of messages flying between backend and frontend: push and query. inspector.idl defines present versions of these messages, push methods are marked with [notify].
- We change the JSON message format a bit, leaving existing semantics of messages in place. Following draft should give a good idea on the message format: https://docs.google.com/document/edit?id=1d_N-OIb3UztuC-_g0piXsIIdp89HnMcDk-uSQ8uamW4&hl=en&authkey=CIf48O4J
- Ilya generates nice API on the JavaScript side that issues messages described above and hides the 'call id / seq number' logic from the client:

// Issues a 'set' 'child-nodes' command.
InspectorBackend.dom.setChildNodes = function(arg1, callbackFunction) {
   ...
}

- Every query message is going to have an ack and as a result, query messages are going to be of the following form (from client's code perspective):

InspectorBackend.dom.setChildNodes(1, function(results) { ... });

- Approach described above might be sufficient for some domains (cookies, appcache). But there are more complex domains such as 'dom' that maintain heavy state. For these, I'd suggest implementing an 'SDK' that would maintain model consistency and encapsulate backend interaction. In dom case, DOMAgent is pretty much covering it, but needs to brushed up a bit. It no longer needs to mimic DOM interface, enulate DOMWindow and such.
- Over time, we could deliver these SDKs to the remote debugging clients and hence allow alternate front-ends. As a result, we will need to maintain JavaScript SDK conformance instead of the protocol conformance. Just as we do with Eclipse Debugger for Chrome.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list