Commit Graph

2789 Commits

Author SHA1 Message Date
Brian Birtles
6033b2c86d Bug 1154615 part 1 - Rename AnimationPlayer to Animation in WebIDL; r=smaug
This patch is a fairly minimal rename of the AnimationPlayer interface. It
leaves a bunch of local variables and helper classes still using the word
"player". These will be addressed in subsequent patches that don't require DOM
peer review.
2015-04-21 10:22:09 +09:00
Boris Zbarsky
87f356b78a Bug 1152902 part 2. Add a fast path for the case when a Promise is resolved with another Promise. r=nsm 2015-04-17 22:01:02 -04:00
Ted Mielczarek
e08259895a bug 1155691 - Expose WindowRoot to chrome from window in webidl. r=smaug 2015-04-17 16:17:26 -04:00
Phil Ringnalda
afefb44917 Back out 2 changesets (bug 1152902) for Gu bustage
CLOSED TREE

Backed out changeset 462f2f668259 (bug 1152902)
Backed out changeset 1c5ed66652c3 (bug 1152902)
2015-04-18 15:30:17 -07:00
Boris Zbarsky
f028340efb Bug 1152902 part 2. Add a fast path for the case when a Promise is resolved with another Promise. r=nsm 2015-04-17 22:01:02 -04:00
Ryan VanderMeulen
0a6bbd4dbd Merge m-c to inbound. a=merge
CLOSED TREE
2015-04-17 16:11:58 -04:00
Ryan VanderMeulen
84f4b8730a Merge inbound to m-c. a=merge 2015-04-17 15:44:37 -04:00
Martin Thomson
717ffae625 Bug 1152538 - RTCIdentityAssertion is a dictionary, r=smaug 2015-04-16 09:55:18 -07:00
Cameron McCormack
77c1f55389 Bug 1155015 - Hide FontFaceSet.load() until we implement it. r=bzbarsky 2015-04-17 11:09:59 +10:00
Ryan VanderMeulen
751c0ea9d9 Merge m-c to b2g-inbound. a=merge 2015-04-16 16:22:42 -04:00
Bruce Sun
02f5f65704 Bug 1152653 - Implement BluetoothGatt.oncharacteristicchanged. r=jocelyn, r=mrbkap 2015-04-16 16:47:01 +08:00
Bruce Sun
f50af0f15c Bug 1140952 - Implement read/write value of a descriptor for GATT client API (webapi part). f=jocelyn, r=btian, r=mrbkap 2015-04-16 16:44:58 +08:00
Bruce Sun
725ee88361 Bug 1140952 - Implement read/write value of a characteristic for GATT client API (webapi part). f=jocelyn, r=shawnjohnjr, r=mrbkap 2015-04-16 16:44:17 +08:00
Martin Thomson
91567c5feb Bug 1153294 - Exposing Document.documentLoadGroup to Chrome JS, r=sicking 2015-04-15 14:19:21 -07:00
Boris Zbarsky
386b66e144 Bug 1154878. Stop exposing navigator.tainteEnabled in workers. r=ehsan 2015-04-15 16:33:06 -04:00
Paul Adenot
ea18aad215 Bug 1148354 - Deprecate the doppler effect from the PannerNode. r=ehsan 2015-04-16 15:35:19 +02:00
Brian Birtles
cae37c8fed Bug 1153734 part 5 - Add AnimationEffectReadonly as a superinterface of KeyframeEffectReadonly; r=smaug
This patch also replaces some tabs with spaces in KeyframeEffect.h because I was
in the area.
2015-04-15 08:48:21 +09:00
Brian Birtles
717246367d Bug 1153734 part 3 - Rename AnimationPlayer.source to AnimationPlayer.effect; r=smaug
There are still some other references to "source" in AnimationPlayer such as
HasInPlayerSource and UpdateSourceContent. These are renamed in a subsequent
patch (that doesn't require DOM peer review).
2015-04-15 08:48:21 +09:00
Brian Birtles
ec581c1cbf Bug 1153734 part 2 - Rename Animation to KeyframeEffectReadonly; r=smaug
We define KeyframeEffectReadonly in KeyframeEffect.cpp since Web Animations also
defines KeyframeEffect and when we come to implement that I expect we'll define
it in the same class, maybe even using the same object.

This patch also adds a few missing includes in places where
KeyframeEffectReadonly is used so that we're not just cargo-culting it in.
2015-04-15 08:48:21 +09:00
Brian Birtles
c1f3da8da4 Bug 1153734 part 1 - Remove AnimationEffect; r=smaug
Most of this is fairly obvious. However, the addition of 'override' to
ElementPropertyTransition::Name() is not strictly necessary. It was simply added
because while making these changes I accidentally dropped the 'virtual' keyword
from the method in the superclass and the compiler didn't complain. Adding this
will hopefully make it harder to create the same bug in the future.
2015-04-15 08:48:20 +09:00
Paul Adenot
959a60f261 Bug 1134034 - Add a chrome-only parentId and name on AudioParam for devtools. r=ehsan 2015-04-14 17:03:52 +02:00
Paul Adenot
59f9f3e92f Bug 1153783 - Implement the detune AudioParam for the AudioBufferSourceNode. r=ehsan 2015-04-14 17:03:50 +02:00
Carsten "Tomcat" Book
41e2b6bdc7 Merge mozilla-central to mozilla-inbound 2015-04-14 16:15:02 +02:00
Wes Kocher
b3dd5d4560 Merge central to b2ginbound a=merge 2015-04-13 17:28:59 -07:00
James Cheng
6f2d10d4c2 Bug 1153717 - [Stingray] Update document reference link on InputPort API. r=baku, a=NPOTB 2015-04-12 21:07:00 -04:00
David Rajchenbach-Teller
ab5920fe5d Bug 1083361 - Exposing a PromiseDebugging API to monitor uncaught DOM Promise. r=bz 2015-04-10 17:27:57 +02:00
Doug Turner
1cb1b34095 Bug 1038811 - Push Notifications - WebIDL changes. r=nsm. sr=jst 2015-04-10 20:19:28 -07:00
Doug Turner
9ed5f2a720 Bug 1038811 - Push Notifications - Move old push to simplepush. r=nsm. sr=jst 2015-04-10 20:19:28 -07:00
Paul Adenot
67071397ed Bug 1094764 - Implement AudioContext.suspend and friends. r=roc,ehsan
- Relevant spec text:
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-suspend-Promise
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-resume-Promise
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-close-Promise
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-state
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-onstatechange

- In a couple words, the behavior we want:
    - Closed context cannot have new nodes created, but can do decodeAudioData,
    and create buffers, and such.
    - OfflineAudioContexts don't support those methods, transitions happen at
    startRendering and at the end of processing. onstatechange is used to make
    this observable.
    - (regular) AudioContexts support those methods. The promises and
    onstatechange should be resolved/called when the operation has actually
    completed on the rendering thread.  Once a context has been closed, it
    cannot transition back to "running". An AudioContext switches to "running"
    when the audio callback start running, this allow authors to know how long
    the audio stack takes to start running.
    - MediaStreams that feed in/go out of a suspended graph should respectively
    not buffer at the graph input, and output silence
    - suspended context should not be doing much on the CPU, and we should try
    to pause audio streams if we can (this behaviour is the main reason we need
    this in the first place, for saving battery on mobile, and CPU on all
    platforms)

- Now, the implementation:
    - AudioNodeStreams are now tagged with a context id, to be able to operate
    on all the streams of a given AudioContext on the Graph thread without
    having to go and lock everytime to touch the AudioContext. This happens in
    the AudioNodeStream ctor. IDs are of course constant for the lifetime of the
    node.
    - When an AudioContext goes into suspended mode, streams for this
    AudioContext are moved out of the mStreams array to a second array,
    mSuspendedStreams. Streams in mSuspendedStream are not ordered, and are not
    processed.
    - The MSG will automatically switch to a SystemClockDriver when it finds
    that there are no more AudioNodeStream/Stream with an audio track. This is
    how pausing the audio subsystem and saving battery works. Subsequently, when
    the MSG finds that there are only streams in mSuspendedStreams, it will go
    to sleep (block on a monitor), so we save CPU, but it does not shut itself
    down. This is mostly not a new behaviour (this is what the MSG does since
    the refactoring), but is important to note.
    - Promises are gripped (addref-ed) on the main thread, and then shepherd
    down other threads and to the GraphDriver, if needed (sometimes we can
    resolve them right away). They move between threads as void* to prevent
    calling methods on them, as they are not thread safe. Then, the driver
    executes the operation, and when it's done (initializing and closing audio
    streams can take some time), we send the promise back to the main thread,
    and resolve it, casting back to Promise* after asserting we're back on the
    main thread. This way, we can send them back on the main thread once an
    operation has complete (suspending an audio stream, starting it again on
    resume(), etc.), without having to do bookkeeping between suspend calls and
    their result. Promises are not thread safe, so we can't move them around
    AddRef-ed.
    - The stream destruction logic now takes into account that a stream can be
    destroyed while not being in mStreams.
    - A graph can now switch GraphDriver twice or more per iteration, for
    example if an author goes suspend()/resume()/suspend() in the same script.
    - Some operation have to be done on suspended stream, so we now use double
    for-loop around mSuspendedStreams and mStreams in some places in
    MediaStreamGraph.cpp.
    - A tricky part was making sure everything worked at AudioContext
    boundaries.  TrackUnionStream that have one of their input stream suspended
    append null ticks instead.
    - The graph ordering algorithm had to be altered to not include suspended
    streams.
    - There are some edge cases (adding a stream on a suspended graph, calling
    suspend/resume when a graph has just been close()d).
