Commit graph

700 commits

Author SHA1 Message Date
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
Jeff Walden
c07ca36127 Bug 1174386 - Fix a rebase-induced pointer-to-bool conversion error. r=bustage in a CLOSED TREE 2016-08-16 09:08:00 -07:00
Arthur Edelstein
215601494b Bug 1174386 - Make workers inherit the default Intl locale from the main thread, rather than using a bogus fallback value. r=jwalden, r=baku
--HG--
extra : rebase_source : 09f66db9914cdf865388669082f3efaca37ce558
2016-08-08 13:33:39 -07:00
Jan de Mooij
0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02:00
Jeff Walden
5a875fc573 Backed out changeset c3f06ba15fda -- worker setup isn't happening quite as early as it was assumed to occur, so we have impermissible cross-thread happenings occurring sometimes. r=three-to-five-oranges-per-push-per-philor 2016-08-08 19:43:15 -07:00
Arthur Edelstein
099e7246db Bug 1174386 - Make workers inherit the default Intl locale from the main thread, rather than using a bogus fallback value. r=jwalden 2016-08-08 13:33:39 -07:00
Alexandre Lissy
0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02:00
Jan de Mooij
c7e88a5ad8 Bug 1286795 part 6 - Replace JS_NewRuntime/JS_DestroyRuntime with JS_NewContext/JS_DestroyContext. r=luke,bz 2016-07-23 19:54:19 +02:00
Jan de Mooij
b68d3ea4c4 Bug 1285134 part 1 - Move the runtime private to the context. r=efaust 2016-07-18 14:36:13 +02:00
Andrea Marchesini
f14639d187 Bug 1279498 - Force WorkerPrivate->SetThread(nullptr) using a RAII, r=khuey 2016-07-18 11:46:36 +02:00
Jan de Mooij
a53a99aab6 Bug 1284808 - Rename RuntimeOptions to ContextOptions and move it to the context. r=luke,baku
--HG--
extra : rebase_source : acd82642a27b36b98bf1bf34c29d33c7e0b57dea
2016-07-07 08:15:15 +02:00
Jan de Mooij
96da4695c8 Bug 1283855 part 25 - Make JS_GC take JSContext instead of JSRuntime. r=terrence 2016-07-06 11:40:20 +02:00
Jan de Mooij
28662f4214 Bug 1283855 part 23 - Make more callback setters take JSContext instead of JSRuntime. r=evilpie 2016-07-06 11:40:20 +02:00
Jan de Mooij
c1ed92b71b Bug 1283855 part 3 - Make some callback setters take JSContext instead of JSRuntime. r=efaust 2016-07-06 11:40:20 +02:00
Jan de Mooij
e4ae5f26da Bug 1283855 part 20 - Make more principals code take JSContext instead of JSRuntime. r=luke
--HG--
extra : rebase_source : ad5f2f5b5bef9d20e4e248898a3c754adb306683
2016-07-05 16:49:46 +02:00
Jan de Mooij
078a91ca56 Bug 1283855 part 19 - Make security callbacks take JSContext instead of JSRuntime. r=jorendorff
--HG--
extra : rebase_source : c106826540912b00550b2d6162dcae6e1fb616d4
2016-07-05 16:49:44 +02:00
Nathan Froyd
2c2b9296bc Bug 1283616 - part 2 - micro-optimize inserting microtask runnables into the queue; r=khuey
We can save an AddRef/Release pair by passing in the reference to the queue.
2016-07-05 18:49:06 -04:00
Jan de Mooij
fb15cb143c Bug 1283855 part 14 - Make more callback setters take JSContext instead of JSRuntime. r=shu 2016-07-05 14:35:26 +02:00
Jan de Mooij
3e6263744c Bug 1283855 part 13 - Make JS_SetNativeStackQuota take JSContext instead of JSRuntime. r=fitzgen 2016-07-05 14:35:23 +02:00
Jan de Mooij
c8334f438a Bug 1283855 part 12 - Make some GC APIs take JSContext instead of JSRuntime. r=sfink 2016-07-05 14:35:21 +02:00
Jan de Mooij
b6c8bdd67a Bug 1283855 part 9 - Make asm.js/buildId op setters take JSContext instead of JSRuntime. r=bbouvier 2016-07-05 11:06:06 +02:00
Jan de Mooij
3ffa1fd00d Bug 1283855 part 7 - Make JS_SetGCZeal take JSContext instead of JSRuntime. r=sfink 2016-07-05 11:06:05 +02:00
Jan de Mooij
7c1a1cec44 Bug 1283855 part 2 - Make some callback setters take JSContext instead of JSRuntime. r=luke 2016-07-05 11:06:05 +02:00
Kyle Huey
902d2d23ef Bug 1283327: Factor out SynchronouslyCreatePBackground. r=billm 2016-06-30 13:54:06 -07:00
Jan de Mooij
fb0436ba41 Bug 1279295 - Create the runtime's JSContext when we create the runtime. r=luke 2016-06-22 09:47:52 +02:00
Andrea Marchesini
da33656040 Bug 1280241 - Remove the limit of number of workers per domain, r=khuey 2016-06-17 11:25:21 +01:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Boris Zbarsky
f86c21cecc Bug 1276317 part 1. Change JS_SetGCZeal to take a JSRuntime, not a JSContext. r=jandem 2016-06-02 10:34:38 -04:00
Boris Zbarsky
519200a808 Bug 1276400 part 2. Stop setting the dontReportUncaught option on the worker JSContext, since workers should be using AutoJSAPI/AutoEntryScript for everything. r=bkelly 2016-05-31 22:01:30 -04:00
Andrea Marchesini
0fdab8e9ee Bug 1268230 - RunTime.cpp and ScriptLoader do not have to use MainThreadStopSyncLoopRunnable, r=khuey 2016-05-03 10:21:57 +02:00
Kyle Huey
c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Nicholas Nethercote
d84e6264da Bug 1265035 - Make ~WorkerJSRuntime() handle Initialize() failure better. r=khuey.
--HG--
extra : rebase_source : 4b2cb2ef8192f314a28556826044f010a52b90b4
2016-04-19 14:04:32 +10:00
John Dai
970541e62b Bug 1037725 - Add warning message in the console when worker spawn over limit. r=khuey 2016-04-12 01:41:00 +02:00
Emanuel Hoogeveen
1efa5deaf7 Bug 1260475 - Add an option to disable GC slices triggered by painting. r=terrence a=kwierso
MozReview-Commit-ID: B81ZHm0EgZB
2016-03-31 14:26:30 -07:00
Kyle Huey
d9265a3eaf Bug 1259294: Part 2 - Use MOZ_ALWAYS_SUCCEEDS. r=froydnj 2016-03-28 10:28:15 -07:00
Kyle Huey
b55b8c715b Bug 1259290: Part 3 - Remove JS_ReportError and cx handling from RegisterWorker and friends. r=bz,jandem 2016-03-28 10:28:14 -07:00
Kyle Huey
47f6f925e1 Bug 1259290: Part 2 - Remove the cx from [Add|Remove]ChildWorker. r=bz 2016-03-28 10:28:14 -07:00
Eddy Bruel
3e2cb55980 Bug 1229769 - We should be able to use DOM promises in the worker debugger;r=khuey 2016-03-24 16:12:00 +01:00
Andrea Marchesini
df932690be Bug 1246091 - patch 5/7 - Remove data when memory pressure notification is received, r=ejpbruel 2016-03-23 22:55:07 +01:00
Tooru Fujisawa
e2a8d2a6b4 Bug 1153978 - Part 1: Separate buildIdOp from AsmJSCacheOps. r=jandem,bz 2016-01-01 14:19:20 +09:00
Luke Wagner
6d089acee2 Bug 1008453. Add support for navigator.hardwareConcurrency. r=khuey 2016-03-16 15:41:38 -04:00
Carsten "Tomcat" Book
d115280c5f Backed out changeset a7040abce944 (bug 1008453) for w-p-t test failures on a CLOSED TREE 2016-03-18 08:21:42 +01:00
Boris Zbarsky
60d3ad7ce0 Bug 1257568. Remove the JSContext argument of WorkerPrivate::Kill. r=khuey 2016-03-17 23:23:55 -04:00
Luke Wagner
83bbb15353 Bug 1008453. Add support for navigator.hardwareConcurrency. r=khuey 2016-03-16 15:41:38 -04:00
Kyle Huey
d11b9db617 Bug 1257032: Make files in dom/workers actually build without unification. r=baku 2016-03-16 11:51:11 -07:00
Benjamin Bouvier
70202e15a1 Bug 1251308; r=luke
MozReview-Commit-ID: AqsMX4m7Qh9

