Implement CONTENT_FRAME_TIME_WITH_SVG for non-WebRender
Categories
(Core :: Graphics: WebRender, enhancement)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox66 | --- | fixed |
People
(Reporter: jrmuizel, Assigned: jrmuizel)
Details
Attachments
(2 files)
|
14.76 KB,
patch
|
Details | Diff | Splinter Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review |
This will make comparisons with WebRender enabled/disabled more meaningful.
| Assignee | ||
Comment 1•6 years ago
|
||
Matt, when/where do you think is the best place to record this? During FLB?
Comment 2•6 years ago
|
||
Yeah, during ProcessDisplayItems is probably the easiest time to detect SVG items.
Unfortunately finding the outermost LayerManager to store the result is non-trivial.
FrmeLayerBuilder::mContainingPaintedLayer will be non-null if the current FLB is for an inactive layer, and you can get the outer Layer* (and then LayerManager*) from that. Looking up the gLayerManagerLayerBuilder UserData on the LayerManager will find the outer FrameLayerBuilder*. Loop until you find a FLB that doesn't have mContainingPaintedLayer.
Alternatively you can use nsDisplayListBuilder::GetWidgetLayerManager() to look it up via the widget.
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 3•6 years ago
|
||
This patch doesn't quite work because we lose SVGWrapper during flattening:
I'm not sure the best way to fix that.
Comment 5•6 years ago
|
||
Updated•6 years ago
|
| Assignee | ||
Comment 6•6 years ago
|
||
Comment 8•6 years ago
|
||
| bugherder | ||
Description
•