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

5641 Коммитов

Автор SHA1 Сообщение Дата
Aaron Klotz 1d100df0ef Bug 1493448: Print out the failing HRESULT when assertion fires in mscom::AgileReference::Clear; r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D26001

--HG--
extra : moz-landing-system : lando
2019-04-03 22:06:18 +00:00
Kyle Machulis e71632b0fc Bug 1540002 - Remove intr __delete__ from PPluginInstance; r=nika,mccr8
PPluginInstance's __delete__ was ported from rpc to intr, and is the
only non-async IPDL deletion in the codebase. We should be able to
align this with the rest of the IPDL interfaces and remove the need
for specialized intr __delete__ handling.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 21:10:20 +00:00
Khyati Agarwal f2c8dd895b bug 1469694 - GeckoChildProcessHost should check the return value of LaunchApp r=jld
Differential Revision: https://phabricator.services.mozilla.com/D24837

--HG--
extra : moz-landing-system : lando
2019-04-01 21:58:23 +00:00
Gerald Squelart e1bd1f5588 Bug 1429613 - Using upgraded Variant::match where appropriate - r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D24891

--HG--
extra : moz-landing-system : lando
2019-04-02 11:53:55 +00:00
Gerald Squelart e2d15a1cfb Bug 1429613 - Variant matcher callbacks renamed from `match` to `operator()` - r=froydnj
Mechanical change from Matcher::match(...) to Matcher::operator()(...).
This will now permit the use of generic lambdas, and facilitate the
implementation of multi-lambda match.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 11:53:47 +00:00
Jim Mathies ad9b0890dd Bug 1539577 - Avoid calling InitUIThread when native event processing is turned off. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D25233

--HG--
extra : moz-landing-system : lando
2019-04-01 08:13:11 +00:00
Jim Mathies 3a40fd71ea Bug 1539581 - Cleanup use of RegisterWindowMessgae in nsAppShell. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D25235

--HG--
extra : moz-landing-system : lando
2019-04-01 16:53:04 +00:00
Sylvestre Ledru ef0bfc3822 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
Andrea Marchesini ac66f432bc Bug 1534538 - Principal serialization should not serialize base domain if not needed, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D24710

--HG--
extra : moz-landing-system : lando
2019-03-29 19:20:52 +00:00
Nika Layzell a33a880625 Bug 1537977 - Add a ManagedEndpoint IPDL type for manually constructing actors, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D24425

--HG--
extra : moz-landing-system : lando
2019-03-28 20:02:50 +00:00
Alex Gaynor 0d4f2d8f33 Bug 1539542 - removed PAsmJSCacheEntry from the IPC direct call exclusions list; r=mccr8
This protocol no longer exists.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 16:36:08 +00:00
Oana Pop Rus 47e94b5d6e Merge inbound to mozilla-central. a=merge 2019-03-28 12:11:35 +02:00
Haik Aftandilian 9eeac5a5a2 Bug 1525086 - Part 3b - Start the RDD sandbox earlier r=Alex_Gaynor
Start the RDD process earlier by changing RDDProcessHost to pass the necessary command line arguments for enabling the sandbox.

Per lsmp output on 10.14.3, starting the RDD process sandbox removes access to WindowServer, coreservicesd, lsd and distnoted.

Add a pref (defaulting to on) to control enabling starting the RDD process earlier.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 02:25:50 +00:00
Haik Aftandilian ae8b138790 Bug 1525086 - Part 3a - Move sandbox param logic to GeckoChildProcessHost and MacSandboxInfo to be more reusable r=Alex_Gaynor
Move sandbox early start logic to GeckoChildProcessHost.

Move sandbox CLI param logic into MacSandboxInfo.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 02:25:52 +00:00
Haik Aftandilian 77b79862cf Bug 1452278 - Part 1 - Make macOS nsOSHelperAppService::GetFromTypeAndExtension() not call OS MIME API's in content r=bzbarsky,froydnj
Add a new nsExternalHelperAppService derived class named nsOSHelperAppServiceChild to be used for the MIME service, external helper app service, and external protocol service interfaces in child processes. nsOSHelperAppServiceChild overrides some methods used to get MIME and external protocol handler information from the OS and implements these methods by remoting the calls to the parent process.

This is necessary because, on Mac, querying the OS for helper application info from sandboxed content processes is unreliable and has buggy side effects.

For now, only use the new class on Mac.

Android and unix file changes r+ by gcp.
Windows files changes r+ by bobowen.
Sync messages review r+ by nfroyd.

MozReview-Commit-ID: 63BiS6VCxfn

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

--HG--
extra : moz-landing-system : lando
2019-03-27 22:49:33 +00:00
Andrew McCreight 44f182bf3b Bug 1539261, part 2 - Mark various JSStructuredCloneData methods MOZ_MUST_USE. r=sfink
Also, fix up various places that call these methods.

Depends on D24991

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

--HG--
extra : moz-landing-system : lando
2019-03-27 20:41:17 +00:00
arthur.iakab 7654bfed1e Backed out 2 changesets (bug 1452278) for mingwclang build bustages on win/nsOSHelperAppService.h CLOSED TREE
Backed out changeset f11d78387bd9 (bug 1452278)
Backed out changeset 656f17a2553b (bug 1452278)
2019-03-27 22:03:07 +02:00
arthur.iakab 7ae8fb76e1 Backed out 2 changesets (bug 1539261) for multiple build bustages on /fuzz-tests/testStructuredCloneReader.cpp CLOSED TREE
Backed out changeset 526daf87fff9 (bug 1539261)
Backed out changeset 5b070b6ae224 (bug 1539261)
2019-03-27 21:59:29 +02:00
Haik Aftandilian b8118af581 Bug 1452278 - Part 1 - Make macOS nsOSHelperAppService::GetFromTypeAndExtension() not call OS MIME API's in content r=bzbarsky,froydnj
Add a new nsExternalHelperAppService derived class named nsOSHelperAppServiceChild to be used for the MIME service, external helper app service, and external protocol service interfaces in child processes. nsOSHelperAppServiceChild overrides some methods used to get MIME and external protocol handler information from the OS and implements these methods by remoting the calls to the parent process.

This is necessary because, on Mac, querying the OS for helper application info from sandboxed content processes is unreliable and has buggy side effects.

For now, only use the new class on Mac.

Android and unix file changes r+ by gcp.
Windows files changes r+ by bobowen.
Sync messages review r+ by nfroyd.

MozReview-Commit-ID: 63BiS6VCxfn

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

--HG--
extra : moz-landing-system : lando
2019-03-27 19:23:32 +00:00
Andrew McCreight c5ae898857 Bug 1539261, part 2 - Mark various JSStructuredCloneData methods MOZ_MUST_USE. r=sfink
Also, fix up various places that call these methods.

Depends on D24991

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

--HG--
extra : moz-landing-system : lando
2019-03-27 19:34:46 +00:00
Cosmin Sabou 3d469329a4 Merge mozilla-inbound to mozilla-central. a=merge 2019-03-27 06:45:13 +02:00
dOn'tReallycAre 2823fecb3a Bug 1353767 - BufferList methods that can OOM should all be MOZ_MUST_USE. r=billm
The Pickle methods can use MOZ_ALWAYS_TRUE because the BufferList is
infallible, so the WriteBytes calls will never fail.
2019-03-26 13:24:00 +02:00
Cameron McCormack 349f8a0865 Bug 1538045 - use MAP_FAILED instead of (void*)-1 in shared_memory_posix.cc. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D24458

--HG--
extra : moz-landing-system : lando
2019-03-26 22:06:18 +00:00
Cameron McCormack bc72d9813e Bug 1515551 - Add functionality to SharedMemoryBasic to help map the shared memory at an arbitrary address. r=kmag
This patch adds two things:

1. An optional fixed_address argument to SharedMemoryBasic::Map, which
   is the address to map the shared memory at.

2. A FindFreeAddressSpace function that callers can use to find a
   contiguous block of free address space, which can then be used to
   determine an address to pass in to Map that is likely to be free.

Patches in bug 1474793 will use these to place the User Agent style
sheets in a shared memory buffer in the parent process at an address
that is also likely to be free in content processes.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 00:11:51 +00:00
sakshaat d781937a67 Bug 1517483 - Get rid of nsIScriptSecurityManager::IsSystemPrincipal r=bzbarsky
Replaced instances of callers in both C++ and JS files to query the state from the principal directly.

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

--HG--
extra : moz-landing-system : lando
2019-03-24 20:36:25 +00:00
srujana 9847052e21 Bug 1212103 : Added assert to check if the id is exceeding bounds of signed 32 bit integer r=jld
Added assert to check if the id is exceeding bounds of signed 32 bit integer.

```
x < (1<<29)
x+1 <= (1<<29)
((x+1)<<2) <= (1<<31)
((x+1)<<2)  | (two bit tag t)<= (1<<31)
```

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

--HG--
extra : moz-landing-system : lando
2019-03-22 19:06:02 +00:00
Alex Gaynor 6039e80432 Bug 1513911 - Part 3 - replace PIndexedDBPermissionRequest with async returns in IPC; r=asuth
This removes the only case of an IPDL protocol which has two implementors.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 19:14:01 +00:00
Doug Thayer 3f608fab0a Bug 1441308 - Support moving Maybe's in IPC serialization r=mccr8
I'd like to move an ipc::ByteBuf member of a struct into a Maybe,
and in order for that to work IPDLParamTraits<Maybe> needs to support
the rvalue Write.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 18:29:00 +00:00
Ciure Andrei 3de853018a Backed out 7 changesets (bug 1441308)for causing webrender build bustages CLOSED TREE
Backed out changeset 1764701d11d1 (bug 1441308)
Backed out changeset 32f7793dfd1a (bug 1441308)
Backed out changeset d8b4d6ec9b40 (bug 1441308)
Backed out changeset e2f83e4816dd (bug 1441308)
Backed out changeset baee8ada680f (bug 1441308)
Backed out changeset c09a51622e98 (bug 1441308)
Backed out changeset 737807563dd5 (bug 1441308)
2019-03-22 10:52:44 +02:00
Doug Thayer 0b1b0ee79e Bug 1441308 - Support moving Maybe's in IPC serialization r=mccr8
I'd like to move an ipc::ByteBuf member of a struct into a Maybe,
and in order for that to work IPDLParamTraits<Maybe> needs to support
the rvalue Write.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:15:32 +00:00
Aaron Klotz e0f5f64905 Bug 1536642: Ensure that mscom::RegisteredProxy move assignment correctly releases its references; r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D24106

--HG--
extra : moz-landing-system : lando
2019-03-20 00:29:27 +00:00
Alex Gaynor f3608ddac7 Bug 1536163 - Part 3 - use native Maybe syntax in place of OptionalShmem in IPDL; r=nika
--HG--
extra : rebase_source : 4f0c682a6d574308ec11608191f810c3fd6dc513
2019-03-21 06:52:48 +02:00
Alex Gaynor 6f04c635d8 Bug 1513911 - Part 2 - fixed a missing include; r=mccr8
Depends on D18995

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

--HG--
extra : moz-landing-system : lando
2019-02-27 20:00:58 +00:00
Alex Gaynor 177fb00eba Bug 1375863 - fold MOZ_CONTENT_SANDBOX and MOZ_GMP_SANDBOX into MOZ_SANDBOX; r=jld,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D22975

--HG--
extra : moz-landing-system : lando
2019-03-18 22:31:59 +00:00
Alex Gaynor aad50392d8 Bug 1534364 - replace OptionalIPCServiceWorkerDescriptor with IPCServiceWorkerDescriptor? in IPDL: r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D23013

--HG--
extra : moz-landing-system : lando
2019-03-15 12:55:10 +00:00
Andreea Pavel af20d1c10b Backed out changeset a5beba8cc190 (bug 1534364) for assertion failures 2019-03-14 23:14:31 +02:00
Alex Gaynor 2b1e080e64 Bug 1534364 - replace OptionalIPCServiceWorkerDescriptor with IPCServiceWorkerDescriptor? in IPDL: r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D23013

--HG--
extra : moz-landing-system : lando
2019-03-14 19:40:20 +00:00
Dorel Luca 0e9ffb4c4f Merge mozilla-inbound to mozilla-central. a=merge 2019-03-14 18:25:40 +02:00
Sylvestre Ledru 4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Andrea Marchesini 21180cb43c Bug 1534538 - Avoid sending CookieSettings from parent to child if not needed, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D23121

--HG--
extra : moz-landing-system : lando
2019-03-14 06:57:45 +00:00
David Major e5773183d6 Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester
Per the previous patch, clang-cl only understands five MSVC-style warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

This patch removes the flags that clang-cl doesn't understand.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 20:19:08 +00:00
Chris Pearce de686d23c1 Bug 1530245 - Launch sandbox from new remote sandbox broker process. r=jld,bobowen
Depends on D22051

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

--HG--
extra : moz-landing-system : lando
2019-03-13 09:24:52 +00:00
Chris Pearce f4c9b88845 Bug 1530245 - Make GeckoChildProcessHost::mSandboxBroker an abstract pointer. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D22051

--HG--
extra : moz-landing-system : lando
2019-03-13 09:24:37 +00:00
Alex Gaynor 456bcf6c38 Bug 1534666 - replace OptionalInputStreamParams with InputStreamParams? in IPDL; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D23153

--HG--
extra : moz-landing-system : lando
2019-03-12 15:52:26 +00:00
Valentin Gosu 21bfdeb265 Bug 1525036 - Add CrossOriginPolicy to the browsing context r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21418

