Commit Graph

7133 Commits

Author SHA1 Message Date
Alexandre Lissy
9c3474ae19 Bug 1775263 - Block cyinjct.dll from being injected in Utility r=haik,handyman
Differential Revision: https://phabricator.services.mozilla.com/D150595
2022-07-22 13:47:58 +00:00
Harveer Singh
6b159ffeb4 Bug 1636050 - PCacheOp protocol is now refcounted. r=dom-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D85780
2022-07-21 03:22:26 +00:00
Cristian Tuns
296431b106 Backed out 8 changesets (bug 1754239, bug 1766307, bug 1766308, bug 1766310) for causing build bustages on Logging.h CLOSED TREE
Backed out changeset 50918938a839 (bug 1766307)
Backed out changeset 19800bb8974e (bug 1766307)
Backed out changeset 40ec82794497 (bug 1766310)
Backed out changeset 4f860e20098c (bug 1754239)
Backed out changeset f54eac410bfd (bug 1754239)
Backed out changeset c8cc5e0c89dd (bug 1766307)
Backed out changeset d7aab4098f12 (bug 1766308)
Backed out changeset a7ffa6f44fe8 (bug 1766307)
2022-07-19 21:20:07 -04:00
az
5d97400d50 Bug 1766307 - Enable PDMFactory::Supports/SupportsMimeType to process+return HW/SW decode info r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147385
2022-07-19 23:27:38 +00:00
smolnar
aad7ba8a33 Backed out 2 changesets (bug 1777198) for causing leakcheck failures. CLOSED TREE
Backed out changeset 1bf944a0828d (bug 1777198)
Backed out changeset 05afbf32acea (bug 1777198)
2022-07-18 15:54:46 +03:00
Jens Stutte
416238d1b5 Bug 1777198 - Cancel content JS execution on quit-application-granted or on normal content process shutdown. r=smaug
We want to signal content processes to cancel content JS unconditionally on shutdown.
In the case of parent shutdown this has to happen as early as "quit-application-granted", given that both extensions and session storage shutdown rely on the possibility to interact with content processes (which is not possible when they are inside long running JS).
In addition in the case of a normal child shutdown we cancel content JS execution, too.
For now we put this behind the pref "dom.abort_script_on_child_shutdown" which remains default off.

Depends on D150539

Differential Revision: https://phabricator.services.mozilla.com/D150598
2022-07-18 10:56:41 +00:00
Andi-Bogdan Postelnicu
72ba7fb691 Bug 1519636 - Reformat recent changes to the Google coding style. r=media-playback-reviewers,alwu
Updated with clang-format version 14.0.5 (taskcluster-cAkeFEZXQmihHYDO8Y4hRw)
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D151003
2022-07-14 08:10:07 +00:00
James Teh
52a9b98ce9 Bug 1757126 part 1: Remove RemoteAccessible::KeyboardShortcut. r=morgan,ipc-reviewers,nika
KeyboardShortcut is only supported for XUL menu items.
XUL menu items can never be remote, so there's no point in querying this via IPDL.

Differential Revision: https://phabricator.services.mozilla.com/D151199
2022-07-14 05:48:15 +00:00
Norisz Fay
d152ee99bf Backed out 4 changesets (bug 1757126) for causing build bustages on xpcAccessible.cpp CLOSED TREE
Backed out changeset e57b1129fd48 (bug 1757126)
Backed out changeset 6ee5d245c2fc (bug 1757126)
Backed out changeset b0809e6a3de3 (bug 1757126)
Backed out changeset 4d10b2dfdc99 (bug 1757126)
2022-07-14 04:18:36 +03:00
Norisz Fay
82c8f892b0 Backed out 8 changesets (bug 1754239, bug 1766308, bug 1766307, bug 1766310) for causing build bustages on UtilityAudioDecoderParent.cpp CLOSED TREE
Backed out changeset e383703e28cf (bug 1766307)
Backed out changeset 5fb04c68ae7a (bug 1766307)
Backed out changeset ee76505a46ff (bug 1766310)
Backed out changeset d76eae67ae79 (bug 1754239)
Backed out changeset fed974dcf641 (bug 1754239)
Backed out changeset 67c5fbd546a1 (bug 1766307)
Backed out changeset da49735366d2 (bug 1766308)
Backed out changeset 81ccd31d0f07 (bug 1766307)
2022-07-14 04:03:19 +03:00
James Teh
01bc6196d8 Bug 1757126 part 1: Remove RemoteAccessible::KeyboardShortcut. r=morgan,ipc-reviewers,nika
KeyboardShortcut is only supported for XUL menu items.
XUL menu items can never be remote, so there's no point in querying this via IPDL.

