Changeset 66732 in webkit
- Timestamp:
- Sep 3, 2010 8:17:17 AM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r66731 r66732 1 2010-09-03 Ilya Tikhonovsky <loislo@chromium.org> 2 3 Reviewed by Yury Semikhatsky. 4 5 Web Inspector: cleanup inspector api. getChildNodes should return array of child nodes as an output value. 6 7 The current implementation of the inspector api has some unnecessary complexity. 8 As example WebInspector is requesting child nodes of a node by getChildNodes 9 but DOM agent is actually pushing the child nodes via setChildNodes event call and 10 send back an empty response message. 11 12 https://bugs.webkit.org/show_bug.cgi?id=45172 13 14 * inspector/CodeGeneratorInspector.pm: 15 * inspector/Inspector.idl: 16 * inspector/InspectorDOMAgent.cpp: 17 (WebCore::InspectorDOMAgent::getChildNodesArray): 18 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 19 (WebCore::InspectorDOMAgent::getChildNodes): 20 * inspector/InspectorDOMAgent.h: 21 * inspector/front-end/DOMAgent.js: 22 (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback): 23 (WebInspector.DOMAgent.prototype.getChildNodesAsync): 24 * inspector/front-end/WorkersSidebarPane.js: 25 (WebInspector.WorkersSidebarPane.prototype.reset): 26 1 27 2010-09-03 Nikolas Zimmermann <nzimmermann@rim.com> 2 28 -
trunk/WebCore/inspector/CodeGeneratorInspector.pm
r66523 r66732 538 538 return; 539 539 } 540 request.seq = WebInspector.Callback.wrap(args[0]);541 540 } 541 request.seq = WebInspector.Callback.wrap(args[0] ? args[0] : function() { }); 542 542 543 543 var message = JSON.stringify(request); -
trunk/WebCore/inspector/Inspector.idl
r66730 r66732 162 162 [handler=Controller] void removeAllScriptsToEvaluateOnLoad(); 163 163 164 [handler=DOM] void getChildNodes(in long nodeId );164 [handler=DOM] void getChildNodes(in long nodeId, out Array nodes); 165 165 [handler=DOM] void setAttribute(in long elementId, in String name, in String value, out boolean success); 166 166 [handler=DOM] void removeAttribute(in long elementId, in String name, out boolean success); -
trunk/WebCore/inspector/InspectorDOMAgent.cpp
r66730 r66732 355 355 } 356 356 357 void InspectorDOMAgent::pushChildNodesToFrontend(long nodeId)357 PassRefPtr<InspectorArray> InspectorDOMAgent::getChildNodesArray(long nodeId) 358 358 { 359 359 Node* node = nodeForId(nodeId); 360 360 if (!node || (node->nodeType() != Node::ELEMENT_NODE && node->nodeType() != Node::DOCUMENT_NODE && node->nodeType() != Node::DOCUMENT_FRAGMENT_NODE)) 361 return; 361 return 0; 362 363 NodeToIdMap* nodeMap = m_idToNodesMap.get(nodeId); 364 return buildArrayForContainerChildren(node, 1, nodeMap); 365 } 366 367 void InspectorDOMAgent::pushChildNodesToFrontend(long nodeId) 368 { 362 369 if (m_childrenRequested.contains(nodeId)) 363 370 return; 364 371 365 NodeToIdMap* nodeMap = m_idToNodesMap.get(nodeId); 366 RefPtr<InspectorArray> children = buildArrayForContainerChildren(node, 1, nodeMap); 367 m_childrenRequested.add(nodeId); 368 m_frontend->setChildNodes(nodeId, children.release()); 372 PassRefPtr<InspectorArray> nodes = getChildNodesArray(nodeId); 373 if (nodes) { 374 m_frontend->setChildNodes(nodeId, nodes); 375 m_childrenRequested.add(nodeId); 376 } 369 377 } 370 378 … … 397 405 } 398 406 399 void InspectorDOMAgent::getChildNodes(long nodeId) 400 { 401 pushChildNodesToFrontend(nodeId); 407 void InspectorDOMAgent::getChildNodes(long nodeId, RefPtr<InspectorArray>* nodes) 408 { 409 PassRefPtr<InspectorArray> childNodes = getChildNodesArray(nodeId); 410 if (childNodes) 411 *nodes = childNodes; 412 m_childrenRequested.add(nodeId); 402 413 } 403 414 -
trunk/WebCore/inspector/InspectorDOMAgent.h
r66730 r66732 100 100 101 101 // Methods called from the frontend for DOM nodes inspection. 102 void getChildNodes(long nodeId );102 void getChildNodes(long nodeId, RefPtr<InspectorArray>* nodes); 103 103 void setAttribute(long elementId, const String& name, const String& value, bool* success); 104 104 void removeAttribute(long elementId, const String& name, bool* success); … … 149 149 150 150 private: 151 PassRefPtr<InspectorArray> getChildNodesArray(long nodeId); 151 152 static CSSStyleSheet* getParentStyleSheet(CSSStyleDeclaration*); 152 153 void startListening(Document* document); -
trunk/WebCore/inspector/front-end/DOMAgent.js
r66712 r66732 342 342 return; 343 343 } 344 function mycallback() { 344 function mycallback(nodes) { 345 parent._setChildrenPayload(nodes); 346 WebInspector.domAgent._bindNodes(parent.children); 345 347 callback(parent.children); 346 348 } -
trunk/WebCore/inspector/front-end/WorkersSidebarPane.js
r59150 r66732 81 81 reset: function() 82 82 { 83 InspectorBackend.removeAllScriptsToEvaluateOnLoad();84 83 this.setInstrumentation(this._enableWorkersCheckbox.checked); 85 84 this._treeOutline.removeChildren();
Note: See TracChangeset
for help on using the changeset viewer.