Changeset 83037 in webkit


Ignore:
Timestamp:
Apr 6, 2011 2:57:54 AM (13 years ago)
Author:
apavlov@chromium.org
Message:

2011-04-05 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: Range insertNode function does not update content in the inspector
https://bugs.webkit.org/show_bug.cgi?id=57829

  • inspector/elements/modify-chardata-expected.txt:
  • inspector/elements/modify-chardata.html:

2011-04-05 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Web Inspector: Range insertNode function does not update content in the inspector
https://bugs.webkit.org/show_bug.cgi?id=57829

  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r83035 r83037  
     12011-04-05  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector: Range insertNode function does not update content in the inspector
     6        https://bugs.webkit.org/show_bug.cgi?id=57829
     7
     8        * inspector/elements/modify-chardata-expected.txt:
     9        * inspector/elements/modify-chardata.html:
     10
    1112011-04-06  Nikolas Zimmermann  <nzimmermann@rim.com>
    212
  • trunk/LayoutTests/inspector/elements/modify-chardata-expected.txt

    r79553 r83037  
    22
    33Bar
     4Lorem ipstestlor sit amet
    45
    56Running: testDumpInitial
    6 ========= Original ========
     7========= Original for normal mutation ========
    78  <div id="node">Foo</div>
    89
     
    1112  <div id="node">Bar</div>
    1213
     14Running: testModifyViaRange
     15========= Original for Range mutation ========
     16  <div id="rangenode">Lorem ipsum dolor sit amet</div>
     17===== Contents modified via Range =====
     18- <div id="rangenode">
     19      "Lorem ips"
     20      <span>test</span>
     21      "lor sit amet"
     22  </div>
     23
  • trunk/LayoutTests/inspector/elements/modify-chardata.html

    r78576 r83037  
    1111}
    1212
     13function modifyViaRange()
     14{
     15    var range = document.createRange();
     16    var referenceNode = document.getElementById("rangenode").firstChild;
     17    range.selectNode(referenceNode);
     18    range.setStart(referenceNode, 9);
     19    range.setEnd(referenceNode, 9 + 5);
     20    range.deleteContents();
     21    var span = range.startContainer.ownerDocument.createElement("span");
     22    span.innerHTML = "test";
     23    range.insertNode(span);
     24}
     25
    1326function test()
    1427{
     
    2134            {
    2235                targetNode = node;
    23                 InspectorTest.addResult("========= Original ========");
     36                InspectorTest.addResult("========= Original for normal mutation ========");
    2437                InspectorTest.dumpElementsTree(targetNode);
    2538                next();
     
    3750            }
    3851            InspectorTest.evaluateInPage("modifyChars()", callback);
     52        },
     53
     54        function testModifyViaRange(next)
     55        {
     56            function callback()
     57            {
     58                InspectorTest.addResult("===== Contents modified via Range =====");
     59                InspectorTest.dumpElementsTree(targetNode);
     60                next();
     61            }
     62            function expandCallback()
     63            {
     64                InspectorTest.expandElementsTree(callback);
     65            }
     66            function selectCallback(node)
     67            {
     68                targetNode = node;
     69                InspectorTest.addResult("========= Original for Range mutation ========");
     70                InspectorTest.dumpElementsTree(targetNode);
     71                InspectorTest.evaluateInPage("modifyViaRange()", expandCallback);
     72            }
     73            InspectorTest.selectNodeWithId("rangenode", selectCallback);
    3974        }
    4075    ]);
     
    5085
    5186<div id="node">Foo</div>
     87<div id="rangenode">Lorem ipsum dolor sit amet</div>
    5288
    5389</body>
  • trunk/Source/WebCore/ChangeLog

    r83034 r83037  
     12011-04-05  Alexander Pavlov  <apavlov@chromium.org>
     2
     3        Reviewed by Pavel Feldman.
     4
     5        Web Inspector: Range insertNode function does not update content in the inspector
     6        https://bugs.webkit.org/show_bug.cgi?id=57829
     7
     8        * inspector/InspectorDOMAgent.cpp:
     9        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
     10        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
     11
    1122011-04-06  Alejandro G. Castro  <alex@igalia.com>
    213
  • trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp

    r82663 r83037  
    457457    NodeToIdMap* nodeMap = m_idToNodesMap.get(nodeId);
    458458    RefPtr<InspectorArray> children = buildArrayForContainerChildren(node, 1, nodeMap);
    459     m_childrenRequested.add(nodeId);
    460459    m_frontend->setChildNodes(nodeId, children.release());
    461460}
     
    10911090
    10921091    if (depth == 0) {
    1093         // Special case the_only text child.
     1092        // Special-case the only text child - pretend that container's children have been requested.
    10941093        if (child && child->nodeType() == Node::TEXT_NODE && !innerNextSibling(child))
    1095             children->pushObject(buildObjectForNode(child, 0, nodesMap));
     1094            return buildArrayForContainerChildren(container, 1, nodesMap);
    10961095        return children.release();
    1097     } else if (depth > 0) {
    1098         depth--;
    1099     }
     1096    }
     1097
     1098    depth--;
     1099    m_childrenRequested.add(bind(container, nodesMap));
    11001100
    11011101    while (child) {
Note: See TracChangeset for help on using the changeset viewer.