I was randomly checking where to optimize responsiveness and noticed that the chrome refresh driver runs all the time at full speed. It happens even if there is just one Firefox window open and the only page is about:blank. (in that case the content refreshdriver doesn't run) (Another thing not clear to me at all is why we have separate refreshdriver for content and chrome)
Looks like we run the driver all the time because there are 2 image requests. Investigating ...
chrome://browser/skin/tabbrowser/connecting.png chrome://browser/skin/tabbrowser/loading.png are all the time in the refresh driver.
Not sure if this is a layout bug or Firefox/Toolkit bug.
These images are used by <xul:image> tags that have a list-style-image assigned. If the tab's not busy they're hidden using 'display: none'. https://mxr.mozilla.org/mozilla-central/source/browser/base/content/tabbrowser.css#44 I suspect a layout bug here.
Back to layout. It really should remove imgIRequests from refreshdriver if those won't be painted.
So I think this is because ImageLoader registers image request even if there isn't any frames using it. Trying to fix this.
Comment on attachment 652268 [details] [diff] [review] WIP Breaks animated backgrounds.
To Kyle who wrote all this new code.
(In reply to Olli Pettay [:smaug] from comment #9) > Comment on attachment 652268 [details] [diff] [review] > WIP > > Breaks animated backgrounds. Or maybe not. They are broken anyway, Bug 783220
(This is killing my battery)
Created attachment 653999 [details] [diff] [review] patch actually use presContext and don't recall the method.
Can someone please advise QA how to verify this bug is fixed for Firefox 17?
that is hard. I profiled FF, and added some printfs to refreshdriver to figure out this. but I haven't seen this after the fix.
Okay, thanks Olli. I'm going to flag this [qa-] meaning QA won't allocate resources to trying to verify this fix. If you or someone else finds a way to reliably verify this, please do so. Thank you.