Differential Revision: https://phabricator.services.mozilla.com/D151199
2022-07-14 00:49:45 +00:00
az
9eeb816180 Bug 1766307 - Enable PDMFactory::Supports/SupportsMimeType to process+return HW/SW decode info r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147385
2022-07-14 00:32:37 +00:00
Paul Bone
ea0c957e8d Bug 1778621 - Re-enable the GC_WAIT_FOR_IDLE_* telemetry r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D151346
2022-07-13 00:46:10 +00:00
Randell Jesup
7960ef17d7 Bug 1768050: Test request handler. r=jesup
Depends on D147273

Differential Revision: https://phabricator.services.mozilla.com/D149983
2022-07-07 09:08:58 +00:00
Randell Jesup
44a231d591 Bug 1768050: Move OPFS operations off PBackground r=janv,nika
Depends on D149260

Differential Revision: https://phabricator.services.mozilla.com/D147273
2022-07-07 09:08:57 +00:00
Jed Davis
54cd467d65 Bug 1777910 - Adjust Mesa environment variables for change/deprecation in 22.1. r=gcp
Mesa 22.1.0 changed the env var name MESA_GLSL_CACHE_DISABLE to
MESA_SHADER_CACHE_DISABLE; it still accepts the old name, but prints a
deprecation warning.  If we set both env vars, then we can support both
old and new Mesas correctly (the warning won't be printed if the new env
var is also set).

Differential Revision: https://phabricator.services.mozilla.com/D151094
2022-07-06 21:20:06 +00:00
Butkovits Atila
c27cc6a9d2 Backed out 2 changesets (bug 1768050) for causing gtest failures complaining about function calls. CLOSED TREE
Backed out changeset 52f54c3384db (bug 1768050)
Backed out changeset a3c7a9041511 (bug 1768050)
2022-07-06 22:13:03 +03:00
Randell Jesup
96bbb1edea Bug 1768050: Test request handler. r=jesup
Depends on D147273

Differential Revision: https://phabricator.services.mozilla.com/D149983
2022-07-06 18:00:04 +00:00
Randell Jesup
3a934f66ac Bug 1768050: Move OPFS operations off PBackground r=janv,nika
Depends on D149260

Differential Revision: https://phabricator.services.mozilla.com/D147273
2022-07-06 18:00:04 +00:00
Jim Blandy
2f5eb12516 Bug 1777656: Delete mozilla::ipc::SharedMemory::SharedMemorytype. r=nika,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D150852
2022-07-05 20:08:31 +00:00
Nika Layzell
933e0ff56a Bug 1777181 - Use cancelable runnables for DataPipe notifications, r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D150611
2022-06-30 00:44:06 +00:00
Dana Keeler
a998171379 Bug 696976 - asynchronously handle client auth certificate requests from TLS servers r=necko-reviewers,ipc-reviewers,nika,kershaw,rmf
Differential Revision: https://phabricator.services.mozilla.com/D146367
2022-06-29 16:29:28 +00:00
Jan Varga
f9c71105e5 Bug 1758055 - Add PrincipalInfo to PBackgroundFileSystem construction; r=dom-storage-reviewers,jari
These changes are partially copied from D148179 (created by jesup). We need to
be able to create correct origin directories from the very beginning.

