Граф коммитов

88411 Коммитов

Автор SHA1 Сообщение Дата
Doug Thayer 6ca8fd27f5 Bug 1594577 - Record hangs which precede forced shutdowns r=froydnj
In short - if a user forcibly terminates the browser because it seems
to be permanently hung, we currently do not get a change to record the
hang. This is unfortunate, because these likely represent the most
egregious hangs in terms of user frustration. This patch seeks to
address that.

If a hang exceeds 8192ms (the current definition of a "permahang" in
existing BHR terms), then we decide to immediately persist it to disk,
in case we never get a chance to return to the main thread and
submit it. On the next start of the browser, we read the file from
disk on a background thread, and just submit it using the normal
mechanism.

Regarding the handling of the file itself, I tried to do the simplest
thing I could - as far as I can tell there is no standard simple
serialization mechanism available directly to C++ in Gecko, so I just
serialized it by hand. I didn't take any special care with endianness
or anything as I can't think of a situation in which we really care
at all about these files being transferable between architectures. I
directly used PR_Write / PR_Read instead of doing something fancy
like memory mapping the file, because I don't think performance is a
critical concern here and it offers a simple protection against
reading out of bounds.

Differential Revision: https://phabricator.services.mozilla.com/D52566

--HG--
extra : moz-landing-system : lando
2019-11-14 21:35:42 +00:00
Sebastian Hengst 9ad1a69782 Backed out changeset 0478d1bf6e32 (bug 1596209) on request from emilio. CLOSED TREE
--HG--
extra : rebase_source : 3c14fff8de93d231125ec8714aae98e51fbf6aeb
extra : amend_source : 5f1791c11b41593330cc8c94bdf67e1a0cf11fb1
2019-11-15 19:11:06 +01:00
Emilio Cobos Álvarez 5b84f966ac Bug 1596209 - Remove nsIContent::GetBindingParent. r=smaug
It's unused after all the previous patches.

Differential Revision: https://phabricator.services.mozilla.com/D53217

--HG--
extra : moz-landing-system : lando
2019-11-15 16:46:29 +00:00
Emilio Cobos Álvarez e4483437bd Bug 1596768 - Remove GetBindingParent usage in EventStateManager. r=smaug
This one I'm not 100% sure about whether we want to keep special-casing shadow
DOM.

Seems we may want to, but on the other hand this looks like a hack (as it only
looks at the closest shadow host, not the whole chain, and it is green on try).

Depends on D53200

Differential Revision: https://phabricator.services.mozilla.com/D53201

--HG--
extra : moz-landing-system : lando
2019-11-15 17:36:13 +00:00
Emilio Cobos Álvarez 1881ee2c15 Bug 1596768 - Remove GetBindingParentUsage in xpath. r=smaug
Wants to check that the change happens in the same anon tree, use the right
function for that.

Depends on D53199

Differential Revision: https://phabricator.services.mozilla.com/D53200

--HG--
extra : moz-landing-system : lando
2019-11-15 17:09:15 +00:00
Emilio Cobos Álvarez a0acd595c1 Bug 1596768 - Remove GetBindingParent usage in nsContentUtils::IsInSameAnonymousTree. r=smaug
Check Shadow DOM and NAC separately.

Depends on D53195

Differential Revision: https://phabricator.services.mozilla.com/D53196

--HG--
extra : moz-landing-system : lando
2019-11-15 17:05:15 +00:00
Emilio Cobos Álvarez ebc571fca6 Bug 1596768 - Remove GetBindingParent() usage in GetEventTargetParent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D53197

--HG--
extra : moz-landing-system : lando
2019-11-15 17:00:14 +00:00
Emilio Cobos Álvarez b518386f7f Bug 1596768 - Remove GetBindingParent usage in GetRootForContentSubtree. r=smaug
Shadow DOM is handled above.

And do some minor drive-by cleanups. Unclear why we have both this and the
RangeUtils version.

Depends on D53194

Differential Revision: https://phabricator.services.mozilla.com/D53195

--HG--
extra : moz-landing-system : lando
2019-11-15 16:53:19 +00:00
Emilio Cobos Álvarez c59df961f1 Bug 1596768 - Keep Document::GetBindingParent doing the same without nsIContent::GetBindingParent(). r=smaug
See the follow-up bug for the proposal to get rid of it.

Differential Revision: https://phabricator.services.mozilla.com/D53215

--HG--
extra : moz-landing-system : lando
2019-11-15 16:19:35 +00:00
Emilio Cobos Álvarez c5d9f3067b Bug 1596768 - Remove GetBindingParent usage in nsIContent::FindFirstNonChromeOnlyAccessContent. r=smaug
This one is a bit subtle, but not too much.

Depends on D53193

Differential Revision: https://phabricator.services.mozilla.com/D53194

--HG--
extra : moz-landing-system : lando
2019-11-15 15:41:07 +00:00
Emilio Cobos Álvarez 30420940bd Bug 1596768 - Remove GetBindingParent usage in nsRange assertions. r=smaug
They want to check that the root is correct, do so explicitly.

Depends on D53197

Differential Revision: https://phabricator.services.mozilla.com/D53198

--HG--
extra : moz-landing-system : lando
2019-11-15 16:17:46 +00:00
Emilio Cobos Álvarez 9f9816f35a Bug 1596768 - Remove GetBindingParent usage in RangeUtils. r=smaug
Shadow DOM is handled above.

Differential Revision: https://phabricator.services.mozilla.com/D53193

--HG--
extra : moz-landing-system : lando
2019-11-15 15:32:14 +00:00
Tom Ritter 4d04d9e9fa Bug 1596421 - Disable eval restrictions if the web extension process is disabled r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D53026

--HG--
extra : moz-landing-system : lando
2019-11-15 15:36:42 +00:00
Mirko Brodesser fbb6f94a0b Bug 1596680: remove superfluous `IsValidOffset` function. r=smaug
`RangeBoundaryBase` accepts a `uint32_t` offset, hence not needed anymore.

Differential Revision: https://phabricator.services.mozilla.com/D53162

--HG--
extra : moz-landing-system : lando
2019-11-15 15:22:49 +00:00
Emilio Cobos Álvarez b7eee11eab Bug 1596465 - Remove GetBindingParent() usage from nsINode::Contains. r=smaug
And make ShadowRoot.contains() and checking nodes from different shadow trees
faster.

Differential Revision: https://phabricator.services.mozilla.com/D53037

--HG--
extra : moz-landing-system : lando
2019-11-15 12:32:37 +00:00
Emilio Cobos Álvarez 97a01556dc Bug 1596502 - Remove GetBindingParent in WeelHandlingHelper. r=smaug
It was dealing only with NAC anyway.

Differential Revision: https://phabricator.services.mozilla.com/D53057

--HG--
extra : moz-landing-system : lando
2019-11-15 12:32:07 +00:00
Emilio Cobos Álvarez f36874d798 Bug 1596445 - Add some supporting code to nsINode to deal with NAC and shadow DOM separately. r=bzbarsky
We'll use these to remove GetBindingParent.

Differential Revision: https://phabricator.services.mozilla.com/D53029

--HG--
extra : moz-landing-system : lando
2019-11-15 15:10:45 +00:00
Emilio Cobos Álvarez 6ed954d4c7 Bug 1596445 - Define nsINode::AsContent in nsINode.h. r=bzbarsky
We were already relying on reinterpret_cast so it seems ok and will make the
code in following patches a bit nicer.

Differential Revision: https://phabricator.services.mozilla.com/D53028

--HG--
extra : moz-landing-system : lando
2019-11-15 12:49:10 +00:00
Edgar Chen 5d6170d1c8 Bug 1596573 - Correct the documentation for custom use counters; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D53083

--HG--
extra : moz-landing-system : lando
2019-11-15 13:39:13 +00:00
Eden Chuang c2e2e5965d Bug 1546331 - Missing call to WaitForIsDebuggerRegistered r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D52139

--HG--
extra : moz-landing-system : lando
2019-11-13 12:56:27 +00:00
Nazım Can Altınova bc87c9100f Bug 1468789 - Part 1: Add window id inside realm creation options. r=jandem,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D51859

