Commit graph

700 commits

Author SHA1 Message Date
Gurzau Raul
78e7d3e5c7 Backed out 13 changesets (bug 1469714, bug 1491061) for bustages at src/dom/base/nsDocument.cpp, failures at test_browserGlue_bookmarkshtml.js and browser_startup.js on a CLOSED TREE
Backed out changeset 494e23ba027e (bug 1491061)
Backed out changeset 43552fcae4a4 (bug 1491061)
Backed out changeset 0fb2ac9ad5ec (bug 1469714)
Backed out changeset 4a88ff107478 (bug 1469714)
Backed out changeset 158def1e0b8c (bug 1469714)
Backed out changeset 61dc8b46e7f6 (bug 1469714)
Backed out changeset 453370408672 (bug 1469714)
Backed out changeset ff443966e3d9 (bug 1469714)
Backed out changeset 88f414c8cecc (bug 1469714)
Backed out changeset 36e5c9e69f10 (bug 1469714)
Backed out changeset f90b4272f420 (bug 1469714)
Backed out changeset 4db771422e75 (bug 1469714)
Backed out changeset fe750643da13 (bug 1469714)
2018-09-17 18:06:50 +03:00
Ehsan Akhgari
04762303c7 Bug 1491061 - Part 1: Make Disable Protection honour both the Content Blocking UI pref and the pref controlling whether Third-Party Cookies section appears under Content Blocking UI; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D5887
2018-09-17 10:07:58 -04:00
Jan de Mooij
cbb67627a3 Bug 722345 part 3 - Remove request API. r=luke
Differential Revision: https://phabricator.services.mozilla.com/D4424

--HG--
extra : rebase_source : 1842588c00dbc8fb4294ce5436cdb787190909b4
2018-08-28 09:53:30 +02:00
Ehsan Akhgari
363e542f6e Bug 1486092 - Part 2: Make the reject tracker cookie behavior also depend on the browser.contentblocking.enabled pref; r=baku
The semantics implemented are as follows: the feature requires this new
pref to also be set to true, otherwise cookies from trackers will be
accepted.
2018-08-27 09:22:01 -04:00
Jeff Walden
cce0bfcd74 Bug 1484420 - Move locale-related functions into js/public/LocaleSensitive.h that isn't #include'd in jsapi.h. r=anba
--HG--
extra : rebase_source : 96d10bf0985da922f1992ac13f39cb4c2a944137
2018-08-20 17:11:32 -05:00
Andreea Pavel
d801b3a01e Backed out 2 changesets (bug 1484420) for hazard failures on a CLOSED TREE
Backed out changeset d910e3c8372a (bug 1484420)
Backed out changeset d79cdb73c55f (bug 1484420)
2018-08-21 23:19:27 +03:00
Jeff Walden
8acccdc0b8 Bug 1484420 - Move locale-related functions into js/public/LocaleSensitive.h that isn't #include'd in jsapi.h. r=anba
--HG--
extra : rebase_source : 0c594e4a64373f0432194898ab18f94722c3c54a
2018-08-20 17:11:32 -05:00
Andrea Marchesini
d1e5833a37 Bug 1480780 - Merge the privacy.3rdpartystorage.enabled pref with the network.cookie.cookieBehavior pref; r=ehsan
This patch introduces a new cookie behavior policy called
BEHAVIOR_REJECT_TRACKER.  It also makes it possible to override that
behavior with cookie permissions similar to other cookie behaviors.
2018-08-13 16:01:16 -04:00
Brian Hackett
51e310f29a Bug 1479547 Part 1 - Remove instrumentation related to non-deterministic GCs, r=mccr8.
--HG--
extra : rebase_source : 6dfc65ab83e770da6e1f64003379156c3b863050
2018-07-31 19:34:50 +00:00
Tooru Fujisawa
6d85c982d8 Bug 1317481 - Optimize away Generator/Promise handling for await in the topmost JS frame with already resolved/rejected Promise. r=anba,smaug 2018-08-02 16:11:57 +09:00
Brian Hackett
23c2442fae Bug 1465294 Part 16 - Support web workers when recording/replaying, r=smaug.
--HG--
extra : rebase_source : 7ebbe8ee717ab206d04c4c2a82c1931234f83a35
2018-07-23 14:58:20 +00:00
Andrea Marchesini
b177a1dbc0 Bug 1432010 - Failures in PBackground channel creation must result in a error event in Web Workers, r=mrbkap 2018-07-18 12:07:14 +02:00
Andrea Marchesini
ceea0172b0 Bug 1473587 - CSP Violation events should have the correct sample for inline contexts, r=jorendorff, r=ckerschb 2018-07-16 17:58:04 +02:00
Andrea Marchesini
5fff1762ad Bug 1418236 - Correct EventTarget for CSP violation events, r=ckerschb 2018-07-10 17:40:21 +02:00
Andrea Marchesini
8afcfe8e31 Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 4 - workers, r=ehsan 2018-07-10 10:09:59 +02:00
Margareta Eliza Balazs
c37b51f523 Backed out 9 changesets (bug 1469993) for causing bustage in build/srcdom/base/nsGlobalWindowInner.cpp on a CLOSED TREE
Backed out changeset e89192032fe2 (bug 1469993)
Backed out changeset 4b261595099d (bug 1469993)
Backed out changeset 37182cfe869c (bug 1469993)
Backed out changeset 5b9870995c73 (bug 1469993)
Backed out changeset 55499fcd9738 (bug 1469993)
Backed out changeset 8c1c838d54ba (bug 1469993)
Backed out changeset 12b9c8bfa41f (bug 1469993)
Backed out changeset 04ab7d6c169a (bug 1469993)
Backed out changeset 53885d61244e (bug 1469993)
2018-07-10 11:32:34 +03:00
Andrea Marchesini
a8d6a7382d Bug 1469993 - Grant storage access to a 3rd party, tracking resource if a opened document has user-interaction - part 4 - workers, r=ehsan 2018-07-10 10:09:59 +02:00
Jan de Mooij
2de712fd5c Bug 1472973 part 9 - Use JS::GetNonCCWObjectGlobal in worker wrap-callback. r=bz 2018-07-06 18:16:24 +02:00
Andrea Marchesini
14d462eeb3 Bug 1418246 - Return valid columnNumber value in CSP violation events, r=ckerschb 2018-07-05 08:21:04 +02:00
Emilio Cobos Álvarez
c7d35aa526 Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug
MozReview-Commit-ID: DsNuF7GAflJ
2018-06-26 18:22:06 +02:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Tom Schuster
7c01dffca0 Bug 1469540 - Remove option to disable Array.prototype.values. r=jandem
--HG--
extra : rebase_source : 5b935db0e58c076b289a7b5a3a8a43fe6e9446b3
2018-06-05 14:57:13 +02:00
Andrea Marchesini
78739a1b5e Bug 1468036 - Fix a warning in RuntimeService::ClampedHardwareConcurrency(), r=sylvestre 2018-06-13 11:33:31 -07:00
Karl Tomlinson
9e0c1c7c2b bug 1442776 make CycleCollectedJSContext accessible from JSContext private r=peterv
Inheriting PerThreadAtomCache on CycleCollectedJSContext permits use of
static_cast, avoiding one level of indirection compared to adding a
CycleCollectedJSContext* to PerThreadAtomCache.

PerThreadAtomCache is over 18kB, and so WorkerJSContext and WorkletJSContext
are moved from the stack to the heap.

MozReview-Commit-ID: 6jdJeZcviK4

--HG--
extra : rebase_source : 3c2accb71faf3f017a44c405ae0484e57aaf039c
2018-05-10 17:04:12 +12:00
Jan de Mooij
6ac025d047 Bug 1464772 part 1 - Make JS_GetIsSecureContext take a realm instead of compartment and move to JS namespace. r=bz 2018-06-03 12:22:28 +02:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Benjamin Bouvier
2d70c0b1e0 Bug 1445272: Add a pref to enable wasm gc in the browser/shell; r=luke
And a builtin function to test if wasm gc is enabled or not, to make testing
easier.

--HG--
extra : rebase_source : 0e608756d0c5f0231ba31af482c5e343a7119465
2018-03-21 14:32:47 +01:00
Karl Tomlinson
3481a11d87 bug 1328964 add CycleCollectedJSContext::IsSystemCaller() to make ThreadsafeIsSystemCaller() safe for worklets r=baku
MozReview-Commit-ID: Cg4OBbm5CwA

--HG--
extra : rebase_source : 9a113cf0f945bd48207e81f9fa08bcba1f35303c
2018-04-06 18:53:25 +12:00
Andrea Marchesini
d892207595 Bug 1436784 - Use WorkerRef in BroadcastChannel and MessagePort, r=smaug 2018-03-13 21:16:54 +01:00
Olli Pettay
2439836b37 Bug 1193394 - Part 1: Microtasks and promises scheduling. r=bevis 2017-11-17 11:01:27 +08:00
Csoregi Natalia
1fd0486e23 Backed out 7 changesets (bug 1193394) for browser-chrome failures on browser_ext_popup_background.js. CLOSED TREE
Backed out changeset 9683f24ff8ec (bug 1193394)
Backed out changeset 0e7140a7c841 (bug 1193394)
Backed out changeset a0e26f6b2784 (bug 1193394)
Backed out changeset 29e1fceaf48d (bug 1193394)
Backed out changeset b8632bbbd273 (bug 1193394)
Backed out changeset a54ef2d8f896 (bug 1193394)
Backed out changeset 55c94c05c57f (bug 1193394)
2018-03-01 16:29:02 +02:00
Olli Pettay
b7726493fb Bug 1193394 - Part 1: Microtasks and promises scheduling. r=bevis 2017-11-17 11:01:27 +08:00
Ben Kelly
75bf35692e Bug 1440407 P2 Remove some unnecessary nsPIDOMWindowInner QI to nsIGlobalObject. r=mystor 2018-02-22 14:28:39 -08:00
Boris Zbarsky
9bdcffc985 Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.

The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.

MozReview-Commit-ID: IeB8KIJCGhU
2018-02-12 15:44:40 -05:00
Tom Schuster
7fd063c021 Bug 1420101 - Add default enabled pref for Array.prototype.values. r=jandem,bz
--HG--
extra : rebase_source : a8e3eb91d08c22e63a4ff4ac499067b8a64996f1
2018-02-02 18:46:21 +01:00
shindli
4ee48057e8 Backed out changeset 22fe0145f9ed (bug 1434618) for Wd failures in /webdriver/tests/actions/mouse_dblclick.py on a CLOSED TREE 2018-02-06 02:46:08 +02:00
Andrea Marchesini
e923a91555 Bug 1434618 - Worker shutdown should start at xpcom-will-shutdown notification, r=smaug 2018-02-06 00:13:26 +01:00
Andrea Marchesini
8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Sebastian Hengst
2990df182c Backed out changeset f31755ef4145 (bug 1434618) for webdriver failures, e.g. webdriver/tests/actions/mouse_dblclick.py. CLOSED TREE 2018-01-31 20:53:35 +02:00
Andrea Marchesini
f8497b97e2 Bug 1434618 - Worker shutdown should start at xpcom-will-shutdown notification, r=smaug 2018-01-31 16:43:24 +01:00
Andrea Marchesini
7e52540256 Bug 1432963 - Fixing workers headers - part 16 - JSSettings in a workerinternals namespace, r=smaug 2018-01-31 08:24:59 +01:00
Andrea Marchesini
a5bed23bd8 Bug 1432963 - Fixing workers headers - part 15 - static function in a workers namespace, r=smaug 2018-01-31 08:24:30 +01:00
Andrea Marchesini
2c7c69af24 Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00
Andrea Marchesini
1127e83395 Bug 1432963 - Fixing workers headers - part 2 - Get rid of WorkerCrossThreadDispatcher and WorkerTask, r=smaug 2018-01-31 08:19:29 +01:00
Andrea Marchesini
9774cec092 Bug 1413112 - Fixing includes in dom/workers, r=bkelly 2018-01-30 10:14:00 +01:00
Andrea Marchesini
cfa537d14f Bug 1413112 - Move WorkerLoadInfo into separate files, r=bkelly 2018-01-30 10:12:04 +01:00
Andrea Marchesini
d90aa5aad9 Bug 1433914 - When workers hang, let's log if the shutting down has started, r=smaug 2018-01-29 17:08:41 +01:00
Noemi Erli
6bce5aef99 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-01-26 23:55:29 +02:00
Ben Kelly
0325169284 Bug 1430139 P2 Make the tree compile again after moving the code to dom/serviceworkers. r=asuth 2018-01-26 13:08:58 -08:00
Markus Stange
f869de0149 Bug 1431184 - Register DOM Worker threads with the profiler for their entire lifetime, not just for the ranges during which they're running a worker script. r=froydnj
Our Web Worker code uses a thread pool where a single OS thread can be reused
for different worker scripts during its lifetime. Before this patch, we only
registered these threads with the profiler for the duration that they're
running a worker script. So the same OS thread could be registered with the
profiler during multiple disjoint time ranges, and we would expect the profiler
to treat those different registrations as different conceptual threads.

This had multiple advantages:
 - The "thread name" of the conceptual thread can include the script URL:
   "DOM Worker <scriptURL>". This allowed you to create thread filter which
   match a part of the URL, so you had the option of profiling just the worker
   threads you were interested in.
 - We wouldn't waste time sampling a worker thread while it's idle and has no
   script.

But it also had disadvantages:
 - The profiler platform doesn't actually know how to deal with different
   "conceptual threads" that share the same OS thread. This lead to surprising
   breakage in different places. For example, the contents in the profiler
   buffer are marked with ThreadId entries which use the OS thread id.
 - What we show in the profiler UI didn't not match reality, and might be
   confusing to some people.

I don't think the advantages are large enough to warrant teaching the rest of
the profiler platform to deal with conceptual threads. So this change makes us
stop doing the special thing and just register the OS threads for their entire
duration.

MozReview-Commit-ID: 82RtlRlwy3Y

--HG--
extra : rebase_source : 101e144f17718ea8f05e8bef8200b8ed41ee854e
2018-01-24 18:20:27 -05:00
Andrea Marchesini
112a861fb6 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 21 - Get rid of WorkerPrefs.h, r=asuth 2018-01-08 14:05:07 +01:00
Adrian Wielgosik
0e43a76787 Bug 1421358 - Remove GCRuntime::notifyDidPaint and refresh_frame_slices.enabled pref. r=jonco
MozReview-Commit-ID: HBh0qyPckKv
2018-01-06 22:25:25 +01:00
Ben Kelly
b05397d47c Bug 1401359 Disable SharedWorker if in windows that cannot access storage. r=baku 2017-12-21 10:50:27 -05:00
Andrea Marchesini
b1b879f86e Bug 1422316 - WorkerJSRuntime::Shutdown must call the base class ::Shutdown method, f=yoric, r=bkelly 2017-12-18 17:59:30 +01:00
Andrea Marchesini
6b58966a8e Bug 1425509 - Initialize PerformanceService in RuntimeService, r=bkelly 2017-12-18 17:49:54 +01:00
Andrea Marchesini
65b913c5f4 Bug 1423507 - Data URL Shared Workers must be shared when the parent origins match, r=bkelly 2017-12-07 12:29:05 +01:00
Cosmin Sabou
5c4663243d Backed out 23 changesets (bug 1419771) for frequently failing service workers related devtools tests, e.g. devtools/client/aboutdebugging/test/browser_service_workers_push.js. r=backout on a CLOSED TREE
Backed out changeset 2242edc902a5 (bug 1419771)
Backed out changeset 9cc3c29a9e36 (bug 1419771)
Backed out changeset c39ee002c825 (bug 1419771)
Backed out changeset caf7428013f2 (bug 1419771)
Backed out changeset c03970363433 (bug 1419771)
Backed out changeset 7f9de012861e (bug 1419771)
Backed out changeset ed146ac42a7f (bug 1419771)
Backed out changeset a8154698f782 (bug 1419771)
Backed out changeset 8a54c1c8d45d (bug 1419771)
Backed out changeset e32cd55b4c96 (bug 1419771)
Backed out changeset b7f342f436ef (bug 1419771)
Backed out changeset 60464b3e468f (bug 1419771)
Backed out changeset 108806f14ad8 (bug 1419771)
Backed out changeset 65998b0740f3 (bug 1419771)
Backed out changeset 0d23880842d8 (bug 1419771)
Backed out changeset 862aeaa2fefd (bug 1419771)
Backed out changeset cbc192478bf5 (bug 1419771)
Backed out changeset c58ef2a91bad (bug 1419771)
Backed out changeset 2b0a4bfd654f (bug 1419771)
Backed out changeset f182eba574f9 (bug 1419771)
Backed out changeset d9999a624097 (bug 1419771)
Backed out changeset 4050a1b8db2b (bug 1419771)
Backed out changeset a1a68e6500d9 (bug 1419771)
2017-11-30 22:35:32 +02:00
Andrea Marchesini
d841e8c395 Bug 1419771 - Introduce DOMPreferences, a thread-safe access to preferences for DOM - part 22 - Get rid of WorkerPrefs.h, r=asuth 2017-11-30 18:16:47 +01:00
Andrea Marchesini
2b3039c021 Bug 1419166 - Use nsIPrincipal to decide if a SharedWorker should be shared, r=bkelly 2017-11-27 17:07:39 +01:00
Jan de Mooij
7f30bf48a7 Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
Andrea Marchesini
cae6951635 Bug 1405290 - Improve logging of workers when shutting down - part 2 - Implement RuntimeService::CrashIfHanging(), r=asuth 2017-11-15 07:58:38 +01:00
Andrea Marchesini
b06af90b93 Bug 1416174 - part 1 - OSFileConstants must be a singleton, r=smaug 2017-11-10 19:27:03 +01:00
Andrea Marchesini
7e8feb3cb9 Bug 1408333 Get rid of nsIIPCBackgroundChildCreateCallback - part 16 - Workers, r=asuth 2017-10-24 12:02:41 +02:00
Kris Maglione
60d080b412 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu

--HG--
extra : rebase_source : 31c583c699790cbcf302064146d313ee8126ef0c
2017-10-15 23:15:40 -07:00
Luke Wagner
cf897d6fcb Bug 1347644 - Baldr: implement ConsumeStreamCallback in browser (r=bkelly)
MozReview-Commit-ID: DXv2MegefDw

--HG--
extra : rebase_source : aca4d6e40ae9af03e05520ec8bdef92889e44acc
2017-10-10 14:41:24 -05:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
David Major
7e599076a6 Bug 1405735 - Make worker JS context options respect safe mode. r=billm
--HG--
extra : amend_source : 94345cc176019885832a57c5d441b3ed5cc63973
2017-10-06 12:50:50 -04: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
Blake Kaplan
d5d500f633 Bug 1398396 - Initialize the locale stuff on runtimes instead of contexts. r=billm
MozReview-Commit-ID: Il9HAqYdTzK

--HG--
extra : rebase_source : 29a294c02bc2be1534766f33192854f51984883e
2017-09-11 15:46:14 -07:00
Nicholas Nethercote
5f1dacafee Bug 1400081 - Don't use -1 to represent an unset JSGCParamKey. r=sfink.
Because UBSan complains about casting -1:

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

--HG--
extra : rebase_source : ff972b29f9a89fcbe50d9f105196bcd8f06486bd
2017-09-15 10:50:33 +10: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
Lars T Hansen
16a023dd8a Bug 1277562 - Part 5a: Change the meaning of the wasm-baseline switch. r=luke
--HG--
extra : rebase_source : 793eacb33d1901565d2b7b2e84501cc8917a4149
extra : source : 392b626dc954766ac5a077f4cad7ab489fd907aa
2017-02-02 13:22:40 +01:00
Luke Wagner
9b038447f4 Bug 1347644 - Simplify/rename JS::AsyncTask (r=till,bkelly,mccr8)
MozReview-Commit-ID: BahNzYPv0AO
2017-08-16 14:38:53 -05:00
Masatoshi Kimura
38894511bc Bug 1390106 - Stop using versioned scripts in dom. r=mrbkap
MozReview-Commit-ID: 89KvCoTAg3I

--HG--
extra : rebase_source : 24831fa454a1cc6fff70a9b1eb509d0f5aeb800a
2017-08-14 20:42:55 +09:00
Jan Varga
fdb1375046 Bug 1283609 - Part 2: Rename BackgroundChild::SynchronouslyCreateForCurrentThread to BackgroundChild::GetOrCreateForCurrentThread; r=billm 2017-08-03 11:21:53 +02:00
Nicholas Nethercote
d4f9aa5530 Bug 1384835 (part 2, attempt 2) - Remove the Preferences::Get*String() variants that return nsAdoptingString. r=froydnj.
--HG--
extra : rebase_source : 6c24fbacb03d4adebe5f22b5e7fc60b069913f20
2017-07-31 14:23:50 +10:00
Till Schneidereit
ab76cf2fd7 Bug 1272697 - Part 2: Add runtime pref to enable streams. r=jonco,baku
MozReview-Commit-ID: FJMAxbtD3Uy
2017-07-29 16:47:12 +02:00
Sebastian Hengst
1d708511f0 Backed out changeset 5df4d8778602 (bug 1384835) 2017-07-28 10:29:29 +02:00
Nicholas Nethercote
0574a6b496 Bug 1384835 (part 2) - Remove the Preferences::Get*String() variants that return nsAdoptingString. r=froydnj.
Because we want to remove nsAdoptingString. We have other variants that don't
use nsAdoptingString, which can be used instead. There are three basic
patterns.

1. The easiest case is when we don't check for success.

> nsAdoptingString s = Preferences::GetString("foo");
> foo(s);

becomes:

> nsAutoString s;
> Preferences::GetString("foo", s);
> foo(s);

2. The next case is when we check if the result is empty.

> nsAdoptingString s = Preferences::GetString("foo");
> if (s.IsEmpty()) { ... }

becomes:

> nsAutoString s;
> Preferences::GetString("foo", s);
> if (s.IsEmpty()) { ... }

3. The final case is when we null check the result.

> nsAdoptingString s = Preferences::GetString("foo");
> if (s) { ... }

becomes:

> nsAutoString s;
> nsresult rv = Preferences::GetString("foo", s);
> if (NS_SUCCEEDED(rv)) { ... }

The patch also avoids some UTF8/UTF16 conversions in a few places.

--HG--
extra : rebase_source : f339b1a3dda4dc93979d38c30c001fbe77485b55
2017-07-25 20:36:14 +10:00
Bill McCloskey
224d56eb18 Bug 1377222 - Eliminate nsITimer::InitWithFuncCallback in favor of InitWithNamedFuncCallback (r=froydnj)
MozReview-Commit-ID: 9zN9aAd7daA
2017-07-03 16:19:56 -07:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
5f51e5596e merge mozilla-inbound to mozilla-central a=merge 2017-06-23 11:28:19 +02:00
Nicholas Nethercote
4b364cf3f3 Bug 1375299 (part 1) - Reduce usage of MOZ_GECKO_PROFILER. r=mstange.
This patch reduces the differences between builds where the profiler is enabled
and those where the profiler is disabled. It does this by removing numerous
MOZ_GECKO_PROFILER checks.

These changes have the following consequences.

- Various functions and classes are now defined in all builds, and so can be
  used unconditionally: profiler_add_marker(), profiler_set_js_context(),
  profiler_clear_js_context(), profiler_get_pseudo_stack(), AutoProfilerLabel.
  (They are effectively no-ops in non-profiler builds, of course.)

- The no-op versions of PROFILER_* are now gone. The remaining versions are
  almost no-ops when the profiler isn't built.

--HG--
extra : rebase_source : 8fb5e8757600210c2f77865694d25162f0b7698a
2017-06-22 06:26:16 +10:00
Sylvestre Ledru
3d4e903323 Bug 1375386 - Silence a -Wunused-lambda-capture warning r=froydnj
MozReview-Commit-ID: CoIXICb4nwY

--HG--
extra : rebase_source : 47ab8f3f20243abc778402e4aba13969c83c1b8e
2017-06-22 08:47:02 +02:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey
4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Mats Palmgren
5b7c81e34b Bug 1372317 part 2 - Replace LookupRemoveIf() calls with Lookup() + entry.Remove() where needed. r=froydnj
MozReview-Commit-ID: AoRNdbzh66c
2017-06-18 17:07:54 +02:00
Mats Palmgren
9fc0c76c2f Bug 1372356 part 2 - Use mWindowMap.LookupForAdd instead of Get+Put, and LookupRemoveIf instead of Get+Remove, to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: 9L3GGGKDoJZ
2017-06-14 17:27:25 +02:00
Mats Palmgren
70e1ca483d Bug 1372356 - Use LookupForAdd instead of Get+Put to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: 4jKIhueYx13
2017-06-14 17:27:25 +02:00
Bill McCloskey
aefa2aa5da Bug 1365097 - Convert NS_GetCurrentThread uses in dom (except for dom/media) (r=smaug)
For the Quatum DOM project, it's better to work in terms of event targets than
threads. This patch converts DOM code to operate on event targets rather than
threads, when possible.

MozReview-Commit-ID: 5FgvpKadUA2
2017-06-12 20:20:08 -07:00
Andrea Marchesini
b203932e2d Bug 1364297 - Use nsString instead nsCString for Worker names, r=smaug 2017-05-17 16:49:34 +02:00
kedziorski.lukasz@gmail.com
f815a0af4b Bug 1359436 - Add leak checking to CycleCollectedJSContext and related classes. r=mccr8 2017-05-09 13:59:00 +02:00
Chris Peterson
3290f0e066 Bug 1360039 - Spoof navigator.hardwareConcurrency = 2 when privacy.resistFingerprinting = true. r=qdot
Trackers use navigator.hardwareConcurrency as yet another source of entropy to fingerprint users. The Firefox Hardware Report says 70% of Firefox users have exactly 2 cores. When the privacy.resistFingerprinting pref is set, we want to blend into the crowd so spoof navigator.hardwareConcurrency = 2 to reduce user uniqueness. This pref was added in bug 1345322 for the Tor uplift project.

https://metrics.mozilla.com/firefox-hardware-report/#goto-cpu-and-memory

MozReview-Commit-ID: CDWAaxjRpqe

--HG--
extra : rebase_source : a24eabf1d0b0ea1706478306287634dae38a8c52
2017-05-02 14:03:08 -07:00
Bill McCloskey
11b1f07146 Bug 1359245 - Get rid of CycleCollectedJSRuntime::MainContext (r=mccr8)
This is another method that assumes one context per runtime. This patch
eliminates the method.

MozReview-Commit-ID: JHcQ1nyiHSP
2017-04-27 15:34:46 -07:00
Cervantes Yu
cc5836fbae Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Bill McCloskey
207af130a2 Bug 1343396 - Split CycledCollectedJSContext and XPCJSContext into separate context and runtime classes (r=mccr8)
To run JS in separate cooperative threads, we need to split up per-thread state
from per-runtime state. This patch does that for XPConnect.

MozReview-Commit-ID: 407SlJ7nR6v
2017-04-18 17:01:04 -07:00
Sebastian Hengst
1828ea89ca Backed out changeset 7fdcabdbb675 (bug 1024669) for failing mda, GTest and talos jobs. r=backout on a CLOSED TREE 2017-04-10 19:05:44 +02:00
Cervantes Yu
364e524eca Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Carsten "Tomcat" Book
02ddc23c74 Backed out changeset 7a52d887bcea (bug 1024669) for bustage 2017-04-10 11:43:49 +02:00
Cervantes Yu
ece1ce1a7d Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Boris Zbarsky
246fba64e9 Bug 1348331 part 3. Change Preferences::RegisterCallback/RegisterCallbackAndCall/UnregisterCallback to do exact matching on the pref name, not prefix matching. r=froydnj.
MozReview-Commit-ID: GY6J62yWkfk
2017-03-21 14:59:02 -04:00
Boris Zbarsky
ec233151ac Bug 1348331 part 2. Switch Preferences::RegisterCallback/RegisterCallbackAndCall consumers that want prefix matches to the new RefisterPrefixCallback(AndCall) APIs. r=froydnj,padenot
MozReview-Commit-ID: 2ebVZO4fN6i
2017-03-21 14:59:02 -04:00
Boris Zbarsky
7d85fda7ff Bug 1348215. Fix the SIMPLE_WORKER_PREF setup to not mishandle pref names that start with the worker pref name. r=ehsan
Without this change, we will call WorkerPrefChanged if a pref whose name just
_starts_ with the name of one of our WORKER_SIMPLE_PREF prefs changes.  Then in
WorkerPrefChanged we will get the value of the pref that changed, and store it
under the key identified by the closure, thus writing the value of an incorrect
pref in there.

MozReview-Commit-ID: JTsvvtC5P1o
2017-03-17 14:10:40 -04:00
Nicholas Nethercote
8876b32323 Bug 1345262 (part 5) - Fix how JS sampling is started/stopped by the profiler. r=mstange,djvj.
Currently, JS sampling has major problems.

- JS sampling is enabled for all JS threads from the thread that runs
  locked_profiler_start() -- currently only the main thread -- but the JS
  engine can't handle enabling from off-thread, and asserts. This makes
  profiling workers impossible in a debug build.

- No JS thread will be JS sampled unless enableJSSampling() is called, but that
  only happens in locked_profiler_start(). That means any worker threads
  created while the profiler is active won't be JS sampled.

- Only the thread that runs locked_profiler_stop() -- currently only the main
  thread -- ever calls disableJSSampling(). This means that worker threads that
  start being JS sampled never stop being JS sampled.

This patch fixes these three problems in the following ways.

- locked_profiler_start() now sets a flag in PseudoStack that indicates
  JS sampling is desired, but doesn't directly enable it. Instead, the JS
  thread polls that flag and enables JS sampling itself when it sees the flag
  is set. The polling is done by the interrupt callback. There was already a
  flag of this sort (mJSSampling) but the new one is better.

  This required adding a call to profiler_js_operation_callback() to the
  InterruptCallback() in XPCJSContext.cpp. (In comparison, the
  InterruptCallback() in dom/workers/RuntimeService.cpp already had such a
  call.)

- RegisterCurrentThread() now requests JS sampling of a JS thread when the
  profiler is active, the thread is being profiled, and JS sampling is enabled.

- locked_profiler_stop() now calls stopJSSampling() on all live threads.

The patch makes the following smaller changes as well.

- Renames profiler_js_operation_callback() as profiler_js_interrupt_callback(),
  because "interrupt callback" is the standard name (viz.
  JS_AddInterruptCallback()).

- Calls js::RegisterContextProfilingEventMarker() with nullptr when stopping
  JS sampling, so that ProfilerJSEventMarker won't fire unnecessarily.

- Some minor formatting changes.

--HG--
extra : rebase_source : 372f94c963a9e5b2493389892499b1ca205ebc2f
2017-03-10 09:04:23 +11:00
Nicholas Nethercote
d8023679e3 Bug 1345262 (part 2) - Add profiler_{set,clear}_js_context(). r=mstange.
PseudoContext::sampleContext() is always called immediately after
profiler_get_pseudo_stack(). This patch introduces profiler_set_js_context()
and profiler_clear_js_context(), which replace the profiler_get_pseudo_stack()
+ sampleContext() pairs. This takes us a step closer to not having to export
PseudoStack outside the profiler.

--HG--
extra : rebase_source : 8558d1600eafd395cc696d31f3d21fb52a1a74b0
2017-03-09 17:06:35 +11:00
Andrea Marchesini
9749d1a888 Bug 1345277 - Initialize nsIStreamTransportService before dispatching the first worker, r=ehsan 2017-03-08 18:37:08 +01:00
Ben Kelly
7300a549b0 Bug 1345251 Make MozPromise usable on worker threads. r=gerald 2017-03-08 11:45:07 -05:00
Jan Varga
e161ee742d Bug 1311057 - Part 1: Remove support for packaged apps from asmjscache; r=luke 2017-03-06 18:38:40 +01:00
Wes Kocher
c8fa3242ab Merge m-c to inbound, a=merge
MozReview-Commit-ID: Lt0WpWkto4h
2017-02-13 17:07:33 -08:00
Masatoshi Kimura
24a8330f71 Bug 1219523 - Remove the "dom.workers.latestJSVersion" pref. r=baku
MozReview-Commit-ID: 92fCMCLTxRp

--HG--
extra : rebase_source : 728d515eb2f2d5c0a03e80866ec2c56443c3dce8
2017-02-12 13:37:38 +09:00
Brian Hackett
01a649c197 Bug 1337112 - Remove links from JSRuntime to its single context and zone group, r=jandem,jonco.
--HG--
extra : rebase_source : ebf319af724d5f829cdf5c2386dc82d49be89989
2017-02-10 16:47:50 -07:00
Nicholas Nethercote
5b394d20a8 Bug 1338957 (part 2) - Remove out-of-date comment. r=mstange.
Bug 1337189 part 17 was the change that made this comment no longer true.
2017-02-13 16:36:25 +11:00
Tooru Fujisawa
33a302accc Bug 1320408 - Part 22: Remove JSContext* parameter from ProxyObject::renew and Wrapper::Renew. r=jandem 2017-02-08 23:04:57 +09:00
Nicholas Nethercote
fd25b06c81 Bug 1328365 (part 1) - Replace tlsTicker with gSampler. r=mstange.
There is a single GeckoSampler and it is currently only accessed on the main
thread, so it's silly to use TLS for it; a normal global variable is better.

This patch also adds main thread assertions to a number of the profiler_*()
functions. Even though bug 1330184 may get rid of some of them, right now they
are a useful as both a sanity check and documentation.

--HG--
extra : rebase_source : 7613eb3cc8089b31180365f6463c81f4556c7b66
2017-01-25 16:00:47 +11:00
Christian Holler
4dc29b3b09 Bug 1332361 - Expose TestingFunctions to content in FUZZING builds. r=jandem.
MozReview-Commit-ID: HA0oodPzAeS

--HG--
extra : rebase_source : 896f4d9465b8bd2a5655dec63165f893b0f0f5df
2017-01-25 13:39:54 +01:00
Nicholas Nethercote
22b6d342d7 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium.
--HG--
extra : rebase_source : 223f3a17f009645369be503392cc1f0cea7f19a1
2017-01-24 14:15:12 +11:00
Bill McCloskey
ef3d0f1c2e Bug 1331804 - Add more runnable names (r=ehsan)
MozReview-Commit-ID: 1QBmqfgY6WI
2017-01-24 16:34:37 -08:00
Wes Kocher
f7ccafcb58 Backed out 8 changesets (bug 1331804, bug 1332100) for windows vm debug dt5 failures a=backout
Backed out changeset 8bf7f0e27c6c (bug 1331804)
Backed out changeset 600c0b9026c2 (bug 1331804)
Backed out changeset 3a5b5b9ecace (bug 1331804)
Backed out changeset c76432c9954e (bug 1331804)
Backed out changeset 46a9096745e7 (bug 1332100)
Backed out changeset 8b751230fa23 (bug 1331804)
Backed out changeset 2810212347fd (bug 1331804)
Backed out changeset be72b7763910 (bug 1331804)

MozReview-Commit-ID: Ywdsr4GZ4a
2017-01-24 15:12:21 -08:00
Bill McCloskey
80aaeed2fc Bug 1331804 - Add more runnable names (r=ehsan)
MozReview-Commit-ID: 1QBmqfgY6WI
2017-01-24 10:04:55 -08:00
Benjamin Bouvier
2552158d1c Bug 1333368: Pass option to always use wasm baseline compiler to workers; r=luke
MozReview-Commit-ID: LB1D6fuAUza

--HG--
extra : rebase_source : 2cbca48ace4098352badade4b4080a7063a14268
extra : amend_source : 857ce4960630e269e8d8cb2551eb6e47d6a0e150
2017-01-24 11:46:50 +01:00
Ben Kelly
e5bccaf01d Bug 1315446 Avoid crashing if GetCurrentThreadJSContext() or GetCurrentThreadWorkerGlobal() are called after worker shutdown. r=baku 2017-01-24 06:09:22 -08:00
Nicholas Nethercote
12647a7223 Bug 1332577 (part 7) - Rename mozilla_get_pseudo_stack() as profiler_get_pseudo_stack(). r=mstange.
This makes it consistent with other profiler functions.

--HG--
extra : rebase_source : 1e52acdc448691b8859bb147a0c70b198b432fe2
2017-01-20 15:07:05 +11:00
Andrea Marchesini
359ae91eac Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01:00
Andrea Marchesini
94547f20bb Bug 604026 - Sync event loops in workers should be created only if compatible with the worker shutdown status, r=bkelly 2017-01-05 10:05:32 +01:00
Yoshi Huang
2ceecc22f5 Bug 1324115 - Part 2: replace the callers to use C++ helper. r=smaug 2016-12-21 14:59:21 +08:00
Boris Zbarsky
884fc2ea5c Bug 1316616 part 1. Replace some redundant code in GetCurrentThreadWorkerPrivate() with a call to a function that we already have. r=bkelly 2016-11-18 16:13:06 -05:00
Cervantes Yu
f0f2a09c5a Bug 1278443 - Part 2: Continue to run the worker even if BackgroundChild fails to create. r=mrbkap
MozReview-Commit-ID: LBBN4hfXigf