--HG--
extra : rebase_source : 519aef2cf8c0bb39771d4589069e8fd1a06970c3
2016-03-09 11:20:11 +01:00
Luke Wagner
b5a255ff58 Bug 1252498 - Baldr: add Wasm object behind pref, default off (r=jorendorff)
MozReview-Commit-ID: BlhrURAX26H

--HG--
extra : rebase_source : e1b540f06c2f3976f91242ac7b0b8ede29fbc5f2
2016-03-03 10:20:21 -06:00
Boris Zbarsky
4f623415e0 Bug 1252565 part 2. Make dom::WarningOnlyErrorReporter handle workers. r=bholley 2016-03-01 16:53:22 -05:00
Wes Kocher
cba1a7bd55 Backed out 2 changesets (bug 1252565) for windows build bustage CLOSED TREE
Backed out changeset 9de2c10a1cc3 (bug 1252565)
Backed out changeset fc5c4cb02d24 (bug 1252565)

MozReview-Commit-ID: GCQedQwqslg

--HG--
extra : amend_source : 5fb6bd99e2ac56c01c06e1004262dfeb2ea56410
2016-03-02 10:44:11 -08:00
Boris Zbarsky
3bad87c74a Bug 1252565 part 2. Make dom::WarningOnlyErrorReporter handle workers. r=bholley 2016-03-01 16:53:22 -05:00
Boris Zbarsky
c0ea0c742b Bug 1072144 part 2. When UnregisterWorker tries to ScheduleWorker and that throws, just suppress the exception: there is no good place to report it anyway. r=khuey 2016-03-01 16:52:26 -05:00
Wes Kocher
af73c13ee2 Backed out 6 changesets (bug 1072144) for test_recursion.html failures
Backed out changeset ac15fe0e71fd (bug 1072144)
Backed out changeset b666d48a267d (bug 1072144)
Backed out changeset 0f0464ef08ed (bug 1072144)
Backed out changeset 7ba5f3b95022 (bug 1072144)
Backed out changeset 1912f838fcaa (bug 1072144)
Backed out changeset 145c9bb59b97 (bug 1072144)

MozReview-Commit-ID: 7cl4RtpHSfl
2016-03-01 15:41:24 -08:00
Wes Kocher
01574acd0a Backed out changeset 96580db9b356 (bug 1252565) for test_recursion.html failures
MozReview-Commit-ID: 1ycmM8vfG3d
2016-03-01 15:40:46 -08:00
Boris Zbarsky
68dc8de0a0 Bug 1252565. Make dom::WarningOnlyErrorReporter handle workers. r=bholley 2016-03-01 16:53:22 -05:00
Boris Zbarsky
f83c2eb672 Bug 1072144 part 2. When UnregisterWorker tries to ScheduleWorker and that throws, just suppress the exception: there is no good place to report it anyway. r=khuey 2016-03-01 16:52:26 -05:00
Andrea Marchesini
9e960ae549 Bug 1250572 - Force a parent object in MessagePort/Channel and in StructuredCloneHolder, r=smaug 2016-03-01 15:21:11 +01:00
Boris Zbarsky
7413f2bf46 Bug 1251369. Use an AutoJSAPI that reports its own exceptions around the main runloop in workers. r=khuey
The silly leading ": " on the error messages is due to bug 1251518.
2016-02-26 15:23:13 -05:00
Boris Zbarsky
87574e4920 Bug 1251311. JS::DescribeScriptedCaller can't throw JS exceptions. Adjust some callers accordingly. r=khuey 2016-02-26 15:23:13 -05:00
Boris Zbarsky
94e6475a9c Bug 1251045 part 7. Remove the JSContext argument from some worker methods that no longer need it. r=khuey 2016-02-26 15:23:12 -05:00
Boris Zbarsky
886e3a27d5 Bug 1251045 part 5. Remove the JSContext argument from WorkerPrivateParent::Freeze/Thaw. r=khuey 2016-02-26 15:23:12 -05:00
Boris Zbarsky
7345c5edb1 Bug 1251045 part 4. Remove the JSContext argument of WorkerRunnable::Dispatch. r=khuey 2016-02-26 15:23:12 -05:00
Boris Zbarsky
878fd26e89 Bug 1251045 part 3. Remove the JSContext argument of WorkerRunnable::PostDispatch and its overrides. r=khuey 2016-02-26 15:23:12 -05:00
Eddy Bruel
350b7f0b05 Bug 1241841 - Clear the worker's debugger event queue before destroying its context;r=khuey 2016-02-26 17:32:28 +01:00
Boris Zbarsky
cc6606ed0d Bug 1250975. Stop passing a JSContext argument to WorkerRunnable::PreDispatch and its overrides. r=khuey 2016-02-25 16:05:39 -05:00
Boris Zbarsky
239833a69f Bug 1250963 part 1. Change NotifyRunnable::Dispatch to not require a JSContext. r=khuey
The only reason NotifyRunnable::Dispatch needs a JSContext is so that it can call
ModifyBusyCount in Pre/PostDispatch.  The only reason that needs a JSContext is
to call Cancel(), which only needs it to call Notify(), which only needs it to
call NotifyPrivate, which only needs it to dispatch a NotifyRunnable.
2016-02-25 16:05:39 -05:00
Wes Kocher
56ccaea947 Backed out 2 changesets (bug 1250963) for build bustage CLOSED TREE
Backed out changeset 257324c2ae17 (bug 1250963)
Backed out changeset 0e868ee89abc (bug 1250963)

--HG--
extra : commitid : HglxXI0Tb1b
2016-02-25 13:41:42 -08:00
Wes Kocher
d66f0ad3fc Backed out changeset bb404647f14c (bug 1250975) for build bustage CLOSED TREE
--HG--
extra : commitid : KyFNIQ1ugVq
2016-02-25 13:41:09 -08:00
Boris Zbarsky
683b099eb9 Bug 1250975. Stop passing a JSContext argument to WorkerRunnable::PreDispatch and its overrides. r=khuey 2016-02-25 16:05:39 -05:00
Boris Zbarsky
51c7f27d3a Bug 1250963 part 1. Change NotifyRunnable::Dispatch to not require a JSContext. r=khuey
The only reason NotifyRunnable::Dispatch needs a JSContext is so that it can call
ModifyBusyCount in Pre/PostDispatch.  The only reason that needs a JSContext is
to call Cancel(), which only needs it to call Notify(), which only needs it to
call NotifyPrivate, which only needs it to dispatch a NotifyRunnable.
2016-02-25 16:05:39 -05:00
Joel Maher
f907e8c107 Bug 1250630 - remove PBackgroundTest and ifdef ENABLE_TEST blocks. r=khuey
MozReview-Commit-ID: 8LKHyjKWrkd
2016-02-23 11:55:50 -08:00
Daniel Holbert
a192831f74 backout c42ff6847631 (bug 1250572) for causing aborts during startup 2016-02-24 11:54:35 -08:00
Andrea Marchesini
53c0f726fe Bug 1250572 - Force a parent object in MessagePort/Channel and in StructuredCloneHolder, r=smaug 2016-02-24 20:04:37 +01:00
Boris Zbarsky
3dba4c9b72 Bug 1248719. Fix things so that taking ownership of error reporting on an AutoJSAPI on a worker is OK even if that AutoJSAPI was initialized without an explicit global. r=bholley 2016-02-17 22:56:36 -05:00
Kyle Huey
31dabb4558 Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
Andrea Marchesini
4bf350a0ba Bug 1247122 - Propagate the NS_ERROR_OUT_OF_MEMORY from CycleCollectedJSRuntime CTOR, r=khuey 2016-02-14 13:30:25 +00:00
Eddy Bruel
001f5b604e Bug 1212333 - WorkerDebuggerManager should live on the main thread;r=khuey 2016-02-10 10:45:02 +01:00
Carsten "Tomcat" Book
940ea6bf9d Backed out changeset a6bc2efcdf26 (bug 1212333) for bustage 2016-02-05 16:09:28 +01:00
Eddy Bruel
d24491b6d8 Bug 1212333 - WorkerDebuggerManager should live on the main thread;r=khuey 2016-02-04 22:04:25 +01:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Luke Wagner
72ea23c63e Bug 1239601 - improve the UniquePtr situation (r=jandem)
--HG--
extra : commitid : JegWAoGsuQ9
extra : rebase_source : 995c1b6ab8e4fd3b83c44741cd84a2d7b0d934d7
2016-01-15 18:26:20 -06:00
Lars T Hansen
68ea3c1b16 Bug 1231333 - part 2, DOM: only allow futexWait in workers. r=khuey
--HG--
extra : rebase_source : d5019bc4ec839427bc9d86f58542f107adc97988
2015-12-23 13:44:00 +01:00
Jeff Walden
5be7be38a1 Bug 1235615 - Split JS::CompartmentOptions into JS::CompartmentCreationOptions that are immutable characteristics of a compartment, and JS::CompartmentBehaviors that may be changed after the compartment's been created. r=terrence
--HG--
extra : rebase_source : f08c380ae247d3308d4c36788ac765de1b75af50
2015-12-28 16:15:52 -06:00
Nicholas Nethercote
d31ac5d1e9 No bug. Remove a stray debugging printf of mine. r=me.
DONTBUILD because trivial.

