Bug 1234877 - Whether a scroll frame is async scrollable is determined by mWillBuildScrollableLayer, not by usingDisplayPort. r?tn draft
authorMarkus Stange <mstange@themasta.com>
Thu, 07 Jan 2016 18:49:41 +0100
changeset 319754 52418e3924cfd3145c931fe88cecff74758ac71c
parent 319753 12fc0ccb1bd86016736bc79d11996c46a228c84e
child 512638 cbc1389444768920755e46ccae9f1309918c3da5
push id9081
push usermstange@themasta.com
push dateThu, 07 Jan 2016 18:04:28 +0000
reviewerstn
bugs1234877
milestone46.0a1
Bug 1234877 - Whether a scroll frame is async scrollable is determined by mWillBuildScrollableLayer, not by usingDisplayPort. r?tn
layout/generic/nsGfxScrollFrame.cpp
--- a/layout/generic/nsGfxScrollFrame.cpp
+++ b/layout/generic/nsGfxScrollFrame.cpp
@@ -3101,17 +3101,17 @@ ScrollFrameHelper::BuildDisplayList(nsDi
         if (mClipAllDescendants) {
           contentBoxClipState.ClipContentDescendants(*contentBoxClipForCaret);
         } else {
           contentBoxClipState.ClipContainingBlockDescendants(*contentBoxClipForCaret);
         }
       }
 
       DisplayListClipState::AutoSaveRestore clipStateForScrollClip(aBuilder);
-      if (usingDisplayPort) {
+      if (mWillBuildScrollableLayer) {
         if (mClipAllDescendants) {
           clipStateForScrollClip.TurnClipIntoScrollClipForContentDescendants(aBuilder, sf);
         } else {
           clipStateForScrollClip.TurnClipIntoScrollClipForContainingBlockDescendants(aBuilder, sf);
         }
       } else {
         // Create a scroll clip anyway because we might need to activate for scroll handoff.
         if (mClipAllDescendants) {
@@ -3130,17 +3130,17 @@ ScrollFrameHelper::BuildDisplayList(nsDi
       DisplayListClipState::AutoSaveRestore contentBoxClipState(aBuilder);
       if (mClipAllDescendants) {
         contentBoxClipState.ClipContentDescendants(*contentBoxClipForNonCaretContent);
       } else {
         contentBoxClipState.ClipContainingBlockDescendants(*contentBoxClipForNonCaretContent);
       }
 
       DisplayListClipState::AutoSaveRestore clipStateForScrollClip(aBuilder);
-      if (usingDisplayPort) {
+      if (mWillBuildScrollableLayer) {
         if (mClipAllDescendants) {
           clipStateForScrollClip.TurnClipIntoScrollClipForContentDescendants(aBuilder, sf);
         } else {
           clipStateForScrollClip.TurnClipIntoScrollClipForContainingBlockDescendants(aBuilder, sf);
         }
       }
       const DisplayItemClip* clipNonCaret = aBuilder->ClipState().GetCurrentCombinedClip(aBuilder);
       const DisplayItemScrollClip* scrollClipNonCaret = aBuilder->ClipState().GetCurrentInnermostScrollClip();