Commit Graph

1655 Commits

Author SHA1 Message Date
shindli
bcb56a4b63 Backed out changeset f45d6ae3fdb1 (bug 1423261) for causing bug 1453252. a=backout 2018-04-12 02:51:14 +03:00
arthur.iakab
59ab3ac32c Merge mozilla-central to inbound 2018-04-11 01:02:05 +03:00
Nika Layzell
32fa76c4fe Bug 1443954 - Part 3: Add support for RefCounted types to IPDL, r=bz,froydnj,baku
This patch was reviewed in parts, however the intermediate states would not build:

Bug 1443954 - Part 3A: Strip pointers from the argument to WriteParam and WriteIPDLParam before selecting the ParamTraits impl, r=froydnj

Bug 1443954 - Part 3B: Move nsIAlertNotification serialization to the refcounted system, r=bz

Bug 1443954 - Part 3C: Move geolocation serialization to the refcounted system, r=bz

Bug 1443954 - Part 3D: Move nsIInputStream serialization to the refcounted system, r=baku

Bug 1443954 - Part 3E: Move BlobImpl serialization to the refcounted system, r=baku

Bug 1443954 - Part 3F: Correctly implement ParamTraits for actors after the ParamTraits changes, r=froydnj
2018-04-10 17:49:48 -04:00
Ryan VanderMeulen
700d65f262 Backed out changeset cb808626c8df (bug 1424505) because it didn't help with the crashes. r=jimm, a=RyanVM 2018-04-10 16:26:55 -04:00
Bob Owen
245ae380fd Bug 1451376: Properly enforce single PrintingParent per content process. r=jld 2018-04-10 15:36:26 +01:00
Gurzau Raul
c200388d52 Backed out changeset c905d37ed54a (bug 1451376) for bustage on workspace/build/src/dom/ipc/ContentParent.cpp on a CLOSED TREE 2018-04-10 16:17:51 +03:00
Bob Owen
9dbf4e9a53 Bug 1451376: Properly enforce single PrintingParent per content process. r=jld 2018-04-10 13:58:06 +01:00
Andreea Pavel
d6cc32512b Backed out 4 changesets (bug 1366808) for Windows GPU leakchecks on a CLOSED TREE
Backed out changeset 23f60e5acaa2 (bug 1366808)
Backed out changeset bf2262b6aca8 (bug 1366808)
Backed out changeset 1fc82af3a155 (bug 1366808)
Backed out changeset 0649f0d9884b (bug 1366808)
2018-04-10 05:11:36 +03:00
Stephen A Pohl
5f1593e99c Bug 1366808: Properly detect buildID mismatches between parent and child processes and display about:restartrequired to prompt the user to restart Firefox before proceeding. r=jimm,felipe,bz 2018-04-09 20:16:31 -04:00
Stephen A Pohl
983d147bd7 Bug 1423261: Close the IPC channel during KillHard shutdowns to prevent shutdown crashes in the parent process. r=jimm 2018-04-09 15:54:52 -04:00
Tarek Ziadé
ff711b57c6 Bug 1447768 - part 1 - Add PerformanceUtils helpers - r=baku
This new module simplifies how we interact with PerformanceInfo counters:

- CollectPerformanceInfo: returns all PerformanceInfo instances
- NotifyPerformanceInfo: converts PerformanceInfo in XPCOM and notify them

MozReview-Commit-ID: JedKEtsbQTF
2018-04-04 10:12:02 +02:00
Peter Van der Beken
317400d75b Bug 1448850 - Remove nsIMessageListener and nsIMessageListenerManager. r=bz. 2018-02-16 15:28:31 +01:00
Peter Van der Beken
ac0175d820 Bug 1448850 - Empty nsIMessageSender. r=bz. 2018-02-16 10:34:21 +01:00
Peter Van der Beken
d245c134c4 Bug 1448850 - Remove nsIMessageBroadcaster. r=bz. 2018-02-14 17:35:39 +01:00
Peter Van der Beken
abab589fdd Bug 1448850 - Remove nsIGlobalProcessScriptLoader. r=bz. 2018-02-09 15:59:02 +01:00
Xidorn Quan
d03cde8f6e Bug 1447828 part 8 - Remove remaining uses of StyleBackendType as well as the type itself. r=emilio
MozReview-Commit-ID: 6sh4eKvDpRF
2018-03-29 02:34:34 +11:00
Xidorn Quan
c77f975241 Bug 1447828 part 6 - Have only a single nsLayoutStylesheetCache instance. r=emilio
MozReview-Commit-ID: BjCgc8MZjIq
2018-03-29 02:34:34 +11:00
Xidorn Quan
6c4fa0122d Bug 1447828 part 5 - Remove StyleBackendType uses from nsStyleSheetService. r=emilio
MozReview-Commit-ID: 2yQqwVPnvdE
2018-03-29 02:34:34 +11:00
Kartikaya Gupta
5df2dfffc9 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow
The new struct is in LayersTypes.h, all the rest of the changes are just
replacing existing uint64_t instances with the new LayersId struct.

Note that there is one functional change, in
CompositorBridgeParent::DeallocPWebRenderBridgeParent, where we now
correctly convert the PipelineId to a LayersId before using it to index
into sIndirectLayerTrees, whereas before we were incorrectly just using
the mHandle part of the PipelineId.

MozReview-Commit-ID: GFHZSZiwMrP
2018-03-24 19:06:01 -04:00
Alex Gaynor
49294f64ac Bug 1448125 - Move calls to ContentParent::Init into LaunchSubprocess; r=jld
Every LaunchSubprocess caller immediatelly calls Init afterwards

MozReview-Commit-ID: LATClQzWfyg
2018-03-22 16:02:57 -04:00
Andreea Pavel
1292edbcb7 Merge mozilla-inbound to mozilla-central. a=merge 2018-03-22 11:31:19 +02:00
Boris Zbarsky
4bde153f49 Bug 1444143 part 3. Remove nsIFrameLoader::GetTabParent. r=mystor
MozReview-Commit-ID: 2AgXdhJiunG
2018-03-21 22:43:16 -04:00
arthur.iakab
7b2ca1e285 Merge mozilla-central to autoland 2018-03-22 02:00:17 +02:00
Peter Van der Beken
75d03ab497 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 6: Mark some IDL interfaces as non-scriptable. r=bz. 2018-03-01 20:19:56 +01:00
Jed Davis
bb30ef6ad6 Bug 1440199 - Part 2: Remove named mode from IPC shared memory. r=froydnj
We're not using named shared memory, and supporting only anonymous
shared memory allows using other backends that are more compatible
with preventing a process from accessing any shared memory it wasn't
explicitly granted (i.e., sandboxing).

Specifically: SharedMemory::Open is removed; SharedMemory::Create no
longer takes a name, no longer has the open_existing option which doesn't
apply to anonymous memory, and no longer supports read-only memory
(anonymous memory which can never have been written isn't very useful).

This patch also fixes some comments in what remains of SharedMemory::Create.

MozReview-Commit-ID: 4kBrURtxq20
2018-02-20 13:07:32 -07:00
Tiberius Oros
7b6151d1d5 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-21 12:10:46 +02:00
Emilio Cobos Álvarez
b1a35fbef7 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Tarek Ziadé
e463333fe4 Bug 1443443 - Extend PContent to retrieve Performance Counters in the parent process - r=baku
Adds the IPDL layer to asynchronously retrieve in the parent process the performance counters.

MozReview-Commit-ID: RbKstNx8pi
2018-03-20 20:07:41 +01:00
Cosmin Sabou
3a4bdd413d Backed out changeset fae7d9814403 (bug 1443443) for mochitest browser-chrome failure on browser_test_performance_metrics.js 2018-03-20 20:31:01 +02:00
Tarek Ziadé
e4239d612f Bug 1443443 - Extend PContent to retrieve Performance Counters in the parent process - r=baku
Adds the IPDL layer to asynchronously retrieve in the parent process the performance counters.

MozReview-Commit-ID: RbKstNx8pi
2018-03-20 17:19:32 +01:00
Noemi Erli
68cc0e4e1b Backed out changeset 20e9096156b0 (bug 1443443) for failing in dom/tests/browser/browser_test_performance_metrics.js on a CLOSED TREE 2018-03-20 18:07:54 +02:00
Tarek Ziadé
a402a2a595 Bug 1443443 - Extend PContent to retrieve Performance Counters in the parent process - r=baku
Adds the IPDL layer to asynchronously retrieve in the parent process the performance counters.

MozReview-Commit-ID: RbKstNx8pi
2018-03-20 14:13:37 +01:00
Nicholas Nethercote
624d9b96e0 Bug 1436911 - Avoid the early/late prefs split. r=glandium
All prefs that need to be sent to a new content process are now put into the
shared memory segment, and they are identified by the pref name instead of an
index into a list. The old IPC used at process startup (in XPCOMInitData) is
removed.

Benefits:

- It removes the need for the early prefs list
  (dom/ipc/ContentProcesses.{h,cpp}) and the associated checking, which is ugly
  and often trips people up (e.g. bug 1432979, bug 1439406).

- Using prefnames instead of indices fixes some fragility (fixing bug 1419432).

- It fixes the problem of early prefs being installed as unlocked default
  values even if they are locked and/or have user values.

MozReview-Commit-ID: FRIzHF8Tjd
2018-03-08 15:47:24 +11:00
Stephen A Pohl
77fb634628 Bug 1423261: Add crash message annotations to our crash reports to help investigate shutdown crashes due to open message channels when they are expected to be closed. Nightly only. r=jimm 2018-03-19 13:19:15 -04:00
Stephen A Pohl
a7e561f5ea Bug 1348361 - Part 3 - Do not block the thread when spawning a gecko child process; r=jld
They are not yet fully async because ContentParent::InitInternal calls
OtherPid(), which will block until the process is spawned. Deferring the calls
to OtherPid() will be a subject of a follow up patch.

MozReview-Commit-ID: 4TFkMpdQtRw
2018-02-16 10:24:21 -05:00
Alex Gaynor
7dab5da93c Bug 1348361 - Part 2 - Introduce a GeckoChildProcessHost subclass, ContentProcessHost, that will be used for async process launches; r=jld
MozReview-Commit-ID: OgV5fcZM8m
2018-02-22 14:29:49 -05:00
Alex Gaynor
3cc51bb878 Bug 1348361 - Part 1 - Added locking to IToplevelProtocol's management of the peer's pid; r=jld
This will let us manipulate it from multiple threads in a future patch.

MozReview-Commit-ID: 2AOgho8SEX9
2018-02-22 10:36:55 -05:00
Hector Zhao
fb9db881ba Bug 1340039 - Set contentPolicyType when copying image, and pass it between processes. r=smaug
MozReview-Commit-ID: CJj1a1Lj699
2018-03-14 16:44:36 +08:00
Boris Zbarsky
3d51c49049 Bug 1444686 part 3. Get rid of nsIDOMDataTransfer::Get/SetMozCursor. r=mystor
MozReview-Commit-ID: G7vuh1uuWGv
2018-03-13 16:23:59 -04:00
Andrea Marchesini
cdb15164d7 Bug 1443079 - nsScriptError.isFromPrivateWindow must match the correct value also in e10s mode, r=smaug 2018-03-13 06:40:38 +01:00
Nicholas Nethercote
d911a57ece Bug 1438678 - Pass early prefs via shared memory instead of the command line. r=bobowen,jld,glandium.
This patch replaces the large -intPrefs/-boolPrefs/-stringPrefs flags with
a short-lived, anonymous, shared memory segment that is used to pass the early
prefs.

Removing the bloat from the command line is nice, but more important is the
fact that this will let us pass more prefs at content process start-up, which
will allow us to remove the early/late prefs split (bug 1436911).

Although this mechanism is only used for prefs, it's conceivable that it could
be used for other data that must be received very early by children, and for
which the command line isn't ideal.

Notable details:

- Much of the patch deals with the various platform-specific ways of passing
  handles/fds to children.

  - Linux and Mac: we use a fixed fd (8) in combination with the new
    GeckoChildProcessHost::AddFdToRemap() function (which ensures the child
    won't close the fd).

  - Android: like Linux and Mac, but the handles get passed via "parcels" and
    we use the new SetPrefsFd() function instead of the fixed fd.

  - Windows: there is no need to duplicate the handle because Windows handles
    are system-wide. But we do use the new
    GeckoChildProcessHost::AddHandleToShare() function to add it to the list of
    inheritable handles. We also ensure that list is processed on all paths
    (MOZ_SANDBOX with sandbox, MOZ_SANDBOX without sandbox, non-MOZ_SANDBOX) so
    that the handles are marked as inheritable. The handle is passed via the
    -prefsHandle flag.

  The -prefsLen flag is used on all platforms to indicate the size of the
  shared memory segment.

- The patch also moves the serialization/deserialization of the prefs in/out of
  the shared memory into libpref, which is a better spot for it. (This means
  Preferences::MustSendToContentProcesses() can be removed.)

MozReview-Commit-ID: 8fREEBiYFvc
2018-02-16 17:54:16 +11:00
Jim Mathies
8a8d0ca1df Bug 1424505 - Avoid recycling content process when accessibility is active. r=aklotz
MozReview-Commit-ID: 6rgOzR7qGfS
2018-03-08 19:33:47 -06:00
Nicolas B. Pierron
f437166e1a Bug 1438886 - Prevent speculative execution after returning from GC-capable C++ code. r=jandem 2018-03-09 18:29:10 +00:00
Kris Maglione
3d53e0e576 Bug 1440816: Part 2 - Clone stacks when sending console messages to the parent process. r=baku
MozReview-Commit-ID: FqK2eZ3JoB2
2018-02-23 17:21:49 -08:00
Nika Layzell
8acd371fa2 Bug 1440771 - Part 3: Use nsCOMPtr<nsIInputStream> directly in PContent, r=baku
MozReview-Commit-ID: 32gMROoF1qU
2018-03-05 16:00:05 -05: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
972562411b Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 6: Mark some IDL interfaces as non-scriptable. r=bz. 2018-02-22 20:22:29 +01:00
Alex Gaynor
9de72def72 Bug 1440019 - removed some dead code from ContentParent::InitInternal; r=jld
MozReview-Commit-ID: 7ZqXBxJ6Yw9
2018-02-21 13:35:36 -05:00
Nicholas Nethercote
c3ba94a60a Bug 1436863 - Only send possibly-changed prefs to content processes. r=glandium.
The meaning of "possibly-changed" is provided by the big comment above
MustSendToContentProcesses.

On a new profile this reduces the number of prefs sent like so:
- Command-line: 222 --> 3
- IPC:         3129 --> 130

On an older profile:
- Command-line: 222 --> 3
- IPC:         3165 --> 180

MozReview-Commit-ID: DcgedhXhZd8
2018-02-09 16:31:13 +11:00
Nicholas Nethercote
b377f69554 Bug 1436863 - Factor out several calls to ContentPrefs::GetEarlyPref(i). r=glandium
MozReview-Commit-ID: 9lGgu7oJQga
2018-02-09 16:20:44 +11:00