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...
Status: RESOLVED FIXED
: perf
Product: Core
Classification: Components
Component: SVG (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla16
Assigned To: Jonathan Watt [:jwatt]
:
Mentors:
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:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch (10.05 KB, patch)
2012-06-23 05:33 PDT, Jonathan Watt [:jwatt]
longsonr: review+
Details | Diff | 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]
patch
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
Pushed https://hg.mozilla.org/integration/mozilla-inbound/rev/081ae9cc097b
Comment 4 Ryan VanderMeulen [:RyanVM] 2012-06-23 19:57:04 PDT
https://hg.mozilla.org/mozilla-central/rev/081ae9cc097b

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