--HG--
extra : moz-landing-system : lando
2019-11-14 12:26:25 +00:00
Nathan Froyd f37a5156c3 Bug 1596547 - be more specific in CryptoBuffer::Assign parameter types; r=jcj
We don't need the full generality of templated typed arrays here, just
the ability to assign from `Uint8Array`.  Some versions of clang in
C++17 mode have problems with overload resolution when faced with
templated method parameters that resolve to base classes of the passed
arguments.  Using the more-specific type here avoids those bugs.

Differential Revision: https://phabricator.services.mozilla.com/D53069

--HG--
extra : moz-landing-system : lando
2019-11-15 13:12:58 +00:00
Yaron Tausky e65a2c3ebb Bug 1591892 - Expose {window, self}.crossOriginIsolated r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D52532

--HG--
extra : moz-landing-system : lando
2019-11-15 12:25:57 +00:00
Noemi Erli 513f38c497 Backed out changeset 0f20566c7b2f (bug 1593739) for causing assertion in StateWatching.h CLOSED TREE 2019-11-15 14:07:06 +02:00
Andreas Pehrson a91244fa43 Bug 1593739 - Shut down the watch manager during Unlink to prevent future notify tasks. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D51906

--HG--
extra : moz-landing-system : lando
2019-11-15 09:39:15 +00:00
Alex Chronopoulos dbabae6629 Bug 1596064 - Remove any access on the database when pref is off. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D52984

--HG--
extra : moz-landing-system : lando
2019-11-15 10:59:50 +00:00
Emilio Cobos Álvarez 537e2d4321 Bug 1596451 - Remove GetBindingParent() usage in IDTracker. r=bzbarsky
We always fall through if !IsInNativeAnonymousContent(), as
GetAnonRootIfInAnonymousContentContainer will return null.

Differential Revision: https://phabricator.services.mozilla.com/D53031

--HG--
extra : moz-landing-system : lando
2019-11-14 23:07:34 +00:00
Neil Deakin 8b8896031c Bug 1580961, disable intermittently failing part of the pointerlock test, leaving the main part that tests the original bug fix, as is, r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D51619

--HG--
extra : moz-landing-system : lando
2019-11-13 14:15:52 +00:00
Emilio Cobos Álvarez 31001a6ef8 Bug 1596506 - Remove special-case for <xul:label> accesskey. r=smaug
We don't have any NAC which is a <xul:label>. We could keep it for shadow dom but it
doesn't seem to me like this code is working correctly.

nsXULLabelFrame::RegUnregAccessKey doesn't have similar code, and uses the
<label> node to register / unregister.

Finally, we do have non-anon labels, and those would be broken... So just
remove the special-case.

Depends on D53058

Differential Revision: https://phabricator.services.mozilla.com/D53059

--HG--
extra : moz-landing-system : lando
2019-11-14 22:03:00 +00:00
Emilio Cobos Álvarez 7b02559d06 Bug 1596506 - Remove GetBindingParent usage from nsXULElement::BindToTree. r=smaug
This is technically a behavior change, but the current thing is more correct
anyways, IMO, and it's only a warning in any case.

Differential Revision: https://phabricator.services.mozilla.com/D53058

--HG--
extra : moz-landing-system : lando
2019-11-14 20:55:01 +00:00
Emilio Cobos Álvarez 230a83b882 Bug 1596511 - Remove binding parent usage from SVGSVGElement. r=smaug
This doesn't need to handle NAC anymore since <svg:use> element doesn't use NAC
anymore.

Handle Shadow DOM by using GetParentOrShadowHostNode(), though we should figure
out what the right thing to do since GetOwnerSVGElement and co. use
GetFlattenedTreeParent().

In practice, these should be equivalent because SVG Elements can't be shadow
hosts.

Differential Revision: https://phabricator.services.mozilla.com/D53063

--HG--
extra : moz-landing-system : lando
2019-11-15 10:19:55 +00:00
Emilio Cobos Álvarez 479f01b95d Bug 1596455 - Simplify nsIContent::IsInAnonymousSubtree. r=bzbarsky
Now that XBL is gone, the only anonymous subtrees are NAC.

I'd prefer to defer the removal of IsInAnonymousSubtree if possible, as there's
a bunch of patches coming on top of this one :)

Differential Revision: https://phabricator.services.mozilla.com/D53033

--HG--
extra : moz-landing-system : lando
2019-11-14 23:09:03 +00:00
Dzmitry Malyshau 8524264806 Bug 1594182 - Move wgpu stuff under gfx/wgpu r=jgilbert,remote-protocol-reviewers
This change moves wgpu mirror into a dedicated folder and also
registers it in a few metadata files for proper treating.

Differential Revision: https://phabricator.services.mozilla.com/D51921

--HG--
rename : dom/webgpu/wgpu-native/Cargo.toml => gfx/wgpu/wgpu-native/Cargo.toml
rename : dom/webgpu/wgpu-remote/cbindgen.toml => gfx/wgpu/wgpu-native/cbindgen.toml
rename : dom/webgpu/wgpu-native/src/binding_model.rs => gfx/wgpu/wgpu-native/src/binding_model.rs
rename : dom/webgpu/wgpu-native/src/command/allocator.rs => gfx/wgpu/wgpu-native/src/command/allocator.rs
rename : dom/webgpu/wgpu-native/src/command/bind.rs => gfx/wgpu/wgpu-native/src/command/bind.rs
rename : dom/webgpu/wgpu-native/src/command/compute.rs => gfx/wgpu/wgpu-native/src/command/compute.rs
rename : dom/webgpu/wgpu-native/src/command/mod.rs => gfx/wgpu/wgpu-native/src/command/mod.rs
rename : dom/webgpu/wgpu-native/src/command/render.rs => gfx/wgpu/wgpu-native/src/command/render.rs
rename : dom/webgpu/wgpu-native/src/command/transfer.rs => gfx/wgpu/wgpu-native/src/command/transfer.rs
rename : dom/webgpu/wgpu-native/src/conv.rs => gfx/wgpu/wgpu-native/src/conv.rs
rename : dom/webgpu/wgpu-native/src/device.rs => gfx/wgpu/wgpu-native/src/device.rs
rename : dom/webgpu/wgpu-native/src/hub.rs => gfx/wgpu/wgpu-native/src/hub.rs
rename : dom/webgpu/wgpu-native/src/id.rs => gfx/wgpu/wgpu-native/src/id.rs
rename : dom/webgpu/wgpu-native/src/instance.rs => gfx/wgpu/wgpu-native/src/instance.rs
rename : dom/webgpu/wgpu-native/src/lib.rs => gfx/wgpu/wgpu-native/src/lib.rs
rename : dom/webgpu/wgpu-native/src/pipeline.rs => gfx/wgpu/wgpu-native/src/pipeline.rs
rename : dom/webgpu/wgpu-native/src/resource.rs => gfx/wgpu/wgpu-native/src/resource.rs
rename : dom/webgpu/wgpu-native/src/swap_chain.rs => gfx/wgpu/wgpu-native/src/swap_chain.rs
rename : dom/webgpu/wgpu-native/src/track/buffer.rs => gfx/wgpu/wgpu-native/src/track/buffer.rs
rename : dom/webgpu/wgpu-native/src/track/mod.rs => gfx/wgpu/wgpu-native/src/track/mod.rs
rename : dom/webgpu/wgpu-native/src/track/range.rs => gfx/wgpu/wgpu-native/src/track/range.rs
rename : dom/webgpu/wgpu-native/src/track/texture.rs => gfx/wgpu/wgpu-native/src/track/texture.rs
rename : dom/webgpu/wgpu-remote/Cargo.toml => gfx/wgpu/wgpu-remote/Cargo.toml
rename : dom/webgpu/wgpu-remote/cbindgen.toml => gfx/wgpu/wgpu-remote/cbindgen.toml
rename : dom/webgpu/wgpu-remote/src/lib.rs => gfx/wgpu/wgpu-remote/src/lib.rs
rename : dom/webgpu/wgpu-remote/src/server.rs => gfx/wgpu/wgpu-remote/src/server.rs
extra : moz-landing-system : lando
2019-11-15 00:29:53 +00:00
Michael Froman 76c71c37b1 Bug 1568058 - pt 4 - Use batch decoding in MediaBufferDecoder. r=jya
- Add a pref for controlling the batch size when doing webaudio decoding
  on RDD.
