diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-02-11 03:51:47 -0700 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-02-11 03:51:47 -0700 |
commit | fcfa00f4df7e382f1390c26ab3fd322886d2e138 (patch) | |
tree | d9cec49904f0b08388c4b2e02393f05976c643c6 | |
parent | 58b7186cea7a61645b38158053e3849d121fa487 (diff) | |
parent | 980b1efb72384f34e16191e37e9faa3142b0fb33 (diff) | |
download | servo-fcfa00f4df7e382f1390c26ab3fd322886d2e138.tar.gz servo-fcfa00f4df7e382f1390c26ab3fd322886d2e138.zip |
auto merge of #4884 : glennw/servo/iframe-load, r=jdm
16 files changed, 34 insertions, 51 deletions
diff --git a/components/script/script_task.rs b/components/script/script_task.rs index 4b64700b8bc..983ec996794 100644 --- a/components/script/script_task.rs +++ b/components/script/script_task.rs @@ -31,7 +31,7 @@ use dom::htmlelement::HTMLElementTypeId; use dom::htmliframeelement::HTMLIFrameElement; use dom::keyboardevent::KeyboardEvent; use dom::mouseevent::MouseEvent; -use dom::node::{self, Node, NodeHelpers, NodeDamage, NodeTypeId}; +use dom::node::{self, Node, NodeHelpers, NodeDamage, NodeTypeId, window_from_node}; use dom::window::{Window, WindowHelpers, ScriptHelpers}; use dom::worker::{Worker, TrustedWorkerAddress}; use parse::html::{HTMLInput, parse_html}; @@ -1432,6 +1432,20 @@ impl DocumentProgressHandler { let doctarget: JSRef<EventTarget> = EventTargetCast::from_ref(document.r()); event.r().set_trusted(true); let _ = wintarget.dispatch_event_with_target(doctarget, event.r()); + + let window_ref = window.r(); + let browser_context = window_ref.browser_context(); + let browser_context = browser_context.as_ref().unwrap(); + + browser_context.frame_element().map(|frame_element| { + let frame_element = frame_element.root(); + let frame_window = window_from_node(frame_element.r()).root(); + let event = Event::new(GlobalRef::Window(frame_window.r()), "load".to_owned(), + EventBubbles::DoesNotBubble, + EventCancelable::NotCancelable).root(); + let target: JSRef<EventTarget> = EventTargetCast::from_ref(frame_element.r()); + event.r().fire(target); + }); } } diff --git a/tests/wpt/metadata/XMLHttpRequest/send-entity-body-document.htm.ini b/tests/wpt/metadata/XMLHttpRequest/send-entity-body-document.htm.ini index d35f507ee10..906d6f2b03c 100644 --- a/tests/wpt/metadata/XMLHttpRequest/send-entity-body-document.htm.ini +++ b/tests/wpt/metadata/XMLHttpRequest/send-entity-body-document.htm.ini @@ -1,3 +1,4 @@ [send-entity-body-document.htm] type: testharness - expected: TIMEOUT + [XMLHttpRequest: send() - Document] + expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/Document-URL.sub.html.ini b/tests/wpt/metadata/dom/nodes/Document-URL.sub.html.ini deleted file mode 100644 index 7a91f1b7480..00000000000 --- a/tests/wpt/metadata/dom/nodes/Document-URL.sub.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[Document-URL.sub.html] - type: testharness - expected: TIMEOUT - [Document.URL with redirect] - expected: TIMEOUT - diff --git a/tests/wpt/metadata/dom/nodes/Element-matches.html.ini b/tests/wpt/metadata/dom/nodes/Element-matches.html.ini deleted file mode 100644 index 6fe7f798375..00000000000 --- a/tests/wpt/metadata/dom/nodes/Element-matches.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[Element-matches.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/dom/nodes/Node-parentNode.html.ini b/tests/wpt/metadata/dom/nodes/Node-parentNode.html.ini deleted file mode 100644 index a9b0f0820f9..00000000000 --- a/tests/wpt/metadata/dom/nodes/Node-parentNode.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[Node-parentNode.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/dom/nodes/ParentNode-querySelector-All.html.ini b/tests/wpt/metadata/dom/nodes/ParentNode-querySelector-All.html.ini deleted file mode 100644 index d43b2a8558e..00000000000 --- a/tests/wpt/metadata/dom/nodes/ParentNode-querySelector-All.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[ParentNode-querySelector-All.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/read-text/load-text-plain.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/read-text/load-text-plain.html.ini index 495e93a7e77..cc9779501b8 100644 --- a/tests/wpt/metadata/html/browsers/browsing-the-web/read-text/load-text-plain.html.ini +++ b/tests/wpt/metadata/html/browsers/browsing-the-web/read-text/load-text-plain.html.ini @@ -1,12 +1,11 @@ [load-text-plain.html] type: testharness - expected: TIMEOUT [Checking document metadata for text file] - expected: NOTRUN + expected: FAIL [Checking DOM for text file] - expected: NOTRUN + expected: FAIL [Checking contents for text file] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html.ini index 919c4571deb..715cf138ad4 100644 --- a/tests/wpt/metadata/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html.ini +++ b/tests/wpt/metadata/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html.ini @@ -1,3 +1,12 @@ [named-objects.html] type: testharness - expected: TIMEOUT + [Check if the first nested browsing context is returned by window[\'c\'\]] + expected: FAIL + [Check if window[\'a\'\] contains all a, applet, area, embed, form, img, and object elements, and their order] + expected: FAIL + [Check if window[\'fs\'\] return the frameset element with name=\'fs\'] + expected: FAIL + [Check if window[\'b\'\] returns the elements with the id=\'b\'] + expected: FAIL + [Check if window[\'d\'\] returns the element with id=\'d\'] + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/document-metadata/the-base-element/base_multiple.html.ini b/tests/wpt/metadata/html/semantics/document-metadata/the-base-element/base_multiple.html.ini index 8d4ee45f2b8..956ccc14150 100644 --- a/tests/wpt/metadata/html/semantics/document-metadata/the-base-element/base_multiple.html.ini +++ b/tests/wpt/metadata/html/semantics/document-metadata/the-base-element/base_multiple.html.ini @@ -1,6 +1,5 @@ [base_multiple.html] type: testharness - expected: TIMEOUT [The attributes of the a element must be affected by the first base element] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03.html.ini deleted file mode 100644 index 0ec075cd574..00000000000 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[move_iframe_in_dom_03.html] - type: testharness - expected: TIMEOUT diff --git a/tests/wpt/metadata/workers/semantics/xhr/001.html.ini b/tests/wpt/metadata/workers/semantics/xhr/001.html.ini deleted file mode 100644 index 51403f766a3..00000000000 --- a/tests/wpt/metadata/workers/semantics/xhr/001.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[001.html] - type: testharness - expected: TIMEOUT - [async XMLHttpRequest in dedicated worker] - expected: NOTRUN - diff --git a/tests/wpt/metadata/workers/semantics/xhr/002.html.ini b/tests/wpt/metadata/workers/semantics/xhr/002.html.ini deleted file mode 100644 index 676dd0f0cef..00000000000 --- a/tests/wpt/metadata/workers/semantics/xhr/002.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[002.html] - type: testharness - expected: TIMEOUT - [sync XMLHttpRequest in dedicated worker] - expected: NOTRUN - diff --git a/tests/wpt/metadata/workers/semantics/xhr/003.html.ini b/tests/wpt/metadata/workers/semantics/xhr/003.html.ini index 8f105af8d7d..3d8fcb50935 100644 --- a/tests/wpt/metadata/workers/semantics/xhr/003.html.ini +++ b/tests/wpt/metadata/workers/semantics/xhr/003.html.ini @@ -1,6 +1,5 @@ [003.html] type: testharness - expected: TIMEOUT [async XMLHttpRequest in shared worker] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/workers/semantics/xhr/004.html.ini b/tests/wpt/metadata/workers/semantics/xhr/004.html.ini index a9368173aab..a70a50b6d8b 100644 --- a/tests/wpt/metadata/workers/semantics/xhr/004.html.ini +++ b/tests/wpt/metadata/workers/semantics/xhr/004.html.ini @@ -1,6 +1,5 @@ [004.html] type: testharness - expected: TIMEOUT [sync XMLHttpRequest in shared worker] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/workers/semantics/xhr/005.html.ini b/tests/wpt/metadata/workers/semantics/xhr/005.html.ini deleted file mode 100644 index 55274091723..00000000000 --- a/tests/wpt/metadata/workers/semantics/xhr/005.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[005.html] - type: testharness - expected: TIMEOUT - [base url, dedicated worker] - expected: NOTRUN - diff --git a/tests/wpt/metadata/workers/semantics/xhr/006.html.ini b/tests/wpt/metadata/workers/semantics/xhr/006.html.ini index 447b62a304a..ec690d657ae 100644 --- a/tests/wpt/metadata/workers/semantics/xhr/006.html.ini +++ b/tests/wpt/metadata/workers/semantics/xhr/006.html.ini @@ -1,6 +1,5 @@ [006.html] type: testharness - expected: TIMEOUT [base url, shared worker] - expected: NOTRUN + expected: FAIL |