Birunthan Mohanathas
edbcd5e014
Bug 1185763 - Part 1: Always use mozilla::Move with nsTArray::MoveElementsFrom. r=froydnj
2015-08-11 08:29:46 -07:00
Birunthan Mohanathas
a727c82e51
Bug 1192023 - Make UpdateType an enum class. r=khuey
2015-08-06 14:34:39 -07:00
Birunthan Mohanathas
752bf80bb4
Bug 1192023 - Use enum class instead of CheckpointMode_ prefix. r=khuey
2015-08-06 14:34:35 -07:00
Birunthan Mohanathas
69151f6831
Bug 1192023 - Flatten away AppId enum. r=khuey
2015-08-06 14:34:33 -07:00
Birunthan Mohanathas
e95e1e7d13
Bug 1192023 - Use enum class instead of MaintenanceAction_ prefix. r=khuey
2015-08-06 14:34:29 -07:00
Birunthan Mohanathas
9f71a11dba
Bug 1192023 - Use enum class instead of State_ prefix. r=khuey
2015-08-06 14:34:27 -07:00
Birunthan Mohanathas
39a3ef841c
Bug 1105827 - Part 10: Fire change event for PermissionStatus objects. r=baku
2015-07-31 15:57:02 -07:00
Birunthan Mohanathas
fd1e77d8fa
Bug 1105827 - Part 9: Add PermissionObserver to watch for perm-changed notifications. r=baku
2015-07-31 15:53:46 -07:00
Birunthan Mohanathas
7b8a267e19
Bug 1105827 - Part 8: Move permission checking into PermissionStatus. r=baku
...
This is in prepartion of a subsequent change where we will update the state
within PermissionStatus.
2015-07-31 15:53:10 -07:00
Birunthan Mohanathas
d6ccefe440
Bug 1105827 - Part 7: Add helpers to convert between PermissionName and permission type. r=baku
2015-07-31 15:49:59 -07:00
Birunthan Mohanathas
a1f31ea066
Bug 1105827 - Part 6: Add PermissionUtils.h for helper functions. r=baku
2015-07-31 15:49:55 -07:00
Kyle Huey
0bb53e0280
Bug 1179909: Build fix. r=me CLOSED TREE
2015-08-11 07:38:01 -07:00
Kit Cambridge
72909621aa
Back out bug 1100863 and bug 1152264 for causing bug 1189729 on a CLOSED TREE. a=mhenretty,RyanVM
...
--HG--
extra : commitid : Knw3n5aF6IT
2015-08-11 07:30:38 -07:00
Kyle Huey
baee6469c5
Bug 1179909: Build fix. r=me CLOSED TREE
2015-08-11 06:54:49 -07:00
Bobby Holley
3d7a75d98d
Bug 1190495 - Followup #include fix. r=me
2015-08-11 09:40:02 -04:00
Brian R. Bondy
7bf8055bf0
Bug 1189494 - Pass tracking information to BrowserElement's mozbrowsersecuritychange event. r=fabrice
2015-08-10 16:59:59 -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
Bobby Holley
f97159c6b7
Bug 1190495 - Hoist TaskQueue into xpcom. r=froydnj
...
--HG--
rename : dom/media/TaskQueue.cpp => xpcom/threads/TaskQueue.cpp
rename : dom/media/TaskQueue.h => xpcom/threads/TaskQueue.h
2015-08-11 08:55:22 -04:00
Bobby Holley
2f4346b111
Bug 1190495 - Switch TaskQueue entirely to nsRefPtr. r=cpearce
2015-08-11 08:55:21 -04:00
Bobby Holley
a7bc4c7844
Bug 1190495 - Remove TaskQueue::SyncDispatch. r=cpearce
...
Looks like the last consumers of this went away. \o/
2015-08-11 08:55:19 -04:00
Bobby Holley
bdf89c24e4
Bug 1190495 - Separate FlushableTaskQueue into its own file. r=cpearce
...
This thing is garbage, and I don't want to hoist it into XPCOM.
2015-08-11 08:55:18 -04:00
Bobby Holley
29e4811fef
Bug 1190495 - Fix include. r=me
...
Not sure how this slipped by before.
2015-08-11 08:55:16 -04:00
Alfredo Yang
e99d63e741
Bug 1192694: remove mDecodingFrozenAtStateDecoding so decoder can leave dormant normally. r=jwwang
2015-08-11 21:23:41 +10:00
Aryeh Gregor
dd74aa5c8b
Bug 1008146 - Split up test_runtest.html; rs=Ms2ger
...
--HG--
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_backcolor.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_bold.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_createlink.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_delete.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_fontname.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_fontsize.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_forecolor.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_formatblock.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_forwarddelete.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_hilitecolor.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_indent.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_inserthorizontalrule.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_inserthtml.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_insertimage.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_insertlinebreak.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_insertorderedlist.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_insertparagraph.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_inserttext.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_insertunorderedlist.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_italic.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_justifycenter.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_justifyfull.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_justifyleft.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_justifyright.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_misc.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_multitest.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_outdent.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_removeformat.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_strikethrough.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_subscript.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_superscript.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_underline.html
rename : dom/imptests/editing/conformancetest/test_runtest.html => dom/imptests/editing/conformancetest/run/test_unlink.html
2015-08-11 14:02:33 +03:00
Sebastian Hengst
c2581fad83
Backed out 8 changesets (bug 1183910, bug 1190281)
...
Backed out changeset 6ddbdbd66174 (bug 1190281)
Backed out changeset c85c1d11bd72 (bug 1190281)
Backed out changeset 7f904a453bdb (bug 1190281)
Backed out changeset e17123b5bafd (bug 1190281)
Backed out changeset 50edbeb8912e (bug 1190281)
Backed out changeset cf98685302b6 (bug 1190281)
Backed out changeset e98a176b4e0b (bug 1190281)
Backed out changeset e7b3b23bcc82 (bug 1183910)
--HG--
rename : gfx/src/DriverCrashGuard.cpp => gfx/src/DriverInitCrashDetection.cpp
rename : gfx/src/DriverCrashGuard.h => gfx/src/DriverInitCrashDetection.h
2015-08-11 10:13:43 +02:00
David Anderson
f55d77eadf
Add a crash guard for DXVA2D3D9. (bug 1190281 part 8, r=mattwoodrow)
2015-08-11 00:29:08 -07:00
David Anderson
0581a52de4
Allow DriverCrashGuard to be used in content processes. (bug 1190281 part 7, r=mattwoodrow)
2015-08-11 00:29:08 -07:00
Jean-Yves Avenard
c74d906393
Bug 1146086: Properly marking overridden member with override keyword. v2. a=bustage
2015-08-11 16:42:42 +10:00
Jean-Yves Avenard
9545c5cfd6
Bug 1146086: Properly marking overridden member with override keyword. a=bustage
...
Interesting that it was never picked up, until only one was done.
2015-08-11 16:26:20 +10:00
Jean-Yves Avenard
10659dafdb
Bug 1188313: P1. Attempt to seek audio near video. r=cpearce
...
Do not only rely on the MediaDecoderState machine to keep A/V sync after a seek as should we seeked in fast mode ; it wouldn't
2015-08-11 14:18:49 +10:00
Alfredo Yang
8c59fda383
Bug 1146086: use promise to Init() in PlatformDecoderModule. r=jya,r=cpearce
2015-08-11 14:09:12 +10:00
Chris Pearce
c078618d1a
Bug 1188235
- Make GMPStorage immune to record name hash collisions. r=gerald
2015-08-11 16:05:19 +12:00
Ben Kelly
9b3774c463
Bug 1192986 Fix test_interfaces.html to expect Cache API and font loading to be released. r=ehsan
2015-08-10 20:17:11 -07:00
Ben Kelly
5c5cefb2b2
Bug 1192986 Also mark Cache/CacheStorage as release interfaces on workers. r=ehsan a=bustage
2015-08-10 19:49:22 -07:00
Jeff Walden
1b62a9d07b
Bug 1158399 - Expose the [[DateValue]] field in Date objects only through a ClippedTime class that enforces prior TimeClip-ing on the given value. r=evilpie, r=bz, r=dhylands, r=mt, r=froydnj, r=khuey, r=baku, r=smaug
...
--HG--
extra : rebase_source : 803fe39f338b6b32cb0fe2be6cf4056bab57283a
2015-05-01 19:12:52 -07:00
Karl Tomlinson
da9d3d3591
bug 916387 remove workarounds in tests r=padenot
...
Zero output channels are used on ScriptProcessorNodes to improve efficiency in
tests when output is not required.
--HG--
extra : rebase_source : f3ddee8031d772bdcedbd482d80d3259a095e0ea
2015-08-06 16:04:23 +12:00
Karl Tomlinson
3a15b165c6
bug 916387 keep ScriptProcessorNode alive after input is GCed r=padenot
...
--HG--
extra : rebase_source : a9f5d8f4c33845d1548c2daf53d7aced6d6e668b
2015-08-06 17:56:06 +12:00
Karl Tomlinson
fda85fcc8b
bug 916387 add a notification of garbage collected input node r=padenot
...
The effects of garbage collection must not be observable. We can collect an
AudioNode if it is not going to cause any further changes, but we must keep
any current effects.
--HG--
extra : rebase_source : f7ce500de2afd4f6cdff79c30c99a0ee8e74ab40
2015-08-06 14:15:40 +12:00
Karl Tomlinson
487efc8f27
bug 1191649 determine ScriptProcessor connected status on main thread r=padenot
...
because stream inputs may be removed when only providing null data.
The ScriptProcessor is also kept alive when it has only input nodes so that it
is not garbage collected when its input nodes are collected.
--HG--
extra : rebase_source : ee70db1b3e13b212107e048620880b929c662ad6
2015-08-06 16:22:56 +12:00
Karl Tomlinson
e35277a491
bug 1191649 add notification of input node changes r=padenot
...
--HG--
extra : rebase_source : 71b101935ef10b5fa01008234897c0bb2c6979ba
2015-08-06 19:25:53 +12:00
Karl Tomlinson
b78f6f2712
bug 1191648 don't create audioprocess event when there is no listener r=padenot
...
Creating the event added a reference to the ScriptProcessorNode, which wasn't
released until the AudioProcessingEvent was destroyed in
nsCycleCollector::FreeSnowWhite().
If another event is dispatched before cycle collection considers the
ScriptProcessorNode, then the node will not be collected.
Also, the reference count of the ScriptProcessorNode is no longer toggled
because this seemed to interfere with the cycle collection process.
--HG--
extra : rebase_source : 41878e716fe3fcc8f46f518be2a50d050b8ed14c
2015-08-10 12:51:37 +12:00
Karl Tomlinson
d03299a57a
bug 1191648 don't keep ScriptProcessorNode alive when it has no audioprocess listener r=padenot
...
--HG--
extra : rebase_source : 49b8c338a3cd645a67937a7584cba666512b31b6
2015-08-06 19:28:10 +12:00
Chris Pearce
8ded1472c3
Bug 1190252 - Remove use of mozilla\/Tokenizer from GMPChild so bug 1190252 can be uplift to 41. r=gerald
2015-08-11 10:27:41 +12:00
Wes Kocher
4cfe4a51b8
Merge m-c to inbound, a=merge CLOSED TREE
2015-08-10 15:01:57 -07:00
Wes Kocher
509f11b522
Merge b2ginbound to central, a=merge CLOSED TREE
2015-08-10 14:58:41 -07:00
Wes Kocher
9ea5043ff7
Merge fx-team to central, a=merge
...
CLOSED TREE
--HG--
extra : amend_source : 21e718d9a7fec5aa1ea30443fc8838a30b29489b
2015-08-10 14:50:01 -07:00
Ryan VanderMeulen
bb93004620
Merge m-c to inbound. a=merge
2015-08-10 09:42:48 -04:00
Ryan VanderMeulen
11db054dd0
Merge inbound to m-c. a=merge
2015-08-10 09:18:21 -04:00
Jean-Yves Avenard
51d48c4899
Bug 1061525 - Part 7: Add software backed NV12 images support. r=mattwoodrow
...
Currently unused.
2015-08-10 22:04:27 +10:00
Matt Woodrow
42f077d33f
Bug 1061525 - Part 5: Make the OSX video decoders output NV12 format MacIOSurfaces. r=jya
2015-08-10 22:04:27 +10:00