Changeset 30790 in webkit


Ignore:
Timestamp:
Mar 4, 2008 11:08:43 PM (16 years ago)
Author:
mjs@apple.com
Message:

WebCore:

Reviewed by Sam and Oliver.

  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark): When marking a node that's in-document, mark the owner document if it hasn't been already. This means holding on to a single node from an unreferenced document now keeps the whole document alive.


We are now at 90/100 on Acid3.

LayoutTests:

Reviewed by Sam and Oliver.

  • fast/dom/gc-11-expected.txt: Added. Test case from bug 16289.
  • fast/dom/gc-11.html: Added.
  • fast/dom/gc-acid3.html: Added. DOM garbage collection part of Acid3.
  • fast/dom/gc-acid3-expected.txt: Added.
  • fast/dom/gc-6-expected.txt: Updated results. The old assumptions of this test were in conflict with the requirements of Acid3.
Location:
trunk
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r30781 r30790  
     12008-03-04  Maciej Stachowiak  <mjs@apple.com>
     2
     3        Reviewed by Sam and Oliver.
     4
     5        - test for http://bugs.webkit.org/show_bug.cgi?id=16289
     6        - test for Acid3 tests 26 and 27 (not exactly the same issue but related)
     7
     8        * fast/dom/gc-11-expected.txt: Added. Test case from bug 16289.
     9        * fast/dom/gc-11.html: Added.
     10        * fast/dom/gc-acid3.html: Added. DOM garbage collection part of Acid3.
     11        * fast/dom/gc-acid3-expected.txt: Added.
     12        * fast/dom/gc-6-expected.txt: Updated results. The old assumptions of this test
     13        were in conflict with the requirements of Acid3.
     14
    1152008-03-04  Dan Bernstein  <mitz@apple.com>
    216
  • trunk/LayoutTests/fast/dom/gc-6-expected.txt

    r20147 r30790  
    55B
    66[object HTMLElement]
    7 null
     7[object HTMLElement]
    88[object HTMLDocument]
    99
  • trunk/WebCore/ChangeLog

    r30788 r30790  
     12008-03-04  Maciej Stachowiak  <mjs@apple.com>
     2
     3        Reviewed by Sam and Oliver.
     4
     5        - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
     6        - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
     7
     8        * bindings/js/JSNodeCustom.cpp:
     9        (WebCore::JSNode::mark): When marking a node that's in-document,
     10        mark the owner document if it hasn't been already. This means holding on
     11        to a single node from an unreferenced document now keeps the whole document alive.
     12       
     13        We are now at 90/100 on Acid3.
     14
    1152008-03-04  Sam Weinig  <sam@webkit.org>
    216
  • trunk/WebCore/bindings/js/JSNodeCustom.cpp

    r29663 r30790  
    116116    // so we have no special responsibilities and can just call the base class here.
    117117    if (node->inDocument()) {
     118        // But if the document isn't marked we have to mark it to ensure that
     119        // nodes reachable from this one are also marked
     120        if (Document* doc = node->ownerDocument())
     121            if (DOMObject* docWrapper = ScriptInterpreter::getDOMObject(doc))
     122                if (!docWrapper->marked())
     123                    docWrapper->mark();
    118124        DOMObject::mark();
    119125        return;
Note: See TracChangeset for help on using the changeset viewer.