--HG--
extra : rebase_source : 3542e20aaea1d1b6388056d7b781416399df1a8c
2015-11-09 17:25:33 -08:00
Nicholas Nethercote
e847fcd5ec Bug 1186810 (part 8) - Replace nsBaseHashtable::Enumerate() calls in dom/workers/ with iterators. r=khuey.
--HG--
extra : rebase_source : 622ce00f8ecfca3c1b6710bf77a0639a47c7bb3a
2015-10-26 17:09:44 -07:00
Nicholas Nethercote
ce3c57710f Bug 1186810 (part 7) - Replace nsBaseHashtable::EnumerateRead() calls in dom/workers/ with iterators. r=khuey.
--HG--
extra : rebase_source : c114f64e23fd08830e53ddec54503f9bb40bc328
2015-10-26 16:41:55 -07:00
Nicholas Nethercote
6efee4944c Bug 1186810 (part 6) - Replace nsBaseHashtable::EnumerateRead() calls in dom/workers/ with iterators. r=khuey.
--HG--
extra : rebase_source : 37b230d344a69ee997f77581ffe4c7f62dabaea9
2015-10-26 16:07:45 -07:00
Ehsan Akhgari
c43ad45f05 Bug 1218119 - Simplify defining worker prefs; r=baku 2015-10-26 14:06:28 -04:00
Olli Pettay
a062f00aab Bug 1218190 - Add a pref to enable Clients.openWindow, r=catalinb 2015-10-25 22:36:27 +02:00
Ehsan Akhgari
383397be38 Bug 1216697 - Unship Request.cache until the implementation is finished; r=bzbarsky 2015-10-23 15:38:47 -04:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Morris Tseng
d1d37e3f9b Bug 709490 - Part 10: Using mechanism in RuntimeService to get pref in worker thread instead of gfxPref. r=baku
--HG--
extra : rebase_source : 55ae1e1fc1f88bffd43800eefaed4506789e608c
2015-10-12 11:21:04 +08:00
Eddy Bruel
41c0e5355c Bug 1178721 - Implement SuspendWorkersForWindow;r=khuey 2015-10-07 12:20:59 +02:00
Wes Kocher
c1750b75c7 Backed out 11 changesets (bug 709490) for webgl-color-test.html failures a=backout
Backed out changeset fc04c5d43550 (bug 709490)
Backed out changeset cd8f9410d335 (bug 709490)
Backed out changeset 6e687c9143c1 (bug 709490)
Backed out changeset 9b20f2c833c4 (bug 709490)
Backed out changeset f9d130aea88e (bug 709490)
Backed out changeset fc513b410949 (bug 709490)
Backed out changeset acf6220b431a (bug 709490)
Backed out changeset 9bceaf913791 (bug 709490)
Backed out changeset 37fba20111e2 (bug 709490)
Backed out changeset 2285ce1596b8 (bug 709490)
Backed out changeset fb4e09920569 (bug 709490)
2015-10-05 08:28:25 -07:00
Morris Tseng
f5a52e7dea Bug 709490 - Part 10: Using mechanism in RuntimeService to get pref in worker thread instead of gfxPref. r=baku
--HG--
extra : rebase_source : 07b470b9a8865b7d833932c5425e796b852ab466
2015-10-05 10:50:17 +08:00
Catalin Badea
294f7838e4 Bug 1188545 - Cosmetic changes regarding workerPrivate properties shared between shared workers and service workers. r=nsm 2015-09-30 19:11:03 -04:00
Catalin Badea
76c7d43fd9 Bug 1188545 - Disentangle service workers from shared workers and refactor event dispatching code into a separate class. r=nsm,mrbkap 2015-09-30 19:11:03 -04:00
Wes Kocher
6fbdec2422 Backed out 12 changesets (bug 1188545) for test_fetch_cors failures CLOSED TREE
Backed out changeset e04738ee72a3 (bug 1188545)
Backed out changeset 1989893b59de (bug 1188545)
Backed out changeset 11ff29cc25d8 (bug 1188545)
Backed out changeset 4b6bdf859845 (bug 1188545)
Backed out changeset 76eb7ffeca2a (bug 1188545)
Backed out changeset 4473e036b52e (bug 1188545)
Backed out changeset 2a28cb794b23 (bug 1188545)
Backed out changeset 1fa2f55727f3 (bug 1188545)
Backed out changeset 032f4c24fc34 (bug 1188545)
Backed out changeset 4be675dc1b37 (bug 1188545)
Backed out changeset d5d05def5b17 (bug 1188545)
Backed out changeset e94f12b0bcf3 (bug 1188545)
2015-09-30 11:11:47 -07:00
Catalin Badea
dbf90d6367 Bug 1188545 - Cosmetic changes regarding workerPrivate properties shared between shared workers and service workers. r=nsm 2015-09-30 10:14:33 -04:00
Catalin Badea
c537f8c503 Bug 1188545 - Disentangle service workers from shared workers and refactor event dispatching code into a separate class. r=nsm,mrbkap 2015-09-30 10:14:33 -04:00
Wes Kocher
8631de9c2b Backed out 13 changesets (bug 709490) for android webgl-color-test.html failures
Backed out changeset 5be7514914b6 (bug 709490)
Backed out changeset 04b6f94fbe8a (bug 709490)
Backed out changeset 00c0e85dd8cd (bug 709490)
Backed out changeset 221385b7b81a (bug 709490)
Backed out changeset ecc38c18734f (bug 709490)
Backed out changeset 22878c936384 (bug 709490)
Backed out changeset 0edcbb60eee3 (bug 709490)
Backed out changeset 5feceec2014b (bug 709490)
Backed out changeset 835b655cb873 (bug 709490)
Backed out changeset 6fbb4a3f8cf7 (bug 709490)
Backed out changeset a5f8646fa156 (bug 709490)
Backed out changeset 2ae1386916b3 (bug 709490)
Backed out changeset 6b29a2a0a8fb (bug 709490)
2015-09-29 08:57:36 -07:00
Benjamin Bouvier
26ee0d3f6b Bug 1206520: Add about:config prefs to enable throwing on asm.js validation failures; r=bz
--HG--
extra : commitid : 1mieasAF71F
extra : rebase_source : b7b9d3aae9158b12b75cf9f29203925265b0510f
extra : amend_source : 2c625d7ffa6c9b6f7ac48dcfc347c0119b459579
extra : histedit_source : 05e9b9b9cabf675bd4c742c8fe1d3b02735819c2
2015-09-28 12:40:03 +02:00
Morris Tseng
d99c93a009 Bug 709490 - Part 10: Using mechanism in RuntimeService to get pref in worker thread instead of gfxPref, r=baku 2015-09-29 11:51:25 +01:00
Andrea Marchesini
abdc1eebce Bug 1193414 - SharedWorkers thread should be kept alive also when the SharedWorker object is CCed, r=khuey 2015-09-23 06:54:29 +01:00
Mike Hommey
538706caba Bug 1203840 - Trigger dirty pages purge after CC. r=njn,r=smaug,r=mccr8
Jemalloc 4 purges dirty pages regularly during free() when the ratio of dirty
pages compared to active pages is higher than 1 << lg_dirty_mult.  We set
lg_dirty_mult in jemalloc_config to limit RSS usage, but it also has an impact
on performance.

