Bug 1456391 - Part 5: Fix zoom level saving in GeckoView. r?snorp draft
authorJan Henning <jh+bugzilla@buttercookie.de>
Thu, 26 Apr 2018 21:33:41 +0200
changeset 790282 43b7ebd674bac20056dd270333e04360b630160e
parent 790281 df5d74eda270d87370a073cad0fe632449329e88
child 790283 0304e6dff8ba1b7b9562c3c52fd18deb05bade3b
push id108477
push usermozilla@buttercookie.de
push dateTue, 01 May 2018 20:41:38 +0000
reviewerssnorp
bugs1456391
milestone61.0a1
Bug 1456391 - Part 5: Fix zoom level saving in GeckoView. r?snorp When the scroll position is "0,0" or suchlike, the scrolldata ends up as null. We still need something to store the zoom data on, though, so we add a fallback. MozReview-Commit-ID: FE8BYB9nn25
mobile/android/chrome/geckoview/GeckoViewContent.js
--- a/mobile/android/chrome/geckoview/GeckoViewContent.js
+++ b/mobile/android/chrome/geckoview/GeckoViewContent.js
@@ -67,16 +67,17 @@ class GeckoViewContent extends GeckoView
   collectSessionState() {
     let history = SessionHistory.collect(docShell);
     let [formdata, scrolldata] = Utils.mapFrameTree(content, FormData.collect, ScrollPosition.collect);
 
     // Save the current document resolution.
     let zoom = { value: 1 };
     let domWindowUtils = content.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
     domWindowUtils.getResolution(zoom);
+    scrolldata = scrolldata || {};
     scrolldata.zoom = {};
     scrolldata.zoom.resolution = zoom.value;
 
     // Save some data that'll help in adjusting the zoom level
     // when restoring in a different screen orientation.
     let displaySize = {};
     let width = {}, height = {};
     domWindowUtils.getContentViewerSize(width, height);