diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-03-10 16:57:47 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-03-10 16:57:47 -0600 |
commit | 19827658deaf21eb811203f89c78a0f99e631ad4 (patch) | |
tree | 230cced71538613e6ed382a5bfdc555003c279da /components/script/dom | |
parent | e8f1a046c6c704915419cb75181f6e0bc402ef98 (diff) | |
parent | 33829c0254d0a239a8f353bafae55fe4ebf599c4 (diff) | |
download | servo-19827658deaf21eb811203f89c78a0f99e631ad4.tar.gz servo-19827658deaf21eb811203f89c78a0f99e631ad4.zip |
auto merge of #5188 : glennw/servo/reflow-events, r=jdm
This fixes some test failures that begin occurring when other events (such as resize) are fixed to only occur when needed.
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/document.rs | 4 | ||||
-rw-r--r-- | components/script/dom/window.rs | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index e696e035de2..cc9ab9d3849 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -1387,6 +1387,8 @@ impl DocumentProgressHandler { EventCancelable::NotCancelable).root(); let doctarget: JSRef<EventTarget> = EventTargetCast::from_ref(document.r()); let _ = doctarget.DispatchEvent(event.r()); + + window.r().reflow(ReflowGoal::ForDisplay, ReflowQueryType::NoQuery, ReflowReason::DOMContentLoaded); } fn set_ready_state_complete(&self) { @@ -1418,6 +1420,8 @@ impl DocumentProgressHandler { let target: JSRef<EventTarget> = EventTargetCast::from_ref(frame_element.r()); event.r().fire(target); }); + + window_ref.reflow(ReflowGoal::ForDisplay, ReflowQueryType::NoQuery, ReflowReason::DocumentLoaded); } } diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 1babbfcb2cd..e7b2233cff1 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -75,6 +75,8 @@ pub enum ReflowReason { Timer, Viewport, WindowResize, + DOMContentLoaded, + DocumentLoaded, } #[dom_struct] @@ -510,8 +512,6 @@ impl<'a> WindowHelpers for JSRef<'a, Window> { return } - debug!("script: performing reflow for goal {:?}", goal); - // Layout will let us know when it's done. let (join_chan, join_port) = channel(); @@ -840,6 +840,8 @@ fn debug_reflow_events(goal: &ReflowGoal, query_type: &ReflowQueryType, reason: ReflowReason::Timer => debug_msg.push_str("\tTimer"), ReflowReason::Viewport => debug_msg.push_str("\tViewport"), ReflowReason::WindowResize => debug_msg.push_str("\tWindowResize"), + ReflowReason::DOMContentLoaded => debug_msg.push_str("\tDOMContentLoaded"), + ReflowReason::DocumentLoaded => debug_msg.push_str("\tDocumentLoaded"), } println!("{}", debug_msg); |