--HG--
extra : rebase_source : f35e75eebf051ec5eb6948bbeb7742a573168602
2016-10-05 16:57:31 +08:00
Valentin Gosu
08a83ff913 Bug 1307491 - (Part 2) Remove support for per-app-offline in dom/ [nukeb2g] r=baku
MozReview-Commit-ID: DV58awPq98

--HG--
extra : rebase_source : 5372e7095fc5cefe2ccacfca4a3e23be76ff24fd
2016-10-17 03:58:54 +02:00
Boris Zbarsky
0b7535dfdc Bug 1269052 part 3. Implement isSecureContext for worker scopes. r=bkelly 2016-10-10 15:09:00 -04:00
Andrea Marchesini
ba090ed697 Bug 1304489 - part 2 - Better naming for suspend/resume: parentWindowPaused/parentWindowResumed, r=ejpbruel 2016-10-04 12:14:07 +02:00
Arthur Edelstein
dfebfaa34a Bug 1268726 - isolate shared worker by first party domain. r=baku
Tor 15564: Isolate SharedWorker by first party domain
uplift/refactor by Dave Huseby <dhuseby@mozilla.com>

review tweaks
2016-09-19 21:13:00 -04:00
Bill McCloskey
a51047b439 Bug 1279086 - Allow multiple interrupt callbacks (r=dvander) 2016-09-16 20:33:49 -07:00
Jan de Mooij
919372cf5c Bug 1302448 part 3 - Rename WorkerJSRuntime to WorkerJSContext. r=baku
--HG--
extra : rebase_source : a1df9ae95f0c80f67ce21bc494bb92a20cbc5784
2016-09-14 15:48:42 +02:00
Jan de Mooij
a53986bf29 Bug 1302448 part 1 - Rename CycleCollectedJSRuntime to CycleCollectedJSContext. r=mccr8
--HG--
rename : xpcom/base/CycleCollectedJSRuntime.cpp => xpcom/base/CycleCollectedJSContext.cpp
rename : xpcom/base/CycleCollectedJSRuntime.h => xpcom/base/CycleCollectedJSContext.h
extra : rebase_source : 075214b5057f151520926715b6154e99ae80a0b3
2016-09-14 15:47:32 +02:00
Ben Kelly
8df5d9263a Bug 1301519 Don't crash if GetCurrentThreadWorkerPrivate() is called during worker shutdown. r=baku 2016-09-12 06:09:32 -07:00
Olli Pettay
8744d0ccf8 Bug 1298661, let meta-stable state runnables run during sync loops, r=baku 2016-09-05 18:54:04 +03:00
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Luke Wagner
cc5c2c3ffc Bug 1283924 - Implement AsyncTask hooks for worker thread JSContexts (r=bkelly)
MozReview-Commit-ID: CU4tiYaREik

--HG--
extra : rebase_source : 35a1017de6844af78ec124ef84f355727f19cd80
2016-08-19 14:00:53 -05:00
Wes Kocher
b38dbd1378 Backed out 2 changesets (bug 1279086) for causing painting issues a=backout
Backed out changeset b1c893387fdd (bug 1279086)
Backed out changeset 277c54118c8a (bug 1279086)
2016-08-22 16:00:34 -07:00
Andrea Marchesini
13c30aacfd Bug 1286895 - Fix a talos regression, r=me 2016-08-22 12:13:15 +02:00
Andrea Marchesini
3f20309ae8 Bug 1286895 - Reintroduce a limit on number of dedicated JS web workers in Firefox, r=bkelly 2016-08-19 08:38:58 +02:00
Sebastian Hengst
3be5f0ac43 Backed out changeset f4c8b3de527e (bug 1286895) for crashing in test_bug1241485.html. r=backout 2016-08-21 11:31:35 +02:00
Andrea Marchesini
70fd734aff Bug 1286895 - Reintroduce a limit on number of dedicated JS web workers in Firefox, r=bkelly 2016-08-19 08:38:58 +02:00
Luke Wagner
44699344bb Backed out changeset b6cf6d7a95f9
MozReview-Commit-ID: JtuQh7USSWX

--HG--
extra : rebase_source : 19e2f58ab5d26e36b24d0d5a80e1805f013f67d5
2016-08-19 17:09:56 -05:00
Bill McCloskey
1613c2cbc9 Bug 1279086 - Allow multiple interrupt callbacks (r=dvander) 2016-08-19 14:40:52 -07:00
Luke Wagner
9003b8a8b4 Bug 1283924 - Implement AsyncTask hooks for worker thread JSContexts (r=bkelly)
MozReview-Commit-ID: F31bzEH5rPR

--HG--
extra : rebase_source : ef27bc3fdc7aae1a5882672a50e0be802dffdf4e
2016-08-19 14:00:53 -05:00
Wes Kocher
3a31be9c17 Backed out 2 changesets (bug 1279086) for failures in browser_menu_item_01.js a=backout
Backed out changeset 00bb53b58e96 (bug 1279086)
Backed out changeset cff59fe2b933 (bug 1279086)
2016-08-19 12:31:55 -07:00
Bill McCloskey
95c5d71549 Bug 1279086 - Allow multiple interrupt callbacks (r=dvander) 2016-08-19 09:59:39 -07:00