- If batch size is greater than 1 and the decoder is capable of batch
  decoding, send raw sample batches to decoder.

Differential Revision: https://phabricator.services.mozilla.com/D51454

--HG--
extra : moz-landing-system : lando
2019-11-14 16:06:54 +00:00
Michael Froman 39d8e90a04 Bug 1568058 - pt 3 - Remove MediaFormatReader from MediaBufferDecoder. r=jya
Stop using MediaFormatReader and use a demuxer and decoder directly in
MediaBufferDecoder.  This will allow us to do batch decoding calls for
webaudio that will improve performance by reducing the number of IPC
calls to the RDD process.

Differential Revision: https://phabricator.services.mozilla.com/D51453

--HG--
extra : moz-landing-system : lando
2019-11-14 16:06:46 +00:00
Michael Froman 7ca9b67d91 Bug 1568058 - pt 2 - Add batch decode methods to MediaDataDecoder. r=jya
In order to use the batch decoding abilities added in Bug 1590475,
we need to also add batch decoding to MediaDataDecoder.  For now
only RemoteMediaDataDecoder (and AudioTrimmer as a wrapper) know
how to do batch, but this could be implemented more generically
later in MediaDataDecoder.

Differential Revision: https://phabricator.services.mozilla.com/D51452

--HG--
extra : moz-landing-system : lando
2019-11-14 16:06:39 +00:00
Michael Froman 19bb343143 Bug 1568058 - pt 1 - Add DecoderTraits::CreateDemuxer and use it in CreateReader. r=jya
CreateDemuxer will be used in MediaBufferDecoder as we remove MediaFormatReader.

Differential Revision: https://phabricator.services.mozilla.com/D45094

--HG--
extra : moz-landing-system : lando
2019-11-14 16:06:29 +00:00
Toshihito Kikuchi 4d2777385a Bug 1588975 - Replace ShellExecuteExW with mozilla::ShellExecuteByExplorer. r=aklotz,asuth
The launcher process turns on the `PreferSystem32Images` mitigation policy for
the browser process.  Since the mitigation policy is inherited, a process launched
by the browser process also has `PreferSystem32Images`.  If an application which
does not support `PreferSystem32Images`, such as Skype for Business, is launched
via a hyperlink, a custom uri, or a downloaded file, it would fail to launch.

Bug 1567614 fixed this issue by introducing `mozilla::ShellExecuteByExplorer` to
`nsMIMEInfoWin::LoadUriInternal`.  This patch introduces
`mozilla::ShellExecuteByExplorer` to two more places.

1. xul!nsLocalFile::Launch
This is invoked when a user opens a file from the Download Library, or a user
opens a downloaded file with the default application without saving it.

2. xul!nsMIMEInfoWin::LaunchWithFile
This is invoked when a user opens a downloaded file with a custom application
(configured in about:preference) without saving it.

*Why does this patch change worker.js?*

The mochitest dom/tests/browser/browser_test_new_window_from_content.js failed
if it was executed after dom/serviceworkers/test/browser_download.js in the
same batch.  This was because browser_download.js launched Notepad to open
fake_download.bin.txt, preventing a new window from being opened in the
foreground in browser_test_new_window_from_content.js.

The test browser_download.js can verify downloaded data without opening an
associated application.  So this patch adds the content-type to the response
header in order not to open Notepad on Windows.

Differential Revision: https://phabricator.services.mozilla.com/D52567

--HG--
extra : moz-landing-system : lando
2019-11-14 19:47:29 +00:00
Chun-Min Chang 2adcedd9aa Bug 1589931 - P1: Only check non-null current output device. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D52750

--HG--
extra : moz-landing-system : lando
2019-11-14 21:00:34 +00:00
Boris Zbarsky 18bee19d2c Bug 1594304. Add deprecation notes to methods that allow throwing a bare nsresult with no useful message. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D53092

