2009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

        [WML] Running WML tests in random order multiple times exposes subtle bugs
        https://bugs.webkit.org/show_bug.cgi?id=27801

        Some changes to fix random order WML tests, simplilfy WMLTestCase.js and reset testDocument
        properly in enter-first-card-with-events.js. fast/wml/err-multi-access.wml still creates a layout
        test difference on consecutive runs, though that's related to bug 27721, which has to be fixed first.

        * wml/resources/WMLTestCase.js:
        * wml/resources/enter-first-card-with-events.js:
        (setupTestDocument):
        (prepareTest):
        (executeTest):

2009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Adam Treat.

        [WML] Running WML tests in random order multiple times exposes subtle bugs
        https://bugs.webkit.org/show_bug.cgi?id=27801

        Remove superflous assertions regarding the parent node. Under certain circumstances
        these can even fire (related to garbage collection while destructing). Fixes random order
        WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)

        The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
        WMLPageState::reset() - the history stack should still contain the current card afterwards.
        Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().

        * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
        (WebCore::BackForwardList::clearWMLPageHistory):
        * wml/WMLDoElement.cpp:
        (WebCore::WMLDoElement::insertedIntoDocument):
        (WebCore::WMLDoElement::removedFromDocument):
        * wml/WMLNoopElement.cpp:
        (WebCore::WMLNoopElement::insertedIntoDocument):
        * wml/WMLOnEventElement.cpp:
        (WebCore::eventHandlingParent):
        * wml/WMLPostfieldElement.cpp:
        (WebCore::WMLPostfieldElement::insertedIntoDocument):
        (WebCore::WMLPostfieldElement::removedFromDocument):
        * wml/WMLSetvarElement.cpp:
        (WebCore::WMLSetvarElement::insertedIntoDocument):
        (WebCore::WMLSetvarElement::removedFromDocument):
        * wml/WMLTaskElement.cpp:
        (WebCore::WMLTaskElement::insertedIntoDocument):
        (WebCore::WMLTaskElement::removedFromDocument):
        * wml/WMLTimerElement.cpp:
        (WebCore::WMLTimerElement::insertedIntoDocument):
        (WebCore::WMLTimerElement::removedFromDocument):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@46539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed