searching for reviewer(botond)
23a7236dd17abf22f57b2e0d5efa1bffc50293d8: Bug 1654179 - Use nsIDOMWindowUtils.setResolutionAndScaleTo and specifying a relatively small scale value instead of zoom in the content. r=botond, a=test-only
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Mon, 03 Aug 2020 20:56:18 +0000 - rev 606700
Push 13509 by ryanvm@gmail.com at Thu, 06 Aug 2020 20:34:47 +0000
Bug 1654179 - Use nsIDOMWindowUtils.setResolutionAndScaleTo and specifying a relatively small scale value instead of zoom in the content. r=botond, a=test-only So that we can work around the race condition that the test proceeds in the middle of the zooming in the content. Differential Revision: https://phabricator.services.mozilla.com/D85721
c67e80720f73f54635a7c785d44fe1dd72fbc8ff: Bug 1651511 - Add Desktop zooming to experiments. r=botond,fluent-reviewers,preferences-reviewers,tnikkel,flod,Gijs
Kris Taeleman <ktaeleman@mozilla.com> - Fri, 24 Jul 2020 20:16:40 +0000 - rev 606474
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1651511 - Add Desktop zooming to experiments. r=botond,fluent-reviewers,preferences-reviewers,tnikkel,flod,Gijs Differential Revision: https://phabricator.services.mozilla.com/D83574
ab1ea3d6a1bd4df86cebe569478d31c0766c6197: Bug 1655083 - Tweak sampled APZC scroll offset to prevent unnecessary temporary surface creation. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 24 Jul 2020 20:02:40 +0000 - rev 606472
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1655083 - Tweak sampled APZC scroll offset to prevent unnecessary temporary surface creation. r=botond Sometimes when sampling the APZC state we get a tiny non-zero async scroll delta to be applied to the layer transform. This is not user-visible but it does end up creating temporary surfaces in the layers code, and so is undesirable. We can avoid this by tweaking the sampled APZC scroll offset slightly. See comments in the patch for details. Differential Revision: https://phabricator.services.mozilla.com/D84855
0e9f81e8dcf306c209230eaf572ad307de017390: Bug 1638152 - Jank partial prerender transform animations and report the janked animations to the main-thread in each process on WebRender. r=botond,kats
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 21 Jul 2020 10:03:34 +0000 - rev 605786
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1638152 - Jank partial prerender transform animations and report the janked animations to the main-thread in each process on WebRender. r=botond,kats Differential Revision: https://phabricator.services.mozilla.com/D83202
40c7944580f7af0f38c767b4f0af9fd22f821251: Bug 1638152 - Inform transform value in the clip rectangle and the offset from the reference frame for the partial pre-render check on WebRender. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 21 Jul 2020 10:09:06 +0000 - rev 605785
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1638152 - Inform transform value in the clip rectangle and the offset from the reference frame for the partial pre-render check on WebRender. r=botond On WebRender there is no layer tree structures so that we can't accumulate transform values up to the nearest APZ's scroll layer by walking up the layer tree, or we can't tell a given transform animation is inside a perspective layer to decide whether we need to apply the offset from the reference frame or not [1]. So we get the accumulated transform by using nsLayoutUtils::GetTransformToAncestor on the main-thread and inform it to the compositor thread, and also inform the offset which is set conditionally [2] so that we don't need to tell whether the transform animation is inside a perspective layer or not on the compositor thread. I am not yet 100% sure that these values are same both on WebRender and non WebRender in all cases, once after partial pre-rendering transforms have been used in the wild well enough and any problem has not appeared, even if there are problems we should fix them then the non WebRender version should eventually use this same setup instead of walking up the layer tree. [1] https://searchfox.org/mozilla-central/rev/85ae3b911d5fcabd38ef315725df32e25edef83b/gfx/layers/CompositorAnimationStorage.cpp#273-275 [2] https://searchfox.org/mozilla-central/rev/85ae3b911d5fcabd38ef315725df32e25edef83b/layout/painting/nsDisplayList.cpp#7879-7891 Differential Revision: https://phabricator.services.mozilla.com/D83201
20a67e1bdc65160a0fc31ccf84b46228370622c5: Bug 1638152 - Add a reftest to make sure that the offset from the reference frame is surely factored into the jank mechanism. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 21 Jul 2020 10:02:56 +0000 - rev 605784
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1638152 - Add a reftest to make sure that the offset from the reference frame is surely factored into the jank mechanism. r=botond This is a test case which will fail if we didn't factor the position of the transform from the reference frame in the jank mechanism in cases where the transform is inside a perspective layer. In the case of non WebRender, we've already factored it in FrameTransformToTransformInDevice() [1]. For WebRender we will need to factor it in a different way becase there is no layer tree structures so that we can't tell whether the transform is inside a perspective layer or not by looking at the parent layer. Note that, as of now, this test doesn't fail on WebRender since there is no jank mechanism on WebRender yet. [1] https://searchfox.org/mozilla-central/rev/7ec7ee4a9bde171ba195ab46ed6077e4baaef34d/gfx/layers/CompositorAnimationStorage.cpp#276-282 Differential Revision: https://phabricator.services.mozilla.com/D83200
a4c0986541a198b5c51fd07a5d58db556cf3f966: Bug 1652190 - Don't expand the composition size including the dynamic toolbar height if the root content is not scrollable. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 21 Jul 2020 02:53:09 +0000 - rev 605758
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1652190 - Don't expand the composition size including the dynamic toolbar height if the root content is not scrollable. r=botond Differential Revision: https://phabricator.services.mozilla.com/D83601
3771514846cfb9311697ac4a5530c61c18333e71: Bug 1652190 - Set nsPresContext::mDynamicToolbarHeight in nsPresContext::SetDynamicToolbarMaxHeight. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 21 Jul 2020 02:52:51 +0000 - rev 605757
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1652190 - Set nsPresContext::mDynamicToolbarHeight in nsPresContext::SetDynamicToolbarMaxHeight. r=botond nsPreContext::mDynamicToolbarHeight is representing the state of the dynamic toolbar in transition or is being collapsed. So if we leave the value as it is, we misrecognize the state, the visual viewport width/height are significantly affected by the misrecognition, it returns 0 because in the collapsed or the transition state, it returns the special value [1] which is never properly set without calling nsPresContext::UpdateDynamicToolbarOffset. This mismatching state doesn't much matter in the real sites since we don't often change the max height of the dynamic toolbar but in automated tests it's a big problem. In fact a test case which will be introduced in the next commit will not work properly without this fix. [1] https://searchfox.org/mozilla-central/rev/1b95a0179507a4dc7d4b0c94c2df420dc1a72885/dom/base/VisualViewport.cpp#78 Differential Revision: https://phabricator.services.mozilla.com/D83902
c9b542fa695715408d2aca514534be264ceba39c: Bug 1540988 - Don't do trackpad-based pinch zooming if keyboard modifiers are present. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Mon, 20 Jul 2020 21:13:23 +0000 - rev 605735
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1540988 - Don't do trackpad-based pinch zooming if keyboard modifiers are present. r=botond Differential Revision: https://phabricator.services.mozilla.com/D84204
6efdddefc4f0cad0bdaf03abab34348b6a5fd5c1: Bug 1652877 - Make ctrl-shift-minus zoom out like ctrl-shift-plus zooms in. r=botond,flod,fluent-reviewers
Kris Taeleman <ktaeleman@mozilla.com> - Sat, 18 Jul 2020 06:14:19 +0000 - rev 605630
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1652877 - Make ctrl-shift-minus zoom out like ctrl-shift-plus zooms in. r=botond,flod,fluent-reviewers Differential Revision: https://phabricator.services.mozilla.com/D83570
498a364e1d4f6156e77df745cd5e2a32e1b89cbb: Bug 1516056 - Follow-up to remove dangling reference to a fixed bug. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 16 Jul 2020 16:16:12 +0000 - rev 605133
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1516056 - Follow-up to remove dangling reference to a fixed bug. r=botond DONTBUILD because comment-only change. Differential Revision: https://phabricator.services.mozilla.com/D83795
ff1a0c64ae96ab64fd2a88b23a24b9cf0e53fe2e: Bug 1650438 - Don't expand the dirty rect for fixed items during a partial update. r=mstange,botond
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 16 Jul 2020 15:59:03 +0000 - rev 605132
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650438 - Don't expand the dirty rect for fixed items during a partial update. r=mstange,botond When doing a display list build, there's some code that expands the dirty and visible rects for out-of-flow items to include the entire visual viewport or displayport, because out-of-flow items are specially positioned in the compositor and may become visible without the main thread knowing about it. However, this happens even during partial updates using retained display lists, which I believe is undesirable because the preceding non-partial update should already have painted all the right things. The partial update should be restricted to the part of the OOF item that actually need repainting, and the merging of the partial update into the full display list should produce a final display list that covers everything. Differential Revision: https://phabricator.services.mozilla.com/D82216
7c2df2ae1ac5d0bbb1e67638c480540de3e55020: Bug 1652207 - Make IntCoordTyped and CoordTyped derive from units. r=botond
Ting-Yu Lin <tlin@mozilla.com> - Wed, 15 Jul 2020 21:53:26 +0000 - rev 605030
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1652207 - Make IntCoordTyped and CoordTyped derive from units. r=botond The GCC versions we needed to work around are no longer supported. Our current minimum requirement for GCC is 7.1 per https://groups.google.com/forum/#!msg/mozilla.dev.platform/ygj-1MDVB4M/CLxE_7OcBAAJ Differential Revision: https://phabricator.services.mozilla.com/D83232
91c8562434a994456cc1ef5f691e80f26f665c41: Bug 1646891 - Ensure the pinch gesture inputs dispatched to gecko have a refpoint set. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 15 Jul 2020 22:41:10 +0000 - rev 605018
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1646891 - Ensure the pinch gesture inputs dispatched to gecko have a refpoint set. r=botond Differential Revision: https://phabricator.services.mozilla.com/D83376
a0fd519f9e44a529a65442c931eead08071a8973: Bug 1651736 - Remove unnecessary includes from LayersMessageUtils.h. r=botond
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 15 Jul 2020 12:47:00 +0000 - rev 604953
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1651736 - Remove unnecessary includes from LayersMessageUtils.h. r=botond Differential Revision: https://phabricator.services.mozilla.com/D83099
5ebda1ea24416b39a140d8e28d4b97c6c207b1e4: Bug 1651736 - Reduce expensive includes for LayersMessageUtils.h. r=botond
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 15 Jul 2020 13:21:23 +0000 - rev 604947
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1651736 - Reduce expensive includes for LayersMessageUtils.h. r=botond This reduces the number of includes of LayersMessageUtils.h from 270 to 199 on Linux. Differential Revision: https://phabricator.services.mozilla.com/D82941
102ed3aff763b1cbd0ff85ee003ffa21c2b55e03: Bug 1625925 Part 1: Change touch-simulator.js synthesizeNative methods to use screen coordinates directly. r=botond
Brad Werth <bwerth@mozilla.com> - Mon, 13 Jul 2020 20:39:52 +0000 - rev 604838
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1625925 Part 1: Change touch-simulator.js synthesizeNative methods to use screen coordinates directly. r=botond This removes the calculation method coordinatesRelativeToScreen in favor of using the event-supplied screen coordinates. Those coordinates are scaled to device coordinates to meet expectations of the sendNative methods. Differential Revision: https://phabricator.services.mozilla.com/D74161
70f82d43b8b8eb370a26330ff5842479870e348b: Bug 1651910 - Fix a silly typo for the forward declaration Layer. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 14 Jul 2020 02:28:24 +0000 - rev 604692
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1651910 - Fix a silly typo for the forward declaration Layer. r=botond Differential Revision: https://phabricator.services.mozilla.com/D83038
dc88ab9001b80f2603e0c7460ce17df6abd9108f: Bug 1647735 - In RDM, ICB fallback width should be the simulated device's width if larger than the desktop viewport default. r=botond
Micah Tigley <mtigley@mozilla.com> - Fri, 10 Jul 2020 18:26:31 +0000 - rev 604338
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1647735 - In RDM, ICB fallback width should be the simulated device's width if larger than the desktop viewport default. r=botond Differential Revision: https://phabricator.services.mozilla.com/D82311
bb88c365b8288f8fa66da7e2a360cbd85276d628: Bug 1647735 - In RDM, ICB fallback width should be the simulated device's width if larger than the desktop viewport default. r=botond
Micah Tigley <mtigley@mozilla.com> - Tue, 07 Jul 2020 20:09:38 +0000 - rev 603986
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1647735 - In RDM, ICB fallback width should be the simulated device's width if larger than the desktop viewport default. r=botond Differential Revision: https://phabricator.services.mozilla.com/D82311
52b2fa0697c82ed6bedacf3fb905b99410a0a9b4: Bug 1651027 - Mitigate race condition caused by updating mExpectedGeckoMetrics on the repaint thread. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 09 Jul 2020 00:17:28 +0000 - rev 603852
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1651027 - Mitigate race condition caused by updating mExpectedGeckoMetrics on the repaint thread. r=botond When we request a content repaint from the controller thread, we might then subsequently compute an apzc-to-gecko transform that expects the mExpectedGeckoMetrics quantity to have been updated to reflect the content repaint. However, if the content repaint got bounced to the repaint thread, that may not have happened, if the repaint thread hasn't run yet. This is a data race that can cause glitching in the apzc-to-gecko transform computation. This patch addresses it by also synchronously updating the mExpectedGeckoMetrics synchronously before bouncing to the repaint thread. The repaint thread will re-update the mExpectedGeckoMetrics which should generally be a no-op, unless other updates snuck in between, in which case we *do* want to do that re-update. Differential Revision: https://phabricator.services.mozilla.com/D82762
9237a6c459eb49270490383a077d804095d00dde: Bug 1651027 - Create a new trimmed-down class to store the expected gecko metrics. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 08 Jul 2020 22:16:09 +0000 - rev 603851
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1651027 - Create a new trimmed-down class to store the expected gecko metrics. r=botond We only use three fields from this so keeping a whole FrameMetrics around seems heavyweight. We could even reduce it two fields by combining the zoom with the devPixelsPerCSSPixel ratio but it seems a bit cleaner and more consistent to do the division at the use site. Differential Revision: https://phabricator.services.mozilla.com/D82761
bbc213aa30a350c86e703b227a96cef9e1669e5e: Bug 1650868 - Make the async zoom containment checks subtree-specific. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Tue, 07 Jul 2020 00:24:26 +0000 - rev 603407
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650868 - Make the async zoom containment checks subtree-specific. r=botond Differential Revision: https://phabricator.services.mozilla.com/D82438
56b372581da9a35cd99c2282c838a3549575a7a7: Bug 1650488 - Don't build an async zoom container if a document is in fullscreen. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Mon, 06 Jul 2020 20:31:00 +0000 - rev 603355
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650488 - Don't build an async zoom container if a document is in fullscreen. r=botond When a document has a fullscreen element, zooming is disabled, so we don't need to build the async zoom container. But also, fullscreen is implemented via hoisting the fullscreen element out of the normal layout flow, and making it position:fixed. If the nsDisplayAsyncZoom display item is still in the display list, it has a clip that doesn't account for fullscreen-ness, but still wraps the nsDisplayPositionFixed items that are rendering the fullscreen elements. This can result in hit-testing failing on those fullscreen items, because the nsDisplayAsyncZoom item incorrectly clips away hit-test points. Instead, a simple solution here is to just skip building the nsDisplayAsyncZoom item entirely when in a fullscreen state. Differential Revision: https://phabricator.services.mozilla.com/D82422
46170808175a17777b53ec5efb25e8a611e48ac8: Bug 1650848 - Make the root scroller actually scrollable in the test. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Mon, 06 Jul 2020 17:45:36 +0000 - rev 603330
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650848 - Make the root scroller actually scrollable in the test. r=botond The body tag has special behaviour and this page doesn't behave as one might expect if the body tag were a div, for example. The root scroller here is still the html element, and if the browser window is taller than 1000px it's not considered scrollable. And on Android, with the initial-scale that gets applied, the root scroller is actually not scrollable. This patch fixes it to ensure the root scroller is actually scrollable in testing scenarios. Differential Revision: https://phabricator.services.mozilla.com/D82411
ee17c86a69b4249c8112787ac6d44ef548e5a82f: Bug 1650686 - Drop layout.viewport_contains_no_contents_area. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Mon, 06 Jul 2020 09:53:34 +0000 - rev 603256
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650686 - Drop layout.viewport_contains_no_contents_area. r=botond I suppose it's been well tested on Fenix. Differential Revision: https://phabricator.services.mozilla.com/D82305
e80da7e54fa625b7cf0c280c2b9caeb16e6a894b: Bug 1647186 - Apply the cumulative resolution smaller than 1.0 to the root frame size for the partial pre-render. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 23:17:02 +0000 - rev 603232
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1647186 - Apply the cumulative resolution smaller than 1.0 to the root frame size for the partial pre-render. r=botond So that we can reasonably expand the pre-render region on mobile environments. Differential Revision: https://phabricator.services.mozilla.com/D81961
5c22eb861a6340c52dd5be4077784625cb3e60eb: Bug 1324591 - Disable partial pre-render for frames in position:sticky subtree. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 11:45:59 +0000 - rev 603218
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Disable partial pre-render for frames in position:sticky subtree. r=botond Depends on D75732 Differential Revision: https://phabricator.services.mozilla.com/D77774
5d5e5aafec2f3c8f1c66e99c2c74b078647f7b5f: Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 11:45:01 +0000 - rev 603217
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris The machinery to report janked animations is; 1) Store the partial pre-rendered animation id and the Animation object in a hashtable in LayerManager 2) Store the animation id in the Animation object as well 3) When we detect jank, we send the animation id to the main-thread via an IPC call 4) Find the Animation object with the id in the hashtable and update the Animaiton 5) Whenever the partial pre-rendered Animation stop running on the compositor i.e. the Animation finished normally, the Animation's target element is changed, etc. etc., remove the Animation from the hashtable Depends on D75731 Differential Revision: https://phabricator.services.mozilla.com/D75732
76d8caea7f12efa8ab0a09c5f41dbfc8cd302d3f: Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 11:44:18 +0000 - rev 603216
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel Depends on D81481 Differential Revision: https://phabricator.services.mozilla.com/D75731
face25a6c173990ce7c07d561f2ef57bf6d6e666: Bug 1324591 - Add APZSampler::GetCompositionBounds to get the composition bounds for a given pair of LayersId and scrollId. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 11:43:45 +0000 - rev 603215
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Add APZSampler::GetCompositionBounds to get the composition bounds for a given pair of LayersId and scrollId. r=botond Depends on D75730 Differential Revision: https://phabricator.services.mozilla.com/D81481
a77c8f5e7ec7cc27ef0bbfb0b847e7373dcacce8: Bug 1324591 - Inform the partial prerender rect, the overflowed SideBits, the scroll id of the nearest scrollable frame and its rectable to the compositor. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 11:43:33 +0000 - rev 603214
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Inform the partial prerender rect, the overflowed SideBits, the scroll id of the nearest scrollable frame and its rectable to the compositor. r=botond nsDisplayTransform doesn't have enough room to store the partial prerender rect and the overflowed SideBits unfortunately (it will exceed 512 bytes limit [1]). So we get the partial prerender rect and calculate the overflowed SideBits just before we send transform animation information to the compositor. [1] https://searchfox.org/mozilla-central/rev/fa52bedc4b401c12251513fa1c9df1753a29abb2/layout/painting/nsDisplayList.cpp#7318 Depends on D81480 Differential Revision: https://phabricator.services.mozilla.com/D75730
b4248fe63414081c113e4eceb7a4b9d0c9e94dad: Bug 1324591 - Store PrerenderDecision in nsDisplayTransform. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 11:43:07 +0000 - rev 603212
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Store PrerenderDecision in nsDisplayTransform. r=botond Depends on D75728 Differential Revision: https://phabricator.services.mozilla.com/D75729
290c0c7b98645cc4db2ced1ae06b68e6e23688e4: Bug 1647186 - Apply the cumulative resolution smaller than 1.0 to the root frame size for the partial pre-render. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 09:57:36 +0000 - rev 603207
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1647186 - Apply the cumulative resolution smaller than 1.0 to the root frame size for the partial pre-render. r=botond So that we can reasonably expand the pre-render region on mobile environments. Differential Revision: https://phabricator.services.mozilla.com/D81961
75966ee1fe658b1767d7459256175c0662d14c25: Bug 1324591 - Disable partial pre-render for frames in position:sticky subtree. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 02:21:09 +0000 - rev 603206
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Disable partial pre-render for frames in position:sticky subtree. r=botond Differential Revision: https://phabricator.services.mozilla.com/D77774
d6a01c6bc40efca63c4a9bd8f2eca1bfbb9a9619: Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 02:21:01 +0000 - rev 603205
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris The machinery to report janked animations is; 1) Store the partial pre-rendered animation id and the Animation object in a hashtable in LayerManager 2) Store the animation id in the Animation object as well 3) When we detect jank, we send the animation id to the main-thread via an IPC call 4) Find the Animation object with the id in the hashtable and update the Animaiton 5) Whenever the partial pre-rendered Animation stop running on the compositor i.e. the Animation finished normally, the Animation's target element is changed, etc. etc., remove the Animation from the hashtable Differential Revision: https://phabricator.services.mozilla.com/D75732
fef36ff2ea3de3160d2a994dba9d15980b6e7ba6: Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 02:20:23 +0000 - rev 603204
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel Differential Revision: https://phabricator.services.mozilla.com/D75731
4a4ae4bd95d12d1ac3108ec65028aacd35e822b5: Bug 1324591 - Add APZSampler::GetCompositionBounds to get the composition bounds for a given pair of LayersId and scrollId. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 02:19:45 +0000 - rev 603203
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Add APZSampler::GetCompositionBounds to get the composition bounds for a given pair of LayersId and scrollId. r=botond Differential Revision: https://phabricator.services.mozilla.com/D81481
732804c83add624506877c502bb0676736efd9cd: Bug 1324591 - Inform the partial prerender rect, the overflowed SideBits, the scroll id of the nearest scrollable frame and its rectable to the compositor. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 02:19:38 +0000 - rev 603202
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Inform the partial prerender rect, the overflowed SideBits, the scroll id of the nearest scrollable frame and its rectable to the compositor. r=botond nsDisplayTransform doesn't have enough room to store the partial prerender rect and the overflowed SideBits unfortunately (it will exceed 512 bytes limit [1]). So we get the partial prerender rect and calculate the overflowed SideBits just before we send transform animation information to the compositor. [1] https://searchfox.org/mozilla-central/rev/fa52bedc4b401c12251513fa1c9df1753a29abb2/layout/painting/nsDisplayList.cpp#7318 Differential Revision: https://phabricator.services.mozilla.com/D75730
e6c74ba4100780e4b77b65dd26734f0e1c423e22: Bug 1324591 - Store PrerenderDecision in nsDisplayTransform. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 05 Jul 2020 02:19:07 +0000 - rev 603200
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1324591 - Store PrerenderDecision in nsDisplayTransform. r=botond Differential Revision: https://phabricator.services.mozilla.com/D75729
e326e1e4155df133fdddb8dd25e787af1294dcb1: Bug 1650081 - Use scrollbar-width:none instead of overflow:hidden to hide scrollbars. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 03 Jul 2020 19:50:11 +0000 - rev 603167
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650081 - Use scrollbar-width:none instead of overflow:hidden to hide scrollbars. r=botond Instead of using overflow:hidden on the body to hide the scrollbar, this patch sets scrollbar-width:none on the html element. In some cases overflow:hidden is set on non-root scrollers (i.e. div elements); in those cases it is replaced by overflow:scroll;scrollbar-width:none to get an equivalent effect. One test had a pre-existing visible scrollbar on a nested scrollframe, but which started failing with a small fuzz difference. I left the scrollbar as-is and added an annotation to the reftest.list file. Note that this only updates the tests that use reftest-async-scroll as those were the cases that were easily detectable, and causing problems with the apz.allow_zooming=true pref. Differential Revision: https://phabricator.services.mozilla.com/D82032
bd58cdafe3c92faff03b8d810898ae9ce9f6ee0b: Bug 1650081 - Use scrollbar-width:none instead of overflow:hidden to hide scrollbars. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 03 Jul 2020 16:07:51 +0000 - rev 603143
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1650081 - Use scrollbar-width:none instead of overflow:hidden to hide scrollbars. r=botond Instead of using overflow:hidden on the body to hide the scrollbar, this patch sets scrollbar-width:none on the html element. In some cases overflow:hidden is set on non-root scrollers (i.e. div elements); in those cases it is replaced by overflow:scroll;scrollbar-width:none to get an equivalent effect. One test had a pre-existing visible scrollbar on a nested scrollframe, but which started failing with a small fuzz difference. I left the scrollbar as-is and added an annotation to the reftest.list file. Note that this only updates the tests that use reftest-async-scroll as those were the cases that were easily detectable, and causing problems with the apz.allow_zooming=true pref. Differential Revision: https://phabricator.services.mozilla.com/D82032
17dcdaec53ae5bb0f15105cabcc0235e49512679: Bug 1644567 - Use a more appropriate check when reading the visual viewport offset. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 03 Jul 2020 15:55:56 +0000 - rev 603142
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1644567 - Use a more appropriate check when reading the visual viewport offset. r=botond Instead of checking for the visual viewport *size* being set, we check for the *offset* being set. This makes more sense becuase we're going to be reading the offset, not the size. Depends on D81740 Differential Revision: https://phabricator.services.mozilla.com/D81741
2074703b711cd0460ab34a282cf2b7a8c1b3710f: Bug 1644567 - Move towards setting the visual viewport offset on all presShells. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 03 Jul 2020 15:55:23 +0000 - rev 603141
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1644567 - Move towards setting the visual viewport offset on all presShells. r=botond Depends on D81739 Differential Revision: https://phabricator.services.mozilla.com/D81740
df4f6829484a1e1cbde79bf89a211c27d4c26220: Bug 1644567 - Add another case to the test for scroll restoration during frame reconstruction. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 03 Jul 2020 16:09:58 +0000 - rev 603140
Push 13434 by ffxbld-merge at Mon, 27 Jul 2020 16:59:11 +0000
Bug 1644567 - Add another case to the test for scroll restoration during frame reconstruction. r=botond This adds another case to this test, which is specifically intended to bypass any short-circuit resulting from the clamped scroll offset being the same as the scrollframe's existing scroll offset. The pre-existing case in the tests shortens the scrollframe to be non-scrollable, so the clamped mRestorePos for the scrollframe is 0, which is the same as the default scroll position of the reconstructed scrollframe. The new case ensures the clamped mRestorePos is greater than zero, to verify that scroll restoration works as intended in that scenario as well. Differential Revision: https://phabricator.services.mozilla.com/D81739
d1397dcc127d154e794327a9df9d1263892cf060: Bug 1647735 - In RDM, ICB fallback width should be the simulated device's width if larger than the desktop viewport default. r=botond, a=RyanVM
Micah Tigley <mtigley@mozilla.com> - Fri, 10 Jul 2020 18:26:31 +0000 - rev 602075
Push 13413 by ryanvm@gmail.com at Tue, 14 Jul 2020 21:20:05 +0000
Bug 1647735 - In RDM, ICB fallback width should be the simulated device's width if larger than the desktop viewport default. r=botond, a=RyanVM Differential Revision: https://phabricator.services.mozilla.com/D82311
69016cdd3f2e60c68b6aed82110cd35f84bb540c: Bug 1643884 - Don't run APZCCallbackHelper::NotifyPinchGesture synchronously to avoid re-entrancy in InputQueue::ProcessQueue. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 12 Jun 2020 16:45:28 +0000 - rev 599601
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1643884 - Don't run APZCCallbackHelper::NotifyPinchGesture synchronously to avoid re-entrancy in InputQueue::ProcessQueue. r=botond Differential Revision: https://phabricator.services.mozilla.com/D79459
5fc6a75cec34d46302d538e8aa2ac6812ab68d73: Bug 1644829 - Avoid using SimpleTest.is etc. in helper subtests run by runSubtestsSeriallyInFreshWindows. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 10 Jun 2020 19:35:48 +0000 - rev 599047
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1644829 - Avoid using SimpleTest.is etc. in helper subtests run by runSubtestsSeriallyInFreshWindows. r=botond Using `SimpleTest.is` directly instead of the "global" `is` installed by runSubtestsSeriallyInFreshWindows means that the helper test filename doesn't get emitted in the assertions, which is a nice thing to have. (Ditto for `ok` and friends). Problematic tests identified using: for helper in helper_*.html; do if [[ $(grep "$helper" test_group*) ]]; then echo $helper; grep -e 'SimpleTest.\(is\|ok\)' "$helper"; fi; done While it would be nice to catch this sort of thing directly in the code, it's a bit tricky to do because SimpleTest.(ok|is) do get used legitimately by helper methods that are used by group subtests and top-level tests. Depends on D79171 Differential Revision: https://phabricator.services.mozilla.com/D79172
affabc9da77a85deb1537dc714d5edcb15ec012a: Bug 1644829 - Add an `isnot` reflection to the subtest window as well. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 10 Jun 2020 19:35:45 +0000 - rev 599046
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1644829 - Add an `isnot` reflection to the subtest window as well. r=botond Depends on D79170 Differential Revision: https://phabricator.services.mozilla.com/D79171
7adac05ff314cd6ba936fb20c06d83cbdc618630: Bug 1644829 - For consistency ensure all tests that use runSubtestsSeriallyInFreshWindows have a _group in the name. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 10 Jun 2020 19:34:47 +0000 - rev 599045
Push 13310 by ffxbld-merge at Mon, 29 Jun 2020 14:50:06 +0000
Bug 1644829 - For consistency ensure all tests that use runSubtestsSeriallyInFreshWindows have a _group in the name. r=botond Differential Revision: https://phabricator.services.mozilla.com/D79170