--HG--
extra : moz-landing-system : lando
2019-03-12 08:04:01 +00:00
Csoregi Natalia d086070187 Backed out 5 changesets (bug 1525036) for browser_httpCrossOriginHeader.js failures. CLOSED TREE
Backed out changeset 6717beb3ac53 (bug 1525036)
Backed out changeset 0c05686bd62a (bug 1525036)
Backed out changeset 502b0bb796cd (bug 1525036)
Backed out changeset fa0363d33dbd (bug 1525036)
Backed out changeset 6391f42aaa6d (bug 1525036)
2019-03-09 02:39:11 +02:00
Valentin Gosu d12177cb53 Bug 1525036 - Add CrossOriginPolicy to the browsing context r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21418

--HG--
extra : moz-landing-system : lando
2019-03-08 15:34:54 +00:00
Andrea Marchesini 43beb5b35b Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 1 - information stored into loadInfo, r=Ehsan,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D18949

--HG--
extra : moz-landing-system : lando
2019-03-08 09:00:06 +00:00
Jan Varga f8372b6b8d Bug 1526891 - Part 13: Send an async IPC message instead of dispatching a runnable to the PBackground thread when shutting down quota manager; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D20922
2019-02-23 17:30:41 +01:00
Jan Varga 993ecafb04 Bug 1517089 - Part 11: Verify principalInfo before creating any parent actors; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D19205
2019-02-08 21:02:03 +01:00
Jan Varga 473d8c3a68 Bug 1517089 - Part 9: Add baseDomain to ContentPrincipalInfo; r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D19203
2019-02-08 21:01:50 +01:00
Coroiu Cristina 24aacfe9a4 Merge inbound to mozilla-central a=merge 2019-03-07 06:34:11 +02:00
Alex Gaynor 9a784d8ef8 Bug 1533066 - replace OptionalIPCClientInfo with IPCClientInfo? in IPDL; r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D22332

--HG--
extra : moz-landing-system : lando
2019-03-06 17:57:04 +00:00
Dorel Luca ac34e1d973 Backed out 16 changesets (bug 1525245) for Android failures. CLOSED TREE
Backed out changeset 9f8a1b410320 (bug 1525245)
Backed out changeset 0ef284a9a1d5 (bug 1525245)
Backed out changeset 835e5f642a03 (bug 1525245)
Backed out changeset 362f5a8d033c (bug 1525245)
Backed out changeset 9da3ab33cf67 (bug 1525245)
Backed out changeset 6aacd2d6e835 (bug 1525245)
Backed out changeset 8ff9e8f45e02 (bug 1525245)
Backed out changeset 2020227181cc (bug 1525245)
Backed out changeset fc3c64c330b9 (bug 1525245)
Backed out changeset 2762bf88e050 (bug 1525245)
Backed out changeset ffc10fdc50a6 (bug 1525245)
Backed out changeset bb6ade1207d7 (bug 1525245)
Backed out changeset 1875eb5085e4 (bug 1525245)
Backed out changeset 7e4f67a6d6f1 (bug 1525245)
Backed out changeset e671fc9581eb (bug 1525245)
Backed out changeset b89f5def8d0d (bug 1525245)
2019-03-06 21:07:49 +02:00
Nathan Froyd 14c0cbba56 Bug 1523996 - part 5 - bulk-read/write adjacent POD fields in IPDL-defined structs; r=Alex_Gaynor
Now that fields are packed nicely, we can take advantage of the
contiguous layout of POD fields and read/write all the POD fields of a
given size in a single read/write call.  For many structs, this should
have little or no effect, but for large structs such as LoadInfoArgs,
this reduces the number of function calls by ~50%.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:57 +00:00
Nathan Froyd c5829037f6 Bug 1523996 - part 4 - add static assertions for member layout; r=Alex_Gaynor
We're about to start depending on how the fields are packed in a future
patch, so we should add some compile-time checking that our assertions
are correct.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:48 +00:00
Nathan Froyd f1a050db9b Bug 1523996 - part 3 - factor out reading/writing sentinels; r=Alex_Gaynor
We're going to read and write sentinels slightly differently for
bulk-writing adjacent fields, so let's factor out some reusable code for
doing so.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:43 +00:00
Nathan Froyd aace5317f4 Bug 1523996 - part 2 - pack IPDL-defined struct members better; r=Alex_Gaynor
This patch changes the layout of IPDL-defined structs to order the POD
members by decreasing size, which ensures everything is packed well.
This optimization is only applied to the internal representation; the
external interface (e.g. constructors) is entirely unchaged.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:39 +00:00
Nathan Froyd e1246d9446 Bug 1523996 - part 1 - compute a packed ordering for structure fields; r=Alex_Gaynor
This patch computes an ordering for the fields of an IPDL structure decl
such that they are packed well in memory.  We'll take advantage of this
ordering in future patches.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:35 +00:00
Andrea Marchesini 2fb61cb48b Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 1 - information stored into loadInfo, r=Ehsan,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D18949

--HG--
extra : moz-landing-system : lando
2019-03-06 17:00:39 +00:00
Alex Gaynor e5279ff3f7 Bug 1532727 - replace OptionalURIParams with URIParams? in IPDL; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D22138

--HG--
extra : moz-landing-system : lando
2019-03-06 14:05:50 +00:00
Masatoshi Kimura 5baf191ea3 Bug 1528651 - Another follow-up to fix warnings on beta/release builds. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D21821

--HG--
extra : moz-landing-system : lando
2019-03-05 20:18:48 +00:00
Alex Gaynor d3a1bdd83c Bug 1532368 - replace OptionalPrincipalInfo with PrincipalInfo? in IPDL; r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D21972

--HG--
extra : moz-landing-system : lando
2019-03-05 14:41:42 +00:00
Yaron Tausky 842cf2b27c Bug 1484524: Allow creating a StrongWorkerRef for IPC in the Canceling state r=asuth
By allowing the creation of StrongWorkerRefs in the Canceling state we
ensure that IPC will not fail and lead to crashes.

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

--HG--
extra : moz-landing-system : lando
2019-03-04 23:05:34 +00:00
Alex Gaynor 38a2064d1e Bug 1441651 - Part 2 - pass Shmem and ByteBuf by rvalref to Send* IPC methods; r=nika,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D19954

--HG--
extra : moz-landing-system : lando
2019-03-04 16:35:30 +00:00
Alex Gaynor 82df5a3cd4 Bug 1441651 - Part 1 - pass Shmem and ByteBuf by rvalref to ParamTraits; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D19953

--HG--
extra : moz-landing-system : lando
2019-03-04 16:07:37 +00:00
Alex Gaynor dccb3bee8b Bug 1531827 - replace OptionalLoadInfoArgs with LoadInfoArgs? in IPDL; r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D21722

--HG--
extra : moz-landing-system : lando
2019-03-04 06:30:00 +00:00
Luke Wagner b65bcf0771 Bug 1520931 - Remove dom/asmjscache (r=ttung)
Differential Revision: https://phabricator.services.mozilla.com/D24985

--HG--
extra : rebase_source : 359ed648d0f0120a7892c5ecc794c008b99d1e27
2019-03-26 16:57:55 -05:00
David Major 15d58f1c4c Bug 1531376: Fix more unused code -Werrors in GeckoChildProcessHost.cpp 2019-03-01 14:29:39 -05:00
Gurzau Raul 6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Chris Pearce e5d0d33136 Bug 1531376 - #ifdef out isWidevine if sandbox disabled in GeckoChildProcessHost.cpp. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D21600

--HG--
extra : moz-landing-system : lando
2019-02-28 21:35:25 +00:00
Nika Layzell 516741b393 Bug 1507991 - Part 2: Serialize domain in ContentPrincipalInfo, r=baku
This is needed to maintain full feature parity with the existing
nsIPrincipal serializer while switching to using the PrincipalInfo-based
one.

Depends on D14434

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

--HG--
extra : moz-landing-system : lando
2019-02-28 16:50:28 +00:00
Cosmin Sabou 00f3836a87 Merge mozilla-inbound to mozilla-central. a=merge 2019-02-28 12:57:50 +02:00
Boris Zbarsky 9c5da5f234 Bug 1489308 part 9. Remove now-unused wyciwyg bits. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D17327

--HG--
rename : dom/html/test/browser_refresh_wyciwyg_url.js => dom/html/test/browser_refresh_after_document_write.js
rename : dom/html/test/file_refresh_wyciwyg_url.html => dom/html/test/file_refresh_after_document_write.html
extra : moz-landing-system : lando
2019-02-28 01:09:48 +00:00
Ciure Andrei 8d2894e70d Backed out 12 changesets (bug 1525245) for failing worker-interception.https.html CLOSED TREE
Backed out changeset 009e7457b990 (bug 1525245)
Backed out changeset efb2e8fca464 (bug 1525245)
Backed out changeset 6a8401de3237 (bug 1525245)
Backed out changeset 38e802661b14 (bug 1525245)
Backed out changeset d02e3f436390 (bug 1525245)
Backed out changeset 10afd61b7582 (bug 1525245)
Backed out changeset 6b92fb3666d1 (bug 1525245)
Backed out changeset 476af2d7efe5 (bug 1525245)
Backed out changeset 43ad14e323a1 (bug 1525245)
Backed out changeset 94295e3fb027 (bug 1525245)
Backed out changeset d01ead2270e9 (bug 1525245)
Backed out changeset 6bdda622a04a (bug 1525245)
2019-02-28 00:55:39 +02:00
Andrea Marchesini dec5a16bcd Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 1 - information stored into loadInfo, r=Ehsan,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D18949

--HG--
extra : moz-landing-system : lando
2019-02-27 19:55:11 +00:00
Aaron Klotz 2dee09001f Bug 1530809: Make LaunchElevated use mscom::ProcessRuntime instead of mscom::STARegion; r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D21261

--HG--
extra : moz-landing-system : lando
2019-02-26 21:40:59 +00:00
Gurzau Raul ad9b9545b4 Backed out 3 changesets (bug 1507991) for bustages at DBSchema.cpp on a CLOSED TREE.
Backed out changeset 71c093a6dace (bug 1507991)
Backed out changeset 15116b423375 (bug 1507991)
Backed out changeset a483c170d712 (bug 1507991)
2019-02-26 22:56:42 +02:00
Chris Pearce 4d52a6a8f4 Bug 1527811 - Don't pass appdir and omnijar path to GMP processes. r=bobowen
GMP shouldn't need them anyway, and this reduces the dependencies from the x86
build we need to package in the "i686" subdir.

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

--HG--
extra : source : 72ef2d2e9429ddb00d423181e3f8c881db228889
extra : intermediate-source : 1481e243977a28f1e8bbc12641f9a44ecb0a3856
extra : histedit_source : 1eb8f04f329e2df8f92b85a884304fd89c616234
2019-02-15 10:47:45 +13:00
Chris Pearce 66200a9a99 Bug 1527811 - Execute plugin-container.exe for CDM GMP child process in "i686" subdir on Windows on ARM. r=bobowen
This patch assumes that "the build" places plugin-container.exe, xul.dll, and
their dependencies in the "i686" subdirectory of the aarch64 firefox package
directory.

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

--HG--
extra : source : bcba2fa22c772ba7c17e0dbdb5a10e5bbfe900d6
extra : histedit_source : 4b7f79876b3e67d1c1c64d91e869c3ad1efc4913
2019-02-12 15:45:07 +13:00
Nika Layzell e1231c52dd Bug 1507991 - Part 2: Serialize domain in ContentPrincipalInfo, r=baku
This is needed to maintain full feature parity with the existing
nsIPrincipal serializer while switching to using the PrincipalInfo-based
one.

Depends on D20853

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

--HG--
extra : moz-landing-system : lando
2019-02-26 15:48:00 +00:00
Gurzau Raul a12ddd1865 Backed out 11 changesets (bug 1525245) for failing at test_cookies_thirdparty.js on a CLOSED TREE.
Backed out changeset 1dcb31a1d5be (bug 1525245)
Backed out changeset 4cde0e38ada8 (bug 1525245)
Backed out changeset d3e99dd3fc32 (bug 1525245)
Backed out changeset a565014fdd8d (bug 1525245)
Backed out changeset 20f336320ce1 (bug 1525245)
Backed out changeset d8ee13b6a17d (bug 1525245)
Backed out changeset b79ec111bf41 (bug 1525245)
Backed out changeset 858d08371107 (bug 1525245)
Backed out changeset 1c359cdcf69f (bug 1525245)
Backed out changeset d65fb2d2a243 (bug 1525245)
Backed out changeset 28147c8790d3 (bug 1525245)
2019-02-26 22:09:25 +02:00
Andrea Marchesini 309c007d8d Bug 1525245 - Stabilize cookiePolicy/cookiePermission for live documents - part 1 - information stored into loadInfo, r=Ehsan,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D18949

--HG--
extra : moz-landing-system : lando
2019-02-26 17:34:36 +00:00
Alex Gaynor e2c32f5404 Bug 1529686 - Part 2 - fixed IPC test protocols to build with devirtualization; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D21067

--HG--
extra : moz-landing-system : lando
2019-02-26 15:37:22 +00:00
Alex Gaynor fb6b626563 Bug 1529686 - Part 1 - fixed ipdl unittests for devirtualization, which requires protocol names to start with 'P'; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D21066

--HG--
rename : ipc/ipdl/test/ipdl/error/asyncMessageListed.ipdl => ipc/ipdl/test/ipdl/error/PasyncMessageListed.ipdl
rename : ipc/ipdl/test/ipdl/ok/AsyncReturn.ipdl => ipc/ipdl/test/ipdl/ok/PAsyncReturn.ipdl
rename : ipc/ipdl/test/ipdl/ok/Delete.ipdl => ipc/ipdl/test/ipdl/ok/PDelete.ipdl
rename : ipc/ipdl/test/ipdl/ok/DeleteSub.ipdl => ipc/ipdl/test/ipdl/ok/PDeleteSub.ipdl
rename : ipc/ipdl/test/ipdl/ok/EndpointDecl.ipdl => ipc/ipdl/test/ipdl/ok/PEndpointDecl.ipdl
rename : ipc/ipdl/test/ipdl/ok/EndpointUse.ipdl => ipc/ipdl/test/ipdl/ok/PEndpointUse.ipdl
rename : ipc/ipdl/test/ipdl/ok/Nullable.ipdl => ipc/ipdl/test/ipdl/ok/PNullable.ipdl
rename : ipc/ipdl/test/ipdl/ok/Struct.ipdl => ipc/ipdl/test/ipdl/ok/PStruct.ipdl
rename : ipc/ipdl/test/ipdl/ok/SyncSyncManagee.ipdl => ipc/ipdl/test/ipdl/ok/PSyncSyncManagee.ipdl
rename : ipc/ipdl/test/ipdl/ok/SyncSyncManager.ipdl => ipc/ipdl/test/ipdl/ok/PSyncSyncManager.ipdl
rename : ipc/ipdl/test/ipdl/ok/actorparam.ipdl => ipc/ipdl/test/ipdl/ok/Pactorparam.ipdl
rename : ipc/ipdl/test/ipdl/ok/actorreturn.ipdl => ipc/ipdl/test/ipdl/ok/Pactorreturn.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Parray_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_OfActors.ipdl => ipc/ipdl/test/ipdl/ok/Parray_OfActors.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_OfActorsSub.ipdl => ipc/ipdl/test/ipdl/ok/Parray_OfActorsSub.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_Union.ipdl => ipc/ipdl/test/ipdl/ok/Parray_Union.ipdl
rename : ipc/ipdl/test/ipdl/ok/basicUsing.ipdl => ipc/ipdl/test/ipdl/ok/PbasicUsing.ipdl
rename : ipc/ipdl/test/ipdl/ok/builtins.ipdl => ipc/ipdl/test/ipdl/ok/Pbuiltins.ipdl
rename : ipc/ipdl/test/ipdl/ok/bytebuf.ipdl => ipc/ipdl/test/ipdl/ok/Pbytebuf.ipdl
rename : ipc/ipdl/test/ipdl/ok/empty.ipdl => ipc/ipdl/test/ipdl/ok/Pempty.ipdl
rename : ipc/ipdl/test/ipdl/ok/emptyStruct.ipdl => ipc/ipdl/test/ipdl/ok/PemptyStruct.ipdl
rename : ipc/ipdl/test/ipdl/ok/headerProto.ipdl => ipc/ipdl/test/ipdl/ok/PheaderProto.ipdl
rename : ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PintrProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/jetpack.ipdl => ipc/ipdl/test/ipdl/ok/Pjetpack.ipdl
rename : ipc/ipdl/test/ipdl/ok/manageSelf.ipdl => ipc/ipdl/test/ipdl/ok/PmanageSelf.ipdl
rename : ipc/ipdl/test/ipdl/ok/manageSelf_Toplevel.ipdl => ipc/ipdl/test/ipdl/ok/PmanageSelf_Toplevel.ipdl
rename : ipc/ipdl/test/ipdl/ok/managedProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PmanagedProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/managerProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PmanagerProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_OfActors.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_OfActors.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_OfActorsSub.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_OfActorsSub.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_Union.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_Union.ipdl
rename : ipc/ipdl/test/ipdl/ok/media.ipdl => ipc/ipdl/test/ipdl/ok/Pmedia.ipdl
rename : ipc/ipdl/test/ipdl/ok/messageCompress.ipdl => ipc/ipdl/test/ipdl/ok/PmessageCompress.ipdl
rename : ipc/ipdl/test/ipdl/ok/messageVerify.ipdl => ipc/ipdl/test/ipdl/ok/PmessageVerify.ipdl
rename : ipc/ipdl/test/ipdl/ok/messageVerifyTopLevel.ipdl => ipc/ipdl/test/ipdl/ok/PmessageVerifyTopLevel.ipdl
rename : ipc/ipdl/test/ipdl/ok/multiManaged.ipdl => ipc/ipdl/test/ipdl/ok/PmultiManaged.ipdl
rename : ipc/ipdl/test/ipdl/ok/multiManager1.ipdl => ipc/ipdl/test/ipdl/ok/PmultiManager1.ipdl
rename : ipc/ipdl/test/ipdl/ok/multiManager2.ipdl => ipc/ipdl/test/ipdl/ok/PmultiManager2.ipdl
rename : ipc/ipdl/test/ipdl/ok/multipleUsingCxxTypes.ipdl => ipc/ipdl/test/ipdl/ok/PmultipleUsingCxxTypes.ipdl
rename : ipc/ipdl/test/ipdl/ok/mutualRecStructUnion.ipdl => ipc/ipdl/test/ipdl/ok/PmutualRecStructUnion.ipdl
rename : ipc/ipdl/test/ipdl/ok/mutualRecUnion.ipdl => ipc/ipdl/test/ipdl/ok/PmutualRecUnion.ipdl
rename : ipc/ipdl/test/ipdl/ok/namespace_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Pnamespace_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/noRedeclCrossMessage.ipdl => ipc/ipdl/test/ipdl/ok/PnoRedeclCrossMessage.ipdl
rename : ipc/ipdl/test/ipdl/ok/plugin.ipdl => ipc/ipdl/test/ipdl/ok/Pplugin.ipdl
rename : ipc/ipdl/test/ipdl/ok/selfRecUnion.ipdl => ipc/ipdl/test/ipdl/ok/PselfRecUnion.ipdl
rename : ipc/ipdl/test/ipdl/ok/shmem.ipdl => ipc/ipdl/test/ipdl/ok/Pshmem.ipdl
rename : ipc/ipdl/test/ipdl/ok/syncProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PsyncProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/threeDirections.ipdl => ipc/ipdl/test/ipdl/ok/PthreeDirections.ipdl
rename : ipc/ipdl/test/ipdl/ok/union_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Punion_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/union_Namespaced.ipdl => ipc/ipdl/test/ipdl/ok/Punion_Namespaced.ipdl
extra : moz-landing-system : lando
2019-02-26 16:54:04 +00:00
Ryan Hunt 5e72855054 Bug 1523969 part 12 - Move method definition inline comments to new line in 'ipc/'. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D21112

--HG--
extra : rebase_source : f7e1461efb6f9e190dd4d9b161e2fb898aeb203a
2019-02-25 16:08:36 -06:00
Masatoshi Kimura e0a317eaee Bug 1528651 - Followup to fix a warning on release or beta. r=aklotz
--HG--
extra : source : 9688ff017d0d9ec8ece0f229187d0fcd6d58922d
extra : intermediate-source : c16331d3f4ab41f4de8414632630d24759209114
2019-02-23 06:58:07 +09:00
Nika Layzell dec9708f74 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:55 +00:00
Nika Layzell 305c3ca912 Bug 1522579 - Part 3: Remove consumers of nsIContentChild, r=mccr8
Like Part 2, however for `nsIContentChild`.

Depends on D20550

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:49 +00:00
Nika Layzell 1e93329f70 Bug 1522579 - Part 2: Remove consumers of nsIContentParent, r=mccr8
This patch tries to move them to `ContentParent` instead.

`ProcessPriorityManagerImpl::ObserveContentParentCreated` could not be moved
due to using `do_QueryInterface` to cast from a `nsISupports` down to the
`ContentParent` object. This could be fixed to remove the interfaces entirely,
but I left that for a follow-up.

Depends on D20549

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:47 +00:00
Nika Layzell f3274c2fd2 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:45 +00:00
Andreea Pavel cd1b27ad4d Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Backed out changeset 3c8320baa230 (bug 1522579)
Backed out changeset 0a288a3d85cd (bug 1522579)
Backed out changeset ecfd27e7d150 (bug 1522579)
Backed out changeset eda40fca0758 (bug 1522579)
Backed out changeset 5c7aafa32a0a (bug 1522579)
Backed out changeset a3c5a2c16411 (bug 1522579)
2019-02-25 18:19:38 +02:00
Nika Layzell 072dbde694 Bug 1522579 - Part 6: Completely remove nsIContent{Parent,Child}, r=mccr8
Depends on D20553

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:25 +00:00
Nika Layzell da5b73b6a0 Bug 1522579 - Part 3: Remove consumers of nsIContentChild, r=mccr8
Like Part 2, however for `nsIContentChild`.

Depends on D20550

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:19 +00:00
Nika Layzell ae293bbea9 Bug 1522579 - Part 2: Remove consumers of nsIContentParent, r=mccr8
This patch tries to move them to `ContentParent` instead.

`ProcessPriorityManagerImpl::ObserveContentParentCreated` could not be moved
due to using `do_QueryInterface` to cast from a `nsISupports` down to the
`ContentParent` object. This could be fixed to remove the interfaces entirely,
but I left that for a follow-up.

Depends on D20549

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:12 +00:00
Nika Layzell 7924bfa435 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:10 +00:00
Nika Layzell 4b1ca2241a Bug 1528493 - Part 2: Move OptionalIPCStream to use new maybe types, r=baku
Depends on D20067

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

--HG--
extra : moz-landing-system : lando
2019-02-22 18:46:14 +00:00
Nika Layzell fa6f0c132c Bug 1528493 - Part 1: Add support for maybe types to IPDL, r=mccr8,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D20067

--HG--
extra : moz-landing-system : lando
2019-02-22 18:46:12 +00:00
Oana Pop Rus e3f2246ee8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-21 11:42:10 +02:00
Oana Pop Rus b36e97fc77 Merge inbound to mozilla-central. a=merge 2019-02-21 11:31:00 +02:00
Chris Peterson ee7a3f7cca Bug 1528452 - Part 2: Rename _splitMethodDefn() to _splitMethodDeclDefn(). r=froydnj
This follows the naming convention of the related functions _splitClassDeclDefn() and _splitFuncDeclDefn().

Depends on D20056

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

--HG--
extra : moz-landing-system : lando
2019-02-20 11:20:27 +00:00
Chris Peterson 44a9ea3410 Bug 1528452 - Part 1: Don't emit method definitions for pure methods. r=froydnj
Bug 1428984 caused a regression where ipdlc will emit (empty) method definitions for pure methods. C++ allows a pure member function to have a definition (in case a derived class wants to call a default implementation in the base class), but we don't want this for ipdl's generated code.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 11:19:43 +00:00
Cosmin Sabou 9f8b29287b Merge mozilla-central to autoland. 2019-02-21 05:43:34 +02:00
Cosmin Sabou f3db52f4cf Merge mozilla-inbound to mozilla-central. a=merge 2019-02-21 05:42:03 +02:00
Masatoshi Kimura e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
Aaron Klotz c8b2ad1720 Bug 1529060: Minor mscom::ProcessRuntime cleanup; r=Jamie
* Be sure to set mInitResult = S_OK when we've already done process-wide initialization;
* Don't bother checking for Win32 lockdown unless we're not in the parent process

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

--HG--
extra : moz-landing-system : lando
2019-02-20 03:27:00 +00:00
Makoto Kato 376eb1a4da Bug 1528665 - Remove GetAndroidSystemInfo sync IPC. r=geckoview-reviewers,mccr8,snorp
nsSystemInfo is initialzied at first page load. Actually, content process uses
sync IPC to get Android OS information. But now, we can use Java code even if
on content process, so we should use JNI directly instead of sync IPC.

Also, nsSystemInfo still has unused extern android_sdk_version that is for
HoneyComp's DNS hack.  So let's remote it.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 21:19:14 +00:00
Sylvestre Ledru e0c61dafa5 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Summary: # ignore-this-changeset

Reviewers: Ehsan

Reviewed By: Ehsan

Subscribers: emilio, jandem, bbouvier, jya

Bug #: 1519636

Differential Revision: https://phabricator.services.mozilla.com/D20062
2019-02-16 20:20:37 +01:00
Valentin Gosu a5cc5b2a87 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
* Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
* SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed

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

--HG--
rename : toolkit/components/remotebrowserutils/tests/browser/browser_httpResponseProcessSelection.js => toolkit/components/remotebrowserutils/tests/browser/browser_httpCrossOriginOpenerPolicy.js
extra : moz-landing-system : lando
2019-02-15 22:02:47 +00:00
Valentin Gosu 865d80fff4 Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119

--HG--
extra : moz-landing-system : lando
2019-02-15 22:02:58 +00:00
Nika Layzell feecd3ed43 Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

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

