XBL2: Difference between revisions

8 bytes added ,  16 June 2009
No edit summary
 
Line 6: Line 6:
We'll probably want to allow sharing between binding docs between documents. Especially for chrome. For chrome we could simply use raw sharing. For content documents we could use a cache of documents and clone them as needed.
We'll probably want to allow sharing between binding docs between documents. Especially for chrome. For chrome we could simply use raw sharing. For content documents we could use a cache of documents and clone them as needed.


When a binding document is added, we store all element="" selectors in a <tt>RuleHash</tt>, templatized as <tt>nsSelectorHash</tt>. These hashes are stored per resource document since binding documents are linked per resource document.
When a binding document is added, we store all <tt>element=""</tt> selectors in a <tt>RuleHash</tt>, templatized as <tt>nsSelectorHash</tt>. These hashes are stored per resource document since binding documents are linked per resource document.


Notifications happen by modifying <tt>nsNodeUtils</tt> such that the XBL2 code is notified after the root of any subtree. This avoids having to have the XBL2 code register a <tt>nsIMutationObserver</tt> for every orphaned subtree.
Notifications happen by modifying <tt>nsNodeUtils</tt> such that the XBL2 code is notified after the root of any subtree. This avoids having to have the XBL2 code register a <tt>nsIMutationObserver</tt> for every orphaned subtree.
Line 17: Line 17:


CSS and <tt>.addBinding</tt> bindings are added and removed separately. For CSS bindings we should only attach bindings when normal frame construction finds a binding, i.e. no more hacks to force style resolution on <tt>dislay:none</tt> elements.
CSS and <tt>.addBinding</tt> bindings are added and removed separately. For CSS bindings we should only attach bindings when normal frame construction finds a binding, i.e. no more hacks to force style resolution on <tt>dislay:none</tt> elements.


=== Shadow tree rendering ===
=== Shadow tree rendering ===
Confirmed users
716

edits