So instead of enforcing a high ratio to force more pages being purged, we keep
jemalloc's default ratio of 8, and force a regular purge of all dirty pages,
after cycle collection.

Keeping jemalloc's default ratio avoids cycle-collection-triggered purge to
have to go through really all dirty pages when there are a lot, in which case
the normal jemalloc purge during free() will already have kicked in. It also
takes care of everything that doesn't run the cycle collector still having
a level of purge, like plugins in the plugin-container.

At the same time, since jemalloc_purge_freed_pages does nothing with jemalloc 4,
repurpose the MEMORY_FREE_PURGED_PAGES_MS telemetry probe to track the time
spent in this cycle-collector-triggered purge.
2015-09-20 17:43:43 +09:00
Nikhil Marathe
6d235278db Bug 1203324 - disable notifications on serviceworkers. r=ehsan,wchen
Per the product discussion, the Notification API should be disabled in
ServiceWorker in release builds for 42 since the UX isn't great [1].

The aim is to release in 44.

Apologies for the code duplication for pref checking in Notification and
ServiceWorkerRegistration. There isn't a easy way to get
ServiceWorkerRegistration's generated binding to include Notification.h without
having an attribute/method that uses Notification.

[1]: https://mana.mozilla.org/wiki/x/TgAJAw

--HG--
extra : commitid : 5dtc2E63kuM
extra : rebase_source : 4265dcd154462aa4f3b915e9e898fe7b82bf9afc
2015-09-15 12:58:32 -07:00
Andrea Marchesini
f0aa7a8c5f Bug 1204775 - SharedWorker.port should be a 'real' MessagePort, r=khuey 2015-09-16 11:27:56 +08:00
Wes Kocher
ab3e843b68 Backed out changeset ccfddcbccdac (bug 1204775) for sharedworker bustage 2015-09-15 11:08:09 -07:00
Andrea Marchesini
ff25288854 Bug 1204775 - SharedWorker.port should be a 'real' MessagePort, r=khuey 2015-09-16 00:47:19 +08:00
Andrea Marchesini
a2c5d2836e Bug 1193414 - Telemetry for SharedWorker spawning. r=bkelly 2015-08-12 06:00:00 -04:00
Kyle Huey
76e3009ab8 Bug 1179909: Refactor stable state handling. r=smaug
This is motivated by three separate but related problems:

1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).

2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).

3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.

The solve this, this patch does the following:

