f0f5124781cc6bc5d517b2d2bb9a499b15e06b07: Bug 1498812 - Part 10: Return whether SetVisualViewportOffset was a no-op. r=botond
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:50:17 +0000 - rev 453554
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 10: Return whether SetVisualViewportOffset was a no-op. r=botond So that the caller doesn't have to retrieve and compare the previous viewport offset himself. Differential Revision: https://phabricator.services.mozilla.com/D15785
39207d39e5c2d3a8980bc910820c8b37f812b77e: Bug 1498812 - Part 9: Switch session store/session history to use visual viewport for scroll position tracking. r=mikedeboer,snorp
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:50:09 +0000 - rev 453553
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 9: Switch session store/session history to use visual viewport for scroll position tracking. r=mikedeboer,snorp For simplicity's sake, for now we keep storing only one scroll position per history entry (bug 1499210), so if we have to choose between the layout and the visual viewport, the latter is a vastly better choice, as it more accurately represents the scroll position as perceived by the user, especially when the page has been pinch-zoomed. This also means that instead of the normal scroll events, the session store now has to listen for the corresponding events specific to the visual viewport. We also extend the scroll position test to check that the scroll position isn't just properly saved, but also actually properly restored in practice as well. We only add this test now instead of already adding it beforehand like we did with the rest of the test - to avoid having to temporarily extend the checkScroll() helper function to deal with todo()/todo_is etc. - because getting that part of the test to complete without timing out (which would be one of its natural failure modes, because the expected events would be missing) would require faking even more scroll events - because we already have the todo() tests that are telling us the we didn't *store* any scroll position in the first place, so there's no point in trying to actually restore anything For the GeckoView saveAndRestoreState test, we now spin the event loop once before setting the scroll position in order to give APZ opportunity to settle down after the initial page load. Differential Revision: https://phabricator.services.mozilla.com/D15690
2d9a52630c0414f20acc825f7e8dbc931965e908: Bug 1498812 - Part 8: Simplify docshell's GetCurScrollPos() function. r=nika
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:49:56 +0000 - rev 453552
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 8: Simplify docshell's GetCurScrollPos() function. r=nika This is now only being used as a purely internal helper function, so there's no need for mucking about with nsresults, out parameters, retrieving x- and y- coordinates separately, etc. Differential Revision: https://phabricator.services.mozilla.com/D15689
c4fbfcb5239ba0b34d5845512cbb7f810fd64798: Bug 1498812 - Part 7: Generally enable Visual Viewport for Mochitests. r=botond
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:49:41 +0000 - rev 453551
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 7: Generally enable Visual Viewport for Mochitests. r=botond Easier than separately enabling it for each test in turn, and shouldn't have any bad side effects on tests that don't care about it, as this only exposes the new Window.visualViewport object, but doesn't change anything else. Differential Revision: https://phabricator.services.mozilla.com/D15688
4eccacfc8801a8401d72458210dac451515b5bda: Bug 1498812 - Part 6: Allow promiseBrowserEvent to listen in system group. r=mikedeboer
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:49:34 +0000 - rev 453550
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 6: Allow promiseBrowserEvent to listen in system group. r=mikedeboer Likewise the only way to catch our internal visual viewport events. Differential Revision: https://phabricator.services.mozilla.com/D15687
710922bc053aa9fbf9c54af538c8c005770c9a14: Bug 1498812 - Part 5: Allow registering System event listeners through nsSessionStoreUtils. r=nika
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:49:28 +0000 - rev 453549
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 5: Allow registering System event listeners through nsSessionStoreUtils. r=nika Our internal Visual Viewport scroll events are dispatched system group-only, so this is the only way to catch them. Differential Revision: https://phabricator.services.mozilla.com/D15686
7b00521b6f3176cb88698b4773d9be13f0e54b2e: Bug 1498812 - Part 4: Add scroll position test that is specifically testing the Visual Viewport. r=mikedeboer
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 20:36:16 +0000 - rev 453548
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 4: Add scroll position test that is specifically testing the Visual Viewport. r=mikedeboer The existing tests didn't catch this problem, because calling scrollTo(), which is both what a) the session store and session history itself are currently using to set the scroll position to be restored, as well as b) how the existing session store test is setting the page up to be scrolled ready for testing forces both the layout and visual viewport positions to the respective coordinates, even if the same configuration of visual and layout viewport offsets could never be achieved through manual scrolling (i.e. bug 1516056). This then triggers all the expected events and makes it so that reading the scroll position through the layout viewport returns the expected values, which is why the existing tests never noticed that something is off. Therefore, we introduce a test here that has a page where the layout viewport can never scroll (at least horizontally) and where we simulate scrolling by actually inputting fake touch events instead of simply calling scrollTo(). This will result in only the visual viewport scrolling, ensuring that we can properly test the new expected behaviour of the session store and session history. Because layout and visual viewport scroll positions aren't necessarily updated at exactly the same time and the session store is currently still relying on the conventional "scroll" events (relating to the layout viewport), which means the tests have to rely on the same events, too, we don't yet switch all session store tests to generally verify the current scroll position of the page using the visual viewport, and temporarily make this only opt-in via the corresponding helper function in head_scroll.js. I know that the proper way to reference "foreign" files in text manifests is to use !/absolute/path/to/file/helper.js, but as one of the files originally comes from a chrome mochitest and the other one (apz_test_utils.js) doesn't and this test itself is a chrome mochitest, this was the best way I found to get both files copied into the correct directory on the test device so the test could access them. Differential Revision: https://phabricator.services.mozilla.com/D15685
bf744ce7867af3c2548b1ec10233692f11f1ecf9: Bug 1498812 - Part 3: Move scroll position test helper functions into separate file. r=mikedeboer
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 20:21:06 +0000 - rev 453547
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 3: Move scroll position test helper functions into separate file. r=mikedeboer ... so it can be shared across multiple test files. Also make slightly more use of modern JS features for destructuring objects etc. Differential Revision: https://phabricator.services.mozilla.com/D15684
bbbb9e3c793d7f9ea29e24aa23b46ee2d7e2b49d: Bug 1498812 - Part 2: Switch GeckoViewScrollChild to use the visual viewport. r=snorp
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:49:04 +0000 - rev 453546
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 2: Switch GeckoViewScrollChild to use the visual viewport. r=snorp Given the usage example of pull-to-refresh in bug 1371796, downstream consumers will probably more interested in the true visible scroll position of the user within the page, i.e. the visual viewport. Listening for *visual* viewport events will also definitively be required to get the saveAndRestoreState GeckoView test properly working once we switch Gecko's session store helper function to use the *visual* viewport scroll position. Differential Revision: https://phabricator.services.mozilla.com/D15682
466e822d2986e2481e8d0b812334b047fee0f3b0: Bug 1498812 - Part 1: Add helper method for directly retrieving the visual viewport's position. r=botond
Jan Henning <jh+bugzilla@buttercookie.de> - Fri, 11 Jan 2019 19:49:39 +0000 - rev 453545
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1498812 - Part 1: Add helper method for directly retrieving the visual viewport's position. r=botond Mainly required for testing. Differential Revision: https://phabricator.services.mozilla.com/D15683
0279e3d8b2f1dc9cb127f5c5b1758b88ab4d37a6: Bug 1519322 - Wrap unhandled/handled promise properly in JS shell promise rejection tracker. r=jorendorff
Tooru Fujisawa <arai_a@mac.com> - Fri, 11 Jan 2019 21:11:50 +0000 - rev 453544
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1519322 - Wrap unhandled/handled promise properly in JS shell promise rejection tracker. r=jorendorff Differential Revision: https://phabricator.services.mozilla.com/D16303
4af076789478e05a707774995588046851529bc3: Bug 1513057 - P8: Report telemetry from socket process to parent process r=dragana,mayhemer,janerik
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 20:59:35 +0000 - rev 453543
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P8: Report telemetry from socket process to parent process r=dragana,mayhemer,janerik Differential Revision: https://phabricator.services.mozilla.com/D14362
c65c63971388c25e5176afeef8528873932b19bf: Bug 1513057 - P7: Setup Gecko profiler on the socket process r=dragana,mayhemer,mstange
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 20:58:18 +0000 - rev 453542
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P7: Setup Gecko profiler on the socket process r=dragana,mayhemer,mstange Differential Revision: https://phabricator.services.mozilla.com/D14351
5b73660fb915ec803544389a1c93aacdef0e5f53: Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 20:56:39 +0000 - rev 453541
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer Differential Revision: https://phabricator.services.mozilla.com/D14348
b5904e4ffc0ca4bdab4084a92176c6a70f93f01c: Bug 1513057 - P5: Create IPC between content process and socket process r=dragana,mayhemer
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 20:55:07 +0000 - rev 453540
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P5: Create IPC between content process and socket process r=dragana,mayhemer Differential Revision: https://phabricator.services.mozilla.com/D14257
ca35e0cd0782f9b63b51494e553dd312f6d96d1b: Bug 1513057 - P4: Update online/offline status to socket process r=dragana,mayhemer
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 20:54:06 +0000 - rev 453539
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P4: Update online/offline status to socket process r=dragana,mayhemer Differential Revision: https://phabricator.services.mozilla.com/D14161
7c4eddc3a80db9c9166d84314bd7a35629868857: Bug 1513057 - P3: Setup memory reporter on socket process r=dragana,mayhemer
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 20:52:39 +0000 - rev 453538
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P3: Setup memory reporter on socket process r=dragana,mayhemer To setup memory reporter on socket process, this patch modifies the PSocketProcess protocol to implement the same memory reporting functions as the PContent and PGPU protocols. Differential Revision: https://phabricator.services.mozilla.com/D14155
ba234cd899206aa59916f03d7742893f775a3a99: Bug 1513057 - P2: Setup crash reporter on socket process r=dragana,mayhemer
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 18:48:25 +0000 - rev 453537
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P2: Setup crash reporter on socket process r=dragana,mayhemer This patch is quite straightforward. Just add socket process support. Differential Revision: https://phabricator.services.mozilla.com/D14151
696250a73120f4f407988ee499c6c5398816cdaa: Bug 1513057 - P1.1: Create a reusable class to pass prefs to child processes r=dragana
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 18:39:22 +0000 - rev 453536
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P1.1: Create a reusable class to pass prefs to child processes r=dragana Differential Revision: https://phabricator.services.mozilla.com/D14970
c083f11eb58d510309b4e85578609dc8c2c7c902: Bug 1513057 - P1: Start the new socket process basics (prefs, full xpcom init, logging, no sandboxing) r=mayhemer,dragana
Kershaw Chang <kershaw@mozilla.com> - Fri, 11 Jan 2019 18:57:23 +0000 - rev 453535
Push 35360 by nbeleuzu@mozilla.com at Sat, 12 Jan 2019 09:39:47 +0000
Bug 1513057 - P1: Start the new socket process basics (prefs, full xpcom init, logging, no sandboxing) r=mayhemer,dragana Differential Revision: https://phabricator.services.mozilla.com/D14148
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 tip