mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
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.
This commit is contained in:
commit
19827658de
2 changed files with 8 additions and 2 deletions
|
@ -1387,6 +1387,8 @@ impl DocumentProgressHandler {
|
||||||
EventCancelable::NotCancelable).root();
|
EventCancelable::NotCancelable).root();
|
||||||
let doctarget: JSRef<EventTarget> = EventTargetCast::from_ref(document.r());
|
let doctarget: JSRef<EventTarget> = EventTargetCast::from_ref(document.r());
|
||||||
let _ = doctarget.DispatchEvent(event.r());
|
let _ = doctarget.DispatchEvent(event.r());
|
||||||
|
|
||||||
|
window.r().reflow(ReflowGoal::ForDisplay, ReflowQueryType::NoQuery, ReflowReason::DOMContentLoaded);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_ready_state_complete(&self) {
|
fn set_ready_state_complete(&self) {
|
||||||
|
@ -1418,6 +1420,8 @@ impl DocumentProgressHandler {
|
||||||
let target: JSRef<EventTarget> = EventTargetCast::from_ref(frame_element.r());
|
let target: JSRef<EventTarget> = EventTargetCast::from_ref(frame_element.r());
|
||||||
event.r().fire(target);
|
event.r().fire(target);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
window_ref.reflow(ReflowGoal::ForDisplay, ReflowQueryType::NoQuery, ReflowReason::DocumentLoaded);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,8 @@ pub enum ReflowReason {
|
||||||
Timer,
|
Timer,
|
||||||
Viewport,
|
Viewport,
|
||||||
WindowResize,
|
WindowResize,
|
||||||
|
DOMContentLoaded,
|
||||||
|
DocumentLoaded,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
|
@ -510,8 +512,6 @@ impl<'a> WindowHelpers for JSRef<'a, Window> {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
debug!("script: performing reflow for goal {:?}", goal);
|
|
||||||
|
|
||||||
// Layout will let us know when it's done.
|
// Layout will let us know when it's done.
|
||||||
let (join_chan, join_port) = channel();
|
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::Timer => debug_msg.push_str("\tTimer"),
|
||||||
ReflowReason::Viewport => debug_msg.push_str("\tViewport"),
|
ReflowReason::Viewport => debug_msg.push_str("\tViewport"),
|
||||||
ReflowReason::WindowResize => debug_msg.push_str("\tWindowResize"),
|
ReflowReason::WindowResize => debug_msg.push_str("\tWindowResize"),
|
||||||
|
ReflowReason::DOMContentLoaded => debug_msg.push_str("\tDOMContentLoaded"),
|
||||||
|
ReflowReason::DocumentLoaded => debug_msg.push_str("\tDocumentLoaded"),
|
||||||
}
|
}
|
||||||
|
|
||||||
println!("{}", debug_msg);
|
println!("{}", debug_msg);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue