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.
You need to log in before you can comment on or make changes to this bug.