| Index: Source/core/html/HTMLImport.h
|
| diff --git a/Source/core/html/HTMLImport.h b/Source/core/html/HTMLImport.h
|
| index 96df1fb3d23e88537710794b888fff389ddb2768..ecdfd5f8f7a4f54c5eae02a370af38f386627869 100644
|
| --- a/Source/core/html/HTMLImport.h
|
| +++ b/Source/core/html/HTMLImport.h
|
| @@ -31,6 +31,8 @@
|
| #ifndef HTMLImport_h
|
| #define HTMLImport_h
|
|
|
| +#include "wtf/Vector.h"
|
| +
|
| namespace WebCore {
|
|
|
| class Frame;
|
| @@ -40,17 +42,43 @@ class HTMLImportsController;
|
|
|
| class HTMLImport {
|
| public:
|
| + static bool unblock(HTMLImport*);
|
| +
|
| virtual ~HTMLImport() { }
|
|
|
| - bool haveChildrenLoaded();
|
| Frame* frame();
|
| Document* master();
|
|
|
| + bool isLoaded() const { return !isBlocked() && !isProcessing(); }
|
| + bool isBlocked() const { return m_blocked; }
|
| + void appendChild(HTMLImport*);
|
| +
|
| virtual HTMLImportsController* controller() = 0;
|
| - virtual HTMLImport* parent() = 0;
|
| - virtual Document* document() = 0;
|
| + virtual HTMLImport* parent() const = 0;
|
| + virtual Document* document() const = 0;
|
| virtual void wasDetachedFromDocument() = 0;
|
| virtual void didFinishParsing() = 0;
|
| + virtual bool isProcessing() const = 0;
|
| +
|
| +protected:
|
| + HTMLImport()
|
| + : m_blocked(false)
|
| + { }
|
| +
|
| +private:
|
| + static void block(HTMLImport*);
|
| +
|
| + void blockAfter(HTMLImport* child);
|
| + void block();
|
| + void unblock();
|
| + void didUnblock();
|
| +
|
| + bool arePredecessorsLoaded() const;
|
| + bool areChilrenLoaded() const;
|
| + bool hasChildren() const { return !m_children.isEmpty(); }
|
| +
|
| + Vector<HTMLImport*> m_children;
|
| + bool m_blocked; // If any of decendants or predecessors is in processing, it is blocked.
|
| };
|
|
|
| } // namespace WebCore
|
|
|