2015-02-27 18:22:05 +01:00
Masayuki Nakano
cc31a3b2b8 Bug 1124608 Support D3E EventModifierInit r=smaug 2015-04-13 16:16:13 +09:00
Brian Birtles
28a48770ea Bug 1152171 part 2 - Rename AnimationTimeline to DocumentTimeline; r=smaug
And then re-add AnimationTimeline as an abstract super-interface of
DocumentTimeline.
2015-04-10 10:34:22 +09:00
Ryan VanderMeulen
a7f714dbc3 Merge inbound to m-c. a=merge 2015-04-09 22:43:57 -04:00
James Cheng
a1db2ad471 Bug 1026350 - Part 1: Inputport API implementation. r=baku 2015-04-08 03:07:00 -04:00
Carsten "Tomcat" Book
76eff395b8 Backed out changeset 7fc52c48e6e3 (bug 1094764) for mulet m-3 perma failure in /test_dataChannel_basicAudioVideo.html 2015-04-09 13:44:27 +02:00
John Schoenick
abf8852084 Bug 1139560 - <img>.currentSrc should be not be nullable. r=jst 2015-03-04 23:12:00 -05:00
Paul Adenot
df4e4a4515 Bug 1094764 - Implement AudioContext.suspend and friends. r=roc,ehsan
- Relevant spec text:
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-suspend-Promise
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-resume-Promise
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-close-Promise
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-state
    - http://webaudio.github.io/web-audio-api/#widl-AudioContext-onstatechange

- In a couple words, the behavior we want:
    - Closed context cannot have new nodes created, but can do decodeAudioData,
    and create buffers, and such.
    - OfflineAudioContexts don't support those methods, transitions happen at
    startRendering and at the end of processing. onstatechange is used to make
    this observable.
    - (regular) AudioContexts support those methods. The promises and
    onstatechange should be resolved/called when the operation has actually
    completed on the rendering thread.  Once a context has been closed, it
    cannot transition back to "running". An AudioContext switches to "running"
    when the audio callback start running, this allow authors to know how long
    the audio stack takes to start running.
    - MediaStreams that feed in/go out of a suspended graph should respectively
    not buffer at the graph input, and output silence
    - suspended context should not be doing much on the CPU, and we should try
    to pause audio streams if we can (this behaviour is the main reason we need
    this in the first place, for saving battery on mobile, and CPU on all
    platforms)

- Now, the implementation:
    - AudioNodeStreams are now tagged with a context id, to be able to operate
    on all the streams of a given AudioContext on the Graph thread without
    having to go and lock everytime to touch the AudioContext. This happens in
    the AudioNodeStream ctor. IDs are of course constant for the lifetime of the
    node.
    - When an AudioContext goes into suspended mode, streams for this
    AudioContext are moved out of the mStreams array to a second array,
    mSuspendedStreams. Streams in mSuspendedStream are not ordered, and are not
    processed.
    - The MSG will automatically switch to a SystemClockDriver when it finds
    that there are no more AudioNodeStream/Stream with an audio track. This is
    how pausing the audio subsystem and saving battery works. Subsequently, when
    the MSG finds that there are only streams in mSuspendedStreams, it will go
    to sleep (block on a monitor), so we save CPU, but it does not shut itself
    down. This is mostly not a new behaviour (this is what the MSG does since
    the refactoring), but is important to note.
    - Promises are gripped (addref-ed) on the main thread, and then shepherd
    down other threads and to the GraphDriver, if needed (sometimes we can
    resolve them right away). They move between threads as void* to prevent
    calling methods on them, as they are not thread safe. Then, the driver
    executes the operation, and when it's done (initializing and closing audio
    streams can take some time), we send the promise back to the main thread,
    and resolve it, casting back to Promise* after asserting we're back on the
    main thread. This way, we can send them back on the main thread once an
    operation has complete (suspending an audio stream, starting it again on
    resume(), etc.), without having to do bookkeeping between suspend calls and
    their result. Promises are not thread safe, so we can't move them around
    AddRef-ed.
    - The stream destruction logic now takes into account that a stream can be
    destroyed while not being in mStreams.
    - A graph can now switch GraphDriver twice or more per iteration, for
    example if an author goes suspend()/resume()/suspend() in the same script.
    - Some operation have to be done on suspended stream, so we now use double
    for-loop around mSuspendedStreams and mStreams in some places in
    MediaStreamGraph.cpp.
    - A tricky part was making sure everything worked at AudioContext
    boundaries.  TrackUnionStream that have one of their input stream suspended
    append null ticks instead.
    - The graph ordering algorithm had to be altered to not include suspended
    streams.
    - There are some edge cases (adding a stream on a suspended graph, calling
    suspend/resume when a graph has just been close()d).
