Commit Graph

1123 Commits

Author SHA1 Message Date
Jan de Mooij
80e44e8003 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Stephen A Pohl
860c14b396 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-05-08 10:31:44 -04:00
Tarek Ziadé
90bafd1f42 Bug 1452580 - remove RELEASE_OR_BETA defines for PerformanceCounter usage - r=baku,erahm,farre
PerformanceCounters are currently disabled in two ways:

- a preference that's off by default "dom.performance.enable_scheduler_timing"
- calls made only for nightly using #ifndef RELEASE_OR_BETA

In order to simplify the code, let's remove the #ifndef and rely only on the pref.
That will also allows us to use the feature in every version going forward.

The performance will not be impacted since the current code is already using
the (cached) pref value to determine if the counters are used.

MozReview-Commit-ID: 47t2M1O13aH

--HG--
extra : rebase_source : e129e1829f1dc37c019e50e156474c4876d6d6cb
2018-04-24 22:03:06 +02:00
Nathan Froyd
dbc53de3d9 Bug 1451363 - part 5 - remove ProtocolName virtual function; r=mccr8
ProtocolName() is only used for producing error messages and annotating
crash reports.  But examining actual crash reports that would have used
the result of ProtocolName() indicates that we can always tell what the
erroring protocol is due to the stack backtrace.  So having this virtual
function around just provides duplicate information, and it takes up too
much space in the vtable besides.  Let's get rid of it.
2018-04-23 14:13:36 -04:00
Nika Layzell
952f6a915a 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
Andreea Pavel
26f640b36b 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
b40a23754c 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
381d9da573 Bug 1423261: Revert changeset ff30955a00d2 since it is ineffective. r=me 2018-04-09 14:50:22 -04:00
Tarek Ziadé
0cc1d7259a 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

--HG--
extra : rebase_source : c87ad34f116a789f909c480963fb99cae3fafa6d
2018-04-04 10:12:02 +02:00
Peter Van der Beken
5e6f3328ec Bug 1448850 - Remove nsIMessageListener and nsIMessageListenerManager. r=bz.
--HG--
extra : rebase_source : 2938f6e1cb9078a6d45a8d58db0f6bf70e461b9c
2018-02-16 15:28:31 +01:00
Tom Ritter
449237fc51 Bug 1378552 - Reduce the liklihood of inadvertently misusing NullPrincipal::Create(). r=ckerschb
NullPrincipal::Create() (will null OA) may cause an OriginAttributes bypass.
We change Create() so OriginAttributes is no longer optional, and rename
Create() with no arguments to make it more explicit about what the caller is doing.

MozReview-Commit-ID: 7DQGlgh1tgJ
2018-03-22 13:36:20 -05:00
Kartikaya Gupta
395eaf8c66 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

--HG--
extra : rebase_source : d2b274f63aaee2ee9bba030297e0a37a19af0d6c
2018-03-24 19:06:01 -04:00
Stephen A Pohl
a78a5fda1e Bug 1423261: Don't allow child processes to delay shutdown endlessly when a shutdown message is received from within a nested event loop. r=jimm 2018-03-21 19:22:57 -04:00
Peter Van der Beken
50944763eb Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 15d951ed53530387235db2aa1f3dad69d16c9fa7
2017-06-14 16:44:17 +02:00
Tarek Ziadé
255bc818dc 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

--HG--
extra : rebase_source : d7c00f2ef16623dbbd88ede0f6636ca56501e151
2018-03-20 20:07:41 +01:00
Cosmin Sabou
6f9a8dd015 Backed out changeset fae7d9814403 (bug 1443443) for mochitest browser-chrome failure on browser_test_performance_metrics.js
--HG--
extra : rebase_source : 03d120899e3898ec18e2fd226973f38d438a156a
2018-03-20 20:31:01 +02:00
Tarek Ziadé
3073443de2 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

--HG--
extra : rebase_source : f81058b9bdd67c2f77bb5cd45d3838bc12f406ea
2018-03-20 17:19:32 +01:00
Noemi Erli
a3b2dc08d7 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é
49896a66d5 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

--HG--
extra : rebase_source : 673bbf79f5e20493eee5e129f6954c574c9c41b6
2018-03-20 14:13:37 +01:00
Nicholas Nethercote
6b81d0b99f 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
Andrea Marchesini
5784769019 Bug 1443079 - nsScriptError.isFromPrivateWindow must match the correct value also in e10s mode, r=smaug 2018-03-13 06:40:38 +01:00
Kris Maglione
b5583c4ea2 Bug 1440816: Part 2 - Clone stacks when sending console messages to the parent process. r=baku
MozReview-Commit-ID: FqK2eZ3JoB2

--HG--
extra : rebase_source : dd16ca723d17fcd570837a21ad66de7d80ed1a78
2018-02-23 17:21:49 -08:00
Jed Davis
63e31ca86c Bug 1443612 - Pre-start cubeb before content sandboxing if not remoting audio. r=kinetik
MozReview-Commit-ID: HBtBH5gCKR4

--HG--
extra : rebase_source : f1c693aa6b3d42d3cfaef724a8bc3afea8a03ba0
2018-03-06 13:01:35 -07:00
Sebastian Hengst
3a10644021 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)

--HG--
extra : histedit_source : 791b22f6770f4fead2f909478a93d65d85829fe0%2Cbb387309e90f53e1dde45dcf8cf4ebedcc6e5c5e
2018-03-01 11:51:09 +02:00
Peter Van der Beken
0dc914a027 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 8fb313cbfda3eeec985ba2060abdfe307963a553
2017-06-14 16:44:17 +02:00
Andrew Osmond
ac545b4747 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
106fa9d993 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

--HG--
extra : rebase_source : 4ac0a7f187d45c9b6c0f8a658edfdae0509054ac
2017-10-02 10:48:01 -04:00
Andrea Marchesini
8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Alex Gaynor
eee896973f Bug 1359566 - remove permissions related to audio from the macOS content process sandbox when cubeb remoting is enabled; r=haik
MozReview-Commit-ID: BmBNuSlsyBH

--HG--
extra : rebase_source : 366c8bcffc80b83b348462e13c4893e4854cf389
2017-12-21 09:59:47 -05:00
Kyle Machulis
ec22ae62ae 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
3eea0de148 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
e71d8db226 Bug 1430139 P3 Remove workers namespace from service worker code. r=asuth 2018-01-26 13:08:59 -08:00
Jed Davis
ec6696c724 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
793a39c213 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
37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Andrew McCreight
4a0dd8ce9d 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

--HG--
extra : rebase_source : 875891e9332cf41c4157d246b71c2c361cab4aa6
2018-01-11 14:14:09 -08:00
Andrea Marchesini
e10464a465 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
27fbef8dfc Bug 1426801 - Clear gFirstIdleTask if we fail to dispatch the runnable. r=mrbkap
MozReview-Commit-ID: 23f9VDTyyqg

--HG--
extra : rebase_source : 525588c060c282e9ba1b6a80ffa2bea95c05c271
2018-01-04 14:59:14 -08:00
arthur.iakab
042d2e8d74 Merge mozilla-central to inbound r=merge a=merge on a CLOSED TREE 2017-12-22 00:28:49 +02:00
Prathiksha
e58cc0ef84 Bug 1378200 - Remove MOZ_PERMISSIONS define guards. r=mystor
MozReview-Commit-ID: 2IcXC3h29D9
2017-12-14 03:32:41 +05:30
Andrew McCreight
ab7fa64021 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

--HG--
extra : rebase_source : f932d7597a26a3f0c4246b3a95df638860d3d32d
2017-10-27 13:39:28 -07:00
Matthew Gregan
47ae310bf0 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
42065fc66b 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

--HG--
extra : rebase_source : f43c653e6945d7775cc9dd7bca4c1e84099c2673
2017-12-04 09:45:29 -08:00
DimiL
8db0f119dc 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

--HG--
extra : rebase_source : b948cf1a719c9a06100c54f3eda526ea6f7cf848
2017-12-07 16:32:52 +08:00
Nicholas Nethercote
3da37cfebe 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

--HG--
extra : rebase_source : 8cee1dcbd40847bf052ca9e2b759dd550350e5a1
2017-11-30 09:14:32 +11:00
Thomas Nguyen
1cbe6d16c5 Bug 1420702 - Propagate referrer policy when creating window from pinned tab r=ckerschb,smaug
MozReview-Commit-ID: 1kMssKbAm1l

--HG--
extra : rebase_source : 446d4a9fffd1d5b19bca41722db32759b4540a29
2017-11-30 21:42:05 +08:00
Andrea Marchesini
b1231ac8b9 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
a775a9afdb 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

--HG--
extra : rebase_source : c1e0726c55e7577720f669f0ed2dbc38627d853e
2017-11-22 21:21:19 +11:00
Johann Hofmann
6a1c57c446 Bug 1345424 - Add an isHandlingUserInput attribute to permission requests. r=baku,smaug
MozReview-Commit-ID: 80TXjnxLMuT

--HG--
extra : rebase_source : 42a54afe6cebe9e7c36a7575000fa9c270a63db6
2017-02-20 20:46:39 +01:00
Margareta Eliza Balazs
24fbf705d1 Merge mozilla-central to mozilla-autoland. r=merge a=merge on a CLOSED TREE 2017-11-28 00:09:08 +02:00