// Ensuring following invariants against the import tree: // - HTMLImportChild::firstImport() is the "first import" of the DFS order of the import tree. // - The "first import" manages all the children that is loaded by the document. void HTMLImportChild::normalize() { if (!loader()->isFirstImport(this) && this->precedes(loader()->firstImport())) { HTMLImportChild* oldFirst = loader()->firstImport(); loader()->moveToFirst(this); takeChildrenFrom(oldFirst); } for (HTMLImport* child = firstChild(); child; child = child->next()) toHTMLImportChild(child)->normalize(); }
// Ensuring following invariants against the import tree: // - HTMLImportChild::firstImport() is the "first import" of the DFS order of the import tree. // - The "first import" manages all the children that is loaded by the document. void HTMLImportChild::normalize() { if (!loader()->isFirstImport(this) && this->precedes(loader()->firstImport())) { HTMLImportChild* oldFirst = loader()->firstImport(); loader()->moveToFirst(this); takeChildrenFrom(oldFirst); } for (HTMLImportChild* child = toHTMLImportChild(firstChild()); child; child = toHTMLImportChild(child->next())) { if (child->formsCycle()) child->invalidateCustomElementMicrotaskStep(); child->normalize(); } }