?? xbl_binding_manager.h
字號:
#include "qptrdict.h"
namespace khtml {
class CachedXBLDocument;
class BindingURI;
}
namespace DOM {
class DocumentImpl;
class NodeImpl;
class ElementImpl;
}
namespace XBL {
class XBLBindingChain;
class XBLChildNodeList;
// This class handles all access to XBL bindings and XBL binding information. It also handles the loading/installation of XBL
// bindings. In the comments below, the term "decorated DOM" is used to describe the final DOM that can be walked after all
// bindings have been installed.
class XBLBindingManager
OOM_MODIFIED
{
public:
XBLBindingManager(DOM::DocumentImpl* doc);
~XBLBindingManager();
bool loadBindings(DOM::NodeImpl* node, khtml::BindingURI* bindingURIs, bool isStyleBinding, bool* resolveStyle);
void checkLoadState(DOM::ElementImpl* elt);
XBLBindingChain* getBindingChain(DOM::NodeImpl* node);
void setBindingChain(DOM::NodeImpl* node, XBLBindingChain* binding);
private:
// The document whose bindings we manage.
DOM::DocumentImpl* m_document;
// A mapping from a DOM::NodeImpl* to the XBL::XBLBindingChain* that is
// installed on that element.
QPtrDict<XBLBindingChain>* m_bindingChainTable;
// A mapping from DOM::NodeImpl* to an XBLChildNodeListImpl*.
// This list contains an accurate reflection of our *explicit* children (once intermingled with
// insertion points) in the decorated DOM.
QPtrDict<XBLChildNodeList>* m_explicitChildNodesTable;
// A mapping from DOM::NodeImpl* to an XBLChildNodeListImpl*. This list contains an accurate
// reflection of our *anonymous* children (if and only if they are
// intermingled with insertion points) in the decorated DOM. This
// table is not used if no insertion points were defined directly
// underneath a <content> tag in a binding. The NodeList from the
// binding's cloned <content> element is used instead as a performance optimization.
QPtrDict<XBLChildNodeList>* m_anonymousChildNodesTable;
// A mapping from a DOM::NodeImpl* to a DOM::NodeImpl*. Used to obtain the node's parent
// element in the decorated DOM.
QPtrDict<DOM::NodeImpl>* m_parentElementTable;
// A mapping from
};
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -