Commit Graph

1151 Commits

Author SHA1 Message Date
Jed Davis
4ef3b03aa6 Bug 1443612 - Pre-start cubeb before content sandboxing if not remoting audio. r=kinetik
MozReview-Commit-ID: HBtBH5gCKR4
2018-03-06 13:01:35 -07:00
Sebastian Hengst
500c4f7ad2 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)
2018-03-01 11:51:09 +02:00
Peter Van der Beken
2d21a2c039 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz. 2017-06-14 16:44:17 +02:00
Andrew Osmond
d45e50a44b Bug 1433646 - Allow ContentChild::Recv(Re)InitRendering to fail with the GPU process. r=rhunt
When ContentChild::RecvInitRendering is received, it tries to setup the
IPDL actors related to rendering. If the GPU process crashes before or
during this process, it will fail, and cause the content process to
crash as well. This is unnecessary because the UI process will either
restart the GPU process, or subsume its job into itself, and trigger
ContentChild::RecvReinitRendering. It is a similar case for failures in
ContentChild::RecvReinitRendering.

Since the GPU process crashing should be a recoverable scenario, we now
check if the remote IPDL actor is in the UI or the GPU process. If it is
in the UI process, it will fail/crash as it does today. If it is in the
GPU process, it will wait for the next
ContentChild::RecvReinitRendering.

For failures that are not IPDL related (e.g. failed to get some resource
like spawning a thread), we release assert specifically for those
failures. They are not recoverable.
2018-02-14 18:07:53 -05:00
Alex Gaynor
8d021b7aa9 Bug 1405088 - Part 1 - remove file-write permissions from macOS content temporary directory; r=haik
With this change, the macOS content sandbox has no ability to create files
anywhere on disk (in release builds). If the content process needs a file to
write to, it needs to obtain a file descriptor from the parent process.

MozReview-Commit-ID: 7LoG1PW0UDR
2017-10-02 10:48:01 -04:00
Andrea Marchesini
ddb4518ad1 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Alex Gaynor
2ad13cae35 Bug 1359566 - remove permissions related to audio from the macOS content process sandbox when cubeb remoting is enabled; r=haik
MozReview-Commit-ID: BmBNuSlsyBH
2017-12-21 09:59:47 -05:00
Kyle Machulis
0a53e994dd Bug 1432271 - Remove dom/time; r=baku
dom/time contained the TimeService and TimeManager classes, used for
setting time via Gecko on FirefoxOS. Since FirefoxOS is no longer in
the code base, the directory can be removed.

MozReview-Commit-ID: 8PEk3e6HA67
2018-01-29 13:54:42 -08:00
Andrea Marchesini
2599812670 Bug 1425559 - "content-child-will-shutdown" notification when the content process starts the shutting down, r=smaug 2018-01-28 08:41:36 +01:00
Ben Kelly
52ca083d1d Bug 1430139 P3 Remove workers namespace from service worker code. r=asuth 2018-01-26 13:08:59 -08:00
Jed Davis
5f0542031a Bug 1126437 - Reorganize content sandbox params extracted from libxul APIs. r=gcp
The end goal is to allow the seccomp-bpf policy to vary based on the
content sandbox level.

Rather than add yet another parameter to SetContentProcessSandbox to
pass down the sandbox level, this collects the values that have to be
computed in libxul into a struct, and moves the code that computes it so
it's not cluttering up ContentChild.

MozReview-Commit-ID: L0dyQwHQKhc
2018-01-23 22:35:44 -07:00
Nika Layzell
56c7889a1e Bug 1424766 - Simplify HangStack and HangDetails by implementing using ipdl structs and unions, r=froydnj
MozReview-Commit-ID: qlBUnvYams
2018-01-16 14:07:38 -05:00
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Andrew McCreight
dac47df0cd Bug 1429945 - Make ghost window unlinker e10s compatible. r=smaug
Content processes can contain ghost windows, so the debug-only ghost
window unlinker needs to send a message to child processes to get them
to run it, too.

MozReview-Commit-ID: 9Ffc3SDNDJB
2018-01-11 14:14:09 -08:00
Andrea Marchesini
ecd2bd5ab1 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 22 - DOMPrefs initialized at startup, r=asuth 2018-01-08 14:05:07 +01:00
Andrew McCreight
07ab899e4d Bug 1426801 - Clear gFirstIdleTask if we fail to dispatch the runnable. r=mrbkap
MozReview-Commit-ID: 23f9VDTyyqg
2018-01-04 14:59:14 -08:00
arthur.iakab
78a0fc9648 Merge mozilla-central to inbound r=merge a=merge on a CLOSED TREE 2017-12-22 00:28:49 +02:00
Prathiksha
92bab82137 Bug 1378200 - Remove MOZ_PERMISSIONS define guards. r=mystor
MozReview-Commit-ID: 2IcXC3h29D9
2017-12-14 03:32:41 +05:30
Andrew McCreight
b1354b9fe7 Bug 1410209, part 4 - Add names to some IPC runnables. r=kanru
This patch requires that each instance of IPC's RunnableFunction is
passed in a name, like the non-IPC RunnableFunction.

MozReview-Commit-ID: Atu1W3Rl66S
2017-10-27 13:39:28 -07:00
Matthew Gregan
2264dd6fbf Bug 1405877 - Bootstrap AudioIPC from Gecko IPC by passing server fd to content process. r=jld,kamidphish 2017-12-20 14:51:11 +13:00
Doug Thayer
bd1ea8b613 Bug 1421704 - Optimize NotifyVisited IPC to take batch r=mak
During history import, sending NotifyVisited messages from the
chrome process to the content processes in order to change link
colors can take a significant portion of the parent process's
main thread time. Batching it seems to have very significant
results on jank time during history imports.

MozReview-Commit-ID: BHAXpIMa7ly
2017-12-04 09:45:29 -08:00
DimiL
e44f0bfc4c Bug 1407878 - P2. Add PLoginReputation.ipdl for LoginReputationService. r=billm,francois
Right now the only parameter will be sent via the IPC message is form URI.
IPC is triggered when a password field is focusd (See P2.)

MozReview-Commit-ID: J8lVwRhTFIr
2017-12-07 16:32:52 +08:00
Nicholas Nethercote
e142bee515 Bug 1421541 - Overhaul the prefs phase code. r=glandium
This code is used to detect too-early accesses of prefs in content processes.

The patch makes the following changes.

- New terminology: "early" prefs are those sent via the command line; "late"
  prefs are those sent via IPC. Previously the former were "init" prefs and the
  latter didn't have a clear name.

- The phase tracking and checking is now almost completely encapsulated within
  Preferences.cpp. The only exposure to outside code is via the
  AreAllPrefsSetInContentProcess() method, which has a single use.

- The number of states tracked drops from 5 to 3. There's no need to track the
  beginning of the pref-setting operations, because we only need to know if
  they've finished. (This also avoids the weirdness where we could transition
  from END_INIT_PREFS back to BEGIN_INIT_PREFS because of the way -intPrefs,
  -boolPrefs and -stringPrefs were parsed separately.)

MozReview-Commit-ID: IVJWiDxdsDV
2017-11-30 09:14:32 +11:00
Thomas Nguyen
ac7c3454f3 Bug 1420702 - Propagate referrer policy when creating window from pinned tab r=ckerschb,smaug
MozReview-Commit-ID: 1kMssKbAm1l
2017-11-30 21:42:05 +08:00
Andrea Marchesini
574d86c9ef Bug 1420419 - Postpone the removing of BlobURL for 5 seconds in order to allow the loading of them in a remote process, r=smaug 2017-11-29 09:40:16 +01:00
Nicholas Nethercote
862ce6e7d5 Bug 1394578 - Rename dom::PrefSetting as dom::Pref. r=glandium
It represents a pref, so `Pref` is a better name. Within Preferences.cpp the
patch uses domPref/aDomPref to distinguish it from PrefHashEntry values.

MozReview-Commit-ID: HXTl0GX4BtO
2017-11-22 21:21:19 +11:00
Johann Hofmann
7edf42f138 Bug 1345424 - Add an isHandlingUserInput attribute to permission requests. r=baku,smaug
MozReview-Commit-ID: 80TXjnxLMuT
2017-02-20 20:46:39 +01:00
Margareta Eliza Balazs
f1f09a0e87 Merge mozilla-central to mozilla-autoland. r=merge a=merge on a CLOSED TREE 2017-11-28 00:09:08 +02:00
Bob Owen
9e2907fd96 Bug 1420922: Remove orphaned TARGET_SANDBOX_EXPORTS defines. r=dmajor 2017-11-27 16:07:15 +00:00
Johann Hofmann
14f7e20d7d Bug 1374574 - Remove the FlyWeb service and DOM interfaces. r=bz,djvj
MozReview-Commit-ID: 4hp9pLbMh4R
2017-11-22 15:00:10 +01:00
Gabriele Svelto
de4cc6a7cf Bug 1402519 - Remove MOZ_CRASHREPORTER directives from dom; r=peterv
MozReview-Commit-ID: 4G2C9y6csvc
2017-10-10 12:43:09 +02:00
shindli
f90a73f3c0 Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto
44aa02b094 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from dom; r=peterv
MozReview-Commit-ID: 4G2C9y6csvc
2017-10-10 12:43:09 +02:00
Nika Layzell
66aef5ded3 Bug 1418048 - Part 2: Pass callbacks by rvalue reference when possible, a=bustage
MozReview-Commit-ID: 4KsbRJ9AEdB
2017-11-20 18:12:21 -05:00
Nika Layzell
b43a1c73b0 Bug 1416728 - Process the CreateWindow reply message in order with other PContent IPC messages, r=bz
Previously we used the MozPromise interface for calling an async-message over
IPC with a reply. Unfortunately, MozPromise processes the reply asynchronously,
potentially allowing other IPC messages to be processed before the `->Then`
callback is processed.

In the original CreateWindow patch I tried to work around this by setting the
target of the `->Then` callback to be StableStateEventTarget. This worked,
however as it isn't safe to run scripts etc. in the stable state, we instead
tried to exit the nested event loop immediately after the runnable ran, and then
performed processing of the reply.

Unfortunately, this bug exposed a problem with that design. If we have multiple
nested event loops then we cannot guarantee that we'll exit the nested event
loop immediately after recieving the `->Then` callback, which meant that we
could still process other IPC messages before we processed the CreateWindow
reply.

The fix to this was to add a new API to allow passing callbacks directly into
IPC send methods, ensure that those callbacks are called in IPC order, and
fully process the CreateWindow reply in the callback, rather than waiting for
the nested event loop to exit.

MozReview-Commit-ID: D6zaMJRxhXd
2017-11-20 17:55:33 -05:00
Jonathan Kew
1fc835f8ed Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew
96211f55a8 Bug 1412090 - patch 1 - Wrap the font family record used to pass font info from chrome to content on macOS in a union, in preparation for using the same mechanism with a different type of font record on Linux. (No functional change here, just the added union type and some renamings from 'font family list' to 'font list' to be more generic.) r=lsalzman 2017-11-02 17:23:16 +00:00
Jonathan Kew
5e73b7e0d0 Backed out changesets 75e7f32c3365, eec946b59360, 72a6f5f3512c, ea8ee40ed426 (bug 1412090) for apparently breaking all system-installed fonts on some Linux systems. r=backout 2017-11-10 16:05:33 +00:00
Jonathan Kew
b82e985f27 Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew
06ab6b4835 Bug 1412090 - patch 1 - Wrap the font family record used to pass font info from chrome to content on macOS in a union, in preparation for using the same mechanism with a different type of font record on Linux. (No functional change here, just the added union type and some renamings from 'font family list' to 'font list' to be more generic.) r=lsalzman 2017-11-02 17:23:16 +00:00
Ben Kelly
c4e29b344b Bug 1415779 P1 Add the ClientManager class. r=baku 2017-11-08 21:19:59 -08:00
Ben Kelly
e5999f640d Bug 1413606 P2 Add IPC actor structure and boilerplate. r=baku 2017-11-01 13:19:38 -04:00
Martin Stransky
9b7102cefc Bug 1409716 - Don't use DetectDisplay() for child process, r=glandium
Don't retrieve parent display by DetectDisplay().
Utilize MOZ_GDK_DISPLAY when available, when it's missing query DISPLAY env variable for X11 only builds and standard gtk_init() for Wayland enabled builds.

MozReview-Commit-ID: 9yebsISeNjc
2017-10-25 14:53:15 +02:00
Chris Peterson
4434deda7a Bug 1412048 - Replace NS_RUNTIMEABORT("...") with MOZ_CRASH("..."). r=froydnj
And remove unreachable code after MOZ_CRASH().

MozReview-Commit-ID: 6ShBtPRKYlF
2017-10-24 23:30:31 -07:00
Andrea Marchesini
9e34ee5a40 Bug 1411257 - No MOZ_CRASH if BackgroundChild::GetOrCreateForCurrentThread() fails - part 9 - ContentChild, r=asuth 2017-10-25 08:45:53 +02:00
Andrea Marchesini
62535124d1 Bug 1408333 Get rid of nsIIPCBackgroundChildCreateCallback - part 19 - ContentChild, r=billm, r=asuth 2017-10-24 12:02:41 +02:00
Nicholas Nethercote
e7cd5cec20 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.
2017-10-13 16:12:57 +11:00
Tom Ritter
bf3423ddea Bug 1404035 Address unused result warnings in dom/ipc/ r=smaug
In come cases, we can fail the IPC message, but in one we can't really do anything.

MozReview-Commit-ID: 4vdKIRUOJNN
2017-09-28 12:46:37 -05:00
Kris Maglione
7cdbf75d48 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu
2017-10-15 23:15:40 -07:00
Andrew Osmond
76d95e11e1 Bug 1406442 - Improve IPCShutdownState annotation for SendFinishShutdown state to know message status. r=ehsan 2017-10-06 14:50:58 -04:00