[webkit-reviews] review denied: [Bug 20212] [XBL] Add full support for element="" attachment : [Attachment 22552] First attempt: convert "element" into a binding stylesheet that is added to the bound document's

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 1 15:26:52 PDT 2008


Eric Seidel <eric at webkit.org> has denied Julien Chaffraix
<jchaffraix at webkit.org>'s request for review:
Bug 20212: [XBL] Add full support for element="" attachment
https://bugs.webkit.org/show_bug.cgi?id=20212

Attachment 22552: First attempt: convert "element" into a binding stylesheet
that is added to the bound document's
https://bugs.webkit.org/attachment.cgi?id=22552&action=edit

------- Additional Comments from Eric Seidel <eric at webkit.org>
Shouldn't:
 49	    String currentAttr = getAttribute(XBLNames::elementAttr);

Just be:
attr->value(); ?

+	 Document* boundDocument = document()->isXBLDocument() ? 0 :
document();
is confusing to me.  What would we do in the XBLDocument case?

Um... we'll crash here:
+	 // Update the styleSelector so that bindings are updated.
+	 // FIXME: is it always required?
+	 boundDocument->updateStyleSelector();

This patch crashes for inline XBL.  Can't land it that way.

Argument names are not neede here:
+	 XBLBindingElement(const WebCore::QualifiedName& qName,
WebCore::Document* doc); 

The fist one is not needed here:
+	 virtual void attributeChanged(Attribute* attr, bool preserveDecls);

This should use early return, or early ASSERT:
+void XBLBindingManager::removeBindingSheet(Document* document,
PassRefPtr<CSSStyleSheet> sheet)
+{
+    StyleSheetVector* documentSheets = m_bindingSheets.get(document);
+
+    if (documentSheets) {
+	 for (StyleSheetVector::iterator it = documentSheets->begin(); it !=
documentSheets->end(); ++it)
+	     if (*it == sheet) {
+		 documentSheets->remove(it - documentSheets->begin());
+		 return;
+	     }
+    }
+    // We should have the sheet in our binding sheets.
+    ASSERT_NOT_REACHED();

is it OK to call removeBindingSheet after the document has already been removed
from the sheets list?  Part of the code seems to assume it is, part doesn't...

You need to include a test case which tests the inline xbl case.


More information about the webkit-reviews mailing list