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•5 years ago
|
||
Matt, when/where do you think is the best place to record this? During FLB?
Comment 2•5 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•5 years ago
|
Assignee | ||
Comment 3•5 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•5 years ago
|
||
Comment on attachment 9036504 [details] [diff] [review] A path to mostly do this Review of attachment 9036504 [details] [diff] [review]: ----------------------------------------------------------------- ::: layout/painting/FrameLayerBuilder.cpp @@ +4448,5 @@ > > + if (itemType == DisplayItemType::TYPE_SVG_WRAPPER) { > + printf_stderr("SVG!!\n"); > + mBuilder->GetWidgetLayerManager()->SetContainsSVG(true); > + } Put this code here instead - https://searchfox.org/mozilla-central/rev/b29663c6c9c61b0bf29e8add490cbd6bad293a67/layout/painting/FrameLayerBuilder.cpp#1666
Updated•5 years ago
|
Assignee | ||
Comment 6•5 years ago
|
||
Pushed by jmuizelaar@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2a889da359ee Implement CONTENT_FRAME_TIME_WITH_SVG for non-WebRender contains svg. r=mattwoodrow
Comment 8•5 years ago
|
||
bugherder |
Description
•