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

1311 Коммитов

Автор SHA1 Сообщение Дата
Chris Martin 65292a10f3 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

For performance reasons, during launch this information is passed directly
to the child through the SetXPCOMProcessAttributes call

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

--HG--
extra : moz-landing-system : lando
2020-03-26 13:44:56 +00:00
Sylvestre Ledru 29c3dc6a16 Bug 1622328 - ipc/ipdl/ipdl/cxx/code.py: Add the license r=nika
Depends on D66804

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

--HG--
extra : moz-landing-system : lando
2020-03-13 18:35:42 +00:00
Mihai Alexandru Michis 3dc26ddcf3 Backed out changeset 18c3c5e79f1c (bug 1540776) for causing xpcshell failures in test_BHRObserver.js
CLOSED TREE
2020-03-17 00:41:38 +02:00
Dana Keeler 52ebda3e05 bug 1024871 - stop importing certificates when navigated to r=kjacobs,jld
Before this patch, PSM would register content type handlers to handle certain
certificate types. This was an easy way to install a client certificate after
generating a key with <keygen>, but keygen has been removed. This was also an
easy way to install root certificates, but that's actually a considerable
security risk. We kept this functionality for so long because it was the only
way to add a 3rd-party root certificate to Fennec's certificate store. Now that
Fennec is EOL, we can remove it. (Fenix will need a way to trust 3rd party root
certificates, but the path forward there is to implement the enterprise roots
feature for Android.)

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

--HG--
extra : moz-landing-system : lando
2020-03-16 18:50:35 +00:00
Chris Martin a228b3b0d4 Bug 1540776 - Add sync IPC message for content to request color profile r=aosmond,jld
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

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

--HG--
extra : moz-landing-system : lando
2020-03-16 16:31:51 +00:00
Eitan Isaacson 9e27b2cdde Bug 1618712 - Use GroupPosition for heading levels in mac. r=morgan,nika
We were using the wrong Accessible method to get the level. We also need to swap IPDL methods to use the right one.

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

--HG--
extra : moz-landing-system : lando
2020-03-10 18:32:38 +00:00
Anny Gakhokidze 5986a2de44 Bug 1546759 - Change nsSHistory::WalkHistoryEntries to walk browsing context tree instead of doc shell tree, r=peterv,nika
WalkHistoryEntries function gets called by nsSHistory::CloneAndReplaceChild
and nsSHistory::SetChildHistoryEntry recursively, so those have to be moved
into the parent process. This eliminates many sync IPC calls.

To facilitate transition to a new session history design,
we are mirroring mOSHE and mLSHE SH entries from docshell to browsing context.
Whenever we update those entries in docshell, we will also update those in BC,
and vice versa.

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

--HG--
extra : moz-landing-system : lando
2020-03-10 14:28:22 +00:00
Jonathan Kew 3df4ab8b5e Bug 1620111 - Eliminate sync-IPC message ReadFontList, instead use SetXPCOMProcessAttributes to pass font list to the child process on Android. r=lsalzman,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D65742

--HG--
extra : moz-landing-system : lando
2020-03-09 12:27:45 +00:00
Andrew McCreight 4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei 00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Bob Owen 481aab9295 Bug 1598585 Part 1: Make CanvasTranslator the PCanvas parent actor. r=mattwoodrow
We want to be able to send IPC messages from the translation in the parent. So
the simplest thing it move the top level actor parts of CanvasParent into
CanvasTranslator.
This patch also moves the canvas thread management parts out into a new
CanvasThreadHolder class and hopefully makes the lifecycle management of these
much more robust. This includes the use of a TaskQueue per CanvasTranslator to
manage serial processing on the canvas workers, instead of a boolean.

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

--HG--
rename : gfx/layers/ipc/CanvasParent.cpp => gfx/layers/ipc/CanvasThread.cpp
rename : gfx/layers/ipc/CanvasParent.h => gfx/layers/ipc/CanvasThread.h
rename : gfx/layers/CanvasTranslator.cpp => gfx/layers/ipc/CanvasTranslator.cpp
rename : gfx/layers/CanvasTranslator.h => gfx/layers/ipc/CanvasTranslator.h
extra : moz-landing-system : lando
2020-02-24 11:15:41 +00:00
Tom Ritter c660f80b38 Bug 1610017 - Actually taint data when tainted is specified for IPC methods r=nika
Differential Revision: https://phabricator.services.mozilla.com/D60532

