From bd89527b60ae2167e84f718fff77b57c86304025 Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Thu, 19 Nov 2015 09:57:51 -0500 Subject: [PATCH] Bug 1203058 - Set the paint sync id on the top-level window rather than the tab's window, because then it won't get lost during page unload. r=rbarker --HG-- extra : commitid : LTIWvjdej9z --- dom/base/nsDOMWindowUtils.cpp | 2 ++ mobile/android/chrome/content/browser.js | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp index 2cb8a4d4a71e..99ab5bc5cf59 100644 --- a/dom/base/nsDOMWindowUtils.cpp +++ b/dom/base/nsDOMWindowUtils.cpp @@ -3786,9 +3786,11 @@ nsDOMWindowUtils::SetNextPaintSyncId(int32_t aSyncId) if (lm && lm->GetBackendType() == LayersBackend::LAYERS_CLIENT) { ClientLayerManager* clm = static_cast(lm.get()); clm->SetNextPaintSyncId(aSyncId); + return NS_OK; } } + NS_WARNING("Paint sync id could not be set on the ClientLayerManager"); return NS_OK; } diff --git a/mobile/android/chrome/content/browser.js b/mobile/android/chrome/content/browser.js index 947b97dae1c0..b4bc89d92b10 100644 --- a/mobile/android/chrome/content/browser.js +++ b/mobile/android/chrome/content/browser.js @@ -6204,9 +6204,9 @@ var ViewportHandler = { if (aData) { let scrollChange = JSON.parse(aData); - let win = BrowserApp.selectedTab.browser.contentWindow; - let windowUtils = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils); + let windowUtils = window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils); windowUtils.setNextPaintSyncId(scrollChange.id); + let win = BrowserApp.selectedTab.browser.contentWindow; win.scrollBy(scrollChange.x, scrollChange.y); } },