diff --git a/content/base/public/nsIDocument.h b/content/base/public/nsIDocument.h index 7e3a3c68fbb4..b1f5a7565a56 100644 --- a/content/base/public/nsIDocument.h +++ b/content/base/public/nsIDocument.h @@ -1600,6 +1600,8 @@ public: void WarnOnceAbout(DeprecatedOperations aOperation); virtual void PostVisibilityUpdateEvent() = 0; + + bool IsSyntheticDocument() { return mIsSyntheticDocument; } void SetNeedLayoutFlush() { mNeedLayoutFlush = true; diff --git a/content/events/src/nsEventStateManager.cpp b/content/events/src/nsEventStateManager.cpp index af114c5b5fe9..bbf065e79240 100644 --- a/content/events/src/nsEventStateManager.cpp +++ b/content/events/src/nsEventStateManager.cpp @@ -2516,7 +2516,7 @@ nsEventStateManager::DoScrollZoom(nsIFrame *aTargetFrame, // positive adjustment to decrease zoom, negative to increase PRInt32 change = (adjustment > 0) ? -1 : 1; - if (Preferences::GetBool("browser.zoom.full")) { + if (Preferences::GetBool("browser.zoom.full") || content->GetCurrentDoc()->IsSyntheticDocument()) { ChangeFullZoom(change); } else { ChangeTextSize(change); diff --git a/toolkit/content/viewZoomOverlay.js b/toolkit/content/viewZoomOverlay.js index f95c5458f8a5..9f2bc945d8c2 100644 --- a/toolkit/content/viewZoomOverlay.js +++ b/toolkit/content/viewZoomOverlay.js @@ -79,8 +79,9 @@ var ZoomManager = { getZoomForBrowser: function ZoomManager_getZoomForBrowser(aBrowser) { var markupDocumentViewer = aBrowser.markupDocumentViewer; - return this.useFullZoom ? markupDocumentViewer.fullZoom - : markupDocumentViewer.textZoom; + return this.useFullZoom || + aBrowser.contentDocument.mozSyntheticDocument ? + markupDocumentViewer.fullZoom : markupDocumentViewer.textZoom; }, set zoom(aVal) { @@ -94,7 +95,7 @@ var ZoomManager = { var markupDocumentViewer = aBrowser.markupDocumentViewer; - if (this.useFullZoom) { + if (this.useFullZoom || aBrowser.contentDocument.mozSyntheticDocument) { markupDocumentViewer.textZoom = 1; markupDocumentViewer.fullZoom = aVal; } else {