Bug 773945, remove nsXULElement::mPrototype, part 2, r=bz

This commit is contained in:
Olli Pettay 2012-07-19 11:31:47 +03:00
Родитель baa63dcc1e
Коммит 039d60df66
4 изменённых файлов: 11 добавлений и 10 удалений

Просмотреть файл

@ -1205,6 +1205,11 @@ public:
return mLoadedAsData; return mLoadedAsData;
} }
bool IsLoadedAsInteractiveData()
{
return mLoadedAsInteractiveData;
}
bool MayStartLayout() bool MayStartLayout()
{ {
return mMayStartLayout; return mMayStartLayout;
@ -1799,6 +1804,11 @@ protected:
// as scripts and plugins, disabled. // as scripts and plugins, disabled.
bool mLoadedAsData; bool mLoadedAsData;
// This flag is only set in nsXMLDocument, for e.g. documents used in XBL. We
// don't want animations to play in such documents, so we need to store the
// flag here so that we can check it in nsDocument::GetAnimationController.
bool mLoadedAsInteractiveData;
// If true, whoever is creating the document has gotten it to the // If true, whoever is creating the document has gotten it to the
// point where it's safe to start layout on it. // point where it's safe to start layout on it.
bool mMayStartLayout; bool mMayStartLayout;

Просмотреть файл

@ -1173,11 +1173,6 @@ protected:
bool mInXBLUpdate:1; bool mInXBLUpdate:1;
// This flag is only set in nsXMLDocument, for e.g. documents used in XBL. We
// don't want animations to play in such documents, so we need to store the
// flag here so that we can check it in nsDocument::GetAnimationController.
bool mLoadedAsInteractiveData:1;
// Whether we're currently holding a lock on all of our images. // Whether we're currently holding a lock on all of our images.
bool mLockingImages:1; bool mLockingImages:1;

Просмотреть файл

@ -575,8 +575,7 @@ nsNodeUtils::CloneAndAdopt(nsINode *aNode, bool aClone, bool aDeep,
#ifdef MOZ_XUL #ifdef MOZ_XUL
if (aClone && !aParent && aNode->IsElement() && if (aClone && !aParent && aNode->IsElement() &&
aNode->AsElement()->IsXUL()) { aNode->AsElement()->IsXUL()) {
nsXULElement *xulElem = static_cast<nsXULElement*>(elem); if (!aNode->OwnerDoc()->IsLoadedAsInteractiveData()) {
if (!xulElem->mPrototype || xulElem->IsInDoc()) {
clone->SetFlags(NODE_FORCE_XBL_BINDINGS); clone->SetFlags(NODE_FORCE_XBL_BINDINGS);
} }
} }

Просмотреть файл

@ -500,9 +500,6 @@ public:
virtual nsIDOMNode* AsDOMNode() { return this; } virtual nsIDOMNode* AsDOMNode() { return this; }
protected: protected:
// XXX This can be removed when nsNodeUtils::CloneAndAdopt doesn't need
// access to mPrototype anymore.
friend class nsNodeUtils;
// This can be removed if EnsureContentsGenerated dies. // This can be removed if EnsureContentsGenerated dies.
friend class nsNSElementTearoff; friend class nsNSElementTearoff;