Closed Bug 561173 Opened 10 years ago Closed 10 years ago

Reduce QIing and Addref/Release while setting innerHTML

Categories

(Core :: DOM: Core & HTML, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: smaug, Assigned: smaug)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

Attachments

(1 file)

Attached patch patchSplinter Review
We're doing quite a bit QIing to nsIDOMNode and back to nsINode while
setting innerHTML; enough to show up in profiles.

The patch helps a bit.
There is still extra Qi for fragments, but that can be handled in another bug.
Attachment #440851 - Flags: review?(jst)
Comment on attachment 440851 [details] [diff] [review]
patch

- In nsContentUtils::CreateContextualFragment():

+  nsCOMPtr<nsIDocument> document = aContextNode->GetOwnerDoc();

Does this need to be a strong reference, or could it just be an nsIDocument *?

r=jst
Attachment #440851 - Flags: review?(jst) → review+
That was a case where I couldn't be 100% sure that it is safe to remove nsCOMPtr.
So I kept it.
http://hg.mozilla.org/mozilla-central/rev/498ea1457799
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Keywords: perf
You need to log in before you can comment on or make changes to this bug.