Reviewed by Darin.
authorap@webkit.org <ap@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jan 2008 20:06:06 +0000 (20:06 +0000)
committerap@webkit.org <ap@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jan 2008 20:06:06 +0000 (20:06 +0000)
        http://bugs.webkit.org/show_bug.cgi?id=16902
        <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after
        fast/dom/Window/window-property-shadowing.html

        Test: fast/dom/Window/window-property-shadowing_.html

        * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/dom/Window/window-property-shadowing.html
LayoutTests/fast/dom/Window/window-property-shadowing_-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/Window/window-property-shadowing_.html [new file with mode: 0644]
LayoutTests/platform/win/Skipped
WebCore/ChangeLog
WebCore/loader/FrameLoader.cpp

index 7c04abb..c4b84d9 100644 (file)
@@ -1,3 +1,20 @@
+2008-01-17  Alexey Proskuryakov  <ap@webkit.org>
+
+        Reviewed by Darin.
+
+        http://bugs.webkit.org/show_bug.cgi?id=16902
+        <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after
+        fast/dom/Window/window-property-shadowing.html
+
+        * fast/dom/Window/window-property-shadowing.html: Changed some override values to not equal
+        actual ones.
+
+        * fast/dom/Window/window-property-shadowing_-expected.txt: Added.
+        * fast/dom/Window/window-property-shadowing_.html: Added.
+        Test that all properties shadowed in the previous test are back to normal.
+
+        * platform/win/Skipped: Removed the test.
+
 2008-01-17  Dan Bernstein  <mitz@apple.com>
 
         Reviewed by Dave Hyatt.
index 22d63e0..aa3c385 100644 (file)
@@ -25,8 +25,8 @@
         log(statusbar == 1 ? "PASS: statusbar successfully shadowed" : "FAIL: statusbar was not shadowed");
         var toolbar = 1;
         log(toolbar == 1 ? "PASS: toolbar successfully shadowed" : "FAIL: toolbar was not shadowed");
-        var devicePixelRatio = 1;
-        log(devicePixelRatio == 1 ? "PASS: devicePixelRatio successfully shadowed" : "FAIL: devicePixelRatio was not shadowed");
+        var devicePixelRatio = 2;
+        log(devicePixelRatio == 2 ? "PASS: devicePixelRatio successfully shadowed" : "FAIL: devicePixelRatio was not shadowed");
         var defaultStatus = 1;
         log(defaultStatus == 1 ? "PASS: defaultStatus successfully shadowed" : "FAIL: defaultStatus was not shadowed");
         var defaultstatus = 1;
@@ -49,8 +49,8 @@
         log(navigator == 1 ? "PASS: navigator successfully shadowed" : "FAIL: navigator was not shadowed");
         var clientInformation = 1;
         log(clientInformation == 1 ? "PASS: clientInformation successfully shadowed" : "FAIL: clientInformation was not shadowed");
-        var offscreenBuffering = 1;
-        log(offscreenBuffering == 1 ? "PASS: offscreenBuffering successfully shadowed" : "FAIL: offscreenBuffering was not shadowed");
+        var offscreenBuffering = 2;
+        log(offscreenBuffering == 2 ? "PASS: offscreenBuffering successfully shadowed" : "FAIL: offscreenBuffering was not shadowed");
         var opener = 1;
         log(opener == 1 ? "PASS: opener successfully shadowed" : "FAIL: opener was not shadowed");
         var outerHeight = 1;
