Last Comment Bug 767697 - Stop invalidating rendering observers of ancestors of SVG frames that only render by reference
: Stop invalidating rendering observers of ancestors of SVG frames that only re...
: perf
Product: Core
Classification: Components
Component: SVG (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla16
Assigned To: Jonathan Watt [:jwatt]
: Jet Villegas (:jet)
Depends on:
Blocks: 767647
  Show dependency treegraph
Reported: 2012-06-23 05:32 PDT by Jonathan Watt [:jwatt]
Modified: 2012-06-23 19:57 PDT (History)
1 user (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

patch (10.05 KB, patch)
2012-06-23 05:33 PDT, Jonathan Watt [:jwatt]
longsonr: review+
Details | Diff | Splinter Review

Description Jonathan Watt [:jwatt] 2012-06-23 05:32:13 PDT
While addressing bug 767647 comment 2, I discovered test failures due to nsSVGClipPathFrame::AttributeChanged not invalidating its rendering observers when its transform changes. I then also realized that we're wastefully using nsSVGEffects::InvalidateRenderingObservers to invalidate for changes on SVG frames like clipPath that are only rendered by reference. This is completely wasteful, since they can never affect the rendering of their ancestors by virtue of being a descendant of their ancestors. We should be using nsSVGEffects::InvalidateDirectRenderingObservers instead.
Comment 1 Jonathan Watt [:jwatt] 2012-06-23 05:33:42 PDT
Created attachment 636077 [details] [diff] [review]
Comment 2 Jonathan Watt [:jwatt] 2012-06-23 06:18:39 PDT
I suppose I should really separate out the missing call from the wrong calls. I filed bug 767701 for the former.
Comment 3 Jonathan Watt [:jwatt] 2012-06-23 09:56:20 PDT
Comment 4 Ryan VanderMeulen [:RyanVM] 2012-06-23 19:57:04 PDT

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