--HG--
extra : moz-landing-system : lando
2019-02-15 19:49:04 +00:00
Cosmin Sabou 8cb8ef3973 Merge mozilla-central to autoland. 2019-02-15 20:50:34 +02:00
Cosmin Sabou fab429586f Merge autoland to mozilla-central. a=merge 2019-02-15 20:36:32 +02:00
Cosmin Sabou ba308a2f90 Backed out 4 changesets (bug 1521808) for causing merge conflicts.
Backed out changeset 42641f88d7da (bug 1521808)
Backed out changeset 32ce09b2c33a (bug 1521808)
Backed out changeset 94e513102b53 (bug 1521808)
Backed out changeset a08553c07886 (bug 1521808)
2019-02-15 20:34:07 +02:00
Razvan Maries d93d94cbc9 Backed out 9 changesets (bug 1522637) for causing bug 1528188. a=backout
Backed out changeset e4ca191d62a5 (bug 1522637)
Backed out changeset 540e5f318768 (bug 1522637)
Backed out changeset 0886a317a108 (bug 1522637)
Backed out changeset 4c7c512a262d (bug 1522637)
Backed out changeset d7eb272688be (bug 1522637)
Backed out changeset 67e838f49f4b (bug 1522637)
Backed out changeset 7e38890c72fa (bug 1522637)
Backed out changeset e6ca9ad18d15 (bug 1522637)
Backed out changeset 0f759e91eca8 (bug 1522637)
2019-02-15 18:21:36 +02:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Aaron Klotz 84c01f8930 Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie
This patch takes care of a bunch of issues and does some cleanup:

* We rename mscom::MainThreadRuntime to mscom::ProcessRuntime, as the latter
  is a more accurate name going forward.
* We make ProcessRuntime aware of the Win32k Lockdown process mitigation
  policy. When Win32k is disabled, we perform process-wide COM initialization
  in the multi-threaded apartment (since we cannot create an STA window).
* We refactor the mscom apartment region stuff to enable the Win32k lockdown
  pieces in ProcessRuntime.
* We move some Gecko-specific stuff into MOZILLA_INTERNAL_API guards so that
  ProcessRuntime is usable outside of xul.dll (I will be needing it for the
  launcher process).
* Another thing that might happen with the launcher process is that, under
  error conditions in the launcher, we create a ProcessRuntime object on a
  background thread for the purposes of telemetry logging, but we also allow
  the main thread to proceed to start as the browser. This could result in a
  scenario where the main thread, as the browser process, is attempting to
  instantiate its ProcessRuntime and ends up racing with the launcher process's
  telemetry thread which has its own ProcessRuntime. To account for this
  situation, we add mutual exclusion to the process-wide initialization code.
  We host this part inside mozglue since that state is shared between both
  firefox.exe and xul.dll.
* We clean up ProcessRuntime::InitializeSecurity by using Vector to set up
  the EXPLICIT_ACCESS entries.
* We remove mscom::MainThreadClientInfo and replace it with a direct call to
  CoGetCallerTID
* We revise all references to this class to use the new name.

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

--HG--
rename : ipc/mscom/COMApartmentRegion.h => ipc/mscom/ApartmentRegion.h
rename : ipc/mscom/MainThreadRuntime.cpp => ipc/mscom/ProcessRuntime.cpp
rename : ipc/mscom/MainThreadRuntime.h => ipc/mscom/ProcessRuntime.h
extra : moz-landing-system : lando
2019-02-14 18:56:20 +00:00
Dorel Luca 67115dd61b Backed out changeset 2d4b8d90cbd7 (bug 1400344) for Spider monkey failrues. CLOSED TREE
--HG--
rename : ipc/mscom/ApartmentRegion.h => ipc/mscom/COMApartmentRegion.h
rename : ipc/mscom/ProcessRuntime.cpp => ipc/mscom/MainThreadRuntime.cpp
rename : ipc/mscom/ProcessRuntime.h => ipc/mscom/MainThreadRuntime.h
2019-02-14 20:45:26 +02:00
Nika Layzell 9f36101095 Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

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

--HG--
extra : source : 5eeda2ba8e7965fccf3e17a8d1fd059872b2c2e8
2019-02-14 15:12:51 +00:00
Bogdan Tara c732fccb1e Backed out 8 changesets (bug 1522637) for browser_all_files_referenced.js failures CLOSED TREE
Backed out changeset f7ab0e6e739b (bug 1522637)
Backed out changeset 3d24e8e81c02 (bug 1522637)
Backed out changeset 41ca0b87537e (bug 1522637)
Backed out changeset 6e0d4b6b1c93 (bug 1522637)
Backed out changeset 8f494271ec06 (bug 1522637)
Backed out changeset 6b4d010964ec (bug 1522637)
Backed out changeset 5eeda2ba8e79 (bug 1522637)
Backed out changeset 5988b8e7d17c (bug 1522637)
2019-02-14 19:20:58 +02:00
Aaron Klotz 0cb12a123a Bug 1400344: Rename mscom::MainThreadRuntime to mscom::ProcessRuntime and make it aware of Win32k lockdown and of multiple instantiations; r=Jamie
This patch takes care of a bunch of issues and does some cleanup:

* We rename mscom::MainThreadRuntime to mscom::ProcessRuntime, as the latter
  is a more accurate name going forward.
* We make ProcessRuntime aware of the Win32k Lockdown process mitigation
  policy. When Win32k is disabled, we perform process-wide COM initialization
  in the multi-threaded apartment (since we cannot create an STA window).
* We refactor the mscom apartment region stuff to enable the Win32k lockdown
  pieces in ProcessRuntime.
* We move some Gecko-specific stuff into MOZILLA_INTERNAL_API guards so that
  ProcessRuntime is usable outside of xul.dll (I will be needing it for the
  launcher process).
* Another thing that might happen with the launcher process is that, under
  error conditions in the launcher, we create a ProcessRuntime object on a
  background thread for the purposes of telemetry logging, but we also allow
  the main thread to proceed to start as the browser. This could result in a
  scenario where the main thread, as the browser process, is attempting to
  instantiate its ProcessRuntime and ends up racing with the launcher process's
  telemetry thread which has its own ProcessRuntime. To account for this
  situation, we add mutual exclusion to the process-wide initialization code.
  We host this part inside mozglue since that state is shared between both
  firefox.exe and xul.dll.
* We clean up ProcessRuntime::InitializeSecurity by using Vector to set up
  the EXPLICIT_ACCESS entries.
* We remove mscom::MainThreadClientInfo and replace it with a direct call to
  CoGetCallerTID
* We revise all references to this class to use the new name.

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

--HG--
rename : ipc/mscom/COMApartmentRegion.h => ipc/mscom/ApartmentRegion.h
rename : ipc/mscom/MainThreadRuntime.cpp => ipc/mscom/ProcessRuntime.cpp
rename : ipc/mscom/MainThreadRuntime.h => ipc/mscom/ProcessRuntime.h
extra : moz-landing-system : lando
2019-02-14 16:40:58 +00:00
Nika Layzell 530fa8e29b Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

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

--HG--
extra : moz-landing-system : lando
2019-02-14 15:12:51 +00:00
Michael Froman 3429848591 Bug 1500596 - pt1 - modify IPC sync message name for making remote decoders. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D18639

--HG--
extra : moz-landing-system : lando
2019-02-14 19:07:08 +00:00
Valentin Gosu 3d45f28bb0 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
* Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
* SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed

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

--HG--
rename : toolkit/components/remotebrowserutils/tests/browser/browser_httpResponseProcessSelection.js => toolkit/components/remotebrowserutils/tests/browser/browser_httpCrossOriginOpenerPolicy.js
extra : moz-landing-system : lando
2019-02-15 12:14:49 +00:00
Valentin Gosu b2a27c32cd Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119

--HG--
extra : moz-landing-system : lando
2019-02-15 12:15:39 +00:00
Sylvestre Ledru 41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Andreas Farre eca9e717dd Bug 1525866 - Add IPDLParamTraits<Tuple<Ts...>>. r=froydnj
Add support for serializing/deserializing tuples.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 16:08:03 +00:00
Nika Layzell 4dc7fc3d64 Bug 1516240 - Part 1: Expose whether a cross-process channel is in use, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D19177

--HG--
extra : moz-landing-system : lando
2019-02-13 21:02:51 +00:00
Christoph Kerschbaumer d65faafb09 Bug 1509738: CSP snapshot nonce at load start time. r=baku
--HG--
extra : rebase_source : ea232b7a3aeae9c18895e885d1536ca58c8de1bd
extra : amend_source : b0c351f8c0c1a5eb7865a735f8dc5bafb42384f1
2019-02-13 20:45:29 +01:00
Alex Gaynor 9549d19893 Bug 1479930 - std::move() almost all arguments to Recv/Answer methods in IPC; r=froydnj
The one exception is refcounted types, because std::move(RefPtr<T>) does not
coerce to T*, which is what the current IPC methods accept.

This does not rewrite all Recv/Answer methods to take advantage of move
semantics.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 17:49:17 +00:00
Michael Froman 8b42c45ed4 Bug 1527472 - devirtualize IPC methods in PVideoDecoder and PRemoteVideoDecoder. r=Alex_Gaynor
Differential Revision: https://phabricator.services.mozilla.com/D19578

--HG--
extra : moz-landing-system : lando
2019-02-13 14:11:45 +00:00
Noemi Erli 0a63dd9be6 Backed out 2 changesets (bug 1509738) for failures in propagate-nonce-external-classic.html
Backed out changeset fbf4b73c8786 (bug 1509738)
Backed out changeset 53f624bc7c22 (bug 1509738)
2019-02-13 16:22:44 +02:00
Christoph Kerschbaumer 7859700e5d Bug 1509738 - CSP snapshot nonce at load start time. r=baku
--HG--
extra : rebase_source : b532f519b79a3bc14ece0c0ee829edd400149e48
extra : amend_source : d4b8fba240a9d28437ee436b94313fd1602426c4
extra : histedit_source : 6af35eb388f6c23d80d8412533fec02abe2d4cff
2019-02-13 13:46:50 +01:00
Andreea Pavel e09dd2a72d Backed out 2 changesets (bug 1509738) for failing propagate-nonce-external-classic.html on a CLOSED TREE
Backed out changeset 5cbc3f79a126 (bug 1509738)
Backed out changeset 44a945b21f87 (bug 1509738)
2019-02-13 02:18:28 +02:00
Christoph Kerschbaumer 6111ccf5fd Bug 1509738: CSP snapshot nonce at load start time r=baku
Differential Revision: https://phabricator.services.mozilla.com/D19519

--HG--
extra : moz-landing-system : lando
2019-02-12 18:01:32 +00:00
Jonathan Kingston 3421b8fcff Bug 1520868 - Replacing AsyncOpen2 with AsyncOpen always r=valentin
Replacing js and text occurences of asyncOpen2
Replacing open2 with open

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

--HG--
rename : layout/style/test/test_asyncopen2.html => layout/style/test/test_asyncopen.html
extra : moz-landing-system : lando
2019-02-12 16:08:25 +00:00
Cosmin Sabou 7d542a11f7 Merge mozilla-central to mozilla-inbound. 2019-02-21 05:44:20 +02:00
Dorel Luca 313155b999 Backed out 4 changesets (bug 1521808) for build bustage. CLOSED TREE
Backed out changeset 80aeea5f7abe (bug 1521808)
Backed out changeset c8c151d92c03 (bug 1521808)
Backed out changeset cc0a5c7dabb4 (bug 1521808)
Backed out changeset 8d5174a560fa (bug 1521808)
2019-02-12 14:54:45 +02:00
Valentin Gosu 005dcbada4 Bug 1521808 - Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
* New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
* Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
* SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed

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

--HG--
rename : toolkit/components/remotebrowserutils/tests/browser/browser_httpResponseProcessSelection.js => toolkit/components/remotebrowserutils/tests/browser/browser_httpCrossOriginOpenerPolicy.js
extra : moz-landing-system : lando
2019-02-12 12:16:58 +00:00
Valentin Gosu 4ef1efc776 Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D18119

--HG--
extra : moz-landing-system : lando
2019-02-12 12:15:54 +00:00
Makoto Kato eb0becd162 Bug 1503491 - Part 2. Remove PRemoteSpellcheckEngine::Check. r=mccr8,masayuki
Let's going away due to unused.

Depends on D19303

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

--HG--
extra : moz-landing-system : lando
2019-02-10 22:28:45 +00:00
Alex Gaynor 58e271b183 Bug 1525199 - Part 4 - removed size_t support from IPDL messages; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D19196

--HG--
extra : moz-landing-system : lando
2019-02-08 21:57:32 +00:00
shindli 6b820cdfea Backed out 6 changesets (bug 1522637) for en-US failures in testing/firefox-ui/tests/functional/safebrowsing/test_notification.py TestSafeBrowsingNotificationBar.test_notification_bar CLOSED TREE
Backed out changeset 18a809d53298 (bug 1522637)
Backed out changeset 9e9fd362dd8f (bug 1522637)
Backed out changeset f1191be4243a (bug 1522637)
Backed out changeset 5a8067fd848c (bug 1522637)
Backed out changeset 5f49cd87b1bd (bug 1522637)
Backed out changeset f82ba91f5ea2 (bug 1522637)
2019-02-09 03:12:53 +02:00
Nika Layzell 37ec17b0f5 Bug 1522637 - Part 2: Include BrowsingContextID in LoadInfo for subdocument loads, r=valentin
Depends on D18602

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

--HG--
extra : moz-landing-system : lando
2019-02-08 17:36:00 +00:00
Oana Pop Rus 03ebbdab95 Merge inbound to mozilla-central. a=merge 2019-02-08 11:53:37 +02:00
Chris Peterson 8e1848413c Bug 1507049 - Rename MOZ_CRASH_UNSAFE_OOL MOZ_CRASH_UNSAFE. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18515

