X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fcore%2Fhtml%2Fimports%2FHTMLImportsController.h;h=4be2dcb04c625d1fb600d9e671d26061ef210d17;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=a52482c617959c369e735fa6410c7ead8579296a;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/core/html/imports/HTMLImportsController.h b/src/third_party/WebKit/Source/core/html/imports/HTMLImportsController.h index a52482c..4be2dcb 100644 --- a/src/third_party/WebKit/Source/core/html/imports/HTMLImportsController.h +++ b/src/third_party/WebKit/Source/core/html/imports/HTMLImportsController.h @@ -47,36 +47,46 @@ class ExecutionContext; class ResourceFetcher; class HTMLImportChild; class HTMLImportChildClient; +class HTMLImportLoader; -class HTMLImportsController FINAL : public HTMLImportRoot, public DocumentSupplement { - WTF_MAKE_FAST_ALLOCATED; +class HTMLImportsController FINAL : public NoBaseWillBeGarbageCollectedFinalized, public HTMLImport, public DocumentSupplement { + WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLImportsController); + WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; public: static void provideTo(Document&); explicit HTMLImportsController(Document&); virtual ~HTMLImportsController(); + bool isMaster(const Document& document) const { return m_master == &document; } + bool shouldBlockScriptExecution(const Document&) const; + void wasDetachedFrom(const Document&); + // HTMLImport - virtual HTMLImportRoot* root() OVERRIDE; virtual Document* document() const OVERRIDE; - virtual void wasDetachedFromDocument() OVERRIDE; virtual bool isDone() const OVERRIDE; - virtual bool hasLoader() const OVERRIDE; + virtual void stateWillChange() OVERRIDE; virtual void stateDidChange() OVERRIDE; - // HTMLImportRoot - virtual void scheduleRecalcState() OVERRIDE; - virtual HTMLImportsController* toController() OVERRIDE { return this; } - virtual HTMLImportChild* findLinkFor(const KURL&, HTMLImport* excluding = 0) const OVERRIDE; - HTMLImportChild* load(HTMLImport* parent, HTMLImportChildClient*, FetchRequest); void showSecurityErrorMessage(const String&); SecurityOrigin* securityOrigin() const; ResourceFetcher* fetcher() const; + LocalFrame* frame() const; + Document* master() const { return m_master; } void recalcTimerFired(Timer*); + HTMLImportLoader* createLoader(); + + size_t loaderCount() const { return m_loaders.size(); } + HTMLImportLoader* loaderAt(size_t i) const { return m_loaders[i].get(); } + HTMLImportLoader* loaderFor(const Document&) const; + + void scheduleRecalcState(); + HTMLImportChild* findLinkFor(const KURL&, HTMLImport* excluding = 0) const; + private: HTMLImportChild* createChild(const KURL&, HTMLImport* parent, HTMLImportChildClient*); void clear(); @@ -87,8 +97,13 @@ private: // List of import which has been loaded or being loaded. typedef Vector > ImportList; ImportList m_imports; + + typedef Vector > LoaderList; + LoaderList m_loaders; }; +DEFINE_TYPE_CASTS(HTMLImportsController, HTMLImport, import, import->isRoot(), import.isRoot()); + } // namespace WebCore #endif // HTMLImportsController_h