Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upDocument modification should trigger immediate reflow #417
Comments
|
That's unbounded queues for ya. But I'm not sure I agree that immediate reflow is the solution. Since reflow is expensive, you ideally want to coalesce as many updates as you can into each reflow operation. An alternative solution would be message coalescing (which I think we'll find very useful generally). At the most basic level we could implement it by setting flags, if we don't want to do something more sophisticated quite yet. |
|
Are the messages carrying any information other than "hey, do a reflow"? |
|
https://github.com/mozilla/servo/blob/master/src/servo/dom/document.rs#L66 and https://github.com/mozilla/servo/blob/master/src/servo/content/content_task.rs#L378 suggest no. Obviously content_changed will become smarter over time, however it's clear that the indirection of sending a message here is wrong, since the content task doing the sending is also the one one receiving. |
|
Seems to me that we can't just call |
|
Related to #424 |
|
This can be closed when #424 lands. |
|
#424 landed. |
…anvas-drawCustomFocusRing-metadata Added metadata to my previous test
Add a number of changes to support running tests on OSMesa. * Add a wrapper type for webgl contexts that allows selectinng between a native (hw accel) or osmesa (software) context at runtime. * Change request_webgl_context behaviour to try creating a readback (non-shared) context if shared context creation fails. This means that the webgl code in servo doesn't have to be aware of whether it should be creating native or osmesa contexts in fallback mode. * Flush each webgl context at the start of the frame to ensure contexts are painted correctly when sharing osmesa contexts. * Add init option to specify what kind of renderering context is being used. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/417) <!-- Reviewable:end -->
Currently it sends a message to the content task to trigger a reflow, which means that content JS can cause an infinite number of these messages to pile up before they get serviced. We need to skip the message and go for the jugular instead.