Stop invalidating rendering observers of ancestors of SVG frames that only render by reference

RESOLVED FIXED in mozilla16

Status

()

Core
SVG
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: jwatt, Assigned: jwatt)

Tracking

({perf})

Trunk
mozilla16
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
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.
(Assignee)

Updated

5 years ago
Blocks: 767647
(Assignee)

Comment 1

5 years ago
Created attachment 636077 [details] [diff] [review]
patch
Attachment #636077 - Flags: review?(longsonr)
(Assignee)

Comment 2

5 years ago
I suppose I should really separate out the missing call from the wrong calls. I filed bug 767701 for the former.

Updated

5 years ago
Attachment #636077 - Flags: review?(longsonr) → review+
(Assignee)

Comment 3

5 years ago
Pushed https://hg.mozilla.org/integration/mozilla-inbound/rev/081ae9cc097b
Target Milestone: --- → mozilla16
https://hg.mozilla.org/mozilla-central/rev/081ae9cc097b
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.