mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
servo: Merge #8500 - Consolidate 'subpage finding' script_task logic (from frewsxcv:subpage); r=jdm
Source-Repo: https://github.com/servo/servo Source-Revision: ef74bf5d42e80f9420a197dbe3d7da609ba158b0
This commit is contained in:
parent
6310520c6e
commit
a9fadcc121
@ -708,6 +708,12 @@ impl ScriptTask {
|
||||
self.page.borrow().as_ref().unwrap().clone()
|
||||
}
|
||||
|
||||
/// Find a child page of the root page by pipeline id. Returns `None` if the root page does
|
||||
/// not exist or the subpage cannot be found.
|
||||
fn find_subpage(&self, pipeline_id: PipelineId) -> Option<Rc<Page>> {
|
||||
self.page.borrow().as_ref().and_then(|page| page.find(pipeline_id))
|
||||
}
|
||||
|
||||
pub fn get_cx(&self) -> *mut JSContext {
|
||||
self.js_runtime.cx()
|
||||
}
|
||||
@ -1098,13 +1104,10 @@ impl ScriptTask {
|
||||
}
|
||||
|
||||
fn handle_resize(&self, id: PipelineId, size: WindowSizeData) {
|
||||
let page = self.page.borrow();
|
||||
if let Some(ref page) = page.as_ref() {
|
||||
if let Some(ref page) = page.find(id) {
|
||||
let window = page.window();
|
||||
window.set_resize_event(size);
|
||||
return;
|
||||
}
|
||||
if let Some(ref page) = self.find_subpage(id) {
|
||||
let window = page.window();
|
||||
window.set_resize_event(size);
|
||||
return;
|
||||
}
|
||||
let mut loads = self.incomplete_loads.borrow_mut();
|
||||
if let Some(ref mut load) = loads.iter_mut().find(|load| load.pipeline_id == id) {
|
||||
@ -1499,10 +1502,8 @@ impl ScriptTask {
|
||||
|
||||
/// Handles a Web font being loaded. Does nothing if the page no longer exists.
|
||||
fn handle_web_font_loaded(&self, pipeline_id: PipelineId) {
|
||||
if let Some(page) = self.page.borrow().as_ref() {
|
||||
if let Some(page) = page.find(pipeline_id) {
|
||||
self.rebuild_and_force_reflow(&*page, ReflowReason::WebFontLoaded);
|
||||
}
|
||||
if let Some(ref page) = self.find_subpage(pipeline_id) {
|
||||
self.rebuild_and_force_reflow(page, ReflowReason::WebFontLoaded);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user