Closed Bug 270899 Opened 20 years ago Closed 11 years ago

frames not created for explicit content when xtf insertion point is dynamically shown

Categories

(Core Graveyard :: XTF, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bryner, Assigned: alex)

Details

If you set an XTF insertion point to have display: none, and then later remove
the display:none, the explicit children of the XTF element will not have their
frames recreated.  The reason is that ChildIterator does not find the content
nodes as children (in nsCSSFrameConstructor::ProcessInlineChildren), and we
aren't hitting a ConstructXTFFrame case.

One way we could solve this is to have ChildIterator build its node list by
checking whether the parent node has a BindingParent that is an XTF wrapper, and
matches its insertion point... if so, concatenate the real children of the
insertion point with the explicit children of the binding parent.

Another idea, and one that I think would simplify things, is if we could hook up
XTF to use the XBL binding manager.  Then this would all "automatically work". 
I'm imagining the binding manager using the same mechanism to keep track of both
XTF and XBL bindings and insertion points, and only differ in the way the
binding is created.
Note that the contentiterator stuff for XBL is pretty broken (dynamic changes
will end up in things getting mis-ordered).
(In reply to comment #1)
> Note that the contentiterator stuff for XBL is pretty broken (dynamic changes
> will end up in things getting mis-ordered).

How so?
FWIW, the ContentIterator stuff was specifically designed to fix dynamic change
handling in various XBL cases, and did fix a whole bunch of bugs, IIRC.  So even
if it isn't perfect, that is its intended purpose.
Right.  I'm just saying that it's still got issues.

I agree with bryner that if we can just make the binding manager handle all
bindings (xbl and xtf), that would be great....
Assignee: bryner → alex
QA Contact: xtf
XTF has been removed from the tree.  [xtfisdead] for filtering purposes.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.