Commit Graph

4999 Commits

Author SHA1 Message Date
Boris Zbarsky
55ed30a9c6 Bug 1444686 part 3. Get rid of nsIDOMDataTransfer::Get/SetMozCursor. r=mystor
MozReview-Commit-ID: G7vuh1uuWGv
2018-03-13 16:23:59 -04:00
Emilio Cobos Álvarez
de099db7bd Bug 1444905: Remove scoped style support from the old style system. r=xidorn,smaug
Summary: It uses two node bits that can be better suited for something else.

Reviewers: xidorn, smaug

Bug #: 1444905

Differential Revision: https://phabricator.services.mozilla.com/D709

MozReview-Commit-ID: HIPDtHm6xpM
2018-03-13 10:26:13 +01: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
Nicholas Nethercote
68124009fc 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

--HG--
extra : rebase_source : 7e4c8ebdbcd7d74d6bd2ab3c9e75a6a17dbd8dfe
2018-02-16 17:54:16 +11:00
Jan de Mooij
3125869f12 Bug 1442561 part 1 - Add browser pref for misc Spectre object type mitigations. r=luke 2018-03-11 20:14:03 +01:00
Jim Mathies
fe947defe4 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
36b48bece7 Bug 1438886 - Prevent speculative execution after returning from GC-capable C++ code. r=jandem 2018-03-09 18:29:10 +00: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
Emilio Cobos Álvarez
043503a6d4 Bug 1024082: Remove most of the nsIPresShell::FrameManager calls. r=dholbert
Most of them just want GetRootFrame(), and there's no need to explicitly go
through the frame manager for that, we have a handy alias in the shell.

MozReview-Commit-ID: GriEqkasidY
2018-03-07 10:17:49 +01: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
Kartikaya Gupta
45d31fa895 Bug 1442627 - Stop exporting APZCTreeManager.h in mozilla/layers/. r=botond
MozReview-Commit-ID: GC5fSWOYtF5

--HG--
extra : rebase_source : e2dfe679595bf9208e082699a99375cd509b66e3
2018-03-06 10:25:39 -05:00
Nika Layzell
ea653b9e5e Bug 1440771 - Part 3: Use nsCOMPtr<nsIInputStream> directly in PContent, r=baku
MozReview-Commit-ID: 32gMROoF1qU
2018-03-05 16:00:05 -05:00
Nika Layzell
69042a522a Bug 1440511 - Part 8: Include ParamTraits impls which are used in ipdlh files, r=froydnj
MozReview-Commit-ID: 9AfzlhyTgsY
2018-03-05 16:00:03 -05:00
Tom Ritter
845ef57dd6 Bug 1425462 When reducing the precision of timestamps, also apply fuzzytime to them r=bkelly
Fuzzytime deterministically generates a random midpoint between two clamped values,
and if the unreduced timestamp is above the midpoint, the time is rounded upwards.
This allows safe time jittering to occur, as time will never go backwards on a given
timeline.

It _is_ possible for time to go backwards when comparing different (but related)
timelines, such as a relative timeline in one page (with its own
performance.timeOrigin) and a relative timeline in an iframe or Worker (which
also has its own performance.timeOrigin). This is the same behavior as the 2ms timer
reduction we previously landed; jitter doesn't make this any better or worse.

MozReview-Commit-ID: IdRLxcWDQBZ

--HG--
extra : rebase_source : 40b29d34e5cc99f9b8e6d5e711a03b9fe9bfa595
2018-03-01 00:07:03 -06:00
Dorel Luca
cafaae9ee7 Backed out 6 changesets (bug 1425462) for XPCShell failure on multiple files
Backed out changeset 9ace3811f525 (bug 1425462)
Backed out changeset 7d440e52e3a4 (bug 1425462)
Backed out changeset 85896ea96faf (bug 1425462)
Backed out changeset 127b5d2e6779 (bug 1425462)
Backed out changeset 95ce64d3a29a (bug 1425462)
Backed out changeset ddd2c4da4ba4 (bug 1425462)
2018-03-02 03:33:17 +02:00
Tom Ritter
06ecc9a63d Bug 1425462 When reducing the precision of timestamps, also apply fuzzytime to them r=bkelly
Fuzzytime deterministically generates a random midpoint between two clamped values,
and if the unreduced timestamp is above the midpoint, the time is rounded upwards.
This allows safe time jittering to occur, as time will never go backwards on a given
timeline.

It _is_ possible for time to go backwards when comparing different (but related)
timelines, such as a relative timeline in one page (with its own
performance.timeOrigin) and a relative timeline in an iframe or Worker (which
also has its own performance.timeOrigin). This is the same behavior as the 2ms timer
reduction we previously landed; jitter doesn't make this any better or worse.

MozReview-Commit-ID: IdRLxcWDQBZ

--HG--
extra : rebase_source : e455f934e6e6d65d54c122a6cec9f6cabbd5ac78
2018-03-01 00:07:03 -06: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
Florian Quèze
f3ee8dd20b Bug 1433175 - more aggressive scripted patch to replace remaining Components.classes, Components.interfaces, Components.utils and Components.results uses with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:35 +01:00
Florian Quèze
c714053d73 Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Peter Van der Beken
6cf0e1c871 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 6: Mark some IDL interfaces as non-scriptable. r=bz.
--HG--
extra : rebase_source : f6f781b04923f67f60718706a78b3c4de15eca94
2018-02-22 20:22:29 +01:00
Peter Van der Beken
fc804325a9 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.

--HG--
extra : rebase_source : d7c026d8a77634ef2566feba78168beb8a66a552
2017-07-19 14:59:02 +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
Peter Van der Beken
e0424a7bae Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 2: Various test fixes to prepare for using WebIDL bindings for MessageManager classes. r=bz.
--HG--
extra : rebase_source : a07b1490df5f1a55121d01c0f9bb9fd20c890091
2017-07-04 18:03:18 +02:00
Tom Ritter
f98bfacba8 Bug 1376865 Automatically decline the canvas permission if it is not in response to user input r=baku
The canvas prompt is extremely annoying. It happens everyone, automatically. And in
99.9% (not scientific) of cases it is not triggered by user input, but my automatic
tracking scripts.

This commit will automatically decline the canvas read if it was not triggered by
user input.

Just in case this breaks something irrepairably, we have a cutoff pref.

We don't intend to keep this pref forever, and have asked anyone who sets it to
tell us why.

MozReview-Commit-ID: CxNkuraRWpV

--HG--
extra : rebase_source : 12cfc94cecbd378c0859ae50066c6338bcaa6692
2018-02-17 13:53:05 -06:00
Jan de Mooij
190f5a93e1 Bug 1437483 part 1 - Add pref for Spectre mitigations for Ion object type barriers. r=nbp 2018-02-26 15:25:37 +01:00
Emilio Cobos Álvarez
0ad7abf15e Bug 1441009: Don't null-check OwnerDoc. r=smaug
Can't return null.

MozReview-Commit-ID: JzcNwmsCxIu
2018-02-26 00:31:42 +01:00
Alex Gaynor
94ce464547 Bug 1440019 - removed some dead code from ContentParent::InitInternal; r=jld
MozReview-Commit-ID: 7ZqXBxJ6Yw9

--HG--
extra : rebase_source : 73e4a7563788122a749d1fdd916986aab99e0d14
2018-02-21 13:35:36 -05:00
Jonathan Kingston
8afc412494 Bug 1435733 - Upgrade mixed display content pref. r=baku,ckerschb,francois,mayhemer
MozReview-Commit-ID: ETIgVF3zhRu

--HG--
extra : rebase_source : e4c59f50584158f4b31527347b10424b56692fa1
2018-02-05 15:37:27 +00:00
Hiroyuki Ikezoe
1b0cba9367 Bug 1417354 - Introduce nsIDocument::GetPresContext(). r=smaug
It would be convenient to get nsPresContext from nsIDocument.

MozReview-Commit-ID: Ei6V3UE8XGr

--HG--
extra : rebase_source : 8d2a917eb62cf341e4e1810451fd01c01dbc3bad
2018-02-21 07:00:10 +09:00
Jim Chen
dc09753c25 Bug 1439406 - Add consoleservice.logcat as early pref; r=mccr8
"consoleservice.logcat" can apparently be accessed early enough in the
content process. This is only a problem when running GeckoView under
e10s.

MozReview-Commit-ID: DvOJphIZrXz

--HG--
extra : rebase_source : 04628d12df49646ade2711063fa548f5cd7c7c7b
2018-02-19 17:47:48 -05:00
Dorel Luca
f41b03eca9 Backed out changeset 38577c007450 (bug 1424371) for Marionett test failure on testing/marionette/harness/marionette_harness/tests/unit/test_window_maximize.py. CLOSED TREE 2018-02-19 22:15:23 +02:00
Milan Sreckovic
7571df7e7c Bug 1424371: Use BaseRect access methods instead of member variables in dom/ r=qdot
MozReview-Commit-ID: HXWhggOMIEK

--HG--
extra : rebase_source : 9c9eacf80d2b7f78faa82a1549170b98d12cdaa8
2018-02-19 12:56:10 -05:00
Nicholas Nethercote
046941efbf 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

--HG--
extra : rebase_source : acef424fab5031347cbcbd5c3e6a24ee66895ef9
2018-02-09 16:31:13 +11:00
Nicholas Nethercote
ca3ec907fd Bug 1436863 - Factor out several calls to ContentPrefs::GetEarlyPref(i). r=glandium
MozReview-Commit-ID: 9lGgu7oJQga

--HG--
extra : rebase_source : 70a2c1f987ac062fb965eb3128ef189e476a5df1
2018-02-09 16:20:44 +11:00
Jeff Muizelaar
96c7a33c31 Bug 1438425. Delete DocumentRenderer. r=jesup
It is unused.
2018-02-15 16:28:02 -05: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
Dorel Luca
75f385b6d6 Merge mozilla-centra to mozilla-inbound 2018-02-15 00:37:44 +02:00
Alex Gaynor
c53d076443 Bug 1405088 - Part 2 - Don't even setup the temp directory in content processes on macOS now that it is unused; r=haik
MozReview-Commit-ID: 3WLWmGkbSJO

--HG--
extra : rebase_source : dc067069459338c6f969386713131914337ee5ee
2018-02-13 10:11:26 -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
James Teh
d557fc0b1d Bug 1431404: Remove some accessibility related diagnostic crashes on Nightly. r=aklotz
These conditions are rare and do indicate a problem which breaks accessibility.
However, we aren't getting any closer to diagnosing these as a result of these crashes, so they cause user pain without any gain to us.

MozReview-Commit-ID: D9U4et3Bg7d

--HG--
extra : rebase_source : a81263a0ef97a8ed87129d15ef30ded3005e740c
2018-02-09 15:28:13 +10:00
Andreea Pavel
3d2179915d Backed out changeset e68169412c0b (bug 1431404) for failing mochitest browser chrome at browser/base/content/test/general/browser_datachoices_notification.js on a CLOSED TREE 2018-02-13 03:28:44 +02:00
James Teh
3f381e616f Bug 1431404: Remove some accessibility related diagnostic crashes on Nightly. r=aklotz
These conditions are rare and do indicate a problem which breaks accessibility.
However, we aren't getting any closer to diagnosing these as a result of these crashes, so they cause user pain without any gain to us.

MozReview-Commit-ID: D9U4et3Bg7d

--HG--
extra : rebase_source : a81263a0ef97a8ed87129d15ef30ded3005e740c
2018-02-09 15:28:13 +10:00
Sebastian Hengst
f5e840425b merge mozilla-inbound to mozilla-central. a=merge 2018-02-10 00:26:50 +02:00
Nicolas B. Pierron
2015caa45a Bug 1433111 - Add JS Shell and about:config switch for Value masking. r=jandem 2018-02-09 16:49:32 +00:00
Boris Zbarsky
fce30e834b Bug 1436508 part 10. Remove use of nsIDOMKeyEvent in JS. r=masayuki
MozReview-Commit-ID: GGciORX62Yh
2018-02-09 11:17:09 -05:00
Masayuki Nakano
a04da0af59 Bug 1134542 - Get rid of nsIDOMWindowUtils::sendKeyEvent() and nsIFrameLoader::sendCrossProcessKeyEvent() r=smaug
nsIDOMWindowUtils::sendKeyEvent() is already replaced with nsITextInputProcessor
for making callers set any attributes of KeyboardEvent and guaranteeing
consistency behavior with keyboard events caused by native key events.  E.g.,
whether keypress event should be dispatched or not is automatically decided.

nsIFrameLoader::sendCrossProcessKeyEvent() is similart to
nsIDOMWindowUtils::sendKeyEvent() but it dispatches keyboard events in
child process directly.  Currently, nsITextInputProcessor doesn't have this
feature but nobody wants/uses this feature.  So, for removing actual
implementation of nsIDOMWindowUtils::sendKeyEvent(), i.e.,
nsContentUtils::SendKeyEvent(), which is shared by both
nsDOMWindowUtils::SendKeyEvent() and nsFrameLoader::SendCrossProcessKeyEvent(),
we should remove this unused API too. (FYI: it's implemented for old Fennec,
by bug 553149.)

MozReview-Commit-ID: 9n0UVo8Me8k

--HG--
extra : rebase_source : e9b117f5b9afec76e63d57ab8cd86dafb5873789
2018-01-31 17:04:20 +09:00
Tooru Fujisawa
48bb8e02c7 Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
Jan de Mooij
482d8c9a7b Bug 1434230 part 1 - Some Spectre mitigations for loadStringChars. r=luke,nbp
--HG--
extra : rebase_source : 463ec4c2195df912071064f97dbb07243a08ad75
2018-02-08 22:01:52 +01:00
Narcis Beleuzu
f2b1b8c261 Backed out 3 changesets (bug 1434230) for assertion failures on MacroAssembler.cpp
Backed out changeset 7f67769bbbd8 (bug 1434230)
Backed out changeset 6598194588d7 (bug 1434230)
Backed out changeset 9c9ba4938b08 (bug 1434230)
2018-02-08 23:55:40 +02:00
Jan de Mooij
b55aa41d52 Bug 1434230 part 1 - Some Spectre mitigations for loadStringChars. r=luke,nbp 2018-02-08 22:01:52 +01:00