blob: cdb6fbc5137d3c7bd9629536988af7e8f145dc71 [file] [log] [blame]
namespace WebCore {
class String;
}
namespace XBL {
class XBLPrototypeBinding;
// This class represents an XBL document. It subclasses XML documents and holds references to prototype bindings.
// The DOM of an XBL document is optimized to avoid creating full-blown DOM elements for most sections of the various
// bindings. Custom prototype binding data structures are created instead.
class XBLDocument: public WebCore::Document
{
public:
XBLDocument();
~XBLDocument();
virtual WebCore::XMLHandler* createTokenHandler();
void setPrototypeBinding(const WebCore::String& id, XBLPrototypeBinding* binding);
XBLPrototypeBinding* prototypeBinding(const WebCore::String& id);
private:
// A mapping from URIs to bindings. Used to look up specific prototype binding objects.
QDict<XBLPrototypeBinding> m_prototypeBindingTable;
};
}