mirror of
https://github.com/servo/servo.git
synced 2025-08-09 23:45:35 +01:00
Restructure compositor layers to work with iframes
When a frame is selected via set_ids, a tree of root compositor layers is also created, matching the tree of pipelines in the frame. This decouples the chronological ordering dependency for parent frames and child iframes sending CreateOrUpdateRootLayer & CreateOrUpdateDescendentLayer messages. Change the Compositor ready and render states to per pipeline. This ensures the compositor doesn't composite for an epoch until every *pipeline* in the epoch is finished rendering. For iframes it fixes a bug where the compositor didnt wait on the child pipeline ready state before compositing the window. Gotchas: * layout task or script task failure on exit ("task '' failed at sending on a closed channel"), this happens if the child iframe shares the same script task as the parent and can be avoided by adding the sandbox attribute to the iframe. Other changes: * Inline set_clipping_rect in compositor.rs * Commented out ref test simple_iframe.html fails on os x
This commit is contained in:
parent
ca96821902
commit
0c9f469f64
17 changed files with 572 additions and 159 deletions
|
@ -1,7 +0,0 @@
|
|||
<html>
|
||||
<body>
|
||||
<div style="border: 1px solid black; width: 500px; height: 300px; margin-left: 10px; margin-top: 20px;">
|
||||
<div style="margin: 8px; /* matches user-agent body */">Just a simple little iframe.</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue