The default bug view has changed. See this FAQ.

Always requesting compositor DrawToSurface() when using non-default target in content context

RESOLVED FIXED in mozilla16

Status

()

Core
Graphics: Layers
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: cjones, Assigned: cjones)

Tracking

Trunk
mozilla16
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

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.
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
Assignee: nobody → jones.chris.g
Attachment #641402 - Flags: review?(ajuma)

Updated

5 years ago
Attachment #641402 - Flags: review?(ajuma) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/4f0c3cb6d911
https://hg.mozilla.org/mozilla-central/rev/4f0c3cb6d911
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla16
You need to log in before you can comment on or make changes to this bug.