searching for reviewer(botond)
f22555d3d4764235c02ab6c75c9abfe2f07d6c09: Bug 1725569. Send visualViewport resize events for iframes. r=botond, a=RyanVM
Timothy Nikkel <tnikkel@gmail.com> - Wed, 13 Oct 2021 03:01:34 +0000 - rev 663270
Push 15934 by ryanvm@gmail.com at Thu, 14 Oct 2021 18:53:57 +0000
Bug 1725569. Send visualViewport resize events for iframes. r=botond, a=RyanVM Differential Revision: https://phabricator.services.mozilla.com/D127941
c152f1dcbc7b3b7f22d8d15dc3cd89e05ee47019: Bug 1726692 - End non-scrollable mouse wheel transaction when mouse moves to a different APZC. r=botond;
Edgar Chen <echen@mozilla.com> - Thu, 30 Sep 2021 08:52:51 +0000 - rev 662747
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1726692 - End non-scrollable mouse wheel transaction when mouse moves to a different APZC. r=botond; Differential Revision: https://phabricator.services.mozilla.com/D126080
d75fa78385e41556dfdc2cdeeb363cdf2309fe6b: Bug 1732423. Backout https://hg.mozilla.org/mozilla-central/rev/743007ddfecc from bug 1731929 because we don't need it anymore. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 30 Sep 2021 05:55:36 +0000 - rev 662737
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1732423. Backout https://hg.mozilla.org/mozilla-central/rev/743007ddfecc from bug 1731929 because we don't need it anymore. r=botond Depends on D126577 Differential Revision: https://phabricator.services.mozilla.com/D126578
2177a06991260481379c1cd80eb19c090e8e6a19: Bug 1732423. Change units of FrameMetrics::mTransformToAncestorScale from unknown to ParentLayerToScreenScale2D. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 30 Sep 2021 05:55:36 +0000 - rev 662736
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1732423. Change units of FrameMetrics::mTransformToAncestorScale from unknown to ParentLayerToScreenScale2D. r=botond Differential Revision: https://phabricator.services.mozilla.com/D126577
29eac735718d94a4a675f260f42a8c19d8ddc1db: Bug 1731933. Include transform scale when interpreting danger zone values. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 23 Sep 2021 22:18:25 +0000 - rev 662105
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1731933. Include transform scale when interpreting danger zone values. r=botond LayersPixelsPerCSSPixel in the layers world would include the transform scale. I think we still want that behaviour. Since we multiply the displayport that results after ExpandDisplayPortToDangerZone by a scale that includes the transform scale, if we don't do this then we expand the displayport by more screen pixels the bigger the scale transform we have applied. Differential Revision: https://phabricator.services.mozilla.com/D126307
93d9266d00ed21389c401a0b1c638043657a6ca6: Bug 1729784. Remove unused FrameMetrics::mExtraResolution. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 23 Sep 2021 22:07:26 +0000 - rev 662102
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1729784. Remove unused FrameMetrics::mExtraResolution. r=botond Differential Revision: https://phabricator.services.mozilla.com/D124978
8c360067b648d90a10123fc2afe1b3a51ba573ce: Bug 1731929. Use mTransformToAncestorScale instead of mExtraResolution in DisplayportPixelsPerCSSPixel. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 23 Sep 2021 10:29:45 +0000 - rev 662032
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1731929. Use mTransformToAncestorScale instead of mExtraResolution in DisplayportPixelsPerCSSPixel. r=botond Some explanation in https://phabricator.services.mozilla.com/D126304 This should have no functional change since mExtraResolution = 1 / mTransformToAncestorScale. Differential Revision: https://phabricator.services.mozilla.com/D126306
743007ddfeccedb66e8d03cc30f9b741bd4da81d: Bug 1731929. Allow ViewAs for ScaleFactors2D coming from unknown units. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 23 Sep 2021 10:29:44 +0000 - rev 662031
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1731929. Allow ViewAs for ScaleFactors2D coming from unknown units. r=botond Differential Revision: https://phabricator.services.mozilla.com/D126440
5b25ba729a21b87c06a58f21c520177ad3f6c8a0: Bug 1731929. Add transform to ancestor scale to FrameMetrics/RepaintRequest. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 23 Sep 2021 10:29:44 +0000 - rev 662030
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1731929. Add transform to ancestor scale to FrameMetrics/RepaintRequest. r=botond Differential Revision: https://phabricator.services.mozilla.com/D126305
733426f33aa857ba29d81fc00e1e070ca422f450: Bug 1731921. Have CalculateBasicFrameMetrics compute resolution values the same as ComputeScrollMetadata. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Wed, 22 Sep 2021 23:51:36 +0000 - rev 661983
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1731921. Have CalculateBasicFrameMetrics compute resolution values the same as ComputeScrollMetadata. r=botond Before this patch: CalculateBasicFrameMetrics -cumulative resolution = presshell resolution * transform to ancestor scale -extra resolution = 1 ComputeScrollMetadata -cumulative resolution = presshell resolution -extra resolution = 1 / transform to ancestor scale After this patch: CalculateBasicFrameMetrics and ComputeScrollMetadata -cumulative resolution = presshell resolution -extra resolution = 1 / transform to ancestor scale CalculateBasicFrameMetrics is used to compute a displayport and in the double tap code. In general having CalculateBasicFrameMetrics match ComputeScrollMetadata as much as is reasonable is good. Extra resolution is only used for display port related things. Specifically we use DisplayportPixelsPerCSSPixel on FrameMetrics/RepaintRequest. DisplayportPixelsPerCSSPixel = zoom / extra resolution = cumulative resolution / extra resolution In both cases (CalculateBasicFrameMetrics and ComputeScrollMetadata before this patch) this yields presshell resolution * transform to ancestor scale. So this patch should make no change to displayport related computations and is just bringing these functions inline with each other. Unrelated to this patch, but note that the extra resolution being 1 / transform to ancestor scale isn't intuitive but it still yields the value that we want from DisplayportPixelsPerCSSPixel. Differential Revision: https://phabricator.services.mozilla.com/D126304
d45da894beb98ba8bdeddbee00d10ea604735806: Bug 1731047. Respect general.smoothScroll = false even if general.smoothScroll.msdPhysics.enabled = true. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Sat, 18 Sep 2021 09:25:08 +0000 - rev 661412
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1731047. Respect general.smoothScroll = false even if general.smoothScroll.msdPhysics.enabled = true. r=botond Main thread scrolls already respect it, but when we moved these to be done by apz we evidently overlooked this. Differential Revision: https://phabricator.services.mozilla.com/D125821
9c9c031bf2d5df00d0f269676d0509e057e707fb: Bug 1730741 part 1: Export MobileViewportManager's LazyLogModule in a more structured way. r=botond
Daniel Holbert <dholbert@cs.stanford.edu> - Wed, 15 Sep 2021 18:48:16 +0000 - rev 661071
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1730741 part 1: Export MobileViewportManager's LazyLogModule in a more structured way. r=botond Before this patch, PresShell.cpp tries to reuse a LazyLogModule that's defined in MobileViewportManager.cpp, which isn't actually declared in any header. This prevents the build from linking, unless we're lucky enough to have these two source files concatenated together via our unified build. This patch promotes this LazyLogModule to be an actual static member-var on the MobileViewportManager class, so that it can be exported and used externally in a more structured way. This makes it consistent with the very-similar "PresShell::gLog" member-variable. Differential Revision: https://phabricator.services.mozilla.com/D125600
8c9e9d61fc322fad479d14e993990102ecaedae8: Bug 1729606. Remove unused LayerClip, Layer::Get/SetScrolledClip, Layer::*AncestorMaskLayer* and related code. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Tue, 14 Sep 2021 00:05:49 +0000 - rev 660833
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1729606. Remove unused LayerClip, Layer::Get/SetScrolledClip, Layer::*AncestorMaskLayer* and related code. r=botond Depends on D125473 Differential Revision: https://phabricator.services.mozilla.com/D125476
81da9afea6c69eb0d933f223bb68c6b8542a2cf0: Bug 1729606. Remove unused ScrollMetadata::mScrollClip. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Tue, 14 Sep 2021 00:05:48 +0000 - rev 660832
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1729606. Remove unused ScrollMetadata::mScrollClip. r=botond Differential Revision: https://phabricator.services.mozilla.com/D125473
aa1e0da893034d02fbcee39cc63428a238982b9f: Bug 1688888: decrease ui.*.radius.topmm on Android. r=botond
Michael Comella <michael.l.comella@gmail.com> - Sat, 11 Sep 2021 02:14:57 +0000 - rev 660666
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1688888: decrease ui.*.radius.topmm on Android. r=botond On one website, the touch input fluffing made an audio scrubber so large that it covered other playback controls, making them inaccessible. This patch addresses this problem by changing the top fluffing radius so it more closely matches the bottom radius. In our investigation, we found the top radius was added asymmetrically to the bottom radius without an explanation. We speculate the bottom bias was added because when you touch the screen, you tend to aim with the top part of your finger, near your fingernail, and sometimes the bottom part of your finger will also touch the screen, fat fingering it: if true, we would fluff the event less below the touch point (which is what the code was). I vaguely remember this fat fingering problem in the early 2010's but I haven't thought about it in recent years and I didn't notice this problem in my testing for this patch – perhaps device touch handling has just gotten better. Therefore, we feel safe to remove the bias. Differential Revision: https://phabricator.services.mozilla.com/D124267
e4d869b9f4cfb1a9174689d1657b87efd840dc2d: Bug 1726261 - Replace GetCrossDocParentFrame in GetNearestScrollableFrameForDirection with GetCrossDocParentFrameInProcess. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Thu, 09 Sep 2021 23:21:41 +0000 - rev 660562
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1726261 - Replace GetCrossDocParentFrame in GetNearestScrollableFrameForDirection with GetCrossDocParentFrameInProcess. r=botond Differential Revision: https://phabricator.services.mozilla.com/D122910
b643b1b8a32626e7fbcac240aa4b376ebeabda30: Bug 1729680. Make mCumulativeResolution on FrameMetrics include css transform scale with webrender. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 09 Sep 2021 05:11:48 +0000 - rev 660423
Push 15888 by ffxbld-merge at Mon, 04 Oct 2021 18:11:00 +0000
Bug 1729680. Make mCumulativeResolution on FrameMetrics include css transform scale with webrender. r=botond With non-wr cumulative resolution contained the presshell resolution, css transform scales, and so called extra resolution. The extra resolution came about from FrameLayerBuilder code called ChooseScale that sometimes chose to render at a larger resolution so that we didn't have to re-render on every frame for animating scales for example. Bug 1485834 is responsible for the current code and it looks it was just getting zooming to work at all on android with webrender. It put the presshell resolution into mCumulativeResolution. This would make zooming work as before this mCumulativeResolution would be 1. This is because mCumulativeResolution came from the ContainerParameters, which are an implementation detail of non-wr that wr didn't have. So it looks like bug 1485834 just used what was handy (the presshell resolution) to get zooming to work. Making this use GetTransformToAncestorScale means that we are the same as non-wr except for the extra resolution. I'm not sure that non-wr should have used the extra resolution, I think it would have been better off using GetTransformToAncestorScale as well. Using the scale from GetTransformToAncestorScale is what several other places do already: CalculateBasicFrameMetrics, and the code to compute our display port rect from the margins data, so this should be more consistent. More generally speaking, I think that other than the notable exceptions below, mCumulativeResolution only needs to be set to the presshell resolution, and it is okay to include the css transform scale or extra resolution as long as we do apply and un-apply it consistently. Most places that use mCumulativeResolution multiply it in one place and then divide it in another. The main exception to that is the display port size in the following places: 1. layer pixels computed using mCumulativeResolution are compared against prefs that are in layer pixels in ExpandDisplayPortToDangerZone https://searchfox.org/mozilla-central/rev/a166f59fba89fc70ebfab287f4edb8e05ed4f6da/gfx/layers/apz/src/AsyncPanZoomController.cpp#4072 2. GetDisplayportAlignmentMultiplier uses layer pixels computed using mCumulativeResolution to determine alignment https://searchfox.org/mozilla-central/rev/a166f59fba89fc70ebfab287f4edb8e05ed4f6da/gfx/layers/apz/src/AsyncPanZoomController.cpp#3969 3. CalculatePendingDisplayPort sets the final displayport margins in screen pixels computed using mCumulativeResolution https://searchfox.org/mozilla-central/rev/a166f59fba89fc70ebfab287f4edb8e05ed4f6da/gfx/layers/apz/src/AsyncPanZoomController.cpp#4171 4. GetDisplayPortFromMarginsData computes the actual displayport rect we use for painting using GetTransformToAncestorScale https://searchfox.org/mozilla-central/rev/a166f59fba89fc70ebfab287f4edb8e05ed4f6da/layout/base/DisplayPortUtils.cpp#296 Ideally this should match how we calculate the margins in CalculatePendingDisplayPort. One will note that after this patch extra resolution is always 1 (I plan to remove it in a followup), one might wonder if that is true with webrender. It is true that webrender still has ChooseScale https://searchfox.org/mozilla-central/rev/a166f59fba89fc70ebfab287f4edb8e05ed4f6da/gfx/layers/wr/StackingContextHelper.cpp#46 and it uses when it encounters content that it cannot natively render so it is rasterized or recorded in the content process. So content can get rasterized or recorded with extra resolution, however it doesn't make it to the wr side in a structured fashion. The items in question are sent to wr as "images" (blob images) with a rect that is equal to their layout rect, without any transforms, resolution, or extra resolution applied. The "images" themselves do contain the extra resolution but they would be drawn using that non-transformed layout rect, and in this case since they have a transform, that transform would be sent to wr on the stacking context pushed for that transform and then that transform would be applied. Wr would not except apz to know about this extra resolution and would not expect values it gets from apz to include this extra resolution. Now inside wr it could also do something similar where it renders at a resolution that differs from the presshell resolution + css transform scale, but that too would have to be completely internal to wr and it could not expect anyone outside of wr to know about. The other thing that simplifies this is that the only scrollframe that can have resolution (root content doc root scroll frame) cannot also be transformed. This means that when we are actually managing the zoom (on the rcd-rsf) we never have a css transform scale. And for subframes, other than the displayport sizing, we mostly just multiply and divide by cumulative resolution so it's specific value isn't that important. Differential Revision: https://phabricator.services.mozilla.com/D124905
6f9a4f3a3c3669ad589be8f586feb17dd5ba996b: Bug 1729087. Remove ScrollFrameHelper::mScrollPosForLayerPixelAlignment as it is unused with webrender. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Sat, 04 Sep 2021 03:56:50 +0000 - rev 659821
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1729087. Remove ScrollFrameHelper::mScrollPosForLayerPixelAlignment as it is unused with webrender. r=botond gfxVars::UseWebRender() is always true now. Differential Revision: https://phabricator.services.mozilla.com/D124510
0ba31a6b4959c8cb5542c5b4f9e006267e42a469: Bug 1728706. Use IsRootContentDocumentCrossProcess for top layer related optimization in ScrollFrameHelper::BuildDisplayList. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Fri, 03 Sep 2021 19:17:17 +0000 - rev 659785
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728706. Use IsRootContentDocumentCrossProcess for top layer related optimization in ScrollFrameHelper::BuildDisplayList. r=botond The reason this IsRootContentDocument check was added was because of a test where there is fixed pos content in the top layer of a subdocument. This fixed pos content gets removed from the display list as part of this optimization. So no WebRenderLayerScrollData gets created for the asr of this fixed pos content, which causes an assert. (from https://bugzilla.mozilla.org/show_bug.cgi?id=1664804#c18 ) The code that ensures there is WebRenderLayerScrollData for the root asr is here https://searchfox.org/mozilla-central/rev/55e8eba74b60b92d04b781f7928f54ef76b13fa9/gfx/layers/wr/WebRenderCommandBuilder.cpp#1636 and it happens for all root content documents in the process, so this optimization is valid for any root content document in the process. Differential Revision: https://phabricator.services.mozilla.com/D124298
a2e3f75c73a599ae365f626aceae99f78a4c5725: Bug 1728716. Remove IsRootContentDocument from dead code from old containerful scrolling in nsLayoutUtils::PaintFrame. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Fri, 03 Sep 2021 01:44:39 +0000 - rev 659683
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728716. Remove IsRootContentDocument from dead code from old containerful scrolling in nsLayoutUtils::PaintFrame. r=botond This code was originally added in https://hg.mozilla.org/mozilla-central/rev/5a7de0eb94fe1e24f4fc292020d6ac57672cbe58 The ignoreViewportScrolling indicates it was for containerful scrolling. Nowadays the only use of ignoreViewportScrolling is when this function is called via PresShell::RenderDocument, which means we aren't sending the results to the compositor in a structured form, and so scroll ids etc don't matter. We can remove this dead code. It should we fine to go into the following "else if"s in all cases without having to be the else of the if we are removing here. Differential Revision: https://phabricator.services.mozilla.com/D124306
66dda811958d5faaff50eaf7b72347df9b9f23cb: Bug 1728714. Use IsRootContentDocumentCrossProcess in nsLayoutUtils::CalculateBasicFrameMetrics. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Fri, 03 Sep 2021 01:40:09 +0000 - rev 659682
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728714. Use IsRootContentDocumentCrossProcess in nsLayoutUtils::CalculateBasicFrameMetrics. r=botond This is odd code (that I probably wrote): it's appears to be designed to handle in process, zoomable, root content documents where the ancestor chrome document(s) can have non-1 resolution. I think the important thing here is that the root scroll frame of the RootContentDocumentCrossProcess gets a resolution of 1, otherwise we use the cumulativeResolution of the current presshell. Differential Revision: https://phabricator.services.mozilla.com/D124305
f1cc62f9f6d5fb6324731ff8cd0932a98f5f202f: Bug 1717920 - Add scrolling metrics to history metadata r=mossop,botond,edgar
Andrew Creskey <acreskey@mozilla.com> - Thu, 02 Sep 2021 14:11:56 +0000 - rev 659629
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1717920 - Add scrolling metrics to history metadata r=mossop,botond,edgar Disabled by default, browser.places.interactions.enabled, this adds scrolling metrics (time spent scrolling and distance scrolled) to the history metadata. Differential Revision: https://phabricator.services.mozilla.com/D120656
e0d90f61f3cb237932e45615b6507bf95f61ddbc: Bug 1728702. Use IsRootContentDocumentCrossProcess in ScrollFrameHelper::AppendScrollPartsTo. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 02 Sep 2021 03:01:36 +0000 - rev 659361
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728702. Use IsRootContentDocumentCrossProcess in ScrollFrameHelper::AppendScrollPartsTo. r=botond This code clearly only wants to handle the case where there is zooming and the scrollbar sizes have a bound (screen size or maximum window size from OS). Differential Revision: https://phabricator.services.mozilla.com/D124284
1cf9a14226dadb0dd81eb4d0ab1507cdcdbfa2a6: Bug 1728700. Use IsRootContentDocumentCrossProcess in another place in ScrollFrameHelper::BuildDisplayList. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 02 Sep 2021 03:01:07 +0000 - rev 659360
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728700. Use IsRootContentDocumentCrossProcess in another place in ScrollFrameHelper::BuildDisplayList. r=botond This has to do with determining whether visual or layout coords are used, which is determined by the cross process root content doc. Differential Revision: https://phabricator.services.mozilla.com/D124283
2dccec9b03344658c741003a76b0fea26ee18df3: Bug 1728697. Use IsRootContentDocumentCrossProcess in nsLayoutUtils::GetCumulativeApzCallbackTransform. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 02 Sep 2021 01:42:17 +0000 - rev 659358
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728697. Use IsRootContentDocumentCrossProcess in nsLayoutUtils::GetCumulativeApzCallbackTransform. r=botond This is trying to determine where we apply the pinch zoom resolution, so IsRootContentDocumentCrossProcess is the correct one to use here. Differential Revision: https://phabricator.services.mozilla.com/D124278
5b283bdb31563a802b44a5c725965baafa190e6c: Bug 1728682. Use IsRootContentDocumentCrossProcess in PresShell::EventHandler::GetFrameToHandleNonTouchEvent. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 02 Sep 2021 00:11:37 +0000 - rev 659351
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728682. Use IsRootContentDocumentCrossProcess in PresShell::EventHandler::GetFrameToHandleNonTouchEvent. r=botond Decisions about visual or layout viewport type coordinates are made based on cross process root content docoument (not in process). Differential Revision: https://phabricator.services.mozilla.com/D124271
47df90517fb0f6de1c10aeac3539b8a4ff4522b6: Bug 1728665. Use IsRootContentDocumentCrossProcess for a few places dealing with visual scroll offsets. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Wed, 01 Sep 2021 23:25:44 +0000 - rev 659342
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728665. Use IsRootContentDocumentCrossProcess for a few places dealing with visual scroll offsets. r=botond Visual scroll offsets can only differ on the cross process root content document. Differential Revision: https://phabricator.services.mozilla.com/D124257
d334e6cc8d539cddc3f4e7241d3e3640e8d8dd4f: Bug 1728660. Use IsRootContentDocumentCrossProcess in ScrollFrameHelper::RestrictToRootDisplayPort. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Wed, 01 Sep 2021 23:25:11 +0000 - rev 659341
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1728660. Use IsRootContentDocumentCrossProcess in ScrollFrameHelper::RestrictToRootDisplayPort. r=botond We use it to determine if we had applied resolution that we need to remove, that is only done at the cross process root content document, not an in process root content document. As a confirmation of this, the function we get the rect from, CalculateCompositionSizeForFrame, also uses IsRootContentDocumentCrossProcess to determine if the rect is handled specially. Differential Revision: https://phabricator.services.mozilla.com/D124253
906ebdfe06e2a0e60b32f9620871e8bb507ad667: Bug 1711574- Changed APZ state log to reflect enum state instead of integer r=botond DONTBUILD
mleclair <mleclair@mozilla.com> - Wed, 01 Sep 2021 19:40:29 +0000 - rev 659316
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1711574- Changed APZ state log to reflect enum state instead of integer r=botond DONTBUILD *** *** Differential Revision: https://phabricator.services.mozilla.com/D123160
6a4afc9706c296c3d1539dd407d5814f5e6babc6: Bug 1726620 Part 2 - Add structs representing strong-type app units coordinates. r=botond
Ting-Yu Lin <tlin@mozilla.com> - Tue, 24 Aug 2021 17:19:21 +0000 - rev 658586
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1726620 Part 2 - Add structs representing strong-type app units coordinates. r=botond The motivation of introducing the structs is to use 64-bit integer arithmetic to prevent 32-bit integer overflow. One application is to fix the integer overflow when resolving flex item's main size in Bug 1469649. The structs can be a start point to add more useful methods to explore saturation arithmetic. Differential Revision: https://phabricator.services.mozilla.com/D123266
25f0f3c961d840ea9934246c812a01b607a5a812: Bug 1726620 Part 1 - Generalize IntCoordTyped template to take a parameter as the underlying type. r=botond
Ting-Yu Lin <tlin@mozilla.com> - Tue, 24 Aug 2021 17:19:21 +0000 - rev 658585
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1726620 Part 1 - Generalize IntCoordTyped template to take a parameter as the underlying type. r=botond This shouldn't change the behavior, but it allows us to define 64-bit `IntCoordTyped` in Part 2. Differential Revision: https://phabricator.services.mozilla.com/D123265
0d83d7058c66266d065fefded999ae5ee7aa0306: Bug 1724358 - Don't apply overscroll-behavior properties on non scrollable APZCs for scrolling handoff. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sun, 22 Aug 2021 21:35:19 +0000 - rev 658326
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724358 - Don't apply overscroll-behavior properties on non scrollable APZCs for scrolling handoff. r=botond This behavior is not compliant with the CSS overscroll behavior spec. The spec clearly explains that overscroll-behavior applies to scroll container elements. But overflow: hidden elements can be scroll container elements, thus the property should be respected in terms of the spec definitions. That said, Chrome has been doing this behavior since 2017 [1], [1] https://bugs.chromium.org/p/chromium/issues/detail?id=759209 [2] https://github.com/w3c/csswg-drafts/issues/6523 Differential Revision: https://phabricator.services.mozilla.com/D122199
6df43bd2a7bcd482132acb79a55ed9b0c8565fd9: Bug 1724358 - Don't apply overscroll-behavior properties on non scrollable APZCs for scrolling handoff. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Sat, 21 Aug 2021 23:40:44 +0000 - rev 658311
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1724358 - Don't apply overscroll-behavior properties on non scrollable APZCs for scrolling handoff. r=botond This behavior is not compliant with the CSS overscroll behavior spec. The spec clearly explains that overscroll-behavior applies to scroll container elements. But overflow: hidden elements can be scroll container elements, thus the property should be respected in terms of the spec definitions. That said, Chrome has been doing this behavior since 2017 [1], [1] https://bugs.chromium.org/p/chromium/issues/detail?id=759209 [2] https://github.com/w3c/csswg-drafts/issues/6523 Differential Revision: https://phabricator.services.mozilla.com/D122199
2997688aff64e9fd7ab78a7470c6a4f6d70aa0c2: Bug 1691358 - Add a test to make sure nsIDOMWindowUtils.setResolutionAndScaleTo properly delivered to OOP iframes. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Mon, 16 Aug 2021 21:52:05 +0000 - rev 657865
Push 15794 by ffxbld-merge at Mon, 06 Sep 2021 12:31:55 +0000
Bug 1691358 - Add a test to make sure nsIDOMWindowUtils.setResolutionAndScaleTo properly delivered to OOP iframes. r=botond Differential Revision: https://phabricator.services.mozilla.com/D122661
43d106dbffb26534fe79cbdf23f52ff10bd638fe: Bug 1678771. Set mIsNoLineOrPageDelta on WidgetWheelEvents we create from PanGestureInput when we don't know the line scroll amount so EventStateManager will fill those in for us. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Sun, 08 Aug 2021 22:04:17 +0000 - rev 656756
Push 15702 by ffxbld-merge at Mon, 09 Aug 2021 15:40:47 +0000
Bug 1678771. Set mIsNoLineOrPageDelta on WidgetWheelEvents we create from PanGestureInput when we don't know the line scroll amount so EventStateManager will fill those in for us. r=botond Differential Revision: https://phabricator.services.mozilla.com/D114358
6c675319da0d79e81856ea7f51efcfbe0110580e: Bug 1681692. In FindViewContaining we are only crossingZoomBoundary if we start in visual coordinates. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Fri, 09 Jul 2021 10:06:00 +0000 - rev 653555
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1681692. In FindViewContaining we are only crossingZoomBoundary if we start in visual coordinates. r=botond In the most common case the first call to FindViewContaining has aRelativeToView = aView = the root view of the root content document, and we start in visual coords. Then we convert to layout coords and call FindViewContaining recusively with aRelativeToView = the root view again, aView = a child of the root view and working in layout coords. And we still satisfy the conditions to set crossingZoomBoundary to true, which is incorrect because we already crossed. We need to check that we are also in visual coords. Differential Revision: https://phabricator.services.mozilla.com/D105438
deff66778f311b65a73a578fe6a66d9ca6506dcb: Bug 1715187. Factor out the resolution from the transform we set on the WebRenderLayerScrollData in nsDisplayRemote::UpdateScrollData. r=botond,hiro
Timothy Nikkel <tnikkel@gmail.com> - Thu, 08 Jul 2021 09:48:20 +0000 - rev 653430
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1715187. Factor out the resolution from the transform we set on the WebRenderLayerScrollData in nsDisplayRemote::UpdateScrollData. r=botond,hiro The resolutio needs to be applied on top of any other transforms on that WebRenderLayerScrollData. Differential Revision: https://phabricator.services.mozilla.com/D118326
36a1cc27b2645047fd2511b15ecf28a2838e3769: Bug 1719406. Update expected gecko metrics when we update zoom. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 08 Jul 2021 02:06:06 +0000 - rev 653414
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1719406. Update expected gecko metrics when we update zoom. r=botond When calling nsDOMWindowUtils::SetResolutionAndScaleTo in a test it's possible to have a layers update that only updates the zoom and nothing else. NotifyLayersUpdated will update the zoom but not the expected gecko metrics when this happens. Differential Revision: https://phabricator.services.mozilla.com/D119248
088b8c8940cd889d85c57834e77e432ae3f894b1: Bug 1716675 - Set 'display:none' with important rule for audio element without controls. r=emilio,botond
Boris Chiou <boris.chiou@gmail.com> - Wed, 23 Jun 2021 20:02:20 +0000 - rev 652548
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1716675 - Set 'display:none' with important rule for audio element without controls. r=emilio,botond If the audio element doesn't have controls attribute, it is not exposing a user interface, so the user agent is expected to force its display property to compute to none, irrespective fo CSS rules. This patch makes sure Gecko's behavior matches other browsers. spec: https://html.spec.whatwg.org/multipage/rendering.html#embedded-content-rendering-rules Differential Revision: https://phabricator.services.mozilla.com/D118093
0887c869133a8c68692a69de410def8c1f674bbc: Bug 1713547 - Use the viewport rect instead of the display port if the display port hasn't been set in the checkerboard severity check. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Tue, 22 Jun 2021 02:00:28 +0000 - rev 652331
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713547 - Use the viewport rect instead of the display port if the display port hasn't been set in the checkerboard severity check. r=botond Differential Revision: https://phabricator.services.mozilla.com/D116424
2ad6d795630df04703a887f12f2fdba219bf7f4f: Bug 1673511 - Use PresShell since APZ doesn't support position: fixed content. r=botond
Makoto Kato <m_kato@ga2.so-net.ne.jp> - Mon, 21 Jun 2021 06:32:14 +0000 - rev 652204
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1673511 - Use PresShell since APZ doesn't support position: fixed content. r=botond Actually, APZ's zoomToRect doens't support position: fixed content. If so, we use PresShell's scrollIntoView instead to scroll focused content if it isn't visible. Differential Revision: https://phabricator.services.mozilla.com/D117728
0363949066e17334a8dfe4a5f9f677d8420c5301: Bug 1713715. In gtest APZCGestureDetectorTester.DoubleTap make the apzc be for root content since we now redirect all double taps to root content. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 17 Jun 2021 21:19:46 +0000 - rev 652121
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. In gtest APZCGestureDetectorTester.DoubleTap make the apzc be for root content since we now redirect all double taps to root content. r=botond Differential Revision: https://phabricator.services.mozilla.com/D118118
b039bdd4af4f487b0697c3e2846a31cd5a5e4e04: Bug 1713715. Add test. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 17 Jun 2021 21:19:46 +0000 - rev 652120
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. Add test. r=botond Differential Revision: https://phabricator.services.mozilla.com/D116926
957682b138b007cb48b8a9a2c489c8c31b511b41: Bug 1713715. Redirect double tap gestures to the root content apzc. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 17 Jun 2021 21:19:45 +0000 - rev 652119
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. Redirect double tap gestures to the root content apzc. r=botond This means that double tapping on an oop iframe "works" in that we don't try (and fail) to zoom the oop iframe. But it also means it is impossible to zoom to some content inside that oop iframe. Instead the best we can do is zoom to the oop iframe itself. This is consistent with what Chrome and Safari currently do. Allowing zooming to content inside an oop iframe would be decently complicated and it doesn't seem worth it. Bug 1715179 is on file for this. Differential Revision: https://phabricator.services.mozilla.com/D116925
0a0cc6cf87024301efc6d72083b8e4864eadc34d: Bug 1508608 [Linux] Check for Rollup events at nsWindow::OnTouchEvent/GDK_TOUCH_BEGIN, r=botond
stransky <stransky@redhat.com> - Thu, 17 Jun 2021 05:33:25 +0000 - rev 651995
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1508608 [Linux] Check for Rollup events at nsWindow::OnTouchEvent/GDK_TOUCH_BEGIN, r=botond Differential Revision: https://phabricator.services.mozilla.com/D118081
03158c35a2643465e3e018384eb17d9b8144725d: Bug 1713715. In gtest APZCGestureDetectorTester.DoubleTap make the apzc be for root content since we now redirect all double taps to root content. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 17 Jun 2021 04:24:56 +0000 - rev 651985
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. In gtest APZCGestureDetectorTester.DoubleTap make the apzc be for root content since we now redirect all double taps to root content. r=botond Differential Revision: https://phabricator.services.mozilla.com/D118118
a0be853c50428ee30a30cabd48bd1d84136d43e1: Bug 1713715. Add test. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 17 Jun 2021 04:24:55 +0000 - rev 651984
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. Add test. r=botond Differential Revision: https://phabricator.services.mozilla.com/D116926
5785ea7b467a83ff9d1fee70f93dff1bf196ddb2: Bug 1713715. Redirect double tap gestures to the root content apzc. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Thu, 17 Jun 2021 04:24:55 +0000 - rev 651983
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. Redirect double tap gestures to the root content apzc. r=botond This means that double tapping on an oop iframe "works" in that we don't try (and fail) to zoom the oop iframe. But it also means it is impossible to zoom to some content inside that oop iframe. Instead the best we can do is zoom to the oop iframe itself. This is consistent with what Chrome and Safari currently do. Allowing zooming to content inside an oop iframe would be decently complicated and it doesn't seem worth it. Bug 1715179 is on file for this. Differential Revision: https://phabricator.services.mozilla.com/D116925
c16b427737b2bc7befa7b664fb706716fa009856: Bug 1713715. Add test. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Wed, 16 Jun 2021 23:15:38 +0000 - rev 651974
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. Add test. r=botond Differential Revision: https://phabricator.services.mozilla.com/D116926
2eec50a8d040eba270126c1037931a31fba50d6e: Bug 1713715. Redirect double tap gestures to the root content apzc. r=botond
Timothy Nikkel <tnikkel@gmail.com> - Wed, 16 Jun 2021 23:15:37 +0000 - rev 651973
Push 15597 by ffxbld-merge at Mon, 12 Jul 2021 12:28:04 +0000
Bug 1713715. Redirect double tap gestures to the root content apzc. r=botond This means that double tapping on an oop iframe "works" in that we don't try (and fail) to zoom the oop iframe. But it also means it is impossible to zoom to some content inside that oop iframe. Instead the best we can do is zoom to the oop iframe itself. This is consistent with what Chrome and Safari currently do. Allowing zooming to content inside an oop iframe would be decently complicated and it doesn't seem worth it. Bug 1715179 is on file for this. Differential Revision: https://phabricator.services.mozilla.com/D116925