mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Send incremental frame tree updates to the compositor
This allows the compositor to add frames after the call to SetIds, where the initial frame tree is created. There are still some issues preventing proper late frame creation, but this prevents crashes when it happens. Fixes #3738.
This commit is contained in:
parent
750bedab81
commit
fbb1e0c6b8
5 changed files with 130 additions and 28 deletions
|
@ -4,7 +4,6 @@
|
|||
|
||||
use dom::attr::Attr;
|
||||
use dom::attr::AttrHelpers;
|
||||
use dom::bindings::codegen::Bindings::DocumentBinding::{DocumentMethods, DocumentReadyStateValues};
|
||||
use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding;
|
||||
use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding::HTMLIFrameElementMethods;
|
||||
use dom::bindings::codegen::InheritTypes::{NodeCast, ElementCast};
|
||||
|
@ -16,7 +15,7 @@ use dom::element::{HTMLIFrameElementTypeId, Element};
|
|||
use dom::element::AttributeHandlers;
|
||||
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
|
||||
use dom::htmlelement::HTMLElement;
|
||||
use dom::node::{Node, NodeHelpers, ElementNodeTypeId, window_from_node, document_from_node};
|
||||
use dom::node::{Node, NodeHelpers, ElementNodeTypeId, window_from_node};
|
||||
use dom::virtualmethods::VirtualMethods;
|
||||
use dom::window::Window;
|
||||
use page::IterablePage;
|
||||
|
@ -120,13 +119,8 @@ impl<'a> HTMLIFrameElementHelpers for JSRef<'a, HTMLIFrameElement> {
|
|||
subpage_id: subpage_id,
|
||||
}));
|
||||
|
||||
let doc = document_from_node(self).root();
|
||||
if doc.ReadyState() == DocumentReadyStateValues::Loading {
|
||||
// https://github.com/servo/servo/issues/3738
|
||||
// We can't handle dynamic frame tree changes in the compositor right now.
|
||||
let ConstellationChan(ref chan) = page.constellation_chan;
|
||||
chan.send(ScriptLoadedURLInIFrameMsg(url, page.id, subpage_id, sandboxed));
|
||||
}
|
||||
let ConstellationChan(ref chan) = page.constellation_chan;
|
||||
chan.send(ScriptLoadedURLInIFrameMsg(url, page.id, subpage_id, sandboxed));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue