31576336ad325d5ec8ad326e2bb12eaaf879aab4: Bug 1688475 - Remove usage of waitForApzFlushedRepaints from helper_bug1669625.html. r=botond
Kartikaya Gupta <kats@pancake.staktrace.com> - Sun, 31 Jan 2021 17:37:59 +0000 - rev 565533
Push 38162 by nerli@mozilla.com at Tue, 02 Feb 2021 09:51:07 +0000
Bug 1688475 - Remove usage of waitForApzFlushedRepaints from helper_bug1669625.html. r=botond This test has some tricky timing requirements so I mostly left the callback-style alone in the main part of the test. The setTimeout/ rAF callbacks run at a specific time, whereas converting them to promises would change that to "run no sooner than ..." which in this is undesirable. Differential Revision: https://phabricator.services.mozilla.com/D103118
e2c19e7e48fdd0f3995fc01e2f32d1e52b4f8f20: Bug 1688475 - Trivial replacement of some waitForApzFlushedRepaints callers. r=botond
Kartikaya Gupta <kats@pancake.staktrace.com> - Sun, 31 Jan 2021 17:37:56 +0000 - rev 565532
Push 38162 by nerli@mozilla.com at Tue, 02 Feb 2021 09:51:07 +0000
Bug 1688475 - Trivial replacement of some waitForApzFlushedRepaints callers. r=botond Differential Revision: https://phabricator.services.mozilla.com/D103117
babdc3b3a30001ae014cc9180992549c5e4d5045: Bug 1643789 - fix use of alternate URI fixup for middle clicks, context menu clicks, etc., r=nika
Gijs Kruitbosch <gijskruitbosch@gmail.com> - Tue, 02 Feb 2021 00:27:42 +0000 - rev 565531
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1643789 - fix use of alternate URI fixup for middle clicks, context menu clicks, etc., r=nika Differential Revision: https://phabricator.services.mozilla.com/D103410
a5f845544279d4b48339bac6d2bf86ce54c0696e: Backed out 5 changesets (bug 1688033) for causing build bustages on ScalarReplacement.cpp. CLOSED TREE
Butkovits Atila <abutkovits@mozilla.com> - Tue, 02 Feb 2021 02:22:48 +0200 - rev 565530
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Backed out 5 changesets (bug 1688033) for causing build bustages on ScalarReplacement.cpp. CLOSED TREE Backed out changeset ee7b88395348 (bug 1688033) Backed out changeset 2205f04dd8ba (bug 1688033) Backed out changeset f1949d2340d9 (bug 1688033) Backed out changeset 1a5070c500b4 (bug 1688033) Backed out changeset 5b100262a038 (bug 1688033)
ef183b029ab2cee9872d66c3478c17ba2f7f77ac: Bug 1676970 - Always consider text controls has independent selection r=emilio
Kagami Sascha Rosylight <krosylight@mozilla.com> - Tue, 02 Feb 2021 00:09:59 +0000 - rev 565529
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1676970 - Always consider text controls has independent selection r=emilio Differential Revision: https://phabricator.services.mozilla.com/D97720
8522d4a89bbd9e8bab2374efa5ceeff4a7900c0c: Bug 1689203 - Allow fallback from WebRender to Software WebRender. r=jrmuizel
Andrew Osmond <aosmond@mozilla.com> - Mon, 01 Feb 2021 23:36:36 +0000 - rev 565528
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1689203 - Allow fallback from WebRender to Software WebRender. r=jrmuizel We can disable WebRender because the GPU process crashed, or we encountered a graceful runtime error in WebRender. This patch adds two new prefs to control how that fallback works. gfx.webrender.fallback.software-d3d11 controls if WebRender falls back to Software WebRender + D3D11 compositing. If true, and the user is allowed to get Software WebRender, we will fallback to Software WebRender with the D3D11 compositor first. gfx.webrender.fallback.software controls if WebRender falls back to Software WebRender. If true, and the user is allowed to get Software WebRender, we will fallback to Software WebRender without the D3D11 compositor. gfx.webrender.fallback.basic controls if WebRender or Software WebRender falls back to Basic. If true, it falls back to Basic. Otherwise it continues to use Software WebRender without the D3D11 compositor. Note that this means OpenGL on Android. This patch also means that gfx.webrender.all=true and MOZ_WEBRENDER=1 no longer disables Software WebRender. It will still prefer (Hardware) WebRender but we want to allow fallback to Software WebRender for configurations that forced WebRender on. Differential Revision: https://phabricator.services.mozilla.com/D103491
35053583b9a751daed53f428f12219425a84004c: Bug 1683126 - Make nsCanvasFrame::Reflow more robust. r=TYLin
Mats Palmgren <mats@mozilla.com> - Mon, 01 Feb 2021 23:46:17 +0000 - rev 565527
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1683126 - Make nsCanvasFrame::Reflow more robust. r=TYLin This patch improves nsCanvasFrame::Reflow in a few ways. First, we now iterate over mFrames and reflow every child. This makes it more robust vis-à-vis the order of any placeholders and the root frame, and also resilient against a missing root frame (this fixes the fatal assertion in this bug). We now also actually reflow all placeholders which wasn't the case before. It seems like a prudent thing to do. I also added a separate nsReflowStatus for each child. We now also call SetOverflowAreasToDesiredBounds() in all cases. We failed to do that in the 'mFrames.IsEmpty()' case before, which triggered the assertions in bug 1655630 and bug 1392106. Differential Revision: https://phabricator.services.mozilla.com/D103592
ee7b88395348b5850a5340610cd525201b5fcadb: Bug 1688033: Add support for LoadArgumentsObjArg r=jandem
Iain Ireland <iireland@mozilla.com> - Wed, 27 Jan 2021 18:50:06 +0000 - rev 565526
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1688033: Add support for LoadArgumentsObjArg r=jandem This adds support for `arguments[i]`. It is based directly on WarpCacheIRTranspiler::emitLoadFrameArgumentResult. If this bounds check fails, then baseline will attach a new stub in tryAttachGenericElement, preventing a bailout loop. We could also disable scalar replacement of arguments immediately, using a special BailoutKind. Depends on D103111 Differential Revision: https://phabricator.services.mozilla.com/D103112
2205f04dd8bafe579d91cc7322a728b4b0e2448d: Bug 1688033: Add support for GetArgumentsObjectArg r=jandem
Iain Ireland <iireland@mozilla.com> - Wed, 27 Jan 2021 12:29:21 +0000 - rev 565525
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1688033: Add support for GetArgumentsObjectArg r=jandem This adds support for `JSOp::GetArg` when `arguments` aliases the formal args. Depends on D103110 Differential Revision: https://phabricator.services.mozilla.com/D103111
f1949d2340d9ea303d6149bb524b5e51efcbd8bc: Bug 1688033: Add framework for scalar replacement of arguments r=jandem,nbp
Iain Ireland <iireland@mozilla.com> - Mon, 01 Feb 2021 23:05:35 +0000 - rev 565524
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1688033: Add framework for scalar replacement of arguments r=jandem,nbp This is based on the existing code for scalar replacement of objects and arrays. Unlike objects and arrays, we don't have to support mutation of the arguments object, so we can simplify a lot of the code: for example, we don't need to track state per-block. This initial patch adds support for `arguments.length`. Differential Revision: https://phabricator.services.mozilla.com/D103110
1a5070c500b45a7e3d0f87f4789b0ed8ce22e9a0: Bug 1688033: Allow DCE of MCreateArgumentsObject r=jandem
Iain Ireland <iireland@mozilla.com> - Wed, 27 Jan 2021 12:27:57 +0000 - rev 565523
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1688033: Allow DCE of MCreateArgumentsObject r=jandem The goal of scalar replacement of arguments is to remove all uses of the CreateArgumentsObject instruction, so that DCE can remove it. However, the MCreateArgumentsObject constructor calls setGuard, which stops DCE from removing it. (This has been true since it was introduced.) As far as I can tell, it doesn't have to be a guard. In FinishBailoutToBaseline, if a frame needs an args object and doesn't have one, then we call ArgumentsObject::createExpected to create it from the restored baseline frame. Depends on D103108 Differential Revision: https://phabricator.services.mozilla.com/D103109
5b100262a03873de4c03b7f494e47a30dc30d6f8: Bug 1688033: Add scalarReplaceArguments jit option r=jandem
Iain Ireland <iireland@mozilla.com> - Wed, 27 Jan 2021 12:25:52 +0000 - rev 565522
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1688033: Add scalarReplaceArguments jit option r=jandem Adding a jit option so that I can prototype this behind a flag. Differential Revision: https://phabricator.services.mozilla.com/D103108
38ca34c049b6b479f9a4eed54258e4bb4b28b04c: Backed out 2 changesets (bug 1688730) for causing mochitest failures. CLOSED TREE
Butkovits Atila <abutkovits@mozilla.com> - Tue, 02 Feb 2021 02:04:28 +0200 - rev 565521
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Backed out 2 changesets (bug 1688730) for causing mochitest failures. CLOSED TREE Backed out changeset 677c17ec48ea (bug 1688730) Backed out changeset a7d0770117c8 (bug 1688730)
2e296c018c3b62984150b42cec757af680d18695: Bug 1687067 - Build OverscrollHandoffChain by walking up hit testing tree instead of APZC tree. r=botond
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Mon, 01 Feb 2021 23:25:17 +0000 - rev 565520
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1687067 - Build OverscrollHandoffChain by walking up hit testing tree instead of APZC tree. r=botond Differential Revision: https://phabricator.services.mozilla.com/D103601
a32d58612fb715a276f57271fa29b5beb4f57abd: Bug 1637651 - Don't skip over empty value in link header parsing. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 01 Feb 2021 23:23:42 +0000 - rev 565519
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1637651 - Don't skip over empty value in link header parsing. r=smaug With crossorigin, empty value and no value are two different things, so the link header parser needs to handle it. Without this change the updated test would fail with two entries rather than one getting returned from: numberOfResourceTimingEntries("resources/dummy.css?link-header-crossorigin-preload2") Differential Revision: https://phabricator.services.mozilla.com/D103570
7343844d32f19d0f3041e903f0ae8b79d443b38a: Bug 1637651 - Don't trigger duplicate style link preloads for the same preload key. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 01 Feb 2021 15:06:12 +0000 - rev 565518
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1637651 - Don't trigger duplicate style link preloads for the same preload key. r=smaug This is equivalent to the check in Document::MaybePreLoadImage, since otherwise this code won't check the preload service at all. Without this, we can trigger the assertion in PreloaderBase::NotifyOpen when we have identical Link header and speculative link element preloads. It's not a correctness nor perf issue, because the CSS loader will coalesce the stylesheet load anyways, but it seems better to do this than to remove the assertion, specially given images already do that. The test-case in the following patch triggers the issue. Depends on D103568 Differential Revision: https://phabricator.services.mozilla.com/D103569
dd95492ffe110a8eb0ae021a29f31afa92604754: Bug 1637651 - Make RegisterPreload slightly more efficient. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 01 Feb 2021 14:59:48 +0000 - rev 565517
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1637651 - Make RegisterPreload slightly more efficient. r=smaug I was hitting the assertion and was investigating a bit. This makes the registration a bit faster, but doesn't change behavior. Depends on D103567 Differential Revision: https://phabricator.services.mozilla.com/D103568
d99414759409bf01ac208dd673a2da4927f704d0: Bug 1637651 - Assume non-quirks mode for style Link header preloads. r=smaug
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 01 Feb 2021 23:23:50 +0000 - rev 565516
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1637651 - Assume non-quirks mode for style Link header preloads. r=smaug This is an issue I found while going through this code and writing/debugging a test for the bug at hand. Without this, the test in the actual fix for this bug will fail to actually reuse the preloaded stylesheet. It seems reasonable to assume that the intersection of quirks mode documents using link preload headers is small (and in that case we'd parse the sheet twice, but oh well). Differential Revision: https://phabricator.services.mozilla.com/D103567
54a94ce78e845198fe69629d8aca9537d774cbf2: Backed out changeset 7ba7ce64acae (bug 1689203) for causing failure on GfxConfigManager. CLOSED TREE
Butkovits Atila <abutkovits@mozilla.com> - Tue, 02 Feb 2021 01:33:00 +0200 - rev 565515
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Backed out changeset 7ba7ce64acae (bug 1689203) for causing failure on GfxConfigManager. CLOSED TREE
7c8497aa75235f394c586001ed0a63cb7adcb935: Bug 1673617 - Refactor how session restore works with SHIP, r=nika
Randell Jesup <rjesup@wgate.com> - Mon, 01 Feb 2021 22:57:14 +0000 - rev 565514
Push 38161 by abutkovits@mozilla.com at Tue, 02 Feb 2021 03:35:00 +0000
Bug 1673617 - Refactor how session restore works with SHIP, r=nika With mods from kashav's last Try run Differential Revision: https://phabricator.services.mozilla.com/D99461
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip