Changeset 33006 in webkit
- Timestamp:
- May 9, 2008 1:14:29 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r32992 r33006 1 2008-05-09 Adam Barth <abarth-webkit@adambarth.com> 2 3 Reviewed by Sam Weinig. 4 5 Update tests to listen for message events on the window instead of 6 the document. Also, added a test that the event is sent to the 7 window and not to the document. 8 9 * http/tests/messaging/cross-domain-message-event-dispatch-expected.txt: Added. 10 * http/tests/messaging/cross-domain-message-event-dispatch.html: Added. 11 * http/tests/messaging/cross-domain-message-send.html: 12 * http/tests/messaging/resources/cross-domain-message-receive.html: 13 * http/tests/security/cross-frame-access-delete.html: 14 * http/tests/security/cross-frame-access-history-put.html: 15 * http/tests/security/cross-frame-access-location-put.html: 16 * http/tests/security/postMessage/delivery-order.html: 17 * http/tests/security/postMessage/invalid-origin-throws-exception.html: 18 * http/tests/security/postMessage/javascript-page-still-sends-origin.html: 19 * http/tests/security/postMessage/origin-unaffected-by-base-tag.html: 20 * http/tests/security/postMessage/origin-unaffected-by-document-domain.html: 21 * http/tests/security/postMessage/resources/post-message-listener.html: 22 * http/tests/security/postMessage/target-origin.html: 23 * http/tests/security/resources/cross-frame-iframe-for-delete-test.html: 24 * http/tests/security/resources/cross-frame-iframe-for-history-put-test.html: 25 * http/tests/security/resources/cross-frame-iframe-for-location-put-test.html: 26 * http/tests/security/xss-eval.html: 27 1 28 2008-05-08 Dan Bernstein <mitz@apple.com> 2 29 -
trunk/LayoutTests/http/tests/messaging/cross-domain-message-send.html
r32922 r33006 24 24 } 25 25 26 document.addEventListener('message', receiver, false);26 addEventListener('message', receiver, false); 27 27 28 28 -
trunk/LayoutTests/http/tests/messaging/resources/cross-domain-message-receive.html
r32922 r33006 14 14 } 15 15 16 document.addEventListener('message', receiver, false);16 addEventListener('message', receiver, false); 17 17 18 18 </script> -
trunk/LayoutTests/http/tests/security/cross-frame-access-delete.html
r32922 r33006 14 14 deleteTest(); 15 15 } 16 document.addEventListener('message', receiver, false);16 addEventListener('message', receiver, false); 17 17 18 18 deleteTest = function() -
trunk/LayoutTests/http/tests/security/cross-frame-access-history-put.html
r32922 r33006 29 29 setTest(); 30 30 } 31 document.addEventListener('message', receiver, false);31 addEventListener('message', receiver, false); 32 32 33 33 setTest = function() -
trunk/LayoutTests/http/tests/security/cross-frame-access-location-put.html
r32922 r33006 29 29 setTest(); 30 30 } 31 document.addEventListener('message', receiver, false);31 addEventListener('message', receiver, false); 32 32 33 33 setTest = function() -
trunk/LayoutTests/http/tests/security/postMessage/delivery-order.html
r32922 r33006 9 9 } 10 10 11 document.addEventListener('message', recv, false);11 addEventListener('message', recv, false); 12 12 13 13 function test() { -
trunk/LayoutTests/http/tests/security/postMessage/invalid-origin-throws-exception.html
r32922 r33006 9 9 } 10 10 11 document.addEventListener("message", recv, false);11 addEventListener("message", recv, false); 12 12 13 13 function tryPostMessage(origin) { -
trunk/LayoutTests/http/tests/security/postMessage/javascript-page-still-sends-origin.html
r32597 r33006 17 17 } 18 18 19 document.addEventListener("message", recv, false);19 addEventListener("message", recv, false); 20 20 21 21 </script> -
trunk/LayoutTests/http/tests/security/postMessage/origin-unaffected-by-base-tag.html
r32922 r33006 9 9 } 10 10 11 document.addEventListener("message", recv, false);11 addEventListener("message", recv, false); 12 12 13 13 function test() { -
trunk/LayoutTests/http/tests/security/postMessage/origin-unaffected-by-document-domain.html
r32922 r33006 9 9 } 10 10 11 document.addEventListener("message", recv, false);11 addEventListener("message", recv, false); 12 12 13 13 function test() { -
trunk/LayoutTests/http/tests/security/postMessage/resources/post-message-listener.html
r32922 r33006 9 9 } 10 10 11 document.addEventListener("message", recv, false);11 addEventListener("message", recv, false); 12 12 </script> 13 13 </body> -
trunk/LayoutTests/http/tests/security/postMessage/target-origin.html
r32922 r33006 9 9 } 10 10 11 document.addEventListener("message", recv, false);11 addEventListener("message", recv, false); 12 12 13 13 function tryPostMessage(win, origin) { -
trunk/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-delete-test.html
r32922 r33006 8 8 setCheck(); 9 9 } 10 document.addEventListener('message', receiver, false);10 addEventListener('message', receiver, false); 11 11 12 12 window.onload = function() -
trunk/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-history-put-test.html
r32922 r33006 15 15 setCheck(); 16 16 } 17 document.addEventListener('message', receiver, false);17 addEventListener('message', receiver, false); 18 18 19 19 window.onload = function() -
trunk/LayoutTests/http/tests/security/resources/cross-frame-iframe-for-location-put-test.html
r32922 r33006 14 14 setCheck(); 15 15 } 16 document.addEventListener('message', receiver, false);16 addEventListener('message', receiver, false); 17 17 18 18 window.onload = function() -
trunk/LayoutTests/http/tests/security/xss-eval.html
r32922 r33006 26 26 } 27 27 28 document.addEventListener("message", function()28 addEventListener("message", function() 29 29 { 30 30 shouldBe("eval.call(frames[0], 'document')", (function() { try { return eval.call(frames[0], 'document'); } catch(e) { return e.name; } })(), "EvalError"); -
trunk/WebCore/ChangeLog
r33003 r33006 1 2008-05-09 Adam Barth <abarth-webkit@adambarth.com> 2 3 Reviewed by Sam Weinig. 4 5 https://bugs.webkit.org/show_bug.cgi?id=18771 6 7 Make postMessage generate an event on the window instead of the 8 document. 9 10 Test: http/tests/messaging/cross-domain-message-event-dispatch.html 11 12 * dom/EventTargetNode.cpp: 13 (WebCore::EventTargetNode::dispatchWindowEvent): 14 * dom/EventTargetNode.h: 15 * page/DOMWindow.cpp: 16 (WebCore::DOMWindow::postMessageTimerFired): 17 1 18 2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com> 2 19 -
trunk/WebCore/dom/EventTargetNode.cpp
r31767 r33006 137 137 } 138 138 139 void EventTargetNode::dispatchWindowEvent(const AtomicString &eventType, bool canBubbleArg, bool cancelableArg) 140 { 141 ASSERT(!eventDispatchForbidden()); 142 ExceptionCode ec = 0; 143 RefPtr<Event> evt = new Event(eventType, canBubbleArg, cancelableArg); 139 void EventTargetNode::dispatchWindowEvent(PassRefPtr<Event> e) 140 { 141 ASSERT(!eventDispatchForbidden()); 142 RefPtr<Event> evt(e); 144 143 RefPtr<Document> doc = document(); 145 144 evt->setTarget(doc); 146 145 doc->handleWindowEvent(evt.get(), true); 147 146 doc->handleWindowEvent(evt.get(), false); 147 } 148 149 void EventTargetNode::dispatchWindowEvent(const AtomicString& eventType, bool canBubbleArg, bool cancelableArg) 150 { 151 ASSERT(!eventDispatchForbidden()); 152 RefPtr<Document> doc = document(); 153 dispatchWindowEvent(new Event(eventType, canBubbleArg, cancelableArg)); 148 154 149 155 if (eventType == loadEvent) { … … 155 161 RefPtr<Event> ownerEvent = new Event(eventType, false, cancelableArg); 156 162 ownerEvent->setTarget(ownerElement); 163 ExceptionCode ec = 0; 157 164 ownerElement->dispatchGenericEvent(ownerElement, ownerEvent.release(), ec, true); 158 165 } -
trunk/WebCore/dom/EventTargetNode.h
r31699 r33006 53 53 54 54 bool dispatchSubtreeModifiedEvent(); 55 void dispatchWindowEvent(PassRefPtr<Event>); 55 56 void dispatchWindowEvent(const AtomicString& eventType, bool canBubble, bool cancelable); 56 57 bool dispatchUIEvent(const AtomicString& eventType, int detail = 0, PassRefPtr<Event> underlyingEvent = 0); -
trunk/WebCore/page/DOMWindow.cpp
r32968 r33006 396 396 } 397 397 398 ExceptionCode ec; 399 document()->dispatchEvent(timer->event(), ec, true); 398 document()->dispatchWindowEvent(timer->event()); 400 399 } 401 400 #endif
Note: See TracChangeset
for help on using the changeset viewer.