Last Comment Bug 773192 - Always requesting compositor DrawToSurface() when using non-default target in content context
: Always requesting compositor DrawToSurface() when using non-default target in...
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Graphics: Layers (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla16
Assigned To: Chris Jones [:cjones] inactive; ni?/f?/r? if you need me
:
:
Mentors:
Depends on:
Blocks: 748088
  Show dependency treegraph
 
Reported: 2012-07-12 02:31 PDT by Chris Jones [:cjones] inactive; ni?/f?/r? if you need me
Modified: 2012-10-24 09:33 PDT (History)
4 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Only proxy drawing to a non-default target in BasicShadowableLayerManager, i.e. drawWindow(USE_WIDGET_LAYERS) for a content context, when the request is same-process (2.02 KB, patch)
2012-07-12 02:33 PDT, Chris Jones [:cjones] inactive; ni?/f?/r? if you need me
ajuma.bugzilla: review+
Details | Diff | Splinter Review

Description Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2012-07-12 02:31:09 PDT
To the best of my knowledge, we only initiate a txn with non-default target for a BasicShadowableLayerManager when we do drawWindow(USE_WIDGET_LAYERS).  This is what we want for reftests with omtc-not-OOP, and it's also what we want for drawWindow() when we're using omtc with only one |window| (as is the case with native fennec).

For OOP reftests however, the DrawToSurface() path is horrendously expensive, and unnecessary.  (Although it doesn't hurt anything corretness-wise.)  It's also wrong with OOP content that's embedded in a |window| in its parent: the DrawToSurface() will snapshot the entire window (AFAICT), not the child |window| that was requested.  This would break drawWindow(USE_WIDGET_LAYERS) from within a content process.

I don't really care about drawWindow(USE_WIDGET_LAYERS) from content processes outside of reftests, but I don't want to slow down OOP reftests.  So I have a patch that only does DrawToSurface() from the top-level process.
Comment 1 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2012-07-12 02:33:30 PDT
Created attachment 641402 [details] [diff] [review]
Only proxy drawing to a non-default target in BasicShadowableLayerManager, i.e. drawWindow(USE_WIDGET_LAYERS) for a content context, when the request is same-process
Comment 2 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2012-07-12 14:08:02 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/4f0c3cb6d911
Comment 3 Ed Morley [:emorley] 2012-07-13 05:32:11 PDT
https://hg.mozilla.org/mozilla-central/rev/4f0c3cb6d911

Note You need to log in before you can comment on or make changes to this bug.