Differential Revision: https://phabricator.services.mozilla.com/D149259
2022-06-29 09:43:12 +00:00
Jari Jalkanen
516845de8f Bug 1758055 - Establish file system content and parent process IPC. r=janv,dom-storage-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D140486
2022-06-28 16:04:17 +00:00
Chris Peterson
cdcbafc835 Bug 1776347 - ipc/chromium: Replace some DISALLOW_COPY_AND_ASSIGN macros with explicitly deleted constructors to fix C++20 build errors. r=ipc-reviewers,nika
gcc -std=c++20 (but not clang -std=c++20) complains about template class definitions that specify the template parameter on the class constructor. For example:

template <typename T>
class C {
  C(int x) {}
  // OK in clang and gcc for both -std=c++17 and -std=c++20.

  C<T>(int x, int y) {}
  // OK in clang for both -std=c++17 and -std=c++20.
  // OK in gcc -std=c++17 but a build error with -std=c++20.
};

The ipc/chromium build error because the `DISALLOW_COPY_AND_ASSIGN` macro expands to such a template class definition:

ipc/chromium/src/base/basictypes.h:53:12: error: expected unqualified-id before 'const'
      |   TypeName(const TypeName&) = delete
      |            ^~~~~
ipc/chromium/src/base/threading/thread_local.h:95:3: note: in expansion of macro 'DISALLOW_COPY_AND_ASSIGN'
      |   DISALLOW_COPY_AND_ASSIGN(ThreadLocalPointer<T>);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~

Google replaced chromium/base's DISALLOW_COPY_AND_ASSIGN macros with explicitly deleted constructors, so let's apply their upstream fix:

7319bbdb7d

Differential Revision: https://phabricator.services.mozilla.com/D150216
2022-06-28 04:17:30 +00:00
Sean Feng
6acee53f6c Bug 1731778 - Implement COEP: credentialless r=smaug,necko-reviewers,kershaw
Spec: https://html.spec.whatwg.org/multipage/#coep:coep-credentialless

Credentialless is a new cross-origin embedder policy which allows us
to not enforcing CORP when loading cross-origin resources while
providing SharedArrayBuffer.

There are two main things involved here:
  1. Fetching cross-origin no-CORS resources omits credentials
     - This is done by applying `LOAD_ANONYMOUS` flag to the request
  2. Other requests sent with credentials require the server's explicit
  permission through the CORS protocol or the CORS header
     - This is done by expanding `ProcessCrossOriginResourcePolicyHeader`
     function to apply the necessary checks.

Differential Revision: https://phabricator.services.mozilla.com/D147802
2022-06-27 17:07:15 +00:00
serge-sans-paille
896a2f9a5f Bug 1775148 - Cleanup ipc/ includes r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D149802
2022-06-23 15:49:57 +00:00
smolnar
7d35618a19 Backed out changeset 8e304bf129b7 (bug 1758055) for causing build bustages in nsISupportsImpl CLOSED TREE 2022-06-23 17:08:04 +03:00
Jari Jalkanen
8ded57a34e Bug 1758055 - Establish file system content and parent process IPC. r=janv,dom-storage-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D140486
2022-06-23 12:24:57 +00:00
Iulian Moraru
672f2cb672 Backed out 3 changesets (bug 1731778) for causing COEP related failures on embedding.tentative.https.window.html.
Backed out changeset c30f5751d54c (bug 1731778)
Backed out changeset 0eec19308453 (bug 1731778)
Backed out changeset 7c14fa8a4804 (bug 1731778)
2022-06-22 22:00:17 +03:00
Sean Feng
80b0c0f55b Bug 1731778 - Implement COEP: credentialless r=smaug,necko-reviewers,kershaw
Spec: https://html.spec.whatwg.org/multipage/#coep:coep-credentialless

Credentialless is a new cross-origin embedder policy which allows us
to not enforcing CORP when loading cross-origin resources while
providing SharedArrayBuffer.

There are two main things involved here:
  1. Fetching cross-origin no-CORS resources omits credentials
     - This is done by applying `LOAD_ANONYMOUS` flag to the request
  2. Other requests sent with credentials require the server's explicit
  permission through the CORS protocol or the CORS header
     - This is done by expanding `ProcessCrossOriginResourcePolicyHeader`
     function to apply the necessary checks.

Differential Revision: https://phabricator.services.mozilla.com/D147802
2022-06-22 13:13:39 +00:00
Manuel Bucher
1585146833 no bug - Fix indentation of bullet list in ipdl document DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D149969
2022-06-22 09:52:06 +00:00
Narcis Beleuzu
9e3db37db1 Backed out 2 changesets (bug 1731778) for wpt failures on embedding.tentative.https.window.html . CLOSED TREE
Backed out changeset 2510b654e8f2 (bug 1731778)
Backed out changeset fea9b21d8efe (bug 1731778)
2022-06-21 19:13:32 +03:00
Sean Feng
413fe3115c Bug 1731778 - Implement COEP: credentialless r=smaug,necko-reviewers,kershaw
Spec: https://html.spec.whatwg.org/multipage/#coep:coep-credentialless

Credentialless is a new cross-origin embedder policy which allows us
to not enforcing CORP when loading cross-origin resources while
providing SharedArrayBuffer.

There are two main things involved here:
  1. Fetching cross-origin no-CORS resources omits credentials
     - This is done by applying `LOAD_ANONYMOUS` flag to the request
  2. Other requests sent with credentials require the server's explicit
  permission through the CORS protocol or the CORS header
     - This is done by expanding `ProcessCrossOriginResourcePolicyHeader`
     function to apply the necessary checks.

Differential Revision: https://phabricator.services.mozilla.com/D147802
2022-06-21 13:56:52 +00:00
Jens Stutte
79586c0534 Bug 1775112 - Remove obsolete MessageChannel::Begin/StopPostponingSends feature. r=ipc-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D149775
2022-06-21 06:18:31 +00:00
Jens Stutte
3dab700e29 Bug 1775076 - Reduce shutdown log verbosity of IdleSchedulerChild r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D149752
2022-06-20 12:55:12 +00:00
Jed Davis
c807158580 Bug 1770905 - Allow GeckoMediaPlugin processes on Linux to be profiled if memfd_create is available. r=gcp,mstange,media-playback-reviewers,padenot
There are two parts to this patch; both affect only Linux:

1. The GMP sandbox policy is adjusted to allow certain syscalls used in
   shared memory creation (ftruncate and fallocate).  However, the file
   broker is not used; the process still has no access to files in /dev/shm.

2. The profiler is not initialized for GMP processes unless memfd_create
   is available (so the process can create shared memory to send
   profiling data back, without filesystem access), or the GMP sandbox
   is disabled (either at runtime or build time).

As of this patch, profiling GMP processes on Linux should succeed on
distros with kernel >=3.17 (Oct. 2014), but native stack frames won't
have symbols (and may be incorrectly unwound, not that it matters much
without symbols); see the bug for more info.  Pseudo-stack frames and
markers should work, however.

Differential Revision: https://phabricator.services.mozilla.com/D148470
2022-06-15 20:55:24 +00:00
Sylvestre Ledru
42f6811d95 Bug 1519636 - Reformat recent changes to the Google coding style r=andi,media-playback-reviewers,necko-reviewers,padenot,dragana
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D148375
2022-06-07 12:32:55 +00:00
Haik Aftandilian
94ba599969 Bug 1562756 - Code Injection in Firefox macOS desktop r=spohl
Drop the com.apple.security.cs.allow-dyld-environment-variables entitlement to disallow use of dyld environment variables in signed production builds.

Leave the entitlement in for signed developer builds.

Firefox gtests depend on the use of DYLD_LIBRARY_PATH. However, testing infrastructure does not run gtests on signed builds and therefore gtests are not impacted by this change. gtests could be run on signed developer builds in the future which will still allow dyld environment variables after this change.

browser.production.entitlements.xml and plugin-container.production.entitlements.xml are not used, but being kept up to date.

Differential Revision: https://phabricator.services.mozilla.com/D148324
2022-06-06 16:42:02 +00:00
Haik Aftandilian
4591ba72b4 Bug 1770484 - Make Mac processes not depend on DYLD_LIBRARY_PATH to load libraries r=glandium,gsvelto,mac-reviewers,necko-reviewers,dragana,spohl
Change XUL and other dylibs to be built with an @rpath/<dylib> install name (LC_ID_DYLIB) instead of @executable_path/<dylib>.

Change executables to be built with an @rpath dyld search path set to @executable_path by default so that @rpath/<dylib> dylibs in the same directory can be resolved. For executables not in the same directory as @rpath dylibs, such as plugin-container, set a relative @rpath such as @executable_path/../../../.

Previously, dylib install names were set as @executable_path/<dylib> allowing them to be resolved by dyld for the loading executable if the executable resided in the same directory as the dylib. For executables not in the same directory as the dylibs, dyld resolved these dylibs using DYLD_LIBRARY_PATH set before launching the process by Firefox code. With this change, loading does not rely on DYLD environment variables. Instead, dylibs have an install name set as @rpath/<dylib> and each executable loading a dylib has its @rpath set at compile-time to refer to dylib directory.

Differential Revision: https://phabricator.services.mozilla.com/D147360
2022-06-03 21:14:01 +00:00
ssengupta
ee2494ee39 Bug 1636050 - PCache protocol is now refcounted r=hsingh
Differential Revision: https://phabricator.services.mozilla.com/D85774
2022-06-03 08:58:30 +00:00
Nika Layzell
d65dcbe321 Bug 1743020 - Part 4: Use MoveOnlyFunction in DataPipe, r=ipc-reviewers,mccr8
This is mostly a simple use-case for the type which I was aware of and
could use to ensure it builds correctly.

Differential Revision: https://phabricator.services.mozilla.com/D145692
2022-06-02 13:24:10 +00:00
Nika Layzell
fc7c1048de Bug 1771234 - Make it easier to use a specific serial event target when binding an actor, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D147381
2022-06-01 14:35:16 +00:00
James Teh
8cda799e04 Bug 1756728 part 3: Remove now unused PDocAccessible::URL. r=morgan,ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D147718
2022-06-01 00:34:18 +00:00
Alexandre Lissy
da51fede3d Bug 1771416 - Disable utility audio tests on Android Isolated Process r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D147491
2022-05-27 19:08:48 +00:00
Alexandre Lissy
35c2287eb6 Bug 1767930 - Test for Utility AudioDecoder on Android r=alwu,jolin
Differential Revision: https://phabricator.services.mozilla.com/D145896
2022-05-26 23:00:08 +00:00
Alexandre Lissy
c53de97817 Bug 1767930 - Enable Utility AudioDecoder for Android r=jolin
Differential Revision: https://phabricator.services.mozilla.com/D145785
2022-05-26 23:00:07 +00:00
Nika Layzell
d32f90fe46 Bug 1769593 - Part 2: Improve reporting of fatal DataPipe (de)serialization errors, r=jld
Depends on D146501

Differential Revision: https://phabricator.services.mozilla.com/D146502
2022-05-26 20:16:09 +00:00
Nika Layzell
cefa79c10e Bug 1769593 - Part 1: Fail when serializing file handles in excess of MAX_DESCRIPTORS_PER_MESSAGE, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D146501
2022-05-26 20:16:09 +00:00
Alexandre Lissy
ed32e3d443 Bug 1770241 - Move SetThisProcessName() to avoid risky GetCurrentProcess() r=haik
Differential Revision: https://phabricator.services.mozilla.com/D146964
2022-05-25 20:59:32 +00:00