[Webkit-unassigned] [Bug 34018] New: The infinite recursion detection logic in fast/dom/Window/window-properties.html does not work as expected

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 22 13:37:33 PST 2010


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

           Summary: The infinite recursion detection logic in
                    fast/dom/Window/window-properties.html does not work
                    as expected
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: jianli at chromium.org
                CC: darin at apple.com, dimich at chromium.org,
                    jianli at chromium.org


The infinite recursion detection logic in layout test
fast/dom/Window/window-properties.html is kind of broken. It causes false
alarms for those prototypes that have parent prototypes exposed.

For example, CSSStyleRule derives from CSSRule and both constructors are
exposed in DOMWindow. When running the above layout test, 
window.CSSStyleRule.prototype is dumped as the following:
    window.CSSStyleRule.prototype [printed above as window.CSSRule.prototype]

This is because the infinite recursion detection logic in this test relies on
setting and checking the property with the fixed name "__visitedByLogValue__".
Once it is set in the parent prototype element, it can be seen from the child
prototype element and thus causes the early abortion when processing the child
prototype element.

We should fix this logic in order to get the following output:
    window.CSSStyleRule.prototype [object CSSStyleRulePrototype]
    window.CSSStyleRule.prototype.CHARSET_RULE [number]
   ...

One possible fix is to add the value name into the name of the property used to
check if it has been visited or not.

-- 
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