diff --git a/LayoutTests/fast/dom/Window/window-property-shadowing_-expected.txt b/LayoutTests/fast/dom/Window/window-property-shadowing_-expected.txt
new file mode 100644 (file)
index 0000000..49c9c84
--- /dev/null
@@ -0,0 +1,167 @@
+PASS: locationbar is not shadowed
+PASS: menubar is not shadowed
+PASS: personalbar is not shadowed
+PASS: statusbar is not shadowed
+PASS: toolbar is not shadowed
+PASS: devicePixelRatio is not shadowed
+PASS: defaultStatus is not shadowed
+PASS: defaultstatus is not shadowed
+PASS: status is not shadowed
+PASS: frames is not shadowed
+PASS: event is not shadowed
+PASS: innerHeight is not shadowed
+PASS: innerWidth is not shadowed
+PASS: length is not shadowed
+PASS: name is not shadowed
+PASS: navigator is not shadowed
+PASS: clientInformation is not shadowed
+PASS: offscreenBuffering is not shadowed
+PASS: opener is not shadowed
+PASS: outerHeight is not shadowed
+PASS: outerWidth is not shadowed
+PASS: parent is not shadowed
+PASS: screenX is not shadowed
+PASS: screenY is not shadowed
+PASS: screenLeft is not shadowed
+PASS: screenTop is not shadowed
+PASS: scrollX is not shadowed
+PASS: scrollY is not shadowed
+PASS: self is not shadowed
+PASS: top is not shadowed
+PASS: getSelection is not shadowed
+PASS: getComputedStyle is not shadowed
+PASS: getMatchedCSSRules is not shadowed
+PASS: atob is not shadowed
+PASS: btoa is not shadowed
+PASS: scroll is not shadowed
+PASS: scrollBy is not shadowed
+PASS: scrollTo is not shadowed
+PASS: moveBy is not shadowed
+PASS: moveTo is not shadowed
+PASS: resizeBy is not shadowed
+PASS: resizeTo is not shadowed
+PASS: alert is not shadowed
+PASS: confirm is not shadowed
+PASS: prompt is not shadowed
+PASS: open is not shadowed
+PASS: print is not shadowed
+PASS: setTimeout is not shadowed
+PASS: clearTimeout is not shadowed
+PASS: focus is not shadowed
+PASS: blur is not shadowed
+PASS: close is not shadowed
+PASS: setInterval is not shadowed
+PASS: clearInterval is not shadowed
+PASS: captureEvents is not shadowed
+PASS: releaseEvents is not shadowed
+PASS: addEventListener is not shadowed
+PASS: removeEventListener is not shadowed
+PASS: accessing showModalDialog resulted in an exception. That's because the client (probably DumpRenderTree) cannot run modal - and showModalDialog isn't shadowed.
+PASS: find is not shadowed
+PASS: stop is not shadowed
+PASS: Image is not shadowed
+PASS: Option is not shadowed
+PASS: DOMException is not shadowed
+PASS: XMLHttpRequest is not shadowed
+PASS: XSLTProcessor is not shadowed
+PASS: StyleSheet is not shadowed
+PASS: CSSStyleSheet is not shadowed
+PASS: CSSValue is not shadowed
+PASS: CSSPrimitiveValue is not shadowed
+PASS: CSSValueList is not shadowed
+PASS: CSSRule is not shadowed
+PASS: CSSCharsetRule is not shadowed
+PASS: CSSFontFaceRule is not shadowed
+PASS: CSSImportRule is not shadowed
+PASS: CSSMediaRule is not shadowed
+PASS: CSSPageRule is not shadowed
+PASS: CSSStyleRule is not shadowed
+PASS: CSSStyleDeclaration is not shadowed
+PASS: MediaList is not shadowed
+PASS: Counter is not shadowed
+PASS: CSSRuleList is not shadowed
+PASS: Rect is not shadowed
+PASS: DOMImplementation is not shadowed
+PASS: DocumentFragment is not shadowed
+PASS: Document is not shadowed
+PASS: Node is not shadowed
+PASS: NodeList is not shadowed
+PASS: NamedNodeMap is not shadowed
+PASS: CharacterData is not shadowed
+PASS: Attr is not shadowed
+PASS: Element is not shadowed
+PASS: Text is not shadowed
+PASS: Comment is not shadowed
+PASS: CDATASection is not shadowed
+PASS: DocumentType is not shadowed
+PASS: Notation is not shadowed
+PASS: Entity is not shadowed
+PASS: EntityReference is not shadowed
+PASS: ProcessingInstruction is not shadowed
+PASS: HTMLDocument is not shadowed
+PASS: HTMLElement is not shadowed
+PASS: HTMLAnchorElement is not shadowed
+PASS: HTMLAppletElement is not shadowed
+PASS: HTMLAreaElement is not shadowed
+PASS: HTMLBRElement is not shadowed
+PASS: HTMLBaseElement is not shadowed
+PASS: HTMLBaseFontElement is not shadowed
+PASS: HTMLBlockquoteElement is not shadowed
+PASS: HTMLBodyElement is not shadowed
+PASS: HTMLButtonElement is not shadowed
+PASS: HTMLCanvasElement is not shadowed
+PASS: HTMLDListElement is not shadowed
+PASS: HTMLDirectoryElement is not shadowed
+PASS: HTMLDivElement is not shadowed
+PASS: HTMLEmbedElement is not shadowed
+PASS: HTMLFieldSetElement is not shadowed
+PASS: HTMLFontElement is not shadowed
+PASS: HTMLFormElement is not shadowed
+PASS: HTMLFrameElement is not shadowed
+PASS: HTMLFrameSetElement is not shadowed
+PASS: HTMLHRElement is not shadowed
+PASS: HTMLHeadElement is not shadowed
+PASS: HTMLHeadingElement is not shadowed
+PASS: HTMLHtmlElement is not shadowed
+PASS: HTMLIFrameElement is not shadowed
+PASS: HTMLImageElement is not shadowed
+PASS: HTMLInputElement is not shadowed
+PASS: HTMLIsIndexElement is not shadowed
+PASS: HTMLLIElement is not shadowed
+PASS: HTMLLabelElement is not shadowed
+PASS: HTMLLegendElement is not shadowed
+PASS: HTMLLinkElement is not shadowed
+PASS: HTMLMapElement is not shadowed
+PASS: HTMLMarqueeElement is not shadowed
+PASS: HTMLMenuElement is not shadowed
+PASS: HTMLMetaElement is not shadowed
+PASS: HTMLModElement is not shadowed
+PASS: HTMLOListElement is not shadowed
+PASS: HTMLObjectElement is not shadowed
+PASS: HTMLOptGroupElement is not shadowed
+PASS: HTMLOptionElement is not shadowed
+PASS: HTMLParagraphElement is not shadowed
+PASS: HTMLParamElement is not shadowed
+PASS: HTMLPreElement is not shadowed
+PASS: HTMLQuoteElement is not shadowed
+PASS: HTMLScriptElement is not shadowed
+PASS: HTMLSelectElement is not shadowed
+PASS: HTMLStyleElement is not shadowed
+PASS: HTMLTableCaptionElement is not shadowed
+PASS: HTMLTableCellElement is not shadowed
+PASS: HTMLTableColElement is not shadowed
+PASS: HTMLTableElement is not shadowed
+PASS: HTMLTableRowElement is not shadowed
+PASS: HTMLTableSectionElement is not shadowed
+PASS: HTMLTextAreaElement is not shadowed
+PASS: HTMLTitleElement is not shadowed
+PASS: HTMLUListElement is not shadowed
+PASS: Event is not shadowed
+PASS: MutationEvent is not shadowed
+PASS: NodeFilter is not shadowed
+PASS: Range is not shadowed
+PASS: RangeException is not shadowed
+PASS: XMLDocument is not shadowed
+PASS: DOMParser is not shadowed
+PASS: XMLSerializer is not shadowed
+
diff --git a/LayoutTests/fast/dom/Window/window-property-shadowing_.html b/LayoutTests/fast/dom/Window/window-property-shadowing_.html
new file mode 100644 (file)
index 0000000..59353cd
--- /dev/null
@@ -0,0 +1,196 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <script type="text/javascript">
+        function log(msg)
+        {
+            document.getElementById('console').appendChild(document.createTextNode(msg + '\n'));
+        }
+    </script>
+</head>
+<body>
+    <!-- This test complements window-property-clearing.html, testing that shadowed properties do not persist.
+         It is designed to be run right after, but there is no harm in it running at any moment. -->
+    <pre id="console"></pre>
+    <script>
+        if (this.layoutTestController)
+            layoutTestController.dumpAsText();
+
+        // Window Attributes
+        log(locationbar == 1 ? "FAIL: locationbar still shadowed (" + locationbar + ")" : "PASS: locationbar is not shadowed");
+        log(menubar == 1 ? "FAIL: menubar still shadowed (" + menubar + ")" : "PASS: menubar is not shadowed");
+        log(personalbar == 1 ? "FAIL: personalbar still shadowed (" + personalbar + ")" : "PASS: personalbar is not shadowed");
+        log(statusbar == 1 ? "FAIL: statusbar still shadowed (" + statusbar + ")" : "PASS: statusbar is not shadowed");
+        log(toolbar == 1 ? "FAIL: toolbar still shadowed (" + toolbar + ")" : "PASS: toolbar is not shadowed");
+        log(devicePixelRatio == 2 ? "FAIL: devicePixelRatio still shadowed (" + devicePixelRatio + ")" : "PASS: devicePixelRatio is not shadowed");
+        log(defaultStatus == 1 ? "FAIL: defaultStatus still shadowed (" + defaultStatus + ")" : "PASS: defaultStatus is not shadowed");
+        log(defaultstatus == 1 ? "FAIL: defaultstatus still shadowed (" + defaultstatus + ")" : "PASS: defaultstatus is not shadowed");
+        log(status == 1 ? "FAIL: status still shadowed (" + status + ")" : "PASS: status is not shadowed");
+        log(frames == 1 ? "FAIL: frames still shadowed (" + frames + ")" : "PASS: frames is not shadowed");
+        log(event == 1 ? "FAIL: event still shadowed (" + event + ")" : "PASS: event is not shadowed");
+        log(innerHeight == 1 ? "FAIL: innerHeight still shadowed (" + innerHeight + ")" : "PASS: innerHeight is not shadowed");
+        log(innerWidth == 1 ? "FAIL: innerWidth still shadowed (" + innerWidth + ")" : "PASS: innerWidth is not shadowed");
+        log(length == 1 ? "FAIL: length still shadowed (" + length + ")" : "PASS: length is not shadowed");
+        log(name == 1 ? "FAIL: name still shadowed (" + name + ")" : "PASS: name is not shadowed");
+        log(navigator == 1 ? "FAIL: navigator still shadowed (" + navigator + ")" : "PASS: navigator is not shadowed");
+        log(clientInformation == 1 ? "FAIL: clientInformation still shadowed (" + clientInformation + ")" : "PASS: clientInformation is not shadowed");
+        log(offscreenBuffering == 2 ? "FAIL: offscreenBuffering still shadowed (" + offscreenBuffering + ")" : "PASS: offscreenBuffering is not shadowed");
+        log(opener == 1 ? "FAIL: opener still shadowed (" + opener + ")" : "PASS: opener is not shadowed");
+        log(outerHeight == 1 ? "FAIL: outerHeight still shadowed (" + outerHeight + ")" : "PASS: outerHeight is not shadowed");
+        log(outerWidth == 1 ? "FAIL: outerWidth still shadowed (" + outerWidth + ")" : "PASS: outerWidth is not shadowed");
+        log(parent == 1 ? "FAIL: parent still shadowed (" + parent + ")" : "PASS: parent is not shadowed");
+        log(screenX == 1 ? "FAIL: screenX still shadowed (" + screenX + ")" : "PASS: screenX is not shadowed");
+        log(screenY == 1 ? "FAIL: screenY still shadowed (" + screenY + ")" : "PASS: screenY is not shadowed");
+        log(screenLeft == 1 ? "FAIL: screenLeft still shadowed (" + screenLeft + ")" : "PASS: screenLeft is not shadowed");
+        log(screenTop == 1 ? "FAIL: screenTop still shadowed (" + screenTop + ")" : "PASS: screenTop is not shadowed");
+        log(scrollX == 1 ? "FAIL: scrollX still shadowed (" + scrollX + ")" : "PASS: scrollX is not shadowed");
+        log(scrollY == 1 ? "FAIL: scrollY still shadowed (" + scrollY + ")" : "PASS: scrollY is not shadowed");
+        log(self == 1 ? "FAIL: self still shadowed (" + self + ")" : "PASS: self is not shadowed");
+        log(top == 1 ? "FAIL: top still shadowed (" + top + ")" : "PASS: top is not shadowed");
+
+        // Window functions
+        log(getSelection == 1 ? "FAIL: getSelection still shadowed (" + getSelection + ")" : "PASS: getSelection is not shadowed");
+        log(getComputedStyle == 1 ? "FAIL: getComputedStyle still shadowed (" + getComputedStyle + ")" : "PASS: getComputedStyle is not shadowed");
+        log(getMatchedCSSRules == 1 ? "FAIL: getMatchedCSSRules still shadowed (" + getMatchedCSSRules + ")" : "PASS: getMatchedCSSRules is not shadowed");
+        log(atob == 1 ? "FAIL: atob still shadowed (" + atob + ")" : "PASS: atob is not shadowed");
+        log(btoa == 1 ? "FAIL: btoa still shadowed (" + btoa + ")" : "PASS: btoa is not shadowed");
+        log(scroll == 1 ? "FAIL: scroll still shadowed (" + scroll + ")" : "PASS: scroll is not shadowed");
+        log(scrollBy == 1 ? "FAIL: scrollBy still shadowed (" + scrollBy + ")" : "PASS: scrollBy is not shadowed");
+        log(scrollTo == 1 ? "FAIL: scrollTo still shadowed (" + scrollTo + ")" : "PASS: scrollTo is not shadowed");
+        log(moveBy == 1 ? "FAIL: moveBy still shadowed (" + moveBy + ")" : "PASS: moveBy is not shadowed");
+        log(moveTo == 1 ? "FAIL: moveTo still shadowed (" + moveTo + ")" : "PASS: moveTo is not shadowed");
+        log(resizeBy == 1 ? "FAIL: resizeBy still shadowed (" + resizeBy + ")" : "PASS: resizeBy is not shadowed");
+        log(resizeTo == 1 ? "FAIL: resizeTo still shadowed (" + resizeTo + ")" : "PASS: resizeTo is not shadowed");
+        log(alert == 1 ? "FAIL: alert still shadowed (" + alert + ")" : "PASS: alert is not shadowed");
+        log(confirm == 1 ? "FAIL: confirm still shadowed (" + confirm + ")" : "PASS: confirm is not shadowed");
+        log(prompt == 1 ? "FAIL: prompt still shadowed (" + prompt + ")" : "PASS: prompt is not shadowed");
+        log(open == 1 ? "FAIL: open still shadowed (" + open + ")" : "PASS: open is not shadowed");
+        log(print == 1 ? "FAIL: print still shadowed (" + print + ")" : "PASS: print is not shadowed");
+        log(setTimeout == 1 ? "FAIL: setTimeout still shadowed (" + setTimeout + ")" : "PASS: setTimeout is not shadowed");
+        log(clearTimeout == 1 ? "FAIL: clearTimeout still shadowed (" + clearTimeout + ")" : "PASS: clearTimeout is not shadowed");
+        log(focus == 1 ? "FAIL: focus still shadowed (" + focus + ")" : "PASS: focus is not shadowed");
+        log(blur == 1 ? "FAIL: blur still shadowed (" + blur + ")" : "PASS: blur is not shadowed");
+        log(close == 1 ? "FAIL: close still shadowed (" + close + ")" : "PASS: close is not shadowed");
+        log(setInterval == 1 ? "FAIL: setInterval still shadowed (" + setInterval + ")" : "PASS: setInterval is not shadowed");
+        log(clearInterval == 1 ? "FAIL: clearInterval still shadowed (" + clearInterval + ")" : "PASS: clearInterval is not shadowed");
+        log(captureEvents == 1 ? "FAIL: captureEvents still shadowed (" + captureEvents + ")" : "PASS: captureEvents is not shadowed");
+        log(releaseEvents == 1 ? "FAIL: releaseEvents still shadowed (" + releaseEvents + ")" : "PASS: releaseEvents is not shadowed");
+        log(addEventListener == 1 ? "FAIL: addEventListener still shadowed (" + addEventListener + ")" : "PASS: addEventListener is not shadowed");
+        log(removeEventListener == 1 ? "FAIL: removeEventListener still shadowed (" + removeEventListener + ")" : "PASS: removeEventListener is not shadowed");
+        try {
+            log(showModalDialog == 1 ? "FAIL: showModalDialog still shadowed (" + showModalDialog + ")" : "PASS: showModalDialog is not shadowed");
+        } catch (ex) {
+            log("PASS: accessing showModalDialog resulted in an exception. That's because the client (probably DumpRenderTree) cannot run modal - and showModalDialog isn't shadowed.");
+        }
+        log(find == 1 ? "FAIL: find still shadowed (" + find + ")" : "PASS: find is not shadowed");
+        log(stop == 1 ? "FAIL: stop still shadowed (" + stop + ")" : "PASS: stop is not shadowed");
+
+        // Constructors
+        log(Image == 1 ? "FAIL: Image still shadowed (" + Image + ")" : "PASS: Image is not shadowed");
+        log(Option == 1 ? "FAIL: Option still shadowed (" + Option + ")" : "PASS: Option is not shadowed");
+        log(DOMException == 1 ? "FAIL: DOMException still shadowed (" + DOMException + ")" : "PASS: DOMException is not shadowed");
+        log(XMLHttpRequest == 1 ? "FAIL: XMLHttpRequest still shadowed (" + XMLHttpRequest + ")" : "PASS: XMLHttpRequest is not shadowed");
+        log(XSLTProcessor == 1 ? "FAIL: XSLTProcessor still shadowed (" + XSLTProcessor + ")" : "PASS: XSLTProcessor is not shadowed");
+        log(StyleSheet == 1 ? "FAIL: StyleSheet still shadowed (" + StyleSheet + ")" : "PASS: StyleSheet is not shadowed");
+        log(CSSStyleSheet == 1 ? "FAIL: CSSStyleSheet still shadowed (" + CSSStyleSheet + ")" : "PASS: CSSStyleSheet is not shadowed");
+        log(CSSValue == 1 ? "FAIL: CSSValue still shadowed (" + CSSValue + ")" : "PASS: CSSValue is not shadowed");
+        log(CSSPrimitiveValue == 1 ? "FAIL: CSSPrimitiveValue still shadowed (" + CSSPrimitiveValue + ")" : "PASS: CSSPrimitiveValue is not shadowed");
+        log(CSSValueList == 1 ? "FAIL: CSSValueList still shadowed (" + CSSValueList + ")" : "PASS: CSSValueList is not shadowed");
+        log(CSSRule == 1 ? "FAIL: CSSRule still shadowed (" + CSSRule + ")" : "PASS: CSSRule is not shadowed");
+        log(CSSCharsetRule == 1 ? "FAIL: CSSCharsetRule still shadowed (" + CSSCharsetRule + ")" : "PASS: CSSCharsetRule is not shadowed");
+        log(CSSFontFaceRule == 1 ? "FAIL: CSSFontFaceRule still shadowed (" + CSSFontFaceRule + ")" : "PASS: CSSFontFaceRule is not shadowed");
+        log(CSSImportRule == 1 ? "FAIL: CSSImportRule still shadowed (" + CSSImportRule + ")" : "PASS: CSSImportRule is not shadowed");
+        log(CSSMediaRule == 1 ? "FAIL: CSSMediaRule still shadowed (" + CSSMediaRule + ")" : "PASS: CSSMediaRule is not shadowed");
+        log(CSSPageRule == 1 ? "FAIL: CSSPageRule still shadowed (" + CSSPageRule + ")" : "PASS: CSSPageRule is not shadowed");
+        log(CSSStyleRule == 1 ? "FAIL: CSSStyleRule still shadowed (" + CSSStyleRule + ")" : "PASS: CSSStyleRule is not shadowed");
+        log(CSSStyleDeclaration == 1 ? "FAIL: CSSStyleDeclaration still shadowed (" + CSSStyleDeclaration + ")" : "PASS: CSSStyleDeclaration is not shadowed");
+        log(MediaList == 1 ? "FAIL: MediaList still shadowed (" + MediaList + ")" : "PASS: MediaList is not shadowed");
+        log(Counter == 1 ? "FAIL: Counter still shadowed (" + Counter + ")" : "PASS: Counter is not shadowed");
+        log(CSSRuleList == 1 ? "FAIL: CSSRuleList still shadowed (" + CSSRuleList + ")" : "PASS: CSSRuleList is not shadowed");
+        log(Rect == 1 ? "FAIL: Rect still shadowed (" + Rect + ")" : "PASS: Rect is not shadowed");
+        log(DOMImplementation == 1 ? "FAIL: DOMImplementation still shadowed (" + DOMImplementation + ")" : "PASS: DOMImplementation is not shadowed");
+        log(DocumentFragment == 1 ? "FAIL: DocumentFragment still shadowed (" + DocumentFragment + ")" : "PASS: DocumentFragment is not shadowed");
+        log(Document == 1 ? "FAIL: Document still shadowed (" + Document + ")" : "PASS: Document is not shadowed");
+        log(Node == 1 ? "FAIL: Node still shadowed (" + Node + ")" : "PASS: Node is not shadowed");
+        log(NodeList == 1 ? "FAIL: NodeList still shadowed (" + NodeList + ")" : "PASS: NodeList is not shadowed");
+        log(NamedNodeMap == 1 ? "FAIL: NamedNodeMap still shadowed (" + NamedNodeMap + ")" : "PASS: NamedNodeMap is not shadowed");
+        log(CharacterData == 1 ? "FAIL: CharacterData still shadowed (" + CharacterData + ")" : "PASS: CharacterData is not shadowed");
+        log(Attr == 1 ? "FAIL: Attr still shadowed (" + Attr + ")" : "PASS: Attr is not shadowed");
+        log(Element == 1 ? "FAIL: Element still shadowed (" + Element + ")" : "PASS: Element is not shadowed");
+        log(Text == 1 ? "FAIL: Text still shadowed (" + Text + ")" : "PASS: Text is not shadowed");
+        log(Comment == 1 ? "FAIL: Comment still shadowed (" + Comment + ")" : "PASS: Comment is not shadowed");
+        log(CDATASection == 1 ? "FAIL: CDATASection still shadowed (" + CDATASection + ")" : "PASS: CDATASection is not shadowed");
+        log(DocumentType == 1 ? "FAIL: DocumentType still shadowed (" + DocumentType + ")" : "PASS: DocumentType is not shadowed");
+        log(Notation == 1 ? "FAIL: Notation still shadowed (" + Notation + ")" : "PASS: Notation is not shadowed");
+        log(Entity == 1 ? "FAIL: Entity still shadowed (" + Entity + ")" : "PASS: Entity is not shadowed");
+        log(EntityReference == 1 ? "FAIL: EntityReference still shadowed (" + EntityReference + ")" : "PASS: EntityReference is not shadowed");
+        log(ProcessingInstruction == 1 ? "FAIL: ProcessingInstruction still shadowed (" + ProcessingInstruction + ")" : "PASS: ProcessingInstruction is not shadowed");
+        log(HTMLDocument == 1 ? "FAIL: HTMLDocument still shadowed (" + HTMLDocument + ")" : "PASS: HTMLDocument is not shadowed");
+        log(HTMLElement == 1 ? "FAIL: HTMLElement still shadowed (" + HTMLElement + ")" : "PASS: HTMLElement is not shadowed");
+        log(HTMLAnchorElement == 1 ? "FAIL: HTMLAnchorElement still shadowed (" + HTMLAnchorElement + ")" : "PASS: HTMLAnchorElement is not shadowed");
+        log(HTMLAppletElement == 1 ? "FAIL: HTMLAppletElement still shadowed (" + HTMLAppletElement + ")" : "PASS: HTMLAppletElement is not shadowed");
+        log(HTMLAreaElement == 1 ? "FAIL: HTMLAreaElement still shadowed (" + HTMLAreaElement + ")" : "PASS: HTMLAreaElement is not shadowed");
+        log(HTMLBRElement == 1 ? "FAIL: HTMLBRElement still shadowed (" + HTMLBRElement + ")" : "PASS: HTMLBRElement is not shadowed");
+        log(HTMLBaseElement == 1 ? "FAIL: HTMLBaseElement still shadowed (" + HTMLBaseElement + ")" : "PASS: HTMLBaseElement is not shadowed");
+        log(HTMLBaseFontElement == 1 ? "FAIL: HTMLBaseFontElement still shadowed (" + HTMLBaseFontElement + ")" : "PASS: HTMLBaseFontElement is not shadowed");
+        log(HTMLBlockquoteElement == 1 ? "FAIL: HTMLBlockquoteElement still shadowed (" + HTMLBlockquoteElement + ")" : "PASS: HTMLBlockquoteElement is not shadowed");
+        log(HTMLBodyElement == 1 ? "FAIL: HTMLBodyElement still shadowed (" + HTMLBodyElement + ")" : "PASS: HTMLBodyElement is not shadowed");
+        log(HTMLButtonElement == 1 ? "FAIL: HTMLButtonElement still shadowed (" + HTMLButtonElement + ")" : "PASS: HTMLButtonElement is not shadowed");
+        log(HTMLCanvasElement == 1 ? "FAIL: HTMLCanvasElement still shadowed (" + HTMLCanvasElement + ")" : "PASS: HTMLCanvasElement is not shadowed");
+        log(HTMLDListElement == 1 ? "FAIL: HTMLDListElement still shadowed (" + HTMLDListElement + ")" : "PASS: HTMLDListElement is not shadowed");
+        log(HTMLDirectoryElement == 1 ? "FAIL: HTMLDirectoryElement still shadowed (" + HTMLDirectoryElement + ")" : "PASS: HTMLDirectoryElement is not shadowed");
+        log(HTMLDivElement == 1 ? "FAIL: HTMLDivElement still shadowed (" + HTMLDivElement + ")" : "PASS: HTMLDivElement is not shadowed");
+        log(HTMLEmbedElement == 1 ? "FAIL: HTMLEmbedElement still shadowed (" + HTMLEmbedElement + ")" : "PASS: HTMLEmbedElement is not shadowed");
+        log(HTMLFieldSetElement == 1 ? "FAIL: HTMLFieldSetElement still shadowed (" + HTMLFieldSetElement + ")" : "PASS: HTMLFieldSetElement is not shadowed");
+        log(HTMLFontElement == 1 ? "FAIL: HTMLFontElement still shadowed (" + HTMLFontElement + ")" : "PASS: HTMLFontElement is not shadowed");
+        log(HTMLFormElement == 1 ? "FAIL: HTMLFormElement still shadowed (" + HTMLFormElement + ")" : "PASS: HTMLFormElement is not shadowed");
+        log(HTMLFrameElement == 1 ? "FAIL: HTMLFrameElement still shadowed (" + HTMLFrameElement + ")" : "PASS: HTMLFrameElement is not shadowed");
+        log(HTMLFrameSetElement == 1 ? "FAIL: HTMLFrameSetElement still shadowed (" + HTMLFrameSetElement + ")" : "PASS: HTMLFrameSetElement is not shadowed");
+        log(HTMLHRElement == 1 ? "FAIL: HTMLHRElement still shadowed (" + HTMLHRElement + ")" : "PASS: HTMLHRElement is not shadowed");
+        log(HTMLHeadElement == 1 ? "FAIL: HTMLHeadElement still shadowed (" + HTMLHeadElement + ")" : "PASS: HTMLHeadElement is not shadowed");
+        log(HTMLHeadingElement == 1 ? "FAIL: HTMLHeadingElement still shadowed (" + HTMLHeadingElement + ")" : "PASS: HTMLHeadingElement is not shadowed");
+        log(HTMLHtmlElement == 1 ? "FAIL: HTMLHtmlElement still shadowed (" + HTMLHtmlElement + ")" : "PASS: HTMLHtmlElement is not shadowed");
+        log(HTMLIFrameElement == 1 ? "FAIL: HTMLIFrameElement still shadowed (" + HTMLIFrameElement + ")" : "PASS: HTMLIFrameElement is not shadowed");
+        log(HTMLImageElement == 1 ? "FAIL: HTMLImageElement still shadowed (" + HTMLImageElement + ")" : "PASS: HTMLImageElement is not shadowed");
+        log(HTMLInputElement == 1 ? "FAIL: HTMLInputElement still shadowed (" + HTMLInputElement + ")" : "PASS: HTMLInputElement is not shadowed");
+        log(HTMLIsIndexElement == 1 ? "FAIL: HTMLIsIndexElement still shadowed (" + HTMLIsIndexElement + ")" : "PASS: HTMLIsIndexElement is not shadowed");
+        log(HTMLLIElement == 1 ? "FAIL: HTMLLIElement still shadowed (" + HTMLLIElement + ")" : "PASS: HTMLLIElement is not shadowed");
+        log(HTMLLabelElement == 1 ? "FAIL: HTMLLabelElement still shadowed (" + HTMLLabelElement + ")" : "PASS: HTMLLabelElement is not shadowed");
+        log(HTMLLegendElement == 1 ? "FAIL: HTMLLegendElement still shadowed (" + HTMLLegendElement + ")" : "PASS: HTMLLegendElement is not shadowed");
+        log(HTMLLinkElement == 1 ? "FAIL: HTMLLinkElement still shadowed (" + HTMLLinkElement + ")" : "PASS: HTMLLinkElement is not shadowed");
+        log(HTMLMapElement == 1 ? "FAIL: HTMLMapElement still shadowed (" + HTMLMapElement + ")" : "PASS: HTMLMapElement is not shadowed");
+        log(HTMLMarqueeElement == 1 ? "FAIL: HTMLMarqueeElement still shadowed (" + HTMLMarqueeElement + ")" : "PASS: HTMLMarqueeElement is not shadowed");
+        log(HTMLMenuElement == 1 ? "FAIL: HTMLMenuElement still shadowed (" + HTMLMenuElement + ")" : "PASS: HTMLMenuElement is not shadowed");
+        log(HTMLMetaElement == 1 ? "FAIL: HTMLMetaElement still shadowed (" + HTMLMetaElement + ")" : "PASS: HTMLMetaElement is not shadowed");
+        log(HTMLModElement == 1 ? "FAIL: HTMLModElement still shadowed (" + HTMLModElement + ")" : "PASS: HTMLModElement is not shadowed");
+        log(HTMLOListElement == 1 ? "FAIL: HTMLOListElement still shadowed (" + HTMLOListElement + ")" : "PASS: HTMLOListElement is not shadowed");
+        log(HTMLObjectElement == 1 ? "FAIL: HTMLObjectElement still shadowed (" + HTMLObjectElement + ")" : "PASS: HTMLObjectElement is not shadowed");
+        log(HTMLOptGroupElement == 1 ? "FAIL: HTMLOptGroupElement still shadowed (" + HTMLOptGroupElement + ")" : "PASS: HTMLOptGroupElement is not shadowed");
+        log(HTMLOptionElement == 1 ? "FAIL: HTMLOptionElement still shadowed (" + HTMLOptionElement + ")" : "PASS: HTMLOptionElement is not shadowed");
+        log(HTMLParagraphElement == 1 ? "FAIL: HTMLParagraphElement still shadowed (" + HTMLParagraphElement + ")" : "PASS: HTMLParagraphElement is not shadowed");
+        log(HTMLParamElement == 1 ? "FAIL: HTMLParamElement still shadowed (" + HTMLParamElement + ")" : "PASS: HTMLParamElement is not shadowed");
+        log(HTMLPreElement == 1 ? "FAIL: HTMLPreElement still shadowed (" + HTMLPreElement + ")" : "PASS: HTMLPreElement is not shadowed");
+        log(HTMLQuoteElement == 1 ? "FAIL: HTMLQuoteElement still shadowed (" + HTMLQuoteElement + ")" : "PASS: HTMLQuoteElement is not shadowed");
+        log(HTMLScriptElement == 1 ? "FAIL: HTMLScriptElement still shadowed (" + HTMLScriptElement + ")" : "PASS: HTMLScriptElement is not shadowed");
+        log(HTMLSelectElement == 1 ? "FAIL: HTMLSelectElement still shadowed (" + HTMLSelectElement + ")" : "PASS: HTMLSelectElement is not shadowed");
+        log(HTMLStyleElement == 1 ? "FAIL: HTMLStyleElement still shadowed (" + HTMLStyleElement + ")" : "PASS: HTMLStyleElement is not shadowed");
+        log(HTMLTableCaptionElement == 1 ? "FAIL: HTMLTableCaptionElement still shadowed (" + HTMLTableCaptionElement + ")" : "PASS: HTMLTableCaptionElement is not shadowed");
+        log(HTMLTableCellElement == 1 ? "FAIL: HTMLTableCellElement still shadowed (" + HTMLTableCellElement + ")" : "PASS: HTMLTableCellElement is not shadowed");
+        log(HTMLTableColElement == 1 ? "FAIL: HTMLTableColElement still shadowed (" + HTMLTableColElement + ")" : "PASS: HTMLTableColElement is not shadowed");
+        log(HTMLTableElement == 1 ? "FAIL: HTMLTableElement still shadowed (" + HTMLTableElement + ")" : "PASS: HTMLTableElement is not shadowed");
+        log(HTMLTableRowElement == 1 ? "FAIL: HTMLTableRowElement still shadowed (" + HTMLTableRowElement + ")" : "PASS: HTMLTableRowElement is not shadowed");
+        log(HTMLTableSectionElement == 1 ? "FAIL: HTMLTableSectionElement still shadowed (" + HTMLTableSectionElement + ")" : "PASS: HTMLTableSectionElement is not shadowed");
+        log(HTMLTextAreaElement == 1 ? "FAIL: HTMLTextAreaElement still shadowed (" + HTMLTextAreaElement + ")" : "PASS: HTMLTextAreaElement is not shadowed");
+        log(HTMLTitleElement == 1 ? "FAIL: HTMLTitleElement still shadowed (" + HTMLTitleElement + ")" : "PASS: HTMLTitleElement is not shadowed");
+        log(HTMLUListElement == 1 ? "FAIL: HTMLUListElement still shadowed (" + HTMLUListElement + ")" : "PASS: HTMLUListElement is not shadowed");
+        log(Event == 1 ? "FAIL: Event still shadowed (" + Event + ")" : "PASS: Event is not shadowed");
+        log(MutationEvent == 1 ? "FAIL: MutationEvent still shadowed (" + MutationEvent + ")" : "PASS: MutationEvent is not shadowed");
+        log(NodeFilter == 1 ? "FAIL: NodeFilter still shadowed (" + NodeFilter + ")" : "PASS: NodeFilter is not shadowed");
+        log(Range == 1 ? "FAIL: Range still shadowed (" + Range + ")" : "PASS: Range is not shadowed");
+        log(RangeException == 1 ? "FAIL: RangeException still shadowed (" + RangeException + ")" : "PASS: RangeException is not shadowed");
+        log(XMLDocument == 1 ? "FAIL: XMLDocument still shadowed (" + XMLDocument + ")" : "PASS: XMLDocument is not shadowed");
+        log(DOMParser == 1 ? "FAIL: DOMParser still shadowed (" + DOMParser + ")" : "PASS: DOMParser is not shadowed");
+        log(XMLSerializer == 1 ? "FAIL: XMLSerializer still shadowed (" + XMLSerializer + ")" : "PASS: XMLSerializer is not shadowed");
+    </script>
+</body>
+</html>
index 65bf0fc..0aacaf5 100644 (file)
@@ -369,10 +369,6 @@ fast/dom/frame-loading-via-document-write.html
 # <rdar://5686552> Intermittently fails
 svg/css/glyph-orientation-rounding-test.xhtml
 
