Open Bug 536454 Opened 15 years ago Updated 2 years ago

Animation on 'display' property of used element makes it stay hidden, with "WARNING: Someone passed native anonymous content directly into frame construction"

Categories

(Core :: SVG, defect)

x86
Linux
defect

Tracking

()

People

(Reporter: dholbert, Unassigned)

References

Details

Attachments

(1 file)

STEPS TO REPRODUCE:
 Load attached testcase, in a mozilla-central nightly.

EXPECTED RESULTS:
 There should be two lines of blinking text.

ACTUAL RESULTS:
 The first line (for the <use>
(Sorry, accidentally hit 'enter' while filing)

ACTUAL RESULTS:
 The first blinking line (for the <use> element) just blinks off once, and stays hidden from there on out.  It also triggers this warning:
{
WARNING: Someone passed native anonymous content directly into frame construction.  Stop doing that!: file ../../../mozilla/layout/base/nsCSSFrameConstructor.cpp, line 6117
}
Summary: Animation 'display' property of used element makes it stay hidden → Animation on 'display' property of used element makes it stay hidden, with "WARNING: Someone passed native anonymous content directly into frame construction"
Attached image testcase 1
This is the same problem as bug 496011 where we get a reconstruct on a native anonymous content node except for this twist in nsCSSFrameConstructor::GetAnonymousContent

#ifdef MOZ_SVG
    // least-surprise CSS binding until we do the SVG specified
    // cascading rules for <svg:use> - bug 265894
    if (aParent &&
        aParent->NodeInfo()->Equals(nsGkAtoms::use, kNameSpaceID_SVG)) {
      content->SetFlags(NODE_IS_ANONYMOUS);
    } else
#endif
    {
      content->SetNativeAnonymous();
    }

So the node we are reconstructing isn't set as the root of a native anonymous subtree and the fix in bug 496011 doesn't fix this case.
Yep.  <use> is just pretty broken in general, imo.
Blocks: 548795
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: