Commit Graph

4814 Commits

Author SHA1 Message Date
Sebastian Hengst
937b5d72b8 merge mozilla-central to autoland. r=merge a=merge 2017-09-25 12:02:51 +02:00
Nicholas Nethercote
3aa25724fe Bug 1402255 - Change nsIBaseWindow::title from wstring to AString. r=janv.
Because nsAString is nicer to work with than char16_t*. The patch relatedly
changes nsIEmbeddingSiteWindow::title and nsIWindowMediator::updateWindowTitle
as well.

--HG--
extra : rebase_source : 0bf332dec3e09af6c39c676f8795b368768a6046
2017-09-25 13:10:51 +10:00
sotaro
445bba2d46 Bug 1401849 - Fix TabChild::mLayersConnected handling r=dvander 2017-09-25 09:22:29 +09:00
Nicholas Nethercote
e3c9cbb969 Bug 1401813 - Rename Null[C]String() as Void[C]String(). r=erahm.
XPCOM's string API doesn't have the notion of a "null string". But it does have
the notion of a "void string" (or "voided string"), and that's what these
functions are returning. So the names should reflect that.

--HG--
extra : rebase_source : 4e3f982e0873877174a08a25413595ff66f7d20e
2017-09-22 14:35:46 +10:00
Stone Shih
7c72086a7b Bug 1401450 - Fix incorrect guid and input block id when sending coalesced mouse move event. r=smaug. 2017-09-20 12:59:08 +08:00
Alessio Placitelli
cffe8a8404 Bug 1393801 - Enable dynamic scalar registration. f=gfritzsche,r=billm,chutten
MozReview-Commit-ID: JlRk7hLV5QD

--HG--
extra : rebase_source : 8e7a0823e5c395ce3d58aee978360fd588e6e879
2017-08-29 13:05:40 +02:00
Nicholas Nethercote
ebf1cb320b Bug 1400148 - Don't use -1 to represent an unset nsCursor. r=karlt.
Because UBSan complains about casting -1:

> runtime error: load of value 4294967295, which is not a valid value for type 'nsCursor'

--HG--
extra : rebase_source : 037a96700228ea0d427afa7c25c40490c701cdc4
2017-09-15 14:34:37 +10:00
Mats Palmgren
56af2e7716 Bug 1400623 - Add missing ClearOnShutdown.h #include. r=aosmond
MozReview-Commit-ID: 7AY4eGIOdv
2017-09-17 17:21:32 +02:00
Andrew Osmond
132cacdc6f Bug 1397214 - Prevent ContentChild::RecvSetXPCOMProcessAttributes from running after shutdown. r=ehsan
Since ContentChild itself may be created before the observer service is
started, we cannot create an observer to simply listen for the
xpcom-shutdown event. Thankfully we do not need to do anything special
upon receiving the event -- we just need to know if it has been fired
when we called RecvSetXPCOMProcessAttributes. As such, this patch
creates a canary using ClearOnShutdown. If the canary is cleared, then
we know xpcom-shutdown has been issued, and we should abort the
initialization process.

fixup
2017-09-15 18:48:37 -04:00
Ryan VanderMeulen
17c17bd036 Merge m-c to inbound. a=merge 2017-09-15 14:20:59 -04:00
Ryan VanderMeulen
e1d23c6fa7 Merge inbound to m-c. a=merge 2017-09-15 14:20:02 -04:00
Stone Shih
df20c4bac3 Bug 1399876: Relax the assertion about sending multiple eMouseEnterIntoWidget in TabParent. r=baku.
We may create a browser element and replace it while the TabChild isn't ready to handle input events.
2017-09-15 15:41:53 +08:00
Andrea Marchesini
09429732d5 Bug 1376794 - Label blob IPC messages, r=billm 2017-09-15 18:20:08 +02:00
Jonathan Kew
109a07bbd7 Bug 1399503 - Use font family list passed from the chrome process to initialize the platform font family list on macOS, to avoid expensive Core Text font iteration code path. r=mconley 2017-09-14 22:15:27 +01:00
FSeita
f3d5101a06 Bug 1376333 - Improve naming of accumulation types & variables r=Dexter
MozReview-Commit-ID: F9w7CLUOP6r

--HG--
extra : rebase_source : 5330f9cb47145f5867a92277f4fa6c610e8eed56
2017-09-13 11:20:36 +02:00
Florian Quèze
cc2e281b3b Bug 1398198 - browser_startup_content.js should show the stack when a JS file was loaded earlier than expected, r=felipe,qdot. 2017-09-13 21:19:55 +02:00
Andrew Osmond
cf998634b8 Backed out changeset e66c8d65d0f1 (bug 1389021) because it did not reduce the crash volume. 2017-09-13 11:19:06 -04:00
Christoph Kerschbaumer
e95e356c53 Bug 1264588: Fix permafail test_cpow_cookies.html. r=smaug 2017-09-12 17:55:10 +02:00
J.C. Jones
554acaea86 Bug 1245527 - Remove NSS U2F SoftToken. r=ttaubert, r=jed
The nsIU2FToken and its implementors are no longer needed; the soft token was
re-implemented into dom/webauthn/U2FSoftTokenManager.cpp during the WebAuthn
implementation. When the dom/u2f/ code changed to the implementation from
WebAuthn, the old synchronous version became dead code.

This patch removes the dead code.

MozReview-Commit-ID: 2yDD0tccgZr

--HG--
extra : rebase_source : 0f14d8de8f62599a41c13aa4d8fc9cdbc1fd79c7
2017-09-05 12:32:42 -07:00
Stone Shih
6837036723 Bug 1397461: Fire coalesced mousemove event when the event button or buttons changes. r=smaug. 2017-09-08 10:21:09 +08:00
Andrew Osmond
6d8e605a80 Bug 1389021 - Explicitly shutdown the CompositorManagerChild during ContentChild::ActorDestroy. r=me
It has been observed on nightly and beta that the compositer thread
fails to shutdown gracefully due to lingering references. From what
can be determined, it appears as if the content process references
are what are keeping it alive. The shutdown of CompositorBridgeChild
was altered because a top level protocol was added above it in a
previous change in bug 1365927. This protocol tree is ultimately
what is keeping the thread alive. As such, this patch adds an
explicit shutdown of the protocol, to ensure it gets released in a
timely manner.

This change will be backed out if it appears to have no effect on
the crash rate in nightly 57.
2017-09-11 18:32:44 -04:00
Christoph Kerschbaumer
9048e3f216 Bug 1397655 - Update tests within dom/ to comply with new toplevel data: URI navigation policy. r=smaug 2017-09-10 13:24:07 +02:00
Sebastian Hengst
261dd76eb6 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: ACCqbunIDpp
2017-09-09 11:44:38 +02:00
Phil Ringnalda
2dba33e427 Backed out 3 changesets (bug 1245527) for ASan browser-chrome leaks and Android mochitest bustage
Backed out changeset 8ee1f7aebd62 (bug 1245527)
Backed out changeset e6a5de8d1246 (bug 1245527)
Backed out changeset be63e73426b4 (bug 1245527)

MozReview-Commit-ID: AU22LgPh9iB
2017-09-09 00:09:21 -07:00
J.C. Jones
9ade50e63c Bug 1245527 - Remove NSS U2F SoftToken. r=ttaubert, r=jed
The nsIU2FToken and its implementors are no longer needed; the soft token was
re-implemented into dom/webauthn/U2FSoftTokenManager.cpp during the WebAuthn
implementation. When the dom/u2f/ code changed to the implementation from
WebAuthn, the old synchronous version became dead code.

This patch removes the dead code.

MozReview-Commit-ID: 2yDD0tccgZr

--HG--
extra : transplant_source : %B3%96Te%E7%02%08%98%1A%B2%FA%1C%40%C4J%BC%B2%85j%81
2017-09-05 12:32:42 -07:00
Jim Mathies
0b042659d9 Bug 1385991 - Prevent initialization of content accessibility when older versions of the JAWS screen reader are detected. r=surkov 2017-09-08 16:05:06 -05:00
Jim Mathies
2a7901349f Bug 1387507 - Remove a11y e10s checks and preferences. r=felipe 2017-09-08 09:31:06 -05:00
Sebastian Hengst
e52b8eb6e4 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: E6LQYNHgmiv
2017-09-08 10:53:26 +02:00
Bill McCloskey
db2a8b98fa Bug 1397403 - Fix TabChild::GetActiveTabs comment (r=froydnj)
MozReview-Commit-ID: LKb8U29M7DR
2017-09-07 22:31:34 -07:00
Masayuki Nakano
e1f1db7272 Bug 1396725 - IMEStateManager doesn't need to manage whether menu keyboard listener is installed in different process r=smaug
Currently, IMEStateManager::OnChangeFocusInternal() tries to sync the state
whether menu keyboard listener is installed between itself and active remote
process -- When menu keyboard listener is installed, it posts a message to
_only_ active remote process.  When menu keyboard listener is uninstalled,
it posts a message to _only_ active remote process.  So, it's not guaranteed
that active remote process at installing and uninstalling may be different.
If it's different, IMEStateManager in the old remote process believes that
menu keyboard listener is still installed.  This is what the cause of IME
unavailable in a remote process.

Current approach must be wrong.  IMEStateManager should manage menu keyboard
listener state only in the process which the listener is installed in.  Then,
when menu keyboard listener is uninstalled, IMEStateManager needs to restore
the latest input context in the remote process without asking the remote
process.

Therefore, this patch does:

* stops IMEStateManager::OnChangeFocusInternal() posting message when menu
  keyboard listener is installed and uninstalled.
* removes the message sender and receiver from PBrowser.
* cache the latest input context of active remote process in
  IMEStateManager::SetInputContextForChildProcess().
* make IMEStateManager::SetInputContextForChildProcess() not set input context
  when menu keyboard listener is installed in the process.
* tries to restore latest input context in the remote process in
  IMEStateManager::OnChangeFocusInternal().  If there is no cached input
  context, it does nothing and waits next SetInputContextForChildProcess() call.
* clears the cache when IMEStateManager::OnChangeFocusInternal() changes
  active remote process to different one or nullptr.

So, this must improve performance at activating and inactivating memubar and
opening and closing popup menu in the main process.

MozReview-Commit-ID: EelKSPlaXdw

--HG--
extra : rebase_source : db7334b3c0d3ce87868450ee3179692027975bd6
2017-09-07 11:46:08 +09:00
Wes Kocher
b5fe3d1dc7 Merge m-c to autoland, a=merge
MozReview-Commit-ID: zTrDLmRmnn
2017-09-08 13:42:01 -07:00
Eric Rahm
b689a2e0f3 Bug 1393230 - Part 1: Remove remaining string forward declarations. r=njn
--HG--
extra : rebase_source : 859ce9800bdb7c49ef04c685cb2e7344e4af2fcb
extra : source : c366bfc13e86c94389d58ffc41c9f4a3e573d406
2017-08-23 16:27:16 -07:00
Stone Shih
e7ef363bf0 Bug 1397161 - Remove assert(mIsMouseEnterIntoWidgetEventSuppressed) when sending eMouseExitFromWidget to remote. r=smaug 2017-09-06 10:27:52 +08:00
Andrew McCreight
1f0b9dc34f Bug 1186409 - Use a single global for all JSMs. r=kmag
This patch adds a preference jsloader.shareGlobal that makes it so
that JSMs share a single global, in order to reduce memory usage. The
pref is disabled by default, and will be enabled in a later bug. Each
JSM gets its own NonSyntacticVariablesObject (NSVO), which is used for
top level variable bindings and as the value of |this| within the JSM.

For the module loader, the main change is setting up the shared
global, and the NSVO for each JSM. A number of files are blacklisted
from the shared global, because they do things to the global that
would interfer with other JSMs. This is detailed in
mozJSComponentLoader::ReuseGlobal().

MozReview-Commit-ID: 3qVAc1c5aMI

--HG--
extra : rebase_source : fe7e2672be8d09d6b7cec25e08cd464ff3cd6573
2017-07-18 14:47:27 -07:00
James Cheng
9d0d797c01 Bug 1395468 - [Part1] Remove media.eme.chromium-api.enabled preference and its related code. r=cpearce
1. Delete MediaPrefs::EMEChromiumAPIEnabled() and related logic.
2. We now only use the Chromium CDM interface so delete the opposite side check of MediaPrefs::EMEChromiumAPIEnabled().

MozReview-Commit-ID: GDFrrf4WlWf

