Commit Graph

268 Commits

Author SHA1 Message Date
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
Ben Kelly
6f3adcd11b Bug 1260591 Move ServiceWorkerInfo and ServiceWorkerRegistrationInfo into separate files. r=jdm 2016-04-08 17:28:25 -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
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
Boris Zbarsky
60d3ad7ce0 Bug 1257568. Remove the JSContext argument of WorkerPrivate::Kill. r=khuey 2016-03-17 23:23:55 -04:00
Boris Zbarsky
ab1c6dbdb0 Bug 1255706 part 2. Remove JSContext argument from WorkerPrivate::Terminate. r=khuey 2016-03-11 16:43:30 -05:00
Boris Zbarsky
bbdf086021 Bug 1255706 part 1. Remove JSContext argument from WorkerPrivate constructor. r=khuey 2016-03-11 16:43:30 -05:00
Sebastian Hengst
7045a40a0f Backed out changeset 50c03319c341 (bug 1246091) for mochitest failures. r=backout 2016-03-11 20:16:19 +01:00
Andrea Marchesini
c4e620f562 Bug 1246091 - Expose ConsoleEvents to Worker Debugger Actors via Console object directly, r=ejpbruel 2016-03-11 17:59:52 +01:00
Boris Zbarsky
5a8005ef1e Bug 1252189. Remove the unnecessary JSContext argument from WorkerPrivate::FreezeInternal/ThawInternal. r=khuey 2016-02-29 14:52:43 -05:00
Boris Zbarsky
663b9bd562 Bug 1252091. Add/RemoveFeature don't need a JSContext argument. r=khuey 2016-02-29 14:52:42 -05:00
Boris Zbarsky
e24a128e22 Bug 1251380. Change things so that WorkerPrivate::NotifyInternal (hopefully) never throws. r=khuey 2016-02-26 21:15:56 -05:00
Boris Zbarsky
35d98f4893 Bug 1251276 part 2. Remove the JSContext argument of WorkerPrivate::CancelAllTimeouts. r=khuey 2016-02-26 21:15:56 -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
60b1a3f005 Bug 1251045 part 6. Remove the JSContext argument from some worker debugger 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
d0b2f4eeda Bug 1251045 part 2. Remove the JSContext argument of ModifyBusyCountFromWorker. 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
f0afee106b Bug 1250963 part 2. Remove the unused JSContext argument of WorkerPrivate::ModifyBusyCount. 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
Boris Zbarsky
47ec3963e4 Bug 1250963 part 2. Remove the unused JSContext argument of WorkerPrivate::ModifyBusyCount. 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
Eddy Bruel
dae2755a45 Bug 1119490 - Expose the URL constructor to WorkerDebuggerGlobalScope;r=khuey 2016-02-22 10:41:09 +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
Andrea Marchesini
75115ed2f7 Bug 1243881 - patch 2 - unship performance.translateTime, r=bz 2016-02-01 21:48:04 +00:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Eddy Bruel
4a221d8be9 Bug 1211903 - WorkerDebugger should live on the main thread;r=khuey 2016-01-07 13:35:31 +01:00
Kyle Huey
1ab13f2322 Bug 1059469: Part 2 - When rescheduling the interval timer, cancel it first, and refactor things so that actually does something. r=bent
RunExpiredTimeouts has "fudging" code to always ensure that we execute at least one timeout.  This is intended to cover cases where an nsITimer fires slightly early, but it means we must be careful not to fire a timer more times than we intend to or we'll execute a timeout prematurely.

Consider a sequences of setTimeout calls alternating in delay between 0ms and 1000ms.  When the 1000ms timeout fires, it schedules a 0ms timeout.  The setTimeout call itself calls RescheduleTimeoutTimer, which schedules the timer for a 0 ms delay.  And once we unwind the 1000ms timeout RunExpiredTimeouts will also schedule the timer for a 0 ms delay.  If the timer has fired (remember, it's processed on a completely different thread) in the meantime, we ultimately will get two callbacks from nsITimer for our 0 ms timeout.  The first will run the 0 ms timeout and schedule a 1000 ms timeout, and the second will run the 1000 ms timeout (remember, RunExpiredTimeouts always runs at least one timeout!) ~999 ms ahead of schedule.

The solution is to cancel the timer in RescheduleTimeoutTimer, so that when we call it the second time it will cause any pending events from the first scheduling to be canceled.  But this actually doesn't work at all, because of how we use nsITimer.  Before worker threads were capable of accepting arbitrary runnables we created TimerThreadEventTarget, which translates the timer firing to the special worker event queue when the timer thread attempts to *dispatch* a runnable to the worker.  We still need this for some of the other types of timers (which use control runnables that interrupt JS, and not the regular event queue).  But setTimeout can simply run like a normal nsITimer callback now.  We need that here, or calling nsITimer::Cancel won't actually do anything, because the timer's event was ignored and TimerThreadEventTarget created its own event.
2016-01-06 13:18:29 -08:00
Carsten "Tomcat" Book
1b186ddd18 Backed out changeset 9441286007c4 (bug 1211903) for assertion failures/crashes 2015-12-22 14:11:27 +01:00
Eddy Bruel
681fe21ff9 Bug 1211903 - WorkerDebugger should live on the main thread;r=khuey 2015-12-22 12:46:57 +01:00
Andrea Marchesini
5855a7439f Bug 1226147 - WorkerPrivate->CreationTime() and CreationTimeStamp(), r=bz 2015-11-19 20:32:49 +00:00
Phil Ringnalda
568d5025ba Back out bf4205bd5198 (bug 1216175) for Android hangs in test_fetch_cors.html 2015-11-17 19:45:43 -08:00
Olli Pettay
8b883f3ed3 Bug 1216175, ensure we GC/CC often enough on workers, r=baku
--HG--
extra : rebase_source : 04d97418c729087cbad157a35c6f57fa2f2edc60
2015-11-18 00:03:01 +02: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
Eddy Bruel
f7c6589364 Bug 1178726 - Simplify how we deal with freezing/thawing workers;r=jlongster,khuey 2015-10-16 18:48:26 +02: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
Andrea Marchesini
7373ebaca0 Bug 1209919 - Improving naming and comments in StructuredCloneHelper, r=smaug
--HG--
rename : dom/base/StructuredCloneHelper.cpp => dom/base/StructuredCloneHolder.cpp
rename : dom/base/StructuredCloneHelper.h => dom/base/StructuredCloneHolder.h
2015-09-30 13:22:08 +01: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