diff --git a/dom/xul/XULDocument.cpp b/dom/xul/XULDocument.cpp index dc6414fd26e3..d391a90b0da2 100644 --- a/dom/xul/XULDocument.cpp +++ b/dom/xul/XULDocument.cpp @@ -92,6 +92,7 @@ #include "nsJSUtils.h" #include "mozilla/dom/URL.h" #include "nsIContentPolicy.h" +#include "mozAutoDocUpdate.h" using namespace mozilla; using namespace mozilla::dom; @@ -2967,10 +2968,14 @@ XULDocument::DoneWalking() // XXXldb This is where we should really be setting the chromehidden // attribute. - uint32_t count = mOverlaySheets.Length(); - for (uint32_t i = 0; i < count; ++i) { - AddStyleSheet(mOverlaySheets[i]); + { + mozAutoDocUpdate updateBatch(this, UPDATE_STYLE, true); + uint32_t count = mOverlaySheets.Length(); + for (uint32_t i = 0; i < count; ++i) { + AddStyleSheet(mOverlaySheets[i]); + } } + mOverlaySheets.Clear(); if (!mDocumentLoaded) {