--HG--
extra : rebase_source : 987667dd47757afd58e7da10b60c0e1e1ec89d39
2017-08-29 16:13:15 +08:00
Andrew Sutherland
53d89ea1a9 Bug 1395827 - Eliminate NO_REMOTE_TYPE and default GetNewOrUsedBrowserProcess() remote type arg. r=billm
NO_REMOTE_TYPE seems to have been an artifact of introducing remote types and
not wanting to change things.  This eliminates the type, changing
GetNewOrUsedBrowserProcess() to no longer use a default argument so that
callers must think about the remote type they want.  Additionally, the existing
call-site used by xpcshell in nsEmbedFunctions.cpp is updated to use the
DEFAULT_REMOTE_TYPE of "web", as-is the unused nsAppRunner.cpp case.  (That is,
no one appears to call nsXULAppInfo::EnsureContentProcess directly or via its
XPCOM interface, and so it probably should be removed.  However, since I
potentially want this patch uplifted to beta 56 and legacy extensions exist
there, we're not addressing that in this patch.)

--HG--
extra : rebase_source : bb87ec781d041bcea49268585bb5b45522b19bc2
2017-09-01 02:24:47 -04:00
Wes Kocher
5f157c17dc Merge inbound to central, a=merge
MozReview-Commit-ID: 3JxUEFuinHY
2017-09-01 16:29:10 -07:00
Michael Layzell
74165be086 Bug 1378281 - Take 2: Also check if the child is destroyed during ProvideWindowCommon, r=catalinb 2017-09-01 12:51:48 -04:00
Kirk Steuber
1ebc4af503 Bug 1348280 - Remove LayerManager type assertions from TabChild r=kats
As per https://bugzilla.mozilla.org/show_bug.cgi?id=1348280#c22 TabChild should not assert that it gets a certain type of LayerManager. Additionally, GetLayerManager should not be called in assertions since that code has side effects.

MozReview-Commit-ID: F4pwuUTjHQf

--HG--
extra : rebase_source : 8f9a54102de5889f2eff60e50f541776a3666aa4
2017-08-30 12:39:26 -07:00
Stone Shih
c803058e5f Bug 1395361: Avoid using mCoalescedMouseEventFlusher after it's destroyed. r=smaug.
MozReview-Commit-ID: Fbu3zfERY0P
2017-08-31 12:00:08 +08:00
Sebastian Hengst
90f754cf6f Backed out changeset ab66385c2fb5 (bug 1387507) for failing browser-chrome's browser_all_files_referenced.js: unreferenced file e10s-64@2x.png. r=backout on a CLOSED TREE 2017-08-31 09:09:02 +02:00
Bevis Tseng
c83a6c17e7 Bug 1394357 - Label PContent::Msg_BlobURL(Re|Unre)gistration with SystemGroup. r=billm 2017-08-28 17:54:48 +08:00
Bevis Tseng
7a01c70094 Bug 1394350 - Label PContent::Msg_PIPCBlobInputStreamConstructor with SystemGroup. r=billm 2017-08-28 17:27:31 +08:00
Jim Mathies
dfa4eb1f71 Bug 1387507 - Remove a11y e10s checks and preferences. r=felipe
MozReview-Commit-ID: K8zNXevYDem
2017-08-30 11:20:36 -05:00
Andrew McCreight
78807d8776 Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1

--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
2017-08-29 16:02:48 -07:00
Wes Kocher
de530c1ea6 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 5c1Pgm4aVKe
2017-08-29 16:17:50 -07:00
Andrew McCreight
f3d6766f0e Bug 1394176 - Use default values for scheduler prefs if the parent process didn't send any. r=billm
In some unknown circumstance, possibly if the parent process has a
different version than the child process, the child does not receive
scheduler prefs, which makes it read out of an uninitialized local
variable. This can probably happen because the scheduler prefs are
checked before we do the ContentChild::Init version check. Bill also
suggested that the pref env var might be getting truncated.

This patch improves on the situation by using null for the prefs array
if none was sent, and falling back on the default values, which leave
the scheduler disabled.

This also checks that the pref string is at least long enough to avoid
a buffer overflow. Note that if the end of the string isn't an integer
we'll end up with an sPrefThreadCount of zero, which can't be good.

MozReview-Commit-ID: ByHLFMEpgyZ

--HG--
extra : rebase_source : 8f6368b88ec3746f4d1c7716a962bb2ac3c2f3b5
2017-08-29 10:30:03 -07:00
Sebastian Hengst
558aede67b merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-08-29 20:36:12 +02:00
Michael Layzell
d54cc4e71e Bug 1394596 - Support window.open(undefined, undefined, "noopener") in the child process, r=smaug 2017-08-29 13:17:48 -04:00
Chris H-C
28c67cf8bd bug 1376600 - Remove registered(Keyed)Histograms r=Dexter
With the removal of the old addonHistograms, all histograms are now registered.
So removing registered(Keyed)Histograms should be straightforward?

Unfortunately not, as this was how we filtered data based on dataset
(opt-in/opt-out), so a little more fiddling was needed to get C++ to only
serialize dataset-appropriate data (instead of post-facto filtering it in JS).

MozReview-Commit-ID: HDplhmzmzJl

--HG--
extra : rebase_source : 9c38c97e39e3c4fb192288d751505e1f0f2a2c6d
2017-08-22 09:42:09 -04:00
Wes Kocher
7ea5ed6e6a Merge m-c to autoland, a=merge
MozReview-Commit-ID: LEKykpTAKjv
2017-08-25 17:32:33 -07:00
Wes Kocher
68149d6a59 Merge inbound to central, a=merge
MozReview-Commit-ID: 3N9jinnrmjb
2017-08-25 16:21:57 -07:00
Michael Layzell
e8a43bfd07 Bug 1393912 - Register the pending input event annotator on the main thread, r=smaug 2017-08-25 15:31:54 -04:00
Sebastian Hengst
6fd5b9e1ca merge mozilla-central to autoland. r=merge a=merge 2017-08-25 13:19:59 +02:00
Bevis Tseng
0110c5738a Bug 1393319 - Label PContent::Msg_DataStorage(Put|Remove|Clear). r=billm
Label these 3 messages with SystemGroup since they only touch an internal
hashtable instead of any web contents.
2017-08-24 10:16:05 +08:00
Bevis Tseng
e53f772f83 Bug 1390424 - Move ParentActivated message from PContent/PContentBridge back to PBrowser. r=billm 2017-08-23 17:02:57 +08:00
Gabriele Svelto
7387dc791b Bug 1393435 - Remove unnecessary inclusions of the crash reporter header files; r=mconley
MozReview-Commit-ID: 3tdFDrTYql8

--HG--
extra : rebase_source : cc862688f19afb8a5cf8c7cf915a5d3d45f041b5
2017-08-07 14:10:02 +02:00
Bill McCloskey
f90a87caa9 Bug 1350432 - Initial Quantum DOM scheduler implementation, disabled by default (r=froydnj)
MozReview-Commit-ID: JWBxz3bwgwD
2017-08-25 10:28:23 -07:00
Bill McCloskey
a9ed818bea Bug 1383333 - Keep track of foreground TabChildren (r=kanru)
MozReview-Commit-ID: 1hT3BHzoZVA
2017-08-25 10:28:23 -07:00
Dan Glastonbury
45ee5ece48 Bug 1391523 - P6: Integrate audioipc into CubebUtils. r=kamidphish
Enable client/server using: media.cubeb.sandbox = true

This pref is only read at start up, so requires restarting firefox for
a change in value to take effect.

MozReview-Commit-ID: 36L4vR5QEDJ

--HG--
extra : rebase_source : 501ddea24f6425372930fbf02ca4d15bc91e5de4
2017-07-27 18:12:07 +10:00
Eric Rahm
a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Stone Shih
3c63a111d2 Bug 1389314 Part4: Disable the input priority event when shutting down. r=smaug.
MozReview-Commit-ID: CWV1kr3xMQL
2017-08-02 16:53:04 +08:00
Stone Shih
fca19b3588 Bug 1389314 Part3: Temporarily disable the input priority events when dnd is active. r=smaug.
MozReview-Commit-ID: AWfYmhjjsq0
2017-08-02 15:23:35 +08:00
Stone Shih
2c638fc04f Bug 1389314 Part2: Support enabling and disabling the input priority events in runtime. r=smaug.
MozReview-Commit-ID: 3a2TNVqguVb
2017-07-28 15:14:54 +08:00
Stone Shih
60d437ddc2 Bug 1389314 Part1: Rename event prioritization to input event queue. r=smaug.
MozReview-Commit-ID: 7wPWYwIjIet
2017-07-27 16:20:01 +08:00
Henry Chang
25f77bb74d Bug 1349255 - Part 1: Make PBrowser.NotifyIMEFocus async to avoid UI jank. r=kanru,masayuki
Telemetry and some performance profiles show that Msg_NotifyIMEFocus can take
a few seconds to complete, and jank the browser. With bug 1217700, it removes
the necessity of sync Msg_NotifyIMEFocus, so in this patch we make this async
for performance improvement.

MozReview-Commit-ID: 15eUwMJ2Q7H

--HG--
extra : rebase_source : b463e6e881ca5ebec00d0f76e29ca103059b3ddd
2017-05-08 19:07:56 +08:00
Christoph Kerschbaumer
e991a21b16 Bug 1370843 - Provide correct triggeringPrincipal for dropLinks. r=smaug,tooru 2017-08-22 10:07:03 +02:00
Stone Shih
7646d41f1d Bug 1361067 Part2: Coalesce mouse move events to be once per refresh cycle. r=smaug.
MozReview-Commit-ID: 6jwQxxNIC2n
2017-08-11 14:58:08 +08:00
Stone Shih
3cadc1130d Bug 1361067 Part1: Refactor coalescing mouse wheel events. r=smaug.
MozReview-Commit-ID: 3NJJ77zAxNJ
2017-08-13 14:08:48 +08:00
Kris Maglione
267cf409eb Bug 1356334: Part 6 - Allow completely terminating a slow content script sandbox. r=billm
MozReview-Commit-ID: 5CDLHrAeuDt

--HG--
extra : source : d832803270ac831fd760356f36e16ef2a2d6d45b
extra : histedit_source : 11b535e7924700b86747f2855ef33c9707db719a
2017-04-16 14:01:16 -07:00
Kris Maglione
6aef819287 Bug 1356334: Part 5 - Add add-on name to slow script messages. r=billm
MozReview-Commit-ID: 2nyDmoiBKp4

--HG--
extra : source : b83aea215a82d44bec7443b69e60feef32f5fb2c
extra : histedit_source : 5a94f13db992c197ebb49fbb8e6a91bb97288fb6
2017-08-17 20:17:51 -07:00
Kris Maglione
faa8815613 Bug 1356334: Part 3 - Enforce a stricter slow script timeout for extension content scripts. r=billm
MozReview-Commit-ID: LLvPQn1x1Xj

--HG--
extra : source : 805c568069301ae91ead5780cdc118af73907229
extra : histedit_source : b188836d1dc3ad8021bf2d0b1c89aebedf2db185%2C8c7b51c9f4af4eb5ad67811c29b56c72b43fa31d
2017-08-18 11:04:55 -07:00
Michael Layzell
4f71ca4422 Bug 1379345 - Transmit permissions for view-source URIs, r=ehsan 2017-08-18 12:38:04 -04:00
Ryan VanderMeulen
3fe1f45009 Backed out 8 changesets (bug 1356334) for frequent test_ext_contentscript_async_loading.html failures on Android debug on a CLOSED TREE.
Backed out changeset 9c677ebfdda0 (bug 1356334)
Backed out changeset 16b49fd1c38a (bug 1356334)
Backed out changeset 4f5bcd2b2dc6 (bug 1356334)
Backed out changeset d832803270ac (bug 1356334)
Backed out changeset b83aea215a82 (bug 1356334)
Backed out changeset b2a663ffd144 (bug 1356334)
Backed out changeset 805c56806930 (bug 1356334)
Backed out changeset 7c880eca810a (bug 1356334)
2017-08-18 11:32:18 -04:00
Lars T Hansen
1783392f5e Bug 1277562 - Part 16b: Implement javascript.options.wasm_ionjit. r=billm
--HG--
extra : rebase_source : 6956d4002670590667f83cf9f5f6a2f82df6ba84
2017-06-29 15:37:01 -07:00
Kris Maglione
6e3db81c01 Bug 1356334: Follow-up: Fix debug build bustage.
MozReview-Commit-ID: FxSARetQBCb

--HG--
extra : rebase_source : 4b05968dec5e0f9b95d80d5c2a456368b68c3336
2017-08-17 19:38:19 -07:00
Nicholas Nethercote
dc5e4a62cf Bug 1386103 (part 2, attempt 3) - Convert nsFixed[C]String uses to nsAuto[C]String. r=erahm. 2017-08-09 20:41:40 +10:00
Kris Maglione
bdbbf869dd Bug 1356334: Part 6 - Allow completely terminating a slow content script sandbox. r=billm
MozReview-Commit-ID: 5CDLHrAeuDt

--HG--
extra : rebase_source : 00f75b5be53e38d912b90b8fe777c5aa7ff135bf
2017-04-16 14:01:16 -07:00
Kris Maglione
2c6fe4f014 Bug 1356334: Part 5 - Add add-on name to slow script messages. r=billm
MozReview-Commit-ID: 2nyDmoiBKp4

--HG--
extra : rebase_source : 311d9ad486210e6d5fa3a06bb837d3597b9d2800
2017-08-11 22:11:25 -07:00
Nicholas Nethercote
025461bde7 Bug 1390428 (part 1) - Remove many nsXPIDLCString local variables. r=erahm.
These are all easy cases where an nsXPIDLCString local variable is set via
getter_Copies() and then is only used in ways that nsCStrings can also be used
(i.e. no null checks or implicit conversions to |char*|).

In every case the patch trivially replaces the nsXPIDLCString with an
nsCString. (Also, there are a couple of unused nsXPIDLCString variables that
the patch simply removes.)
2017-08-16 13:58:35 +10:00
Bill McCloskey
9edd615af7 Bug 1382922 - Refactor event queue to allow multiple implementations (r=erahm)
This patch refactors the nsThread event queue to clean it up and to make it easier to restructure. The fundamental concepts are as follows:

Each nsThread will have a pointer to a refcounted SynchronizedEventQueue. A SynchronizedEQ takes care of doing the locking and condition variable work when posting and popping events. For the actual storage of events, it delegates to an AbstractEventQueue data structure. It keeps a UniquePtr to the AbstractEventQueue that it uses for storage.

Both SynchronizedEQ and AbstractEventQueue are abstract classes. There is only one concrete implementation of SynchronizedEQ in this patch, which is called ThreadEventQueue. ThreadEventQueue uses locks and condition variables to post and pop events the same way nsThread does. It also encapsulates the functionality that DOM workers need to implement their special event loops (PushEventQueue and PopEventQueue). In later Quantum DOM work, I plan to have another SynchronizedEQ implementation for the main thread, called SchedulerEventQueue. It will have special code for the cooperatively scheduling threads in Quantum DOM.

There are two concrete implementations of AbstractEventQueue in this patch: EventQueue and PrioritizedEventQueue. EventQueue replaces the old nsEventQueue. The other AbstractEventQueue implementation is PrioritizedEventQueue, which uses multiple queues for different event priorities.

The final major piece here is ThreadEventTarget, which splits some of the code for posting events out of nsThread. Eventually, my plan is for multiple cooperatively scheduled nsThreads to be able to share a ThreadEventTarget. In this patch, though, each nsThread has its own ThreadEventTarget. The class's purpose is just to collect some related code together.

One final note: I tried to avoid virtual dispatch overhead as much as possible. Calls to SynchronizedEQ methods do use virtual dispatch, since I plan to use different implementations for different threads with Quantum DOM. But all the calls to EventQueue methods should be non-virtual. Although the methods are declared virtual, all the classes used are final and the concrete classes involved should all be known through templatization.

MozReview-Commit-ID: 9Evtr9oIJvx
2017-08-16 20:55:43 -07:00
Kris Maglione
08ac1de819 Bug 1357589: Part 1 - Use the correct default remote type for content-created tabs/windows. r=mconley r=mystor
When creating new windows/tabs from the content process, we currently choose
the default remote type based on the referrer URI, rather than the actual
remote type of the opener. While this generally works, it fails when opening
windows from URLs (particularly in iframes) which are opened in process types
other than their default process type, since the initial about:blank load gets
redirected to a new process before the child process has a chance to load its
actual target URI.

Using the actual remote type of the child opening the window fixes this
problem for URLs which are capable of being loaded into the child's process
type.

MozReview-Commit-ID: ClxVGxu52Lf

--HG--
extra : rebase_source : 3a029d207dac0b08eb7c7ce7737adfd9c1c96892
2017-08-16 15:11:59 -07:00
Gabor Krizsanits
722233fed1 Bug 1376895 - Make preloaded browser use pre-existing content process. r=mconley
We want to avoid to have several cached content processes, one for each
preloaded browser (one per window) and one for the preallocated process.
For that we force the preloaded browser to choose an existing process and
during the first navigation in that tab, that leaves about:newtab, we re-run
the process selecting algorithm
2017-08-16 13:00:22 +02:00
Carsten "Tomcat" Book
eea1986e03 merge mozilla-inbound to mozilla-central a=merge 2017-08-16 11:23:24 +02:00
Carsten "Tomcat" Book
a478b0ef54 Backed out changeset adf5ed713e0d (bug 1376895) 2017-08-16 11:15:50 +02:00
Sebastian Hengst
aaeaf6ba8a Backed out changeset 21619c674c86 (bug 1348361) for failing mochitest test_group_zoom.html on Android and robocop tests. r=backout 2017-08-15 21:08:14 +02:00
Michael Layzell
76fb615887 Bug 1384238 - Annotate BHR hangs which occur while there is a pending input event, r=smaug
MozReview-Commit-ID: HRPMw2IfEKB
2017-08-15 16:36:28 -04:00
Michael Layzell
5d81a3b535 Bug 1380081 - Part 9: Transmit BHR Hangs from the Content and GPU process to the parent process, r=froydnj
BHRTelemetryService only runs in the parent process (and we can only submit
pings from there), so we need to send the data which we collect in the GPU and
Content processes over IPC to the parent process.

MozReview-Commit-ID: 8B5uZKbjNbU
2017-08-15 16:35:42 -04:00
Stephen A Pohl
a7ea738c76 Bug 1348361: Make launching of subprocesses async. r=billm 2017-08-15 11:28:38 -04:00
Gabor Krizsanits
a53261ca24 Bug 1376895 - Make preloaded browser use pre-existing content process. r=mconley
We want to avoid to have several cached content processes, one for each
preloaded browser (one per window) and one for the preallocated process.
For that we force the preloaded browser to choose an existing process and
during the first navigation in that tab, that leaves about:newtab, we re-run
the process selecting algorithm
2017-08-15 14:05:17 +02:00
Kris Maglione
0b7f63fe38 Bug 1390010: Part 2 - Allow JS callers to retrieve remoteType of message managers. r=krizsa
This gives JS callers access to the remote type of remote message managers.
There's currently no way for extensions to access this unless they have a
<browser> element to check the remoteType attribute of.

MozReview-Commit-ID: A8Y3ZSG3rt8

--HG--
extra : rebase_source : e024922522da9a30265f05e9a8dbf7529dfe1d81
2017-08-13 18:58:23 -07:00
Kris Maglione
04965b96b9 Bug 1390010: Part 1 - Allow JS callers to retrieve parent message manager from ContentParent. r=krizsa
JS code is notified when a new ContentParent is created via normal
"ipc:content-created" notifications, but can't do anything with it, since
nsIContentParent is not scriptable. This allows JS callers to retrieve the
parent process message manager, which is the normal way they interact with
content children.

MozReview-Commit-ID: 7lcZ4XkJ6uR

--HG--
extra : rebase_source : f891c0e29863fc42fc2351a791ca3f1f7e2824b9
2017-08-13 19:00:49 -07:00
Wes Kocher
20689fef47 Backed out 2 changesets (bug 1376895) for breaking browser_identity_UI.js with assertions in nsPermissionManager.cpp a=backout
Backed out changeset 620d01ac103a (bug 1376895)
Backed out changeset 3a06ab7fda1a (bug 1376895)

MozReview-Commit-ID: 2C8kUg77dz8
2017-08-14 13:13:45 -07:00
Gabor Krizsanits
7f2b53e79a Bug 1376895 - Make preloaded browser use pre-existing content process. r=mconley
We want to avoid to have several cached content processes, one for each
preloaded browser (one per window) and one for the preallocated process.
For that we force the preloaded browser to choose an existing process and
during the first navigation in that tab, that leaves about:newtab, we re-run
the process selecting algorithm
2017-08-14 17:42:05 +02:00
Stone Shih
daa217691b Bug 1351148 Part11: Set remote to be ready to handle input events when pref'ed off. r=smaug.
MozReview-Commit-ID: CO5BU9eOC84
2017-08-10 13:20:58 +08:00
Stone Shih
f04c0ccafa Bug 1351148 Part9: Resend a MouseEnterIntoWidget event to TabChild when it's ready to handle input events. r=smaug.
MozReview-Commit-ID: IXPTRyJe1tk
2017-07-24 10:46:40 +08:00
Stone Shih
de7f705042 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Michael Layzell
82c9240971 Bug 1372433 - Label the PContent::Msg_NotifyVisited runnable, r=billm
I don't bother to label the runnables in the parent process being fired by
VisitedQuery, as we are not planning to perform scheduling in the parent process
if I remember correctly. It would be possible to label those runnables as well.

MozReview-Commit-ID: EosNOu62fEV
2017-08-11 18:07:58 -04:00
Nathan Froyd
f6b2b07342 Bug 1376864 - blacklist some prefs from being broadcast to child processes; r=billm
Telemetry has indicated that preference update messages are one of the
most common unlabeled runnables.  Starting the browser on a clean
profile and letting it just sit for a few minutes shows many prefs being
broadcast to all content processes that won't really have any effect on
said content processes--preference changes having to do when services
were last checked for updates and things like that.  To cut down on
preference update traffic, this patch introduces a simple blacklist
against which all preference updates are compared.  This should cut down
on preference update traffic and reduce the number of unlabeled
runnables to worry about.
2017-08-11 13:18:22 -04:00
Sebastian Hengst
cd718a6989 Backed out changeset 0aca62e914cf (bug 1376895) for asserting IsSafeToRun(), at dist\include\mozilla/SchedulerGroup.h:81 e.g. in mochitest dom/events/test/test_bug336682_1.html on Windows 10 x64. r=backout 2017-08-11 14:48:27 +02:00