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

5279 Коммитов

Автор SHA1 Сообщение Дата
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
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
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