-# <rdar://5692566> Fails if run after fast/dom/Window/window-property-shadowing.html
-# <http://bugs.webkit.org/show_bug.cgi?id=16902>
-fast/encoding/mailto-always-utf-8.html
-
 ################################################################################
 ####################### No bugs filed about the below yet#######################
 ################################################################################
index fb712aa..344b3ee 100644 (file)
@@ -1,3 +1,15 @@
+2008-01-17  Alexey Proskuryakov  <ap@webkit.org>
+
+        Reviewed by Darin.
+
+        http://bugs.webkit.org/show_bug.cgi?id=16902
+        <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after
+        fast/dom/Window/window-property-shadowing.html
+
+        Test: fast/dom/Window/window-property-shadowing_.html
+
+        * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too.
+
 2008-01-17  Adam Roben  <aroben@apple.com>
 
         Qt/GTK+ build fix.
index a2b16aa..bd56dec 100644 (file)
@@ -802,6 +802,8 @@ void FrameLoader::clear(bool clearWindowProperties, bool clearScriptObjects)
     if (clearWindowProperties) {
         m_frame->clearScriptProxy();
         m_frame->clearDOMWindow();
+        if (!m_frame->tree()->parent())
+            m_frame->tree()->setName(String());
     }
 
     m_frame->selectionController()->clear();