--HG--
extra : moz-landing-system : lando
2020-02-21 17:24:17 +00:00
Simon Giesecke 9350e6b741 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-20 11:40:14 +00:00
Dorel Luca d5f9df8ee1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke 59b23375c0 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 18:05:38 +00:00
Jed Davis ee171b6406 Bug 1615155 - Don't generate default `Recv__delete__` if there are args. r=nika
The default method implementations cause problems when trying to
override them with different types in a direct call class.

For the `Recv__delete__` case there's a simple solution: omit it if
there are any arguments, because it doesn't make much sense to specify
arguments and then completely ignore them, and the no-arg case isn't a
problem for overriding.

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

--HG--
extra : moz-landing-system : lando
2020-02-18 20:46:21 +00:00
Simon Giesecke ce6596707f Bug 1613854 - De-virtualize IPDL protocol methods in ActorsChild. r=dom-workers-and-storage-reviewers,janv,jld
Differential Revision: https://phabricator.services.mozilla.com/D61991

--HG--
extra : moz-landing-system : lando
2020-02-17 14:49:27 +00:00
Mihai Alexandru Michis 13d11ce14a Backed out changeset 98a47607bb61 (bug 1613854) for causing sm failures in PBackgroundIDBCursorChild.cpp
CLOSED TREE
2020-02-17 16:03:20 +02:00
Simon Giesecke 7e65d8de67 Bug 1613854 - De-virtualize IPDL protocol methods in ActorsChild. r=dom-workers-and-storage-reviewers,janv,jld
Differential Revision: https://phabricator.services.mozilla.com/D61991

--HG--
extra : moz-landing-system : lando
2020-02-14 00:58:53 +00:00
Chris Martin c7f4247786 Bug 1604412 - Enable remote backbuffer GDI compositing r=jmathies,jld
This change adds new "remote backbuffer" logic when compositing without
HW acceleration on Windows (IE compositing through Cairo using the Win32
GDI)

A new piece of shared memory is created between the GPU process and the UI
process, and the GPU process sends requests to the UI process to first "borrow"
a properly-sized buffer to draw into, and then sends a "present" request to
tell the UI process to actually blit the buffer to the Win32 window.

This is needed for the GPU sandbox to work, since Windows rightly doesn't
allow the untrusted GPU process to directly draw the contents of a window
owned by the trusted UI process.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 14:32:37 +00:00
Csoregi Natalia 9c0442f988 Backed out changeset 71e63781b38c (bug 1604412) for failures on /browser_startup_syncIPC.js -PCompositorWidget. CLOSED TREE 2020-02-13 12:13:06 +02:00
Chris Martin 90a7dd97e9 Bug 1604412 - Enable remote backbuffer GDI compositing r=jmathies,jld
This change adds new "remote backbuffer" logic when compositing without
HW acceleration on Windows (IE compositing through Cairo using the Win32
GDI)

A new piece of shared memory is created between the GPU process and the UI
process, and the GPU process sends requests to the UI process to first "borrow"
a properly-sized buffer to draw into, and then sends a "present" request to
tell the UI process to actually blit the buffer to the Win32 window.

This is needed for the GPU sandbox to work, since Windows rightly doesn't
allow the untrusted GPU process to directly draw the contents of a window
owned by the trusted UI process.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 03:59:13 +00:00
Nika Layzell c56289e054 Bug 1557739 - Be more consistent with IPC Transport APIs, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D60285

--HG--
extra : moz-landing-system : lando
2020-02-06 22:41:56 +00:00
Simon Giesecke b7632583c7 Bug 1539498 - Make SerializedStructuredCloneBuffer move-only. r=asuth,jld,baku
Replace all implicit copies by moves, or explicit clone operations.

Fixed a bug in /home/simon/work/ipdl/ipc/ipdl/ipdl/lower.py _cxxConstRefType,
which caused the const accessor to miss const on its return type for a moveonly
struct member.

Removed unused using directives for SerializedStructuredCloneBuffer in ipdl files.

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

--HG--
extra : moz-landing-system : lando
2020-02-01 15:16:43 +00:00
Oana Pop Rus 3e5b57f2d3 Backed out 3 changesets (bug 1539498, bug 1545196) for build bustages failures in DOMTypes.h on a CLOSED TREE
Backed out changeset 0f906da3634a (bug 1539498)
Backed out changeset ccc2f1aad57a (bug 1545196)
Backed out changeset 15e8d9547568 (bug 1545196)
2020-02-01 17:06:28 +02:00
Simon Giesecke 3c2df87890 Bug 1539498 - Make SerializedStructuredCloneBuffer move-only. r=asuth,jld,baku
Replace all implicit copies by moves, or explicit clone operations.

Fixed a bug in /home/simon/work/ipdl/ipc/ipdl/ipdl/lower.py _cxxConstRefType,
which caused the const accessor to miss const on its return type for a moveonly
struct member.

Removed unused using directives for SerializedStructuredCloneBuffer in ipdl files.

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

--HG--
extra : moz-landing-system : lando
2020-02-01 14:31:56 +00:00
Tom Ritter 1e3011753d Bug 1610007 - Support a tainted parameter in ipdl files r=nika
Differential Revision: https://phabricator.services.mozilla.com/D60306

--HG--
extra : moz-landing-system : lando
2020-01-22 21:16:15 +00:00
Nathan Froyd 6bd7bafb72 Bug 1608847 - fix outdated comment in ipdl unit tests; r=mccr8
Apparently nobody ever checked the comment vs. the code.

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

--HG--
extra : moz-landing-system : lando
2020-01-13 17:30:18 +00:00
Nika Layzell 287fb21379 Bug 1607919 - Part 3: Require descriptions for sync message entries, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59213

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:27 +00:00
Nika Layzell ef4d0da8fe Bug 1607919 - Part 2: Add generic descriptions for remaining sync IPC, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59212

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:25 +00:00
Nika Layzell f186b69e82 Bug 1607919 - Part 1: Add specific descriptions to some sync IPC, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59211

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:18 +00:00
David Parks 198fa063c2 Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman
Splits WebGLContext into ClientWebGLContext and HostWebGLContext.  The Client enables the JS-control of a WebGL context in a content procecss while the Host executes the WebGL graphics operations (via a WebGLContext that maintains much of the existing code) in the compositor process.  At this point, the cross-process behavior is disabled -- this series of patches is an incremental step toward that final goal.

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

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:14 +00:00
Olli Pettay 667df300dc Bug 1600605, add support for mediumhigh priority ipdl messages, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D57013

--HG--
extra : moz-landing-system : lando
2019-12-13 22:38:15 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
David Parks 4dc38ba6aa Bug 1577336: Part 7 - Move DXGI async plugin operations to compositor process r=jmathies,mattwoodrow,sotaro,mccr8
Previously, we created TextureD3D11 objects in the content process to back surfaces created for the plugin process.  Those objects were then composited by the async ImageBridge.  In order to remove Win32 kernel operations from content (including DX/GDI operations), this patch bounces the requests from content to the compositor process.  The compositor process maintains 2 textures to be used for all plugin composition -- one for the plugin process and one for display.  The plugin process can freely write to its texture and request composition when it is done, which triggers a blit to the display texture.  This mirrors pre-existing behavior.

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

--HG--
extra : moz-landing-system : lando
2019-11-20 21:49:35 +00:00
David Parks 446170c593 Bug 1577336: Part 3 - Fetch Windows plugin async graphics capabilities from gpu or main process r=jmathies,mattwoodrow,froydnj
These operations report whether certain async plugin drawing modes are supported on the host architecture.  They use kernel graphics operations to decide this so they need to be removed from the content process for sandboxing.  We just bounce the requests to the gpu process (or main process on systems without a GPU process).

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

--HG--
extra : moz-landing-system : lando
2019-11-20 21:33:55 +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
Barret Rennie 59bbcf47d9 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:25 +00:00
Daniel Varga 8afb8d99f1 Backed out 4 changesets (bug 1581240) for build bustage with error: implicit instantiation of undefined template 'nsTString<char>. On a CLOSED TREE
Backed out changeset b73b86efe266 (bug 1581240)
Backed out changeset 17dd226e21ae (bug 1581240)
Backed out changeset e2fd47ff8a89 (bug 1581240)
Backed out changeset c0589670c762 (bug 1581240)
2019-11-07 01:31:57 +02:00
Barret Rennie 8323f194e5 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:43 +00:00
Peter Van der Beken 51c0772fe6 Bug 1570253 - Convert session history sync IPC messages that don't return anything to async. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D44442

--HG--
extra : rebase_source : c1700389bff0e86f120298f838e37244309dab3e
extra : amend_source : b05519f5b6ab4ce5207318e55bc28a1582e2b905
extra : source : 3da2f0f2d95bf2452caf7afc06a5c4887e477068
extra : histedit_source : 483074226bac0ae0387677e24958c5225207e01b
2019-08-27 17:05:11 +02:00
Anny Gakhokidze c43df3d447 Bug 1545474 - Part 1: Consolidate sync IPC calls inside of nsDocShell::UpdateURLAndHistory, r=peterv, r=nika for adding sync IPC messages
Inside of nsDocShell::UpdateURLAndHistory, there are 4 sync IPC calls to
nsSHistory plus 1 static call, which contains at least one nsSHEntry::GetParent
sync IPC call. All of these calls can be moved inside of a new method
EvictContentViewersOrReplaceEntry on nsSHEntry, resulting in just 1 sync IPC
call.

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

--HG--
extra : rebase_source : ad09a9061cd6fe8eb6796b2809ea191aceb3ac73
extra : source : 2cd5cd24763ff320719aedb2142a79822efd6de4
extra : histedit_source : fdc4f80cfd8807e46c2dc02e6ab82f2bd3acc391
2019-04-18 15:18:00 -04:00
Anny Gakhokidze 686417088e Bug 1541515 - Consolidate IPC calls to nsISHEntry inside of nsDocShell::GetChildSHEntry, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell::GetChildSHEntry calls 3 sync IPC calls on nsISHEntry,
and the method GetChildSHEntry only has one caller. By moving GetChildSHEntry
method to parent process for nsISHEntry, resulting in a new method
nsISHEntry::GetChildSHEntry, 3 sync IPC calls can be reduced to 1.

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

--HG--
extra : rebase_source : 1e76a1b07d827b35bae7ed6acca25aa8732c9ed0
extra : source : 34d91f82faa36dd8d8ed721de365122d831f7b25
extra : histedit_source : 86592bc747d506c546ec660e57087e78b9719cf7
2019-04-15 14:27:44 -04:00
Anny Gakhokidze 4472abffc2 Bug 1546761 - Consolidate IPC calls to nsISHistory inside of nsDocShell::OnNewURI, r=peterv, r=nika for adding sync IPC messages
Inside of nsDocShell::OnNewURI there are 4 sync IPC calls
to nsSHistory that can be replaced with 1 sync IPC call
by adding a new method EnsureCorrectEntryAtCurrIndex to nsSHistory.

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

--HG--
extra : rebase_source : 09d7738b2f2dc2334c8f6186e5918b9d0ea3e618
extra : source : 82a41bffcbbca24ad3e84b045d75e4cb01ae1445
extra : histedit_source : 96eb7d2dbed2ad8fe4cc2d37358ec2358f696442
2019-05-07 15:23:08 -04:00
Anny Gakhokidze ac22fc9f39 Bug 1539482 - Reduce the number of IPC calls on nsISHEntry in nsDocShell::LoadHistoryEntry, r=peterv, r=nika for adding sync IPC messages
In nsDocShell::LoadHistoryEntry method, when it gets called
from parent process, there are 13 sync IPC calls on nsISHEntry
that retrieve  information from the session history entry and
create a  doc shell load state object using the retrieved
information.  By adding a new method 'CreateLoadInfo'on nsISHEntry,
inside of which the doc shell load state object will be
created (with appropriate data filled out) and returned,
we eliminate 12 sync IPC call, resulting in just 1 IPC call
to nsISHEntry::CreateLoadInfo.

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

--HG--
extra : rebase_source : a4e1fa52932fd5caabb59bd133e9fbee7f4d0e4a
extra : amend_source : f4d9f01afac0337808ba347eb997ce83e6ae1488
extra : source : 6ad53b35c7b4be933a3db1e1d45fa3da8a57abad
extra : histedit_source : c08d0cebcc11a3a4f64d01566cb62d9a334a12ec
2019-03-29 15:48:59 -04:00
Anny Gakhokidze b0a8f8d708 Bug 1536471 - Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::AddToSessionHistory by adding nsSHEntry::ClearEntry method, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt and
nsISHEntry::RemoveChild  in nsDocShell::AddToSessionHistory,
which results in twice as many IPC calls as the number of children
a session history entry has. Additionally, there is one extra
IPC sync call to nsISHEntry::AbandonBFCacheEntry after the loop.

With the proposed solution, there will only be 1 sync IPC call.

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

--HG--
extra : rebase_source : ab98af417bcb28fdfcb1a115473b505fa8a70aa1
extra : source : 0270d6b952ffa1704690c777c55fcaed30125b38
extra : histedit_source : 9a031cb921ad8efa1bd96f7342e08337f3c0ca8a
2019-03-26 14:24:33 -04:00
Anny Gakhokidze bee5c226d0 Bug 1536471 - Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::ClearFrameHistory by adding a new sync IPC call nsISHistory::RemoveFrameEntries, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt, which
results in as many IPC sync calls as the number of children
a session history entry has. Calling nsISHEntry::GetChildCount and
ChildSHistory::Index and incurs additional extra 2 sync IPC calls.

With the proposed solution, there will only be 1 sync IPC call.

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

--HG--
extra : rebase_source : ffaaff5c9521fb4d3a53a85f4570bcb99f7317d1
extra : source : 3f4a092d8f6544a212ee8a80d9275ae68c6446d1
extra : histedit_source : b4166d997119092ba5657f9ca4216da62dc82d97
2019-03-22 15:45:38 -04:00
Peter Van der Beken 1d35a2c86b Bug 1438272 - Part 3: move session history to parent process. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D26904

--HG--
extra : source : 29cc55878945008fdc4f356969fe528c85f34d41
extra : amend_source : fb5a3bb318346ec6fc02bcdac51f1588b6e87634
2019-03-05 15:46:10 +01:00
Peter Van der Beken 7e9586a484 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 4: Forward declare the inner type of a ManagedEndpoint. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28551

--HG--
extra : source : 5d6a6518fd988535c869f94b2f3dbc02eef546a7
2019-04-23 19:30:01 +02:00
Peter Van der Beken 963a983ee8 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 3: don't generate code that copies members of unions and structs if they contain a ManagedEndpoint. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28550

--HG--
extra : source : 0f5bfffa449f1845c591146b2f62c3ffcb809f61
2019-04-19 14:35:30 +02:00
Peter Van der Beken ffd3e84760 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 2: add a typedef for ManagedEndpoint if it's used in a struct or union. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28549

--HG--
extra : source : a989da45e5386db183fc44b92ca0be6689890ac9
2019-04-19 14:56:48 +02:00
Peter Van der Beken e9208b01f8 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 1: Include headers for parent and child actors. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28548

--HG--
extra : source : 534f55dc3b864de991c481bddbdb36081547fdbf
2019-04-19 14:13:27 +02:00
Jim Porter 9354dfda4a Bug 1557447 - Profiler support for IPC information; r=nika,smaug
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 20:51:07 +00:00
Daniel Varga 8fdca46bc7 Backed out changeset 2923afce519a (bug 1557447) for browser chrome failure at tools/profiler/tests/browser/browser_test_feature_preferencereads.js. On a CLOSED TREE 2019-10-18 07:54:09 +03:00
Jim Porter 80bfcd6e57 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 02:56:02 +00:00
Dorel Luca efd52379da Backed out changeset cd4dc0ae3364 (bug 1557447) for Browser-chrome failures in build/src/obj-firefox/dist/include/mozilla/BlocksRingBuffer.h 2019-10-18 03:59:06 +03:00
Jim Porter 641b95fb72 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 23:39:42 +00:00
Aaron Klotz ff13f9f2cc Bug 1583581: Make promise-based async senders generated by IPDL use std::move to pass its arguments to the callback-based sender; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D46968

--HG--
extra : moz-landing-system : lando
2019-09-25 17:14:49 +00:00
Byron Campen [:bwc] fec8b0d807 Bug 1569183: Stop doing a proxy lookup to determine whether we're configured to use a proxy (for the proxy_only_if_behind_proxy pref), and instead look at whether we loaded the doc using a proxy. r=mjf,mayhemer,jld
Differential Revision: https://phabricator.services.mozilla.com/D45289

--HG--
extra : moz-landing-system : lando
2019-09-18 14:27:42 +00:00
Byron Campen [:bwc] ffa09cee72 Bug 1569183: Rename PWebrtcProxyChannel to PWebrtcTCPSocket. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45098

--HG--
rename : media/mtransport/WebrtcProxyChannelWrapper.cpp => media/mtransport/WebrtcTCPSocketWrapper.cpp
rename : media/mtransport/WebrtcProxyChannelWrapper.h => media/mtransport/WebrtcTCPSocketWrapper.h
rename : media/mtransport/ipc/PWebrtcProxyChannel.ipdl => media/mtransport/ipc/PWebrtcTCPSocket.ipdl
rename : media/mtransport/ipc/WebrtcProxyChannel.cpp => media/mtransport/ipc/WebrtcTCPSocket.cpp
rename : media/mtransport/ipc/WebrtcProxyChannel.h => media/mtransport/ipc/WebrtcTCPSocket.h
rename : media/mtransport/ipc/WebrtcProxyChannelCallback.h => media/mtransport/ipc/WebrtcTCPSocketCallback.h
rename : media/mtransport/ipc/WebrtcProxyChannelChild.cpp => media/mtransport/ipc/WebrtcTCPSocketChild.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelChild.h => media/mtransport/ipc/WebrtcTCPSocketChild.h
rename : media/mtransport/ipc/WebrtcProxyLog.cpp => media/mtransport/ipc/WebrtcTCPSocketLog.cpp
rename : media/mtransport/ipc/WebrtcProxyLog.h => media/mtransport/ipc/WebrtcTCPSocketLog.h
rename : media/mtransport/ipc/WebrtcProxyChannelParent.cpp => media/mtransport/ipc/WebrtcTCPSocketParent.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelParent.h => media/mtransport/ipc/WebrtcTCPSocketParent.h
extra : moz-landing-system : lando
2019-09-17 18:15:41 +00:00
Nika Layzell e738c764e1 Bug 1578398 - Check 'CanSend()' when calling Send__delete__(), r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D44856

--HG--
extra : moz-landing-system : lando
2019-09-05 18:08:58 +00:00
Jed Davis 952ed3dac9 Bug 1568047. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41466

--HG--
extra : moz-landing-system : lando
2019-08-12 18:50:09 +00:00
Nika Layzell 5f47039328 Bug 1523638 - Part 3: Construct WindowGlobal actors using ManagedEndpoint, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37650

--HG--
extra : moz-landing-system : lando
2019-08-08 16:06:56 +00:00
Nika Layzell 0a2e2e5949 Bug 1570367 - Don't generate pure virtual unused AllocPFoo, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D40066

--HG--
extra : moz-landing-system : lando
2019-07-31 21:59:52 +00:00
Nika Layzell efac1124a9 Bug 1550560 - Part 4: Don't generate helper ctors for refcounted actors, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D39535

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:20 +00:00
Nika Layzell 5853ed26e9 Bug 1550560 - Part 2: Generate logic for refcounted IPDL actors, r=mccr8
This takes the approach of directly tying the `AddRef()` and `Release()` calls
on the underlying actor object to the lifecycle of the ActorLifecycleProxy
object, by adding another virtual `ActorAlloc()` method as the counterpart to
`ActorDealloc()`.

The changes to the methods called from C++ are relatively minimal:

1. The `SendPFooConstructor(...)` methods have the same signature, but now will
   AddRef() internally (through `ActorAlloc()`), so an `do_AddRef(foo).take()`
   isn't needed. Same with the `{Bind,Open}PFooEndpoint` methods.

   This was done to reduce the number of invasive internal changes in the
   codegen which were required to pipe a passed-in `already_AddRefed` to the
   underlying `ActorLifecycleProxy` which is created by generic code.

2. The `AllocPFoo{Parent,Child}` methods have been modified to return an
   `already_AddRefed` by default, and the callsites will store the result in a
   `RefPtr<T>` if the type is refcounted.

3. No `DeallocPFoo...` method is called anymore. Unfortunately due to
   devirtualization, it won't be an error if an unused method is still present,
   though it won't be called.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:16 +00:00
Nika Layzell 17ed6763d2 Bug 1550560 - Part 1: Parse refcounted protocols in IPDL, r=mccr8
The syntax for the new construct looks like the following, and re-uses the
refcounted keyword from refcounted using statements:

async refcounted protocol PFoo { ... }

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

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:14 +00:00
Nika Layzell 7d9769c5e3 Bug 1565405 - Fail async ctor call if `!Manager()->CanSend()`, r=froydnj
The previous behaviour of failing unconditionally was performed as, during
shutdown, the channel could become unable to send without worker threads having
a chance to react. This change keeps that behaviour, isolating async message
senders from impending IPC shutdown, while performing expected actor teardown if
the manager actor has already been destroyed, and should no longer send messages.

An alternate behaviour here could be to crash if !Manager()->CanSend(). That
behaviour may be preferable if a sufficient number of callsites don't check the
return value of the `SendPFooConstructor()` method.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 16:37:40 +00:00
Andrea Marchesini cef26c06c6 Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - PProxyConfigLookup IPC protocol, r=bwc,kershaw,jld
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-29 12:27:59 +00:00
Ciure Andrei c0756f3389 Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE
Backed out changeset 644ceb2fe568 (bug 1523638)
Backed out changeset 27647ee7a927 (bug 1523638)
Backed out changeset 96f1ccb95570 (bug 1523638)
Backed out changeset b60a17ea716a (bug 1523638)
Backed out changeset 507e63186c5f (bug 1523638)
Backed out changeset 33255408ca61 (bug 1523638)
Backed out changeset d97b2d223616 (bug 1523638)
Backed out changeset eba2a0514cde (bug 1523638)
Backed out changeset d7065174c5c4 (bug 1523638)
Backed out changeset c21b361e175d (bug 1523638)
2019-07-23 05:13:32 +03:00
Nika Layzell b1f124f20a Bug 1523638 - Part 3: Construct WindowGlobal actors using ManagedEndpoint, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37650

--HG--
extra : moz-landing-system : lando
2019-07-18 19:38:10 +00:00
Bogdan Tara ca45889546 Backed out 9 changesets (bug 1523638) for browser_contextmenu.js failures CLOSED TREE
Backed out changeset 0a584a07b696 (bug 1523638)
Backed out changeset 8c5af2289900 (bug 1523638)
Backed out changeset 40ed1bd64b09 (bug 1523638)
Backed out changeset 9a99a0391979 (bug 1523638)
Backed out changeset 07fb4748b91a (bug 1523638)
Backed out changeset 49047c3ebae9 (bug 1523638)
Backed out changeset d606d072126c (bug 1523638)
Backed out changeset 76dc1937fc77 (bug 1523638)
Backed out changeset c784c14b5d5d (bug 1523638)
2019-07-16 23:40:47 +03:00
Nika Layzell a711231390 Bug 1523638 - Part 3: Construct WindowGlobal actors using ManagedEndpoint, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37650

--HG--
extra : moz-landing-system : lando
2019-07-16 18:47:39 +00:00
Barret Rennie 0b66a71420 Bug 1289211 - Rename InfallibleTArray to nsTArray in ipc/ r=nika
Differential Revision: https://phabricator.services.mozilla.com/D36961

--HG--
extra : moz-landing-system : lando
2019-07-10 03:31:24 +00:00
Jonathan Kingston a5ba216f93 Bug 1315460 - Removal of keygen element r=keeler,baku,jld,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D22810

--HG--
extra : moz-landing-system : lando
2019-06-13 08:58:07 +00:00
Matt Woodrow 15fec19828 Bug 1555891 - Merge PVideoDecoder into PRemoteDecoder. r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D33587

--HG--
extra : moz-landing-system : lando
2019-06-11 02:01:51 +00:00
Matt Woodrow 4908a84df2 Bug 1555891 - Merge PVideoDecoderManager into PRemoteDecoderManager. r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D33586

--HG--
extra : moz-landing-system : lando
2019-06-11 02:01:34 +00:00
Nika Layzell 03a2f40528 Bug 1553272 - Eliminate the unnecessary ProtocolState object, r=froydnj
The vast majority of the virtual methods which were used on ProtocolState were
actually methods which only had meaningful implementations on the toplevel
protocol. This patch adds a new field to IProtocol holding a direct pointer to
the protocol's `IToplevelProtocol`, and the methods formerly implemented with
ProtocolState now directly call the corresponding method on IToplevelProtocol.
IToplevelProtocol then shadows these methods with the toplevel protocol
implementation, meaning that the right code is run in the right places.

In addition, some state was maintained for protocols inside of the separate
ProtocolState allocation, and this patch moves that state back into the actor
itself.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 14:57:34 +00:00
sotaro 3d0c73c202 Bug 1537586 - Address build failure with --disable-printing r=bobowen,froydnj
Make nsIWebBrowserPrint included unconditionally for addressing nsIDocShell.rs build failure.

Remove direct_call of PPrinting and PRemotePrintJob. Their ipdl are built unconditionally, but their derived classes are not built with --disable-printing.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 01:25:36 +00:00
Nika Layzell 77532c1fa6 Bug 1553270 - Part 2: Allow getting a protocol's name from its ProtocolID, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32043

--HG--
extra : moz-landing-system : lando
2019-05-24 22:36:49 +00:00
Nika Layzell 406f5cc2d8 Bug 1553270 - Part 1: Store the protocol ID on IProtocol directly, r=froydnj
This allows for the getter to be used in IProtocol's destructor, and generally
brings IProtocol more in line with IToplevelProtocol.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 20:21:35 +00:00
Nika Layzell 259a8f1974 Bug 1511161 - Part 2: Use Code throughout IPDL codegen, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D30234

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:43 +00:00
Nika Layzell c2a887bfba Bug 1511161 - Part 1: Add new Code object to IPDL codegen, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13467

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:41 +00:00
Nika Layzell e71da28e87 Bug 1547218 - Part 2: Stop special casing pointer types in ParamTraits specialization, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D29779

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:39 +00:00
Nika Layzell 45a2a8e839 Bug 1548717 - Part 2: Check CanSend before trying to send, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D30236

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:35 +00:00
Nika Layzell 833e7d5780 Bug 1548717 - Part 1: Remove the unnecessary internal liveness state value, r=froydnj
These values were only being used for assertions within IPDL send
methods. They had no positive impact beyond causing crashes when sending
a message over a dead actor.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:27 +00:00
Nika Layzell 1bd8912413 Bug 1547085 - Discard messages sent to dead actors, r=jld
Historically we've failed very loudly when receiving a message which was
destined for an actor which had already been destroyed. This had the
effect of requiring manual teardown for most actors, as work would need
to be done to ensure messages weren't sent when the target actor might
be about to tear itself down.

In addition, due to this teardown work being done outside of IPDL, this
work would have to manually be checked in subactors, and involved the
addition of new flags, such as `mIPCOpen`, in order to track whether IPC
had begun to be shut down, and discard messages manually if it had.

It is an ongoing issue that we occasionally miss places where we need to
discard messages, and it is easy to not remember to perform async
destruction when building a new actor, meaning that extra work is
required to correctly discard messages when the actor is being torn
down. Due to the correct decision, almost all of the time, being to
discard the message, this patch takes the approach of transforming the
crash which was previously performed into a message discard.

The hope is that this will reduce the burden on actor implementors, by
allowing the use of `Send__delete__` without first synchronizing with
the remote actor, as well as reduce unintentional crashes.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:25 +00:00
Nika Layzell c293c9007f Bug 1540731 - Part 1: Manage actor object lifecycles within IPC, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28572

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:14 +00:00
Jan Varga 2d3ff6b0f5 Bug 1534882 - Don't crash when synchronously constructing actor during content shutdown, r=nika
This patch changes the way how we handle sync ctor send errors. They are now
ignored and treated like messages which successfully were queued to send, but
got lost due to the other side hanging up.
For more details, see bug 1509362 which originally did it for async ctors.
The main differences here are that we destroy the actor and we return null when
the send fails.

Differential Revision: https://phabricator.services.mozilla.com/D31517
2019-05-16 21:09:18 +02:00
Ryan Hunt c2729d0df1 Bug 1548939 - Remove direct_call overrides for PBrowser. r=nika
This isn't needed now that BrowserParent has the same name
as the protocol.

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

--HG--
extra : rebase_source : dbfc1722a43e1f8fbbe01f1766a397b570fa7d6a
extra : source : 792b49f269bb6308e152290ed0dfa03efbffa536
extra : histedit_source : e001669549af547f5387a3b010ad52ebee6eea3f
2019-04-25 15:28:44 -05:00
Ryan Hunt 1751a8ddbf Bug 1548939 - Devirtualize BrowserChild IPDL methods. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D30150

--HG--
extra : rebase_source : d657164153889209adfe4b946c56bcbb8f7c858b
extra : histedit_source : b5df9ab9ec8202f5c00c166baf7029e6290da728
2019-05-06 14:29:29 -05:00
Bas Schouten cf839e9e77 Bug 1545787: Make EndRecording occur synchronously so it only returns once all files are written. r=mstange r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D28199

--HG--
extra : rebase_source : 6288d2e56a7deed64b29e052c7f179ac09392717
2019-04-19 16:59:43 +02:00
Jan Varga 864dcf0703 Bug 1513915 - LSNG: LoadItem could return more items (up to the prefill limit); r=asuth,jld
Differential Revision: https://phabricator.services.mozilla.com/D26476
2019-04-08 10:56:19 +02:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Jonathan Kew 64c9983c83 Bug 1514869 - patch 8 - Make the SetCharacterMap message async, and use the unshared gfxCharacterMap in the content process until the shared one is in place. r=jwatt,jld
Differential Revision: https://phabricator.services.mozilla.com/D24137

--HG--
extra : moz-landing-system : lando
2019-04-29 14:39:05 +00:00
Jonathan Kew 9811ca8336 Bug 1514869 - patch 1 - Basic implementation of a cross-process sharable font list, using shared memory to store the list of families & faces, and per-font character maps. r=jwatt,jld
Differential Revision: https://phabricator.services.mozilla.com/D22937

--HG--
extra : moz-landing-system : lando
2019-04-27 15:37:29 +00:00
Andrea Marchesini 1739e25925 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - IPCBlobInputStream actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28191

--HG--
extra : moz-landing-system : lando
2019-04-26 18:04:02 +00:00
Andrea Marchesini 7d30a9996e Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - TemporaryIPCBlob actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28190

--HG--
extra : moz-landing-system : lando
2019-04-26 18:01:53 +00:00
Andrea Marchesini 69fd7c57d7 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - PendingIPCBlob actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28189

--HG--
extra : moz-landing-system : lando
2019-04-26 18:01:08 +00:00