--HG--
extra : rebase_source : e8ef6eec0f7542bb381e2da81ae6431b2828aabc
extra : source : a8c262b4a2579e6def1b3a5a8220f5197b443e34
2019-02-03 00:09:37 -08:00
Chris Pearce f1471711c9 Bug 1525813 - Ensure ipc::ShmemCreated message serializes shmem size as uint32_t. r=jld
Shmem sizes serialized in an ipc::ShmemCreated message should be sent as an
uint32_t rather than a size_t, as size_t is defined as different sizes in 64
and 32 bit builds. If the size isn't consistent, we won't be able to reliably
send this message between cross architecture processes.

Also, Shmem's have a limit of 32bit for their size anyway:
https://searchfox.org/mozilla-central/rev/e00ea598e52bbb35f8c45abf9c2eade17962bb5e/ipc/glue/Shmem.cpp#127

So this patch should not affect allocations of shmems.

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

--HG--
extra : source : d7276bbcafafd5cb96ef498ef74629294483e002
extra : amend_source : 9e4b7721cfbef5f2caf34c22de106c3127628597
extra : intermediate-source : 57b88145a6357f2fd3d93a101952b22279a246f2
2019-02-07 16:25:37 +13:00
Jan Varga 01b23e7ba8 Bug 1517089 - Part 4: Send an async IPC message instead of dispatching a runnable to the PBackground thread when clearing private browsing; r=asuth 2019-02-07 19:51:16 +01:00
Jan Varga d0270542f0 Bug 1525291 - LSNG: Chrome observer notifications for session storage are not distributed to content processes; r=asuth,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18809
2019-02-06 06:09:57 +01:00
Masatoshi Kimura d7df3ed38f Bug 1528651 - Fix warnings and re-enable warnings-as-errors in ipc/mscom/. r=aklotz 2019-02-20 20:57:00 +09:00
Dave Townsend e7f3517b8a Bug 1518639: Implement windows remoting server and client. r=jimm
Implements the windows remove client and server based on the current remoting
code in nsNativeAppSupportWin.cpp. Makes the hidden window classname encode both
program name and profile name. nsNativeAppSupportWin is now just used for
setting up the console.

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

--HG--
extra : source : 84e8066625fd72fdb1eb6eab85621ae842fe91b4
extra : amend_source : b698f986cce0ccfae29c04fcbe0d84a6c8605ab6
2019-02-06 14:18:35 -08:00
Coroiu Cristina b3ff92b647 Backed out 11 changesets (bug 1518639, bug 513742) for chrome failures at browser/components/shell/test/test_headless_screenshot.html
Backed out changeset 84e8066625fd (bug 1518639)
Backed out changeset 4ef3cc37f719 (bug 513742)
Backed out changeset 276ca640adc8 (bug 1518639)
Backed out changeset 73ca9a68d771 (bug 1518639)
Backed out changeset 967993505a3d (bug 1518639)
Backed out changeset fc466857ab39 (bug 1518639)
Backed out changeset 28404f97bb22 (bug 1518639)
Backed out changeset 5373c5bb9ad5 (bug 1518639)
Backed out changeset a7490cdfb635 (bug 1518639)
Backed out changeset 28c7186745e3 (bug 1518639)
Backed out changeset 35287afd3ace (bug 1518639)

--HG--
rename : toolkit/components/remote/nsDBusRemoteServer.cpp => toolkit/components/remote/nsDBusRemoteService.cpp
rename : toolkit/components/remote/nsDBusRemoteServer.h => toolkit/components/remote/nsDBusRemoteService.h
rename : toolkit/components/remote/nsGTKRemoteServer.cpp => toolkit/components/remote/nsGTKRemoteService.cpp
rename : toolkit/components/remote/nsGTKRemoteServer.h => toolkit/components/remote/nsGTKRemoteService.h
rename : toolkit/components/remote/nsXRemoteServer.cpp => toolkit/components/remote/nsXRemoteService.cpp
rename : toolkit/components/remote/nsXRemoteServer.h => toolkit/components/remote/nsXRemoteService.h
rename : toolkit/components/remote/nsDBusRemoteClient.cpp => widget/xremoteclient/DBusRemoteClient.cpp
rename : toolkit/components/remote/nsDBusRemoteClient.h => widget/xremoteclient/DBusRemoteClient.h
rename : toolkit/components/remote/RemoteUtils.cpp => widget/xremoteclient/RemoteUtils.cpp
rename : toolkit/components/remote/RemoteUtils.h => widget/xremoteclient/RemoteUtils.h
rename : toolkit/components/remote/nsXRemoteClient.cpp => widget/xremoteclient/XRemoteClient.cpp
rename : toolkit/components/remote/nsXRemoteClient.h => widget/xremoteclient/XRemoteClient.h
rename : toolkit/components/remote/nsRemoteClient.h => widget/xremoteclient/nsRemoteClient.h
2019-03-06 21:28:49 +02:00
Dave Townsend 2a5f215450 Bug 1518639: Implement windows remoting server and client. r=jimm
Implements the windows remove client and server based on the current remoting
code in nsNativeAppSupportWin.cpp. Makes the hidden window classname encode both
program name and profile name. nsNativeAppSupportWin is now just used for
setting up the console.

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

--HG--
extra : rebase_source : 57d9dd30fe7df2dab104bdc15cf68467d3f56e91
2019-02-06 14:18:35 -08:00
Alex Gaynor 0f01791ffc Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Recv/Answer methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:43 +00:00
Alex Gaynor 984f0333ea Bug 1512990 - Part 3 - remove declarations of Alloc/Dealloc methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Alloc/Dealloc methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:07 +00:00
Alex Gaynor 75c7d1fa76 Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj
When calling a Recv/Alloc/Dealloc method on most types, cast `this` to the
derived class.

There is a heuristic to figure out what the correct derived type is. There is a
blacklist of types which we can't do direct calls on for the moment, as well as
an override for types that do work with direct calls but which don't match the
heuristic.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:37 +00:00
Alex Gaynor 65b8aa873a Bug 1512990 - Part 1 - refactor IPDL compiler to centralize all Recv/Alloc/Dealloc calls on this; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D16491

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:08 +00:00
Christoph Diehl 71c9cfa479 Bug 1520873: Support IPC fuzzer Faulty to run on Windows r=Alex_Gaynor
This is a supplement to further increase coverage of IPC fuzzing and to fulfill support for Faulty on all platforms.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 19:08:48 +00:00
Cosmin Sabou 018bd4cbe2 Backed out changeset 300334bd78b3 (bug 1512990) for landing only the first part from a 4 part patch. CLOSED TREE 2019-02-05 23:20:49 +02:00
Alex Gaynor d4e764ec98 Bug 1512990 - Part 1 - refactor IPDL compiler to centralize all Recv/Alloc/Dealloc calls on this; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D16491

--HG--
extra : moz-landing-system : lando
2019-02-05 18:46:17 +00:00
Razvan Maries f86459d5dc Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-05 18:59:13 +02:00
Nathan Froyd 0724cee7fb Bug 1525031 - part 4 - remove nsILabelableRunnable; r=mccr8
This class is now a no-op class, and we don't need it anymore.
2019-02-04 15:33:49 -05:00
Nathan Froyd c073d37828 Bug 1525031 - part 3 - remove IToplevelProtocol::GetMessageSchedulerGroups; r=mccr8
The previous patch removed the only caller of this method, so now we can
remove the method itself.
2019-02-04 15:33:49 -05:00
Nathan Froyd 6bab6786bf Bug 1525031 - part 2 - remove nsILabelableRunnable::GetAffectedSchedulerGroups; r=mccr8
The previous patch removed the only caller of this method, so we can now
remove the method itself.
2019-02-04 15:33:49 -05:00
Alex Gaynor 9022c68576 Bug 1524129 - don't allow accidentally passing actors via the wrong managing actor in IPDL messages; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D18263

--HG--
extra : moz-landing-system : lando
2019-02-01 22:06:59 +00:00
Jed Davis 0c72babf4f Bug 1487287 - Move child process launch off the I/O thread. r=mccr8
Launching processes takes enough time that we should avoid blocking the
parent process's IPC I/O thread for it; it's less bad for responsiveness
than blocking the main thread, but it's not good.

On Windows we need to use a dedicated thread, because the sandbox isn't
thread-safe and it asserts that the same thread is used for every
launch.  Otherwise, a thread pool is used.  (Or, in the Web Replay
middleman process, where there isn't enough of XPCOM for any of this,
launching the actual content processes remains on the I/O thread.)

Depends on D18011

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:15:22 +00:00
Jed Davis bcff2dd108 Bug 1487287 - Synchronize GeckoChildProcessHost destruction with launching. r=mccr8
In order to enable asynchronous launch, destruction of
GeckoChildProcessHost (and its subclasses) has to be delayed until after
launching (or anything else that might be made asynchronous in the
future) has completed, to prevent use-after-free.  However, there are
other dependencies on process hosts always being destroyed on the I/O
thread, so refcounting would be difficult to use.

Instead, GeckoChildProcessHost now may not be destroyed directly, but
must go through a method that handles the scheduling.

There are also some minor cleanups to the affected headers (removed
duplicate access modifiers, and made PluginProcessParent final).

Depends on D18010

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:15:20 +00:00
Jed Davis 8881b3994e Bug 1521003 - Fix the IPDL unit test build after auto-reformatting broke it. r=Ehsan
This file has text-substitution placeholders that aren't part of normal
C++ syntax; they were broken by auto-inserted whitespace.  This patch
restores the original formatting and protects them from further change.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:15:12 +00:00
Andrea Marchesini be2551ab2c Bug 1523702 - Max IPC message size for InputStream serialization, r=smaug
The total size of an IPC inputStream message must be less than 1mb. When we
compose the message for the multiplex stream, each sub stream collaborates with
its own size, deciding if it's better to be a pipe stream (IPCRemoteStream) or
a full serialized one.

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

--HG--
extra : moz-landing-system : lando
2019-02-04 22:50:51 +00:00
Sylvestre Ledru 14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Alex Gaynor ab9183b396 Bug 1513687 - remove chromium's random code from IPC in favor of our own; r=froydnj
This includes deleting several unused functions. Our own code does a better job
of using the preferred platform APIs for random numbers.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 21:37:11 +00:00
Bob Owen 2f9e2d054c Bug 1511438 Part 1: Replace ProcessTypeRequiresWinEventHook with XRE_Win32kCallsAllowed. r=froydnj
ProcessTypeRequiresWinEventHook was added when attempting to turn on win32k
lockdown for GMP processes. Having a less specific, but globally accessible,
function will make it more useful while applying win32k lockdown to other
process types.
2019-01-29 08:49:13 +00:00
Andrea Marchesini 931c1560cf Bug 1520150 - Single InputStreams can serialize themselves as IPCRemoteStreams (pipe) - part 3 - pipe for string and storage streams, r=smaug 2019-01-28 10:49:28 +01:00
Andrea Marchesini c0dfa196ce Bug 1520150 - Single InputStreams can serialize themselves as IPCRemoteStreams (pipe) - part 2 - IPCRemoteSteam part of InputStreamParams union, r=smaug
Before this patch, IPCStream was an union containing IPCRemoteSteam or an
InputStreamParamsWithFds. Now InputStreamParamsWithFds is renamed IPCStream and
IPCRemoteSteam is one of the possible InputStreamParams structs.
2019-01-28 10:49:13 +01:00
Andrea Marchesini 0499bad916 Bug 1520150 - Single InputStreams can serialize themselves as IPCRemoteStreams (pipe) - part 1 - Passing IPC managers around, r=smaug
Before this set of patches, the decision of exposing the stream as a pipe was
centralized in IPCStreamUtils, based on the total expectation size of the IPC
message. This triggers issues when multiplex inputStreams contain something
that cannot be sent as a pipe (IPCBlobInputStream, for instance), or something
that it's better to do not set as a pipe (nsFileInputStream), together with
memory streams (nsStringInputStream), which could make the IPC message greater
then what accepted (1mb).

These patches move the "pipe vs non-pipe" choice into the single inputStream
implementation.
2019-01-28 10:48:35 +01:00
Ehsan Akhgari 7426dccfc0 Bug 1522596 - Remove nsIIPCSerializableURI and move its only member to nsIURI; r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D17531

--HG--
extra : moz-landing-system : lando
2019-01-25 13:32:36 +00:00
Nathan Froyd 8ab00b3379 Bug 1522599 - make the logic for cxxTypeNeedsMove more straightforward; r=Alex_Gaynor
Nested conditionals are hard to read; separating things out should make
the flow somewhat more obvious.
2019-01-24 16:31:59 -05:00
Andrew Halberstadt 01ca807367 Bug 1515746 - [flake8] Unsupport subdir .flake8 files and use new 'per-file-ignores' config instead, r=egao
This removes all .flake8 files except for the one at the root of the repo.
Instead we use the new 'per-file-ignores' config introduced in 3.7. To ignore
specific errors in a subdirectory, add a line like this to the root .flake8:

