Closed Bug 373669 Opened 17 years ago Closed 17 years ago

[FIX]FlushTags impls end update too late

Categories

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

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9alpha4

People

(Reporter: bzbarsky, Assigned: bzbarsky)

Details

Attachments

(2 files)

As a result, we end up hitting UpdateChildCounts from nsContentSink::EndUpdate.

Although, given that EndUpdate can fire XBL constructors and those can modify the DOM, maybe we need to do this?   In that case, we need to fix HTMLContentSink::NotifyInsert too.  :(

Note that this is a trunk-only issue.
Flags: blocking1.9?
Attached patch Same as diff -wSplinter Review
Same as diff -w.

But note what I said about XBL.  Scripts may have a similar issue.  It seems to me that ideally we would ignore Begin/EndUpdate if they're coming from our own call, so in this case the sequence would be to call the final EndUpdate() on the document, ignore the EndUpdate call from that on nsContentSink, and then decrement this notification counter _before_ the document processes XBL constructors and pending scripts.  This is probably not biting us right now because we flush out the sink before putting a script into the DOM...
Attachment #258324 - Flags: superreview?(jonas)
Attachment #258324 - Flags: review?(jonas)
Attachment #258324 - Flags: superreview?(jonas)
Attachment #258324 - Flags: superreview+
Attachment #258324 - Flags: review?(jonas)
Attachment #258324 - Flags: review+
Checked in.  Filed bug 376761 on the remaining questions.
Status: NEW → RESOLVED
Closed: 17 years ago
Flags: blocking1.9?
Resolution: --- → FIXED
Target Milestone: mozilla1.9alpha3 → mozilla1.9alpha4
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: