Bug 251904
Summary: | EffectiveLang optimization fails when document element is replaced | ||
---|---|---|---|
Product: | WebKit | Reporter: | Cameron McCormack (:heycam) <heycam> |
Component: | DOM | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | darin, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Cameron McCormack (:heycam)
If the document element has a lang attribute and it is removed from its parent document node, we can hit the assertion in Element::updateEffectiveLangStateFromParent that checks we don't have a lang attribute. This is because Element::removedFromAncestor checks that the element doesn't have effective lang state before calling updateEffectiveLangStateFromParent(), with the understanding that "no effective lang state" means the element is in the common case of inheriting the document element lang state directly, i.e. there's no intervening ancestor with a lang attribute at all.
Additionally, we don't correctly handle updating the document element language when the document element is removed or replaced. (We only update the document element language when the lang attribute on a current document element is changed.)
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/105163308>
Cameron McCormack (:heycam)
*** Bug 251921 has been marked as a duplicate of this bug. ***
Cameron McCormack (:heycam)
Original patch in bug 251657 was reverted. I'll use this bug to re-land with these fixes folded in.
Cameron McCormack (:heycam)
Actually I can use the original bug.
*** This bug has been marked as a duplicate of bug 251657 ***