[per-file-ignores]
    path/to/subdir/*: E100, F200, ...

The reasons for this change are:

1. Unblock flake8 blacklist (bug 1367092).
2. Simplify configuration and code.
3. Encourage more consistent styling.
4. Improve performance.
5. Greater editor consistency.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 20:17:02 +00:00
Andrew Halberstadt a10eff76fa Bug 1515746 - [flake8] Upgrade flake8 and dependencies, r=egao
This bumps flake8 to version 3.7.5.

This also ignores the new lint rules that were added in the new versions.
These rules are de-marked via comment so we know that they should be enabled at
some point (as opposed to the other rules that are (presumably) ignored
intentionally.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 20:16:45 +00:00
Ciure Andrei c035ee7d3a Merge inbound to mozilla-central. a=merge 2019-01-24 05:44:33 +02:00
Nika Layzell 9b4bbc17fd Bug 1467223 - Part 2: Add BrowsingContextID to LoadInfo, r=valentin
This is handy when performing process swaps, as it provides useful & important
information to parent-process callers.

Depends on D15608

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

--HG--
extra : moz-landing-system : lando
2019-01-23 21:06:59 +00:00
Nathan Froyd 54d71bdb59 Bug 1521801 - fix process type annotation for content process crashes; r=gsvelto 2019-01-23 08:51:32 -05:00
Sylvestre Ledru 0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

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

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Cosmin Sabou 7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Gijs Kruitbosch bc65d4cf7f Bug 1519074 - delay deserializing some CSP info until necessary, r=bzbarsky,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D16794

--HG--
extra : moz-landing-system : lando
2019-01-19 00:15:13 +00:00
Andreea Pavel 600eb759a4 Backed out changeset a69c1a1dc6fe (bug 1519074) for build bustages on a CLOSED TREE 2019-01-19 00:08:59 +02:00
Gijs Kruitbosch 8e2cad84f0 Bug 1519074 - delay deserializing some CSP info until necessary, r=bzbarsky,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D16794

--HG--
extra : moz-landing-system : lando
2019-01-18 17:17:32 +00:00
Greg Tatum 7042c8f1c3 Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

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

--HG--
extra : moz-landing-system : lando
2019-01-18 15:40:15 +00:00
Sylvestre Ledru 47a5dd1fb8 Bug 1519636 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-16 08:50:07 +00:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Nathan Froyd 221438b032 Bug 1518923 - simplify subprocess handle duplication logic in PerformAsyncLaunch; r=bobowen
Avoiding handle duplication for certain kinds of processes and allowing
it for everything else seems to be what we're already doing, so let's
make it easier to add new process types with that scheme in mind.
2019-01-14 11:01:48 -05:00
Brian Hackett c78acc3d0e Bug 1519728 - Fix problem passing file handles to recording process, r=kershaw.
--HG--
extra : rebase_source : 4bc58da9257790ac83c56941e3f836c9039917fb
2019-01-14 05:12:40 -10:00
Michael Froman c475e5754c Bug 1514874 - start RDD process on-demand r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D15775

--HG--
extra : moz-landing-system : lando
2019-01-12 04:51:20 +00:00
Kershaw Chang 621b98340a Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D14348

--HG--
extra : moz-landing-system : lando
2019-01-11 20:56:39 +00:00
Kershaw Chang 9973068a10 Bug 1513057 - P1.1: Create a reusable class to pass prefs to child processes r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D14970

--HG--
extra : moz-landing-system : lando
2019-01-11 18:39:22 +00:00
Kershaw Chang 0b336d5545 Bug 1513057 - P1: Start the new socket process basics (prefs, full xpcom init, logging, no sandboxing) r=mayhemer,dragana
Differential Revision: https://phabricator.services.mozilla.com/D14148

--HG--
extra : moz-landing-system : lando
2019-01-11 18:57:23 +00:00
Andreea Pavel 21ad33d612 Backed out 10 changesets (bug 1513057) for build bustages on a CLOSED TREE
Backed out changeset 56329b5f1844 (bug 1513057)
Backed out changeset 46411c5de3da (bug 1513057)
Backed out changeset de65c456aad6 (bug 1513057)
Backed out changeset f648b5f1a7c2 (bug 1513057)
Backed out changeset 460bbf0849e1 (bug 1513057)
Backed out changeset 86032a14d26f (bug 1513057)
Backed out changeset a81f83df08d5 (bug 1513057)
Backed out changeset edbda5ee5fd5 (bug 1513057)
Backed out changeset c900ac2519f5 (bug 1513057)
Backed out changeset 4e94bbb90315 (bug 1513057)
2019-01-11 17:02:44 +02:00
Kershaw Chang 1c5e5caaaf Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D14348

--HG--
extra : moz-landing-system : lando
2019-01-11 13:30:09 +00:00
Kershaw Chang 99fe2d101a Bug 1513057 - P2: Setup crash reporter on socket process r=dragana,mayhemer
This patch is quite straightforward. Just add socket process support.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 13:26:56 +00:00
Kershaw Chang d0f8c9de61 Bug 1513057 - P1.1: Create a reusable class to pass prefs to child processes r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D14970

--HG--
extra : moz-landing-system : lando
2019-01-11 14:12:53 +00:00
Kershaw Chang 0c2943008a Bug 1513057 - P1: Start the new socket process basics (prefs, full xpcom init, logging, no sandboxing) r=mayhemer,dragana
Differential Revision: https://phabricator.services.mozilla.com/D14148

--HG--
extra : moz-landing-system : lando
2019-01-11 14:07:47 +00:00
Daniel Varga f0a9c979bb Merge mozilla-inbound to mozillia-central. a=merge 2019-01-11 06:14:14 +02:00
Cosmin Sabou af0ac088e5 Backed out changeset 8d953c25fdef (bug 1514874) for windows asan mda failures on RemoteDecoderModule.cpp. 2019-01-11 02:03:38 +02:00
Nathan Froyd fcefa80c7c Bug 1518922 - part 1 - remove dead code for extra crashreporting directory; r=Alex_Gaynor
The command-line parameter used by nsEmbedFunctions.cpp is turned into
an nsIFile, and then said nsIFile is never used.  Its last use was
deleted in bug 1407693, where we reworked how extra annotations were
done.
2019-01-10 16:13:37 -05:00
Jed Davis ebb609373d Backed out changeset a0cf88b1fe5b (bug 1487287) 2019-01-10 13:55:31 -07:00
James Willcox f4b85965af Bug 1354200 - Exit instead of MOZ_CRASH on channel error in child process r=jld
Android mercilessly kills the parent in low memory situations, and we
don't want that to trigger a crash when the child is abruptly
disconnected.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 22:45:44 +00:00
Coroiu Cristina 1468575650 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-01-10 23:45:07 +02:00
Michael Froman 1a75356195 Bug 1514874 - start RDD process on-demand r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D15775

--HG--
extra : moz-landing-system : lando
2019-01-10 18:35:06 +00:00
Jed Davis 3e70bf3ff1 Bug 1487287 - Move child process launch off the I/O thread. r=mccr8
Launching processes takes enough time that we should avoid blocking the
parent process's IPC I/O thread for it; it's less bad for responsiveness
than blocking the main thread, but it's not good.

On Windows we need to use a dedicated thread, because the sandbox isn't
thread-safe and it asserts that the same thread is used for every
launch.  Otherwise, a thread pool is used.  (Or, in the Web Replay
middleman process, where there isn't enough of XPCOM for any of this,
launching the actual content processes remains on the I/O thread.)

Depends on D15886

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

--HG--
extra : moz-landing-system : lando
2019-01-09 02:52:10 +00:00
Jed Davis 3fe8a630c1 Bug 1487287 - Set profiler env vars in child processes without side-effecting the parent process. r=mstange
We can directly set environment variables for the child process on
all platforms now, instead of changing the parent's environment and
inheriting the changes.  This simplifies memory management, but more
importantly it's necessary for thread safety to allow launching
processes from a thread pool.

Depends on D8944

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

--HG--
extra : moz-landing-system : lando
2019-01-08 23:53:36 +00:00
Nathan Froyd 9cd04a84de Bug 1514044 - part 3 - update nsICrashService process constants and add checks for them; r=gsvelto 2019-01-10 10:52:51 -05:00
Nathan Froyd a6f22e88be Bug 1514044 - part 2 - change CrashReporterHost to use GeckoProcessTypes.h; r=gsvelto 2019-01-10 10:52:51 -05:00
Nathan Froyd 99da46a21c Bug 1062533 - part 3 - use StaticMutex for NowSingleton to work around the leak checker; r=mccr8 2019-01-09 11:09:24 -04:00
Nathan Froyd 0ab4c8b63c Bug 1062533 - part 2 - use StaticMutex for PipeMap to workaround the leak checker; r=mccr8 2019-01-09 11:09:25 -04:00
Nathan Froyd 27ac7aed45 Bug 1062533 - part 1 - convert easy cases of chromium IPC locks to mozilla mutexes; r=mccr8
Other cases will require some special handling.
2019-01-09 11:09:25 -04:00
Dave Townsend 4e82401311 Bug 1515863, r=valentin,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D15728

--HG--
extra : rebase_source : 2e1c705dd97d458080387896fd7a1f0e88523e06
2018-04-11 12:52:47 -07:00
Jacek Caban cea794a811 Bug 1430149 - Fix AsyncInvoker.h compilation on mingw. r=aklotz
MozReview-Commit-ID: FIswvwMzGdC

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

--HG--
extra : moz-landing-system : lando
2019-01-07 21:52:57 +00:00
David Major 3ccc14bcb1 Bug 1514592: Don't call RpcExceptionCode if we don't HAVE_SEH_EXCEPTIONS. r=aklotz 2019-01-07 17:58:45 -05:00
Jeff Walden a128f0c35c Bug 1517624 - Move JSPropertySpec and JSFunctionSpec definitions into a new js/public/PropertySpec.h header. r=arai
--HG--
extra : rebase_source : b80911e01f984ee9f99fbbc6c4552ef3d2178587
2019-01-03 15:37:01 -06:00
Jeff Walden d084a5e469 Back out f8a29b8bb211, d1267711aef0, df1b7a886a9d, 0f6a3dd2c2f7, e6628922b7be, 0a374ac233cd, cf00fd0f080c, 6fc24c4e7798, ab2e4a2e5dd2, 2d17e4ef5e71, 4a8940073f8c, ea3ab4b83152, c7577c232591, e58454c68f0f, and 0e39815d1bce for breaking a single Android J10 and nothing else. (That J10 task must not like deck chairs...) r=bustage
--HG--
extra : rebase_source : f02dabe3ece7955cb223313d3605b825560c62b1
2019-01-04 16:33:01 -06:00
Jeff Walden 87aba62a4a Bug 1517624 - Move JSPropertySpec and JSFunctionSpec definitions into a new js/public/PropertySpec.h header. r=arai 2019-01-03 15:37:01 -06:00
Nathan Froyd 4efee8a5f1 Bug 1517567 - remove unused FILETIME-related functions from chromium ipc; r=jld
This removes one include of windows.h, which is nice.
2019-01-04 09:13:05 -05:00
Andrea Marchesini 647b040b0f Bug Bug 1515272 - Get rid of nsIURIClassifier.classifyLocal(), r=dimi, r=froydnj 2019-01-04 14:46:30 +01:00
Alex Gaynor 4c0405ba26 Bug 1515770 - don't generate commented-out skeleton implementations of IPDL protocols; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D15141

--HG--
extra : moz-landing-system : lando
2018-12-21 15:03:26 +00:00
Alex Gaynor 1adfd46980 Bug 1514320 - delete dead code in the IPDL compiler based on coverage; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14600

--HG--
extra : moz-landing-system : lando
2018-12-19 18:01:44 +00:00
Gabriele Svelto a962c06211 Bug 1511557 - Do not leak the pipe used for sending crash annotations when hitting errors during startup r=jld
Differential Revision: https://phabricator.services.mozilla.com/D14744

--HG--
extra : moz-landing-system : lando
2018-12-19 15:29:09 +00:00
Alex Gaynor bf8eaa16e8 Bug 1515170 - in the IPDL compiler, don't use 'is' for comparing strings; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D14889

--HG--
extra : moz-landing-system : lando
2018-12-18 20:58:09 +00:00
Bogdan Tara 91d742d138 Merge inbound to mozilla-central. a=merge 2018-12-19 06:50:57 +02:00
Alex Gaynor b132b348d1 Bug 1514884 - Part 2 - convert the remaining fields in the IPDL compiler from ints to bools; r=nika
Depends on D14790

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

--HG--
extra : moz-landing-system : lando
2018-12-18 18:47:11 +00:00
Alex Gaynor 1fced99467 Bug 1514884 - Part 1 - clarify refs vs. rvalrefs in the IPDL compiler; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14790

--HG--
extra : moz-landing-system : lando
2018-12-18 18:45:33 +00:00
Alex Gaynor 9ab68ebc8e Bug 1514225 - remove unused functionality from ExprCast AST node in IPDL; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14551

--HG--
extra : moz-landing-system : lando
2018-12-14 20:59:45 +00:00
Sylvestre Ledru 6f45c666bc Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-14 18:10:35 +00:00
Razvan Maries 1fcf888246 Backed out changeset 15f8b27f1305 (bug 1511557) for build bustages on a CLOSED TREE.
--HG--
extra : rebase_source : a1303dfa4c9475ea43f2fedfa2031c455d8bab7a
extra : amend_source : d11c65e735d78a8d7b70c1be52439ad61904ccd5
2018-12-14 11:54:33 +02:00
Gabriele Svelto b177dcc7d5 Bug 1511557 - Do not leak the pipe used for sending crash annotations when hitting errors during startup r=jld
Differential Revision: https://phabricator.services.mozilla.com/D13999

--HG--
extra : moz-landing-system : lando
2018-12-14 02:47:03 +00:00
Alex Gaynor 56e2d0f48d Bug 1512673 - convert several fields in the IPDL compiler from integers to bools; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13981

--HG--
extra : moz-landing-system : lando
2018-12-13 15:45:25 +00:00
Alex Gaynor 483d20764e Bug 1513034 - delete dead code from IPDL's lower.py identified by coverage; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14091

--HG--
extra : moz-landing-system : lando
2018-12-12 14:59:37 +00:00
Bob Owen 3018ba4863 Bug 1497749: Get hello message from channel ID when pipe handle passed. r=jld 2018-12-18 14:26:26 +00:00
Dorel Luca cbad78f7c3 Backed out changeset 985505cc1347 (bug 1512673) for build bustage. CLOSED TREE
--HG--
extra : amend_source : 42af9870b9a3d5aa78290b79c8c93c39ca2738db
2018-12-12 00:14:25 +02:00
Alex Gaynor effad83dac Bug 1512673 - convert several fields in the IPDL compiler from integers to bools; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13981

--HG--
extra : moz-landing-system : lando
2018-12-11 21:16:11 +00:00
Alex Gaynor 79c450dbdb Bug 1513073 - make the IPDL compiler's code python3 syntax friendly; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14102

--HG--
extra : moz-landing-system : lando
2018-12-11 18:12:22 +00:00
Jean-Yves Avenard 48517afae6 Bug 1512298 - Make IPDL MozPromise exclusive. r=gerald,froydnj
MozPromise most common use is to have an single or exclusive listener. By making the MozPromise generated by IPDL exclusive we can also use move semantics.

While at it, we also use move semantics for the ResponseRejectReason and via the callback's reject method so that the lambda used with the MozPromise::Then can be identical to the one used by the IPDL callback.
As it currently is, it provides no advantage over a copy as it's just an enum; however, this will facilitate future changes where it may not be.

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

--HG--
extra : moz-landing-system : lando
2018-12-11 19:22:26 +00:00
Ted Campbell 57f49debb6 Bug 1511672 - Fix dependent base lookups in AsyncInvoker.h r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13633

--HG--
extra : moz-landing-system : lando
2018-12-06 16:34:17 +00:00
Sylvestre Ledru ad75e912fb Bug 1512961 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-10 19:23:16 +00:00
Alex Gaynor 80387730b1 Bug 1512455 - removed some dead code from the IPDL compiler; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13922

--HG--
extra : moz-landing-system : lando
2018-12-06 20:27:04 +00:00
Nika Layzell e1e08d3d11 Bug 1512085 - Don't overlap IDs between content and middleman process, r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D13763
2018-12-05 10:18:46 -05:00
Nika Layzell c82214c322 Bug 1509362 - Don't crash when constructing actor during content shutdown, r=jld
When shutting down a content process, we call `Close` on the
`IToplevelProtocol`. This causes the MessageChannel to be `Close`-ed,
which in turn sends a `GOODBYE_MESSAGE`:
https://searchfox.org/mozilla-central/rev/876022232b15425bb9efde189caf747823b39567/ipc/glue/MessageChannel.cpp#2852

This message is intercepted on the I/O thread in the content process,
before any code is informed in content, and used to set the
`mChannelState` property to `ChannelClosing`:
https://searchfox.org/mozilla-central/rev/876022232b15425bb9efde189caf747823b39567/ipc/glue/MessageChannel.cpp#1176

Once this state has been set, which is performed as soon as the
message is received, whether or not other messages have been processed
yet, no messages can be sent back to the parent process. This is
usually what causes the 'Too late to send/recv' message spam in the
console, as we're still trying to send messages at this time.

Usually this is fine - the message send fails, but we gracefully
recover, and the process begins shutting down like normal.
Unfortunately, child actor constructors currently have code
automatically generated in them which causes a process crash if the
send fails. As it's impossible for the main thread to know that the
channel has been closed ahead of time (due to this happening
out-of-band), we can then cause random content process crashes
during shutdown due to actor construction.

Unfortunately, we can't just destroy the actor, as our caller may
(and often do) depend on the actor reference they gave us still being valid
after calling Send*Constructor. Fortunately, if a message send failed, it means
we're in the process of being shut down.

This patch handles this by ignoring ctor send errors, and treating them like
messages which successfully were queued to send, but got lost due to the other
side hanging up. The actor will be gracefully destroyed in DestroySubtree when
its manager is destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D12695
2018-12-05 10:18:41 -05:00
Nika Layzell b4954ede43 Bug 1500944 - Part 1: Store the set of active WindowGlobalParent objects in ChromeBrowsingContext, r=farre
This allows getting the set of all window globals for a given browsing context.
This is less useful at the moment as the active window global is not exposed as
such. That will be added as a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D9393
2018-12-05 10:18:33 -05:00
Nika Layzell 4e07a0c5f9 Bug 1487249 - Part 3: Add the WindowGlobal actor representing a single window global, r=bzbarsky
This actor can be used for communicating with individual frames, without
depending on walking the tree in the content process.

This is not yet complete. No tests have been written for it, the
WindowGlobalParent objects need to be exposed to chrome JS, and a form of JS
actors should be installed under them.

In addition, BrowsingContextChrome objects should be updated to allow access to
the current WindowGlobalParent in that context.

Differential Revision: https://phabricator.services.mozilla.com/D4623
2018-12-05 10:18:31 -05:00
Nika Layzell 8791515adb Bug 1487249 - Part 2: Add a new PInProcess actor to manage intra-thread actors, r=mccr8
This will be useful as a basis for asynchronous actors which would like to exist
both when crossing the process boundary (managed by PContent), and when
displaying an in-process window.

Differential Revision: https://phabricator.services.mozilla.com/D4622
2018-12-05 10:18:29 -05:00
Nika Layzell 54f24a9804 Bug 1487249 - Part 1: Allow MessageChannel objects to be created within a thread, r=mccr8
To create a more generic interface for interacting both within the main thread
of the parent process and between the parent and child processes, it would be
nice to support IPDL actors within the main thread of the parent process. This
requires the underlying MessageChannel actor to support intra-thread links.

This change adds support for intra-thread links to the underlying MessageChannel
object using ThreadLink, and an extra boolean flag.

Differential Revision: https://phabricator.services.mozilla.com/D4620
2018-12-05 10:18:28 -05:00
Andrea Marchesini 7f4916b08b Bug 1508310 - Implement Report-to header support - part 6 - Remove endpoints, r=smaug 2018-12-01 21:26:09 +01:00
Andrea Marchesini ace9fa800a Bug 1508310 - Implement Report-to header support - part 4 - IPC to get endpoint from content process, r=smaug 2018-12-01 21:26:09 +01:00
Jan Varga 811dea257a Bug 1511468 - make OnChannelReceivedMessage unconditionally defined; r=froydnj 2018-11-30 22:23:30 +01:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier a7f1d173a0 Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)

--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
2018-11-30 16:39:55 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Ted Campbell 119fd6e9b9 Bug 1506475 - Add JS::AutoSuppressWarningReporter. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D11586

--HG--
extra : moz-landing-system : lando
2018-11-30 04:01:10 +00:00
Razvan Maries 77d87d9972 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-11-30 05:13:14 +02:00
Razvan Maries d696b8eb57 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-11-29 23:46:52 +02:00
Michael Froman b6e960b34c Bug 1498624 - pt2 - Implement Win sandbox for RDD process. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D13101

--HG--
extra : moz-landing-system : lando
2018-11-29 17:02:16 +00:00
Jed Davis 42c1262dfd Bug 1474991 - Add new and improved performance telemetry for child process launching. r=mccr8,mconley,janerik
This patch adds some telemetry histograms:

* CONTENT_PROCESS_LAUNCH_IS_SYNC - boolean, true if the content process
was launched synchronously (blocking the main thread)

* CONTENT_PROCESS_SYNC_LAUNCH_MS - the time consumed by sync launch;
the main thread will be busy or blocked for this entire time

* CONTENT_PROCESS_LAUNCH_TOTAL_MS - the total time elapsed from the
start of async content process launch until the launch promise is
resolved and the ContentParent can be sent IPDL messages

* CONTENT_PROCESS_LAUNCH_MAINTHREAD_MS - the time consumed on the parent
process main thread during async content process launch; typically this
is due to ContentParent::Init.

* CHILD_PROCESS_LAUNCH_MS - for any kind of Gecko child process
(including plugins, GPU, etc.), the time taken in the common process
launch code (which is run off-main-thread)

The probes restricted to async content process launch don't have "async"
in the name because that will eventually become the only kind of content
process launch.

Depends on D8943

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

--HG--
extra : moz-landing-system : lando
2018-11-28 20:42:33 +00:00
Jed Davis 4fe96e3d18 Bug 1446161 - Asynchronously launch preallocated content processes using MozPromise. r=mccr8
There are several layers to this patch:

1. GeckoChildProcessHost now exposes a promise that's resolved when
the process handle is available (or rejected if launch failed), as a
nonblocking alternative to LaunchAndWaitForProcessHandle.

2. ContentParent builds on this with the private method
LaunchSubprocessAsync and the public method PreallocateProcessAsync;
synchronous launch continues to exist for the regular on-demand launch
path, for the time being.

3. PreallocatedProcessManager now uses async launch, and handles the new
"launch in progress" state appropriately.

Depends on D8942

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

--HG--
extra : moz-landing-system : lando
2018-11-28 20:42:31 +00:00
Jed Davis 231d5adb97 Bug 1446161 - Remove the earlier attempt at async launch. r=spohl,mccr8
The first attempt at async launch tried to hide the asynchrony inside
IPC, by making the process seem to be launched enough to construct new
channels and send it messages, and lazily blocking on the pid/handle.
Unfortunately, in practice we wind up needing the pid/handle immediately,
and this requirement is too deeply embedded in IPC for that to be viable.

(The alternative that will be used instead -- exposing process launch via
an explicitly asynchronous promise interface -- is made simpler by
Project Fission's upcoming rewrite of how the DOM requests new content
processes.)

Depends on D8941

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

--HG--
extra : moz-landing-system : lando
2018-11-28 20:42:24 +00:00
Sylvestre Ledru ef05004811 Bug 1503537 - Get rid of the pdfium & mortar code r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D10352

--HG--
extra : moz-landing-system : lando
2018-11-28 19:31:21 +00:00
Ehsan Akhgari ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Ehsan Akhgari e8df714b7c Bug 1509555 - Part 3: Remove reporting of tracker statistics to docshell which was added for fastblock r=valentin,baku
Depends on D12829

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

--HG--
extra : moz-landing-system : lando
2018-11-27 08:55:36 +00:00
Ehsan Akhgari 15bf246249 Bug 1509555 - Part 1: Remove the telemetry probe for measuring the rate at which popular analytics providers get blocked by fastblock r=baku,valentin
Differential Revision: https://phabricator.services.mozilla.com/D12828

--HG--
extra : moz-landing-system : lando
2018-11-27 08:50:36 +00:00
Gabriele Svelto 566f669d07 Bug 1509450 - Remove unnecessary inclusions of ContentParent.h and ContentChild.h r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D12728

--HG--
extra : moz-landing-system : lando
2018-11-26 14:49:44 +00:00
Andreea Pavel 74cd2bf73e Backed out 8 changesets (bug 1446161, bug 1487287, bug 1488993, bug 1474991, bug 1496608) for very frequent automation.py crashes on a CLOSED TREE
Backed out changeset 8b1f88d7bfeb (bug 1487287)
Backed out changeset 8fa5e81ad801 (bug 1487287)
Backed out changeset 7a480161fa0f (bug 1474991)
Backed out changeset 80116391b7fe (bug 1446161)
Backed out changeset 1bdf64b29121 (bug 1446161)
Backed out changeset 37bf52f0e9cf (bug 1446161)
Backed out changeset 8ede2ebe6b7a (bug 1496608)
Backed out changeset cea43bc88c7a (bug 1488993)
2018-11-27 08:53:18 +02:00
Jed Davis 15e4267fae Bug 1487287 - Move child process launch off the I/O thread. r=mccr8
Launching processes takes enough time that we should avoid blocking the
parent process's IPC I/O thread for it; it's less bad for responsiveness
than blocking the main thread, but it's not good.

On Windows we need to use a dedicated thread, because the sandbox isn't
thread-safe and it asserts that the same thread is used for every
launch.  Otherwise, a thread pool is used.

Depends on D8945

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:06:22 +00:00
Jed Davis 8782927375 Bug 1487287 - Set profiler env vars in child processes without side-effecting the parent process. r=mstange
We can directly set environment variables for the child process on
all platforms now, instead of changing the parent's environment and
inheriting the changes.  This simplifies memory management, but more
importantly it's necessary for thread safety to allow launching
processes from a thread pool.

Depends on D8944

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:06:20 +00:00
Jed Davis 4a53512dbe Bug 1474991 - Add new and improved performance telemetry for child process launching. r=mccr8,mconley,janerik
This patch adds some telemetry histograms:

* CONTENT_PROCESS_LAUNCH_IS_SYNC - boolean, true if the content process
was launched synchronously (blocking the main thread)

* CONTENT_PROCESS_SYNC_LAUNCH_MS - the time consumed by sync launch;
the main thread will be busy or blocked for this entire time

* CONTENT_PROCESS_LAUNCH_TOTAL_MS - the total time elapsed from the
start of async content process launch until the launch promise is
resolved and the ContentParent can be sent IPDL messages

* CONTENT_PROCESS_LAUNCH_MAINTHREAD_MS - the time consumed on the parent
process main thread during async content process launch; typically this
is due to ContentParent::Init.

* CHILD_PROCESS_LAUNCH_MS - for any kind of Gecko child process
(including plugins, GPU, etc.), the time taken in the common process
launch code (which is run off-main-thread)

The probes restricted to async content process launch don't have "async"
in the name because that will eventually become the only kind of content
process launch.

Depends on D8943

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:06:17 +00:00
Jed Davis dececcae11 Bug 1446161 - Asynchronously launch preallocated content processes using MozPromise. r=mccr8
There are several layers to this patch:

1. GeckoChildProcessHost now exposes a promise that's resolved when
the process handle is available (or rejected if launch failed), as a
nonblocking alternative to LaunchAndWaitForProcessHandle.

2. ContentParent builds on this with the private method
LaunchSubprocessAsync and the public method PreallocateProcessAsync;
synchronous launch continues to exist for the regular on-demand launch
path, for the time being.

3. PreallocatedProcessManager now uses async launch, and handles the new
"launch in progress" state appropriately.

Depends on D8942

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:35:53 +00:00
Jed Davis 5379e8a375 Bug 1446161 - Remove the earlier attempt at async launch. r=spohl,mccr8
The first attempt at async launch tried to hide the asynchrony inside
IPC, by making the process seem to be launched enough to construct new
channels and send it messages, and lazily blocking on the pid/handle.
Unfortunately, in practice we wind up needing the pid/handle immediately,
and this requirement is too deeply embedded in IPC for that to be viable.

(The alternative that will be used instead -- exposing process launch via
an explicitly asynchronous promise interface -- is made simpler by
Project Fission's upcoming rewrite of how the DOM requests new content
processes.)

Depends on D8941

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

--HG--
extra : moz-landing-system : lando
2018-11-22 00:06:14 +00:00
Valentin Gosu e823bab3cc Bug 1487964 - Do not report resource-timing subdocument loads triggered by that subdocument r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D9503

--HG--
extra : moz-landing-system : lando
2018-11-21 16:28:20 +00:00
Cosmin Sabou 79b7d9fe91 Backed out changeset 395b95afd795 (bug 1487964) for mochitest failures on test_resource_timing_nocors. 2018-11-21 17:14:29 +02:00
Valentin Gosu a80d7bf63e Bug 1487964 - Do not report resource-timing subdocument loads triggered by that subdocument r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D9503

--HG--
extra : moz-landing-system : lando
2018-11-17 19:30:36 +00:00
Aaron Klotz c084ff85e4 Bug 1508468: Convert launcher process to use mozilla::Result for error propagation; r=mhowell
This patch does a couple of things:

* I added a new class, |WindowsError| to WinHeaderOnlyUtils. The idea here is
  to encapsulate as much of the Windows error gamut as possible into one class.
  Since Win32 errors and NTSTATUS codes may both be encoded as HRESULTs, I
  used the latter type to store the error. It also contains functions for
  converting between the various error code formats, as well as stringification
  via FormatMessage.

* I added |LauncherError| which also includes file and line number information,
  which I believe will be important for launcher process failure diagnostics.
  (Instantiation of LauncherErrors obviously must be done via macros to capture
  __FILE__ and __LINE__).

* I then converted all of the launcher process code (and its few depenencies) to
  utilize this new functionality via the new |LauncherResult| type.

* If we detect an error in one of the top-level launcher process functions, we
  pass it to |HandleLauncherError| for processing. This function currently just
  throws up a |MessageBox| like the previous code did, with the intention of
  enhancing that further in the future.

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

--HG--
extra : moz-landing-system : lando
2018-11-20 23:49:36 +00:00
Narcis Beleuzu b18d13eb15 Backed out changeset be8383028bc0 (bug 1508468) for windows build bustage
--HG--
extra : rebase_source : b86532be5abaafa05a3b96a99bff5eccecbb3b20
2018-11-21 01:30:52 +02:00
Aaron Klotz 6be5837934 Bug 1508468: Convert launcher process to use mozilla::Result for error propagation; r=mhowell
This patch does a couple of things:

* I added a new class, |WindowsError| to WinHeaderOnlyUtils. The idea here is
  to encapsulate as much of the Windows error gamut as possible into one class.
  Since Win32 errors and NTSTATUS codes may both be encoded as HRESULTs, I
  used the latter type to store the error. It also contains functions for
  converting between the various error code formats, as well as stringification
  via FormatMessage.

* I added |LauncherError| which also includes file and line number information,
  which I believe will be important for launcher process failure diagnostics.
  (Instantiation of LauncherErrors obviously must be done via macros to capture
  __FILE__ and __LINE__).

* I then converted all of the launcher process code (and its few depenencies) to
  utilize this new functionality via the new |LauncherResult| type.

* If we detect an error in one of the top-level launcher process functions, we
  pass it to |HandleLauncherError| for processing. This function currently just
  throws up a |MessageBox| like the previous code did, with the intention of
  enhancing that further in the future.

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

--HG--
extra : moz-landing-system : lando
2018-11-20 22:12:53 +00:00
Brindusan Cristian 26aca84b41 Backed out changeset 0ff2e89a1819 (bug 1508468) for windows build bustages on ntstatus.h. CLOSED TREE 2018-11-20 23:08:11 +02:00
Aaron Klotz 5bc6718181 Bug 1508468: Convert launcher process to use mozilla::Result for error propagation; r=mhowell
This patch does a couple of things:

* I added a new class, |WindowsError| to WinHeaderOnlyUtils. The idea here is
  to encapsulate as much of the Windows error gamut as possible into one class.
  Since Win32 errors and NTSTATUS codes may both be encoded as HRESULTs, I
  used the latter type to store the error. It also contains functions for
  converting between the various error code formats, as well as stringification
  via FormatMessage.

* I added |LauncherError| which also includes file and line number information,
  which I believe will be important for launcher process failure diagnostics.
  (Instantiation of LauncherErrors obviously must be done via macros to capture
  __FILE__ and __LINE__).

* I then converted all of the launcher process code (and its few depenencies) to
  utilize this new functionality via the new |LauncherResult| type.

* If we detect an error in one of the top-level launcher process functions, we
  pass it to |HandleLauncherError| for processing. This function currently just
  throws up a |MessageBox| like the previous code did, with the intention of
  enhancing that further in the future.

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

--HG--
extra : moz-landing-system : lando
2018-11-20 20:27:06 +00:00
Narcis Beleuzu 6d1ee7c9fd Backed out changeset 5660a1cd0e25 (bug 1508468) for Windows MinGW bustages. CLOSED TREE 2018-11-20 21:39:10 +02:00
Aaron Klotz 4ea282427e Bug 1508468: Convert launcher process to use mozilla::Result for error propagation; r=mhowell
This patch does a couple of things:

* I added a new class, |WindowsError| to WinHeaderOnlyUtils. The idea here is
  to encapsulate as much of the Windows error gamut as possible into one class.
  Since Win32 errors and NTSTATUS codes may both be encoded as HRESULTs, I
  used the latter type to store the error. It also contains functions for
  converting between the various error code formats, as well as stringification
  via FormatMessage.

* I added |LauncherError| which also includes file and line number information,
  which I believe will be important for launcher process failure diagnostics.
  (Instantiation of LauncherErrors obviously must be done via macros to capture
  __FILE__ and __LINE__).

* I then converted all of the launcher process code (and its few depenencies) to
  utilize this new functionality via the new |LauncherResult| type.

* If we detect an error in one of the top-level launcher process functions, we
  pass it to |HandleLauncherError| for processing. This function currently just
  throws up a |MessageBox| like the previous code did, with the intention of
  enhancing that further in the future.

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

--HG--
extra : moz-landing-system : lando
2018-11-20 18:06:23 +00:00
Boris Zbarsky 9691e7ba88 Bug 1507540 part 3. Use more notxpcom attributes in netwerk/. r=valentin 2018-11-19 20:17:53 -05:00
Andrew Sutherland 6c6e230a77 Bug 1286798 - Part 53: Review code comments; r=janv,mrbkap,mccr8 2018-11-05 14:04:39 -05:00
Jan Varga d87888fe25 Bug 1286798 - Part 31: Support for lazy loading of items; r=asuth,mrbkap,mccr8
There's now an upper limit for snapshot prefilling. The value is configurable and is currently set to 4096 bytes.
Snapshots can operate in multiple modes depending on if all items have been loaded or all keys have been received. This should provide the best performance for each specific state.
This patch also adds support for creating explicit snapshots which can be used for testing.
2018-11-29 21:48:54 +01:00
Jan Varga c4f55013cf Bug 1286798 - Part 29: Implement implicit snapshotting of databases; r=asuth,mccr8
This improves performance a lot in cases when multiple operations are invoked by a single JS function (number of sync IPC calls is reduced to a minimum). It also improves correctness since changes are not visible to other content processes until a JS function finishes.
The patch implements core infrastructure, all items are sent to content when a snapshot is initialized and everything is fully working. However, sending of all items at once is not optimal for bigger databases. Support for lazy loading of items is implemented in a following patch.
2018-11-29 21:48:47 +01:00
Jan Varga 1812608353 Bug 1286798 - Part 27: Share database actors; r=asuth
If a database actor already exists for given origin, reuse it instead of creating a new one. This improves memory footprint a bit and also eliminates some round trips to the parent process.
2018-11-29 21:48:41 +01:00
Jan Varga a5c446d3d9 Bug 1286798 - Part 23: Fix GetOrCreateForCurrentThread() when the runnable for calling SendInitBackground() on the main thread was already dispatched, but the main thread then entered a nested event loop; r=asuth
See the big comment in the code for more details.
2018-11-29 21:48:28 +01:00
Jan Varga 81c542fbe6 Bug 1286798 - Part 19: Implement a helper method for datastore preloading verification; r=asuth
A new type of request is introduced, PBackgroundLSSimpleRequest. This protocol is much simpler than PBackgroundLSRequest which needs to be cancelable.
2018-11-29 21:48:15 +01:00
Jan Varga be167c5e0b Bug 1286798 - Part 10: Support for storage events; r=asuth,janv
Storage events are fired either directly after getting response from synchronous SetItem call or through observers. When a new onstorage event listener is added, we sycnhronously register an observer in the parent process. There's always only one observer actor per content process.
PBackgroundLSDatabase is now managed by a new PBackgroundLSObject protocol. PBackgroundLSObject is needed to eliminate the need to pass the principal info and document URI everytime a write operation occurs.
Preparation of an observer shares some states with preparation of a datastore, so common stuff now lives in LSRequestBase and preparation of a datastore now implements a nested state machine.

This patch was enhanced by asuth to drop observers only when the last storage listener is removed.
EventListenerRemoved is invoked on any removal, not just the final removal, so we need to make sure it's the final removal before dropping observer.
2018-11-29 21:47:45 +01:00
Jan Varga 60831f2e38 Bug 1286798 - Part 3: New basic (memory only) implementation of LocalStorage; r=asuth,mccr8
The implementation is based on a cache (datastore) living in the parent process and sync IPC calls initiated from content processes.
IPC communication is done using per principal/origin database actors which connect to the datastore.
The synchronous blocking of the main thread is done by creating a nested event target and spinning the event loop.
2018-11-29 21:47:20 +01:00
Jan Varga 33208bfd8e Bug 1286798 - Part 1: Allow BackgroundChild::GetOrCreateForCurrentThread() to use a custom main event target; r=mccr8,asuth 2018-11-29 21:47:14 +01:00
Andrea Marchesini c292b31a93 Bug 1438945 - Part 9: RemoteWorker in SharedWorkerManager. r=asuth
--HG--
extra : rebase_source : 07a23a3f76ef06d76a456ba785186018e6fb77f1
2018-11-19 15:18:33 -08:00
Andrea Marchesini 7c7e94be60 Bug 1438945 - Part 8: RemoteWorker IPC. r=asuth
--HG--
extra : rebase_source : 06a8e3a2e60d6ff9596fcbacbd4356368475d3d4
2018-11-19 15:18:32 -08:00
Andrea Marchesini 0640b7884f Bug 1438945 - Part 3: SharedWorkerService and SharedWorkerManager. r=asuth
--HG--
extra : rebase_source : d6b247d0c6a1eb4074010c8b6baaff9fc1e01d87
2018-11-19 15:18:21 -08:00
Andrea Marchesini 1bf562b370 Bug 1438945 - Part 2: PSharedWorker protocol. r=asuth
--HG--
extra : rebase_source : 1ec6d2c9fc8dcffb9aa4958d81784408090df534
2018-11-19 15:18:20 -08:00
Sylvestre Ledru a6f96535e9 Bug 1511140 - Declare PRINT_MACH_RESULT only once r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D13458

--HG--
extra : moz-landing-system : lando
2018-11-29 20:21:29 +00:00
Jeff Walden 7dd0d06d8c Bug 1485800 - Rename SourceBufferHolder to SourceText, and add a <typename Unit> template parameter to it so it can hold putative UTF-8 or UTF-16 source text. r=tcampbell, r=fitzgen
--HG--
rename : js/public/SourceBufferHolder.h => js/public/SourceText.h
extra : rebase_source : 34df669c2481eaccd6845f53c5ecf656b636f895
2018-11-08 18:42:48 -08:00