Bug 596765, patch 3: Skip chunk of nsLayoutUtils::PaintFrame that's intended for root frames but gets triggered for foreignObjects in SVG-as-an-image. r+a=roc

This commit is contained in:
Daniel Holbert 2011-02-17 16:33:31 -08:00
Родитель 0defe055b2
Коммит cd7324ec7d
1 изменённых файлов: 12 добавлений и 1 удалений

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

@ -1398,8 +1398,19 @@ nsLayoutUtils::PaintFrame(nsIRenderingContext* aRenderingContext, nsIFrame* aFra
builder.SetSnappingEnabled(PR_FALSE);
}
nsRect canvasArea(nsPoint(0, 0), aFrame->GetSize());
#ifdef DEBUG
if (ignoreViewportScrolling) {
NS_ASSERTION(!aFrame->GetParent(), "must have root frame");
nsIDocument* doc = aFrame->GetContent() ?
aFrame->GetContent()->GetCurrentDoc() : nsnull;
NS_ASSERTION(!aFrame->GetParent() ||
(doc && doc->IsBeingUsedAsImage()),
"Only expecting ignoreViewportScrolling for root frames and "
"for image documents.");
}
#endif
if (ignoreViewportScrolling && !aFrame->GetParent()) {
nsIFrame* rootScrollFrame = presShell->GetRootScrollFrame();
if (rootScrollFrame) {
nsIScrollableFrame* rootScrollableFrame =