update_window_title() is called constantly in the compositor loop. This function
always changes the title to "Servo" when in idle state so it is spamming the X
server with constant changes. But this isn't necessary because updating the
title is taken care of when the Rendering or Ready state are changed in
set_ready_state() and set_render_state().
Fixes#830
Happy Software Freedom Day
update_window_title() is called constantly in the compositor loop. This function
always changes the title to "Servo" when in idle state so it is spamming the X
server with constant changes. But this isn't necessary because updating the
title is taken care of when the Rendering or Ready state are changed in
set_ready_state() and set_render_state().
Fixes#830
Happy Software Freedom Day
* Profiler is now close to a no-op when ```-p``` is not passed in
* The profiler's printing ```Timer``` now stops looping when the profiler is closed
* Most task ```Chans``` are now newtype ```structs```
* Some more ```Cell``` removals in places where ```spawn_with``` is appropriate
script task sent RendererReadyMsg after every reflow.
now, the renderer sends RendererReady at the appropriate time,
and _only_ if it doesn't have paint permission.
The quadtree was checking to see if a window's position was within the clip region before drawing it. However, the window's position is in page-relative coordinates whereas the clip region is in window-relative coordinates. So, unless the iframe happened to fall in the clip range, it would never have tiles returned.
If an iframe had enough content that it spilled outside of its clip range, different logic was triggered that would cause it to receive a ReRenderMsg anyway, which circumvented all of this.
@eschweic, can you please review this if you have a minute? I believe that I've correctly captured the four checks we want to make (two each for ```x``` and ```y``` directions to determine if the window is in or out, but I'd appreciate another set of eyes on it.
For some example data, in a call to ```get_tile_rects``` for an iframe that is sized to 400x400 and is 428-ish pixels down the page, with a browser frame that is 600 total pixels tall, that function is called with:
window origin geom::point::Point2D<f32>{x: 9f32, y: 428.6000061f32}
window size geom::size::Size2D<f32>{width: 400f32, height: 171.3999939f32}
self origin geom::point::Point2D<f32>{x: 0f32, y: 0f32}
self size 512f32"
clip: size::Size2D<f32>{width: 400f32, height: 400f32}