2015-02-27 18:22:05 +01:00
Boris Zbarsky
0b36359499 Bug 1151940 part 3. Make some writable cssom-view attributes that we only allow setting from chrome act the way readonly replaceables would when called from content. r=smaug 2015-04-08 22:50:45 -04:00
Boris Zbarsky
bffd1522ed Bug 1151940 part 1. Make some readonly properties defined on Window by CSSOM-view replaceable. r=smaug 2015-04-08 22:50:45 -04:00
Mark Banner
896328f7a0 Bug 1147940 - Remove the dom.webcrypto.enabled pref as it is no longer necessary. r=smaug,r=rbarnes 2015-04-08 19:23:05 +01:00
Ryan VanderMeulen
60c08d9a5c Merge m-c to inbound. a=merge
CLOSED TREE
2015-04-08 12:59:08 -04:00
Jocelyn Liu
8338cc1176 Bug 1140951 - Implement start/stopNotifications for GATT client API. r=shuang, r=mrbkap 2015-04-08 13:49:28 +08:00
Jocelyn Liu
3eff453d19 Bug 1132343 - Patch1: Add accept/reject method in BluetoothPairingHandle interface for supporting consent and displaypasskey pairing requests. r=shuang, r=mrbkap 2015-04-08 13:49:14 +08:00
Ryan VanderMeulen
581724fc0f Merge inbound to m-c. a=merge 2015-04-07 15:47:40 -04:00
Catalin Badea
d20852ff02 Bug 1130686 - Implement client.focus. r=baku 2015-04-07 16:25:08 +03:00
Mike Conley
554757a455 Bug 1148012 - Expose run ID through nsIObjectLoadingContent.idl. r=josh,smaug.
The run ID for a plugin is retrieved and cached in the nsObjectLoadingContent
on plugin instantiation.
2015-03-17 13:28:32 -04:00
Henry Chang
e5e453b354 Bug 1053650 - Part 1: Add attribute 'networkInterfaceId' to XMLHttpRequest. r=bz 2015-03-03 09:09:07 +08:00
Yoshi Huang
f9e51404c2 Bug 1127735 - Update TechDiscoveredNotication. r=smaug, dimi 2015-03-25 11:16:42 +08:00
Yoshi Huang
f405d96e15 Bug 1146270 - Move HCI Event Origin into NfcOptions.webidl. r=smaug, dimi 2015-03-24 17:19:48 +08:00
Phil Ringnalda
cfa9ed2542 Merge b-i to m-c, a=merge 2015-04-04 11:04:11 -07:00
Junior Hsu
9b657d1574 Bug 1097468 - Part 1: Expose |homescreen-webapps-manage| in Apps.webidl. r=sicking 2015-03-06 18:24:42 +08:00