1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Ehsan Akhgari
aeacbc159a Bug 1188062 - Unship Request.context; r=baku 2015-07-30 08:14:00 -04:00
Ehsan Akhgari
547404788d Bug 1188091 - Fix the exposure of Push interfaces; r=dougt,bzbarsky,nsm
Currently we don't check the dom.push.enabled pref in some cases for
some of these interfaces.  This patch unifies how all of these
interfaces are exposed to Window, Worker, and ServiceWorker.
2015-07-30 01:06:38 -04:00
Francisco Jordano
4008b170ad Bug 1186880 - Performance timing api in workers should output entries if preference is enabled. r=baku 2015-07-28 17:33:37 +01:00
Ryan VanderMeulen
96b36b5855 Backed out changeset c88d1138bc38 (bug 1188091) for Mulet test_serviceworker_interfaces.html failures.
CLOSED TREE
2015-07-28 13:28:39 -04:00
Ehsan Akhgari
6e916540f5 Bug 1188091 - Fix the exposure of Push interfaces; r=dougt,bzbarsky
Currently we don't check the dom.push.enabled pref in some cases for
some of these interfaces.  This patch unifies how all of these
interfaces are exposed to Window, Worker, and ServiceWorker.
2015-07-28 12:28:53 -04:00
Randell Jesup
c87c478f4f Bug 1155059: Patch 1&2 - Convert Dispatch() and friends to already_AddRefed<> r=froydnj
Modify Dispatch IDL and code to deal with MSVC issues with overloaded templates r=froydnj
2015-07-09 23:21:46 -04:00
Dragana Damjanovic
7987d2203e Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Ben Kelly
d0a67ebc82 Bug 1167808 P1 Add dom.serviceWorkers.interception.opaque.enabled pref. r=ehsan 2015-07-02 20:09:20 -07:00
Ehsan Akhgari
1d4e1f5b2f Bug 1179489 - Don't count service workers towards an origin's max worker quota; r=nsm
This is a follow-up to bug 1178339.
2015-07-02 18:48:48 -04:00
Wes Kocher
e9a82d0d8e Backed out 4 changesets (bug 1167808) for mulet mochitest-4 permafail in test_fetch_cors_sw_reroute.html
Backed out changeset 1c9c72d93973 (bug 1167808)
Backed out changeset 9c94c759a0fb (bug 1167808)
Backed out changeset e8ac89eafb1d (bug 1167808)
Backed out changeset 48abf470ef5b (bug 1167808)
2015-07-02 15:30:29 -07:00
Ben Kelly
ca953711c7 Bug 1167808 P1 Add dom.serviceWorkers.interception.opaque.enabled pref. r=ehsan 2015-07-02 14:34:00 -07:00
Ehsan Akhgari
92139cbfb2 Bug 1178339 - Account for service workers separately in WorkerDomainInfo; r=nsm 2015-07-01 20:37:40 -04:00
Wes Kocher
a1c9065f46 Backed out changeset c0cfb1a32d09 (bug 1178339) for being the likely causes of a spike in serviceworker intermittent failures 2015-07-01 17:18:17 -07:00
Ehsan Akhgari
80bb6f7d91 Bug 1178339 - Account for service workers separately in WorkerDomainInfo; r=nsm 2015-07-01 16:12:43 -04:00
Ehsan Akhgari
a7e0f3e102 Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 18:52:42 -04:00
Ryan VanderMeulen
c4367148d1 Backed out changeset 07bf31cca660 (bug 1148935) for Werror bustage.
CLOSED TREE
2015-06-30 15:53:43 -04:00
Ehsan Akhgari
d560d3dcf3 Bug 1148935 - Correctly reflect worker and sharedworker RequestContext values; r=smaug 2015-06-30 15:30:08 -04:00
Birunthan Mohanathas
670cde3e29 Bug 1174803 - Simplify RuntimeService::WorkerPrefChanged. r=bent 2015-06-30 11:16:03 -07:00
Ben Kelly
5940533c35 Bug 1175138 P2 Expose dom.serviceWorkers.testing.enabled to workers. r=ehsan 2015-06-27 23:19:24 -04:00
Ben Kelly
74e7e7f196 Bug 1175138 P1 Make the dom.caches.testing.enabled pref available in workers. r=ehsan 2015-06-27 23:19:23 -04:00
Nikhil Marathe
091eef6ff6 Bug 916893 - Patch 1 - Notification on workers. r=khuey,wchen
Does not implement the Service Worker API - https://notifications.spec.whatwg.org/#service-worker-api
***
Folded:
Bug 916893 - Better ownership model. r=khuey
Fix for bug found by ASan where we were touching the NotificationFeature after releasing it.

--HG--
extra : transplant_source : %3C%09F%99%CASF%1A%25%89X%D9%8C%0B%FAu%9D%27%E8w
2015-06-25 18:53:02 -07:00
Andrea Marchesini
43fb37cc29 Bug 1177621 - SharedWorkers should not be shared between a private and a non-private documents, r=nsm 2015-06-26 11:18:18 -07:00
Ryan VanderMeulen
84d140a54b Backed out 11 changesets (bug 916893, bug 1114554) for various mochitest and Gij failures.
Backed out changeset 247ca4bf258e (bug 1114554)
Backed out changeset 5578d5c280a6 (bug 1114554)
Backed out changeset 404830c1ecf7 (bug 1114554)
Backed out changeset 15bdf9c78e6e (bug 1114554)
Backed out changeset f92abe5ec784 (bug 1114554)
Backed out changeset 75324b6862a8 (bug 1114554)
Backed out changeset ce8a768782f2 (bug 1114554)
Backed out changeset 0d860fd12534 (bug 1114554)
Backed out changeset 7dc2448065a9 (bug 916893)
Backed out changeset c3b07f0d1a60 (bug 916893)
Backed out changeset 61c3f24cc908 (bug 916893)

CLOSED TREE
2015-06-25 19:52:40 -04:00
Nikhil Marathe
6ecdd193cc Bug 916893 - Patch 1 - Notification on workers. r=khuey,wchen
Does not implement the Service Worker API - https://notifications.spec.whatwg.org/#service-worker-api
***
Folded:
Bug 916893 - Better ownership model. r=khuey
Fix for bug found by ASan where we were touching the NotificationFeature after releasing it.

--HG--
extra : rebase_source : 7522a4a51fda41726e7cf26b61fbf535c260fab3
2015-06-25 11:36:53 -07:00
Nikhil Marathe
0db24a2c7c Bug 1173389 - Disable ServiceWorker network interception by default. r=ehsan
--HG--
extra : rebase_source : 6309f011f978f08c4f104123910f7d8d9e56045a
2015-06-12 16:28:13 -07:00
Paolo Amadini
0697364b3d Bug 1158133 - Add a way to disable async stacks, and disable by default on mobile platforms. r=bent,jimb
--HG--
extra : rebase_source : 440284ded7a60d44430cd0a91fd946fa4c76c987
2015-06-09 11:17:09 +02:00
Jose Antonio Olivera Ortega
88a9211951 Bug 1115820 - Add telemetry to ServiceWorkers. r=nsm, r=vladan
--HG--
extra : rebase_source : 69547573525bcea989d24e0a0293f6df9e7f90e1
2015-06-05 08:11:18 +02:00
Eddy Bruël
27446f880e Bug 1166847 - Implement OpaqueCrossCompartmentWrapper;r=evilpies 2015-06-02 16:54:54 +02:00
Catalin Badea
8b1fbc7805 Bug 1130684 - Implement Service Worker clients.claim. r=nsm,ehsan
--HG--
extra : rebase_source : ea1da8f6dfd8d31936c0ae495ec262581c9e5775
2015-05-14 12:41:42 -07:00
Ben Turner
86ad786706 Bug 1162218 - Make worker idle thread timeouts more strict, r=baku.
--HG--
extra : rebase_source : 9a8741c4ad67c782e313bc79a8eb87e4d2749649
2015-05-07 10:35:57 -07:00
Andrew McCreight
9e8f4b219e Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Boris Zbarsky
839141fb74 Bug 1157898 part 3. Fix the remaining consumers of rv.ErrorCode() in NS_ENSURE_* expressions to not do that. r=peterv 2015-04-27 09:18:52 -04:00
Nikhil Marathe
5b54bf699f Bug 1131327 - Patch 2 - Expose to workers. r=baku
This patch exposes ServiceWorkerRegistration (and ServiceWorker to satisfy constraints) to workers.

For now, a null registration is returned in the worker.

--HG--
extra : rebase_source : ae1b59d5ee3b3522826ed59fcfcb31e009018ac3
2015-04-03 22:46:07 -07:00
Ben Turner
94a12266fb Bug 1151646 - Fix static analysis bustage. 2015-04-08 18:49:38 -07:00
Ben Turner
8f3a68440b Bug 1151646 - Cleanup, r=khuey. 2015-04-08 15:21:26 -07:00
Ben Turner
f6cb233b56 Bug 1151646 - Spin the event loop one extra time to clean up all CC'd objects before worker shutdown, r=khuey. 2015-04-08 15:20:59 -07:00
Nikhil Marathe
3b27da6f52 Bug 931249 - Patch 9 - Use ServiceWorker cache name as part of it's unique name. r=khuey
When a SW script is updated (it gets a new cache), if there was already an existing running worker with the same scope and script, that would be reused and the update wouldn't happen.

--HG--
extra : rebase_source : baeb7d62845aee3ce7d1b1622e883528283500dc
2015-03-19 16:40:52 -07:00
Eddy Bruël
e9a640efd2 Bug 1092102 - Rename Suspend/Resume to Freeze/Thaw;r=khuey 2015-04-01 11:00:19 +02:00
Eddy Bruël
b86b9bb514 Bug 1092102 - Implement WorkerDebuggerGlobalScope.createSandbox;r=khuey 2015-03-31 12:22:40 +02:00
Carsten "Tomcat" Book
5245fa5a7b Backed out changeset 71abbf190d53 (bug 1092102) for static analysis build bustage on a CLOSED TREE
--HG--
extra : rebase_source : fb64615c90507f79d27f3ab096e6e0259cb38c3e
2015-03-31 11:14:46 +02:00
Eddy Bruël
0c47b481d2 Bug 1092102 - Implement WorkerDebuggerGlobalScope.createSandbox;r=khuey 2015-03-31 10:19:04 +02:00
Jose Antonio Olivera Ortega
60663a3ab3 Bug 1139513 - Warn and gather data if ServiceWorker hits max workers per domain limit. r=bent, r=rvitillo 2015-03-25 13:17:00 -04:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Eddy Bruël
2d0841a4c7 Bug 1092102 - Implement WorkerDebugger.initialize;r=khuey 2015-03-17 11:15:19 +01:00
Ehsan Akhgari
5d46e8dcd3 Bug 1141274 - Allocate shared workers and service workers from separate namespaces; r=nsm
This patch makes sure that we never reuse a WorkerPrivate belonging
to a shared worker for a service worker and vice versa.
2015-03-10 22:52:22 -04:00
Nikhil Marathe
b4227d7b33 Bug 1053275 - Exempt ServiceWorkers from per domain thread limits. r=sicking
--HG--
extra : rebase_source : 4f48830c13e1ba471147774b7d93f4f2c795543d
2015-03-03 14:30:58 -08:00
Nikhil Marathe
af18a63f82 Bug 1133861 - Enable the Fetch API by default. r=jst
--HG--
extra : rebase_source : 97dc853238ad7ce4cec7277c4732bf3f4ec1b962
2015-02-22 01:52:10 -08:00
Nikhil Marathe
a817a419ab Bug 1131882 - Associate ServiceWorkers with underlying ServiceWorkerInfo. r=baku
This allows controller to track state too, and provides better encapsulation.
1) Move SW setup to SWM. RuntimeService now only creates the underlying SharedWorker.
2) Require a SWInfo to create a SW. The SW holds a refptr to the info.

--HG--
extra : rebase_source : d9de8a66a45f597d1613890691d1facae51eb64e
2015-02-19 08:40:21 -08:00
Tim Taubert
2665cbe4f7 Bug 1001691 - WorkerPrivate::LoadInfo -> WorkerLoadInfo r=khuey 2015-02-12 10:50:05 +01:00
Eddy Bruël
a95bcbb9fd Bug 1092102 - Implement a WorkerDebuggerGlobalScope;r=khuey 2015-03-04 00:51:53 +01:00
Tim Taubert
9dccd5c5ae Backed out changeset 2ea14f386df2 (bug 1001691) 2015-03-03 19:13:23 +01:00
Tim Taubert
661d8bb7bf Bug 1001691 - WorkerPrivate::LoadInfo -> WorkerLoadInfo r=khuey 2015-02-12 10:50:05 +01:00
Ben Kelly
cd6213057e Bug 940273 - Part 2 - Add a pref to enable Service Worker Cache. r=ehsan 2015-03-02 14:12:00 +01:00
Ben Kelly
4d074ba44d Bug 1118845 P2 Make SharedWorker override parent LoadGroup with custom proxy callbacks. r=khuey 2015-02-21 10:09:17 -05:00
Jon Coppeard
6136d65f9b Bug 1127792 - Add a pref to globally disable compacting GC r=terrence r=mccr8 r=bent 2015-02-02 14:39:34 +00:00
Nikhil Marathe
3f0206f630 Bug 1113515 - Update ServiceWorker webidl. r=baku
--HG--
extra : rebase_source : a6143c9d741d87b79ccf3686f868b0856a32cd4b
2014-10-17 11:43:14 -07:00
Ben Turner
2be368dceb Bug 701634 - Support IndexedDB in Workers, r=khuey+baku. 2014-12-16 22:26:15 -08:00
Dan Gohman
8bacfeb968 Bug 1054671 - Constify static callback arrays r=ehsan 2014-12-16 16:30:39 -08:00
Nigel Babu
b91168c141 Backed out changeset 6a3a0e3bfaf6 (bug 1054671) for B2G emulator build bustage on CLOSED TREE 2014-12-16 11:24:15 +05:30
Dan Gohman
d791adb2b0 Bug 1054671 - Constify static callback arrays r=ehsan 2014-12-15 20:53:58 -08:00
Botond Ballo
79d427447d Bug 1073081 - Fix -Waddress warnings about Nuwa functions. r=khuey
--HG--
extra : source : 8cd5108862aaf2c579a76ac6e9c08eb69fa5f3ff
2014-11-26 19:20:03 -05:00
Ben Turner
2d1d91d847 Bug 1054638 - Notify the worker event loop when an XPCOM event is received, r=khuey. 2014-11-17 11:55:37 -08:00
Ben Turner
c8b921018d Bug 1054638 - Move WorkerThread into its own file, r=khuey. 2014-11-14 18:47:30 -08:00
Luke Wagner
176eac56f4 Bug 1087178 - OdinMonkey: explain why 'not stored in cache' (r=bbouvier,janv)
--HG--
extra : rebase_source : d37893913a09d5a5b339e4ae4ee42f873d449d1e
2014-10-22 17:28:07 -05:00
Boris Zbarsky
9f372e5357 Bug 1084439 followup. Remove now-unsed enum. 2014-11-06 10:55:19 -05:00
Andrea Marchesini
9c560b7613 Bug 1082178 - JS initialization must happen using the correct preferences in workers, r=khuey 2014-10-27 09:38:14 +00:00
Boris Zbarsky
95886106af Bug 1084439. Remove ResolveWorkerClasses in favor of [Exposed=System] annotations. r=bholley 2014-10-19 22:25:49 -04:00
Tom Schuster
bf9324688d Bug 1069694 - Remove OldDebugAPI from the browser. r=shu 2014-10-12 19:37:41 +02:00
Andrew McCreight
94f9448048 Bug 943516 - Add weak map wrapper preserving key callback to workers. r=peterv on a CLOSED TREE 2014-10-08 16:27:55 -07:00
Andrea Marchesini
bee67f1318 Bug 1078163 - WorkerNavigator strings should honor general.*.override prefs in e10s mode, r=khuey 2014-10-08 13:56:50 +01:00
Valentin Gosu
2716c07b5f Bug 786419 - Part 11 - Address possible issues with offline notifications in nsGlobalWindow and WorkerPrivate r=bent
Part 2 of this bug adds nsGlobalWindow as an observer for the app-offline
notification. There are however a few corner cases we haven't handled.
For example: If the browser is offline, and an app is made offline,
there should be no offline event dispatched.
Also, WorkerPrivate should ignore offline events that cause no change
in its offline state.
2014-08-27 05:42:13 +03:00
Valentin Gosu
0820a97576 Bug 786419 - Part 10 - Fix app wrongly reporting an offline status r=jduell
In order for the content process to have an up-to-date table of which apps are
offline, we send that status in TabParent::LoadURL. However, the fact that
IsAppOffline returned true when the browser was offline, caused us to send
the offline status to content processes, and caused Bug 1058718.
This also updates the UUID for nsIOService.
2014-08-27 05:25:47 +03:00
Valentin Gosu
a1b5100a48 Bug 786419 - Part 2 - Modify calls to NS_IsOffline to check for NS_IsAppOffline as well r=jduell,sicking 2014-08-23 06:06:56 +03:00
Nikhil Marathe
75000a49cd Bug 1049599 - ServiceWorkers should also be canceled when a window goes away. r=bent 2014-08-23 20:25:08 -07:00
Andrea Marchesini
1d21930927 Bug 1069401 - UserAgent cannot be changed for specific websites in workers, r=khuey, r=bz 2014-09-24 17:09:50 +01:00
Carsten "Tomcat" Book
7237bc85fb Backed out changeset 13028d2039e8 (bug 1069401) for b2g m1 test failures 2014-09-24 12:40:43 +02:00
Andrea Marchesini
6763c7cf68 Bug 1069401 - UserAgent cannot be changed for specific websites in workers, r=khuey, r=bz 2014-09-23 22:26:00 +02:00
Andrea Marchesini
5d2981cbd7 Bug 1062920 - WorkerNavigator strings should honor general.*.override prefs, r=khuey 2014-09-23 20:11:18 +01:00
Carsten "Tomcat" Book
597a408636 Backed out changeset 2a7cae8b0b5d (bug 1067552) for Android 4.0 M8 test failures 2014-09-16 06:52:44 +02:00
Wes Kocher
196212ea47 Merge m-c to b-i a=merge 2014-09-15 16:47:02 -07:00
Jon Coppeard
93fa9ca8db Bug 1045945 - Initialize the destroy principals callback for workers r=bent 2014-09-15 16:49:11 +01:00
Gregor Wagner
76d5902ffa Bug 1067552 - Assertion in RuntimeService::ShutdownIdleThreads. r=bent 2014-09-15 22:09:10 +02:00
Bobby Holley
7c712dca7b Bug 981198 - Make JS_{Get,Set}ErrorReporter take a JSRuntime. r=terrence,r=bz 2014-09-09 16:02:10 -07:00
Chris Peterson
d126c3c24f Bug 1063962 - Replace jschar typedef with C++11 char16_t type. r=jandem 2014-07-21 21:43:21 -07:00
Andrea Marchesini
d72123b13e Bug 925849 - WorkerNavigator implements NavigatorLanguage, r=khuey 2014-09-05 15:26:34 +01:00
Ehsan Akhgari
1b1d6ffebf Bug 1061023 - Fix more bad implicit constructors in DOM; r=baku
--HG--
extra : rebase_source : c80c5f9d7ae28286513cdb52ad76b46c240bdd5d
2014-09-01 18:26:43 -04:00
Wes Kocher
d10230338d Backed out changeset 1ed271ffb59c (bug 786419) bug causing bug 786419 a=backout 2014-08-26 16:34:46 -07:00
Valentin Gosu
077e9036e0 Bug 786419 - Provide way to "set network offline" per app r=jduell 2014-08-23 06:05:56 +03:00