--HG--
extra : moz-landing-system : lando
2019-11-14 22:51:21 +00:00
Sean Feng a2de02dc9b Bug 1589742 - Collect telemetry on the types of user clicks r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D51508

--HG--
extra : moz-landing-system : lando
2019-11-13 18:12:02 +00:00
Jonathan Kew 89f321af1e Bug 1487212 - When hyphenation resources are compressed in omnijar, load them into shared memory and share among all content processes. r=heycam,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52835

--HG--
extra : moz-landing-system : lando
2019-11-14 20:05:58 +00:00
alwu a302d8f76b Bug 1593131 - part6 : modify log name. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D52708

--HG--
extra : moz-landing-system : lando
2019-11-14 01:16:47 +00:00
Alastor Wu 8c61c92ae9 Bug 1593131 - part5 : use unreachable assertion to replace debug log. r=chunmin
To make sure it never happens.

Differential Revision: https://phabricator.services.mozilla.com/D52707

--HG--
extra : moz-landing-system : lando
2019-11-14 00:34:44 +00:00
Alastor Wu 915006187d Bug 1593131 - part4 : make 'MediaControlKeysManager' being both an event source and listener. r=chunmin
The event source in `MediaControlKeysManager` now is created dynamically, so that means sometime we don't have an event source to allow people add or remove listener

Therefore, make `MediaControlKeysManager` inherit from `MediaControlKeysEventSource` to allow it to provide add/remove listener methods and inherit from `MediaControlKeysEventListener` to allow it to monitor the real media control keys event and dispatch event to its listeners.

Differential Revision: https://phabricator.services.mozilla.com/D51766

--HG--
extra : moz-landing-system : lando
2019-11-14 21:14:29 +00:00
alwu 56b47c39ee Bug 1593131 - part3 : use nsISupport for ref counting r=chunmin
Use` nsISupport` for ref counting, instead of using `NS_INLINE_DECL_THREADSAFE_REFCOUNTING`, then we can allow an usage such like inheritting from both `MediaControlKeysEventListener` and `MediaControlKeysEventSource` at the same time, which doesn't be allowed in old implementation because we can only have one parent class owning `mRefCnt`.

Differential Revision: https://phabricator.services.mozilla.com/D52703

--HG--
extra : moz-landing-system : lando
2019-11-14 20:59:05 +00:00
alwu 2375692aa6 Bug 1593131 - part2 : dynamically create or destroy media keys event source according to the amount of media controller r=chunmin
In this patch, we dynamically create or destroy media keys event source according to the amount of media controller .

We would create the event source when we have a controller which needs to be controlled, and destory the event source when there is no controllers existing.

In addition, create a `Init()` function for media service for calling any other owned module's initialization, which is used to ensure that we finish setting the `gMediaControlService` before any other classes call `MediaControlService::GetService()`.

Differential Revision: https://phabricator.services.mozilla.com/D51765

--HG--
extra : moz-landing-system : lando
2019-11-12 17:44:32 +00:00
alwu 4ee3b1df3e Bug 1593131 - part1 : use media event to notity media controller amount changed. r=chunmin
As we have a need to know if there is any existing controller needs to be controlled in order to achieve dynamically creation and destruction of media keys event source. (that will be implemented in patch2)

Therefore, using the media event to send the current media controller amount when the total media controller amount changed in the media service.

Differential Revision: https://phabricator.services.mozilla.com/D51763

--HG--
extra : moz-landing-system : lando
2019-11-08 22:09:23 +00:00
Dzmitry Malyshau 1554e99669 Bug 1596245 - Fix WebGPU device destruction r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D53081

--HG--
extra : moz-landing-system : lando
2019-11-14 21:22:56 +00:00
Olli Pettay 35e168d4d1 Bug 1596238, Make NodeIterator less AddRef/Release heavy by trying to avoid use of strong pointer when the node is skipped because of whatToShow, r=Ehsan
TreeWalker could use some similar changes, but that is a different bug. TreeWalker does use TestNode method too, which is why
the new argument is optional. A new bug will be filed for TreeWalker.

Differential Revision: https://phabricator.services.mozilla.com/D53016

--HG--
extra : moz-landing-system : lando
2019-11-14 17:29:27 +00:00