Closed Bug 445018 Opened 17 years ago Closed 9 months ago

Consider the performance of setting conditional processing attributes during parsing

Categories

(Core :: SVG, defect)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jwatt, Unassigned)

References

()

Details

(Keywords: perf)

In bug 409383 the following change was made to allow the 'switch' element to detect changes to conditional processing attributes on its child elements. http://hg.mozilla.org/mozilla-central/index.cgi/diff/c1598626dbd3/content/svg/content/src/nsSVGElement.cpp The problem is that during parsing we will end up iterating over each of the children of the switch during document load (parsing) for each conditional processing attribute that is set on a child of a switch. I.e. we'll call NS_SVG_PassesConditionalProcessingTests on all the children each time one of these attributes is parsed and set on a child. Boris suggests looking at DoneCreatingElement as an alternative in bug 409383 comment 54.
Maybe we could do some or all of: a) check whether NS_FRAME_FIRST_REFLOW is set. We will do an update when this changes state via nsSVGSwitchFrame::InitialUpdate b) skip out early if doc->MayStartLayout() is false. c) skip out early if presShell->IsPaintingSuppressed() is true.
Keywords: perf
Severity: normal → S3

That code was removed a long time ago.

Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.