Граф коммитов

114 Коммитов

Автор SHA1 Сообщение Дата
Boris Zbarsky e5497b955e Bug 1423562 part 3. Remove [PrimaryGlobal] and require explicit [Exposed] annotations on everything. r=edgar
For review purposes, the important changes are in dom/bindings/Configuration.py
and dom/bindings/parser.

The changes to the IDL files were done by running these in dom/webidl
and dom/bindings/test:

  perl -pi -e 's/^interface ([A-Za-z0-9_]+)($| [:{])/[Exposed=Window]\ninterface \1\2/' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[HTMLConstructor\]\n\[Exposed=Window\]/[HTMLConstructor,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[NoInterfaceObject\]\n\[Exposed=Window\]/[NoInterfaceObject,\n Exposed=Window]/g' *.webidl

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\n\[Exposed=Window\]/[ChromeOnly,\n Exposed=Window]/g' *.webidl

And running this in dom/chrome-webidl:

  perl -pi -e 'BEGIN { $/ = undef; } s/\[ChromeOnly\]\ninterface/[ChromeOnly, Exposed=Window]\ninterface/g' *.webidl

and then fixing all the resulting parser failures.  I then verified that the
generated code is the same as before this change.

Differential Revision: https://phabricator.services.mozilla.com/D46697

--HG--
extra : moz-landing-system : lando
2019-09-27 15:26:14 +00:00
Boris Zbarsky 1128b8dee8 Bug 1578173 part 6. Remove remaining uses of [Constructor] from bindings. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45394

--HG--
extra : moz-landing-system : lando
2019-09-12 11:01:17 +00:00
Paul Adenot 553f80fde6 Bug 1324545 - Implement AudioContext getOutputTimestamp(). r=baku
Differential Revision: https://phabricator.services.mozilla.com/D37281

--HG--
extra : moz-landing-system : lando
2019-07-12 11:27:25 +00:00
Paul Adenot 8c692f2f23 Bug 1324552 - Implement AudioContext baseLatency and outputLatency attributes. r=pehrsons,baku
Differential Revision: https://phabricator.services.mozilla.com/D37280

--HG--
extra : moz-landing-system : lando
2019-07-12 11:28:03 +00:00
shindli 883c6619a6 Backed out 3 changesets (bug 1324552, bug 1324545, bug 1350973) for causing perma mda leakcheck failures CLOSED TREE
Backed out changeset db14e59c7e6e (bug 1324545)
Backed out changeset 088e13476d39 (bug 1324552)
Backed out changeset e79a64fc49e7 (bug 1350973)
2019-07-11 18:55:03 +03:00
Paul Adenot e66a2c4316 Bug 1324545 - Implement AudioContext getOutputTimestamp(). r=baku
Differential Revision: https://phabricator.services.mozilla.com/D37281

--HG--
extra : moz-landing-system : lando
2019-07-11 13:34:15 +00:00
Paul Adenot 4c99611f32 Bug 1324552 - Implement AudioContext baseLatency and outputLatency attributes. r=pehrsons,baku
Differential Revision: https://phabricator.services.mozilla.com/D37280

--HG--
extra : moz-landing-system : lando
2019-07-11 13:30:07 +00:00
Boris Zbarsky 19251f27ce Bug 1562680. Implement the new syntax for Web IDL dictionary defaulting. r=peterv
`= {}` can now be used to indicate that an optional dictionary should have the
default value of 'default-initialized dictionary'

Differential Revision: https://phabricator.services.mozilla.com/D36504

--HG--
extra : moz-landing-system : lando
2019-07-03 07:52:35 +00:00
Cosmin Sabou 3ef8d24958 Backed out changeset 8e16f13a88c8 (bug 1562680) for colliding with Bug 1366738 that was backed out. CLOSED TREE 2019-07-03 10:46:39 +03:00
Boris Zbarsky 73f095abc4 Bug 1562680. Implement the new syntax for Web IDL dictionary defaulting. r=peterv
`= {}` can now be used to indicate that an optional dictionary should have the
default value of 'default-initialized dictionary'

Differential Revision: https://phabricator.services.mozilla.com/D36504

--HG--
extra : moz-landing-system : lando
2019-07-03 06:44:36 +00:00
Mihai Alexandru Michis c7fc76c18f Backed out changeset 12653dd76667 (bug 1562680) for causing bustages in FuzzingFunctions.webidl CLOSED TREE 2019-07-03 09:34:48 +03:00
Boris Zbarsky 3a5c721abb Bug 1562680. Implement the new syntax for Web IDL dictionary defaulting. r=peterv
`= {}` can now be used to indicate that an optional dictionary should have the
default value of 'default-initialized dictionary'

Differential Revision: https://phabricator.services.mozilla.com/D36504

--HG--
extra : moz-landing-system : lando
2019-07-03 06:15:54 +00:00
Léo Paquet 7c036d7475 Bug 1324548 - Add MediaStreamTrackAudioSourceNode. r=pehrsons,baku
MozReview-Commit-ID: IdVqfNigMyu

Differential Revision: https://phabricator.services.mozilla.com/D15958

--HG--
extra : moz-landing-system : lando
2019-04-10 12:14:17 +00:00
Andreea Pavel 8633610e74 Backed out 2 changesets (bug 1324548) for failing wpt at idlharness.https.window.html on a CLOSED TREE
Backed out changeset 055578135fba (bug 1324548)
Backed out changeset 7aefaab277fe (bug 1324548)
2019-04-03 23:18:19 +03:00
Léo Paquet d761d81c93 Bug 1324548 - Add MediaStreamTrackAudioSourceNode. r=pehrsons,baku
MozReview-Commit-ID: IdVqfNigMyu

Differential Revision: https://phabricator.services.mozilla.com/D15958

--HG--
extra : moz-landing-system : lando
2019-04-03 17:01:38 +00:00
Dorel Luca 47b5923c5b Backed out 2 changesets (bug 1324548) for Mochitest failures in dom/tests/mochitest/general/test_interfaces.html. CLOSED TREE
Backed out changeset fda93e03e469 (bug 1324548)
Backed out changeset 8e6135544e33 (bug 1324548)
2019-04-03 18:54:05 +03:00
Léo Paquet 13ed118524 Bug 1324548 - Add MediaStreamTrackAudioSourceNode. r=pehrsons,baku
MozReview-Commit-ID: IdVqfNigMyu

Differential Revision: https://phabricator.services.mozilla.com/D15958

--HG--
extra : moz-landing-system : lando
2019-04-03 14:00:28 +00:00
Cosmin Sabou 679b5e2db1 Backed out 5 changesets (bug 1485040) for causing build bustages on test_mozwebidlcodegen. CLOSED TREE
Backed out changeset b417c2d937e8 (bug 1485040)
Backed out changeset c567c4c7438f (bug 1485040)
Backed out changeset 806c36cb2c4c (bug 1485040)
Backed out changeset 0fbb490ffc7f (bug 1485040)
Backed out changeset a9622e7761eb (bug 1485040)
2018-09-13 23:04:55 +03:00
Andrew McCreight 93b3b0138c Bug 1485040, part 5 - Automatically fix mode lines in WebIDL files r=qdot
This patch was generated by my modeline.py script.

MozReview-Commit-ID: EbVjPLwiUAT

Depends on D4159

Differential Revision: https://phabricator.services.mozilla.com/D4161

--HG--
extra : moz-landing-system : lando
2018-09-13 19:30:51 +00:00
Alex Chronopoulos ee0b8e9fc2 Bug 1387454 - Add AudioContextOptions in webidl. r=padenot,smaug
MozReview-Commit-ID: K4PApVzJffG

--HG--
extra : rebase_source : ad58106f83e07acc8e17a80c7d69b678a7bc4cdc
2018-04-03 20:02:15 +03:00
Nika Layzell a0d1f16079 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Paul Adenot 16a32f974b Bug 1361475 - Remove proprietary constructor on AudioContext. r=baku
This was used only for B2G, was proprietary, and is causing issues, because
`AudioContext` can now have a parameter that is a property bag, per spec
(although we haven't implemented it at the moment).

MozReview-Commit-ID: 6LOlNp0cbfV

--HG--
extra : rebase_source : 48aa342213dba201c1062a08c7453acd16b8baea
2017-05-04 13:43:14 +02:00
Alastor Wu c03792963c Bug 1358061 - remove moz-audiochannel codes for media element and web audio. r=baku
MozReview-Commit-ID: KPuhxCVezOZ

--HG--
extra : rebase_source : 74a9c9a9746d0add26f279c6dd5ddc30681be901
2017-04-26 12:02:32 +08:00
Phil Ringnalda 6b3d58414b Backed out changeset 6e7efb9115fd (bug 1358061) for build bustage
CLOSED TREE

MozReview-Commit-ID: F9FSciVgynw
2017-04-25 20:55:30 -07:00
Alastor Wu 222377e8ac Bug 1358061 - remove moz-audiochannel codes for media element and web audio. r=baku
MozReview-Commit-ID: BwZ6vHUPnSB

--HG--
extra : rebase_source : c92556cf92ff96b8014281396b28e1e232aa8576
2017-04-25 12:19:28 +08:00
Andrea Marchesini de7438cf52 Bug 1324352 - Implement BaseAudioContext, r=padenot 2016-12-21 10:52:50 +01:00
Sebastian Hengst ac153b5903 Backed out changeset 50a74758ee7d (bug 1324352) for failing webaudioeditor devtools tests like test/browser_audionode-actor-bypass.js. r=backout 2016-12-20 23:03:36 +01:00
Andrea Marchesini ad79ef8d0a Bug 1324352 - Implement BaseAudioContext, r=padenot 2016-12-20 20:20:41 +01:00
Andrea Marchesini 3200b37b47 Bug 1322982 - DOMException should be passed as argument in DecodeErrorCallback, r=padenot 2016-12-13 07:00:15 +01:00
Dan Minor a480f90374 Bug 1308432 - Add webidl for ConstantSourceNode; r=smaug
MozReview-Commit-ID: 1VtsBk7icrW

--HG--
extra : rebase_source : 702a5c607bf69245c82fba81b561fcb95290dc96
2016-10-13 10:40:29 -04:00
Carsten "Tomcat" Book fdd9093f30 Backed out changeset 1982ca04dbf4 (bug 1308432) 2016-10-19 14:37:56 +02:00
Dan Minor 6586d04987 Bug 1308432 - Add webidl for ConstantSourceNode; r=smaug
MozReview-Commit-ID: 1VtsBk7icrW

--HG--
extra : rebase_source : bf8d1f1e16c8cbfacc7a92ed6fe6092031f7f8c6
2016-10-13 10:40:29 -04:00
Paul Adenot 36a828f198 Bug 1288359 - Add a pref to disable the Web Audio API. r=karlt,smaug
MozReview-Commit-ID: 6h37P9PctYW

--HG--
extra : rebase_source : c4ab6cfe7b8267e6529b10358e3e4102cce1f15f
2016-07-22 13:59:52 +02:00
Paul Adenot 576c333825 Bug 1282820 - Change the specification URL in webidl files for the Web Audio API. DONTBUILD. r=smaug
This patch has been written with this command, ran from the root of the tree:

```
gsed -i 's!https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html!https://webaudio.github.io/web-audio-api/!' dom/webidl/*
```
2016-06-29 11:30:13 +02:00
Dan Minor b3ffeb37b7 Bug 1265408 - Add webidl for IIRFilterNode; r=smaug
MozReview-Commit-ID: FdaXR22KwUf

--HG--
extra : rebase_source : cdebad52ab4770de7f733826fd580ec76828b58d
extra : source : 84fab8755ac9df83a36bce68070b9354f59d2a50
2016-06-07 05:50:16 -04:00
Wes Kocher 44c9e5473a Backed out 13 changesets (bug 1265408) for test_interfaces bustage CLOSED TREE
Backed out changeset 5aa770304f2a (bug 1265408)
Backed out changeset 465412cecc51 (bug 1265408)
Backed out changeset d7d5bbd33e0e (bug 1265408)
Backed out changeset 4dd3a54d766d (bug 1265408)
Backed out changeset 24d271e05ae2 (bug 1265408)
Backed out changeset 56d602e3a9e6 (bug 1265408)
Backed out changeset 4bd3f7f5a431 (bug 1265408)
Backed out changeset 1b0ec5cf4d30 (bug 1265408)
Backed out changeset 784521a9cc94 (bug 1265408)
Backed out changeset 9ab327850c5f (bug 1265408)
Backed out changeset 388a95b05202 (bug 1265408)
Backed out changeset 2d59146a43fe (bug 1265408)
Backed out changeset 84fab8755ac9 (bug 1265408)
2016-06-06 12:09:14 -07:00
Dan Minor 5b7dd78413 Bug 1265408 - Add webidl for IIRFilterNode; r=smaug
MozReview-Commit-ID: FdaXR22KwUf

--HG--
extra : rebase_source : 28dd38c8e755b9325875ba3a2e951daf7d5c011e
2016-04-26 13:59:11 -04:00
Dan Minor 11d3cf6d22 Bug 1265405 - Add a dictionary to specify how PeriodicWave should be normalized (or not); r=smaug
MozReview-Commit-ID: CR5kO8MXdZv

--HG--
extra : rebase_source : 10ac8c5f18b18fdc92d8eb2013354bbbf2da0c9e
2016-04-26 06:54:38 -04:00
Ehsan Akhgari c6f415d397 Bug 1180347 - Split media.useAudioChannelService to support turning the service on without turning the Firefox OS specific APIs on; r=baku
This is going to be needed for us to be able to turn the AudioChannelService
on for desktop without exposing the Firefox OS specific APIs.
2015-07-06 09:05:00 -04:00
Paul Adenot e32b404e54 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
Carsten "Tomcat" Book 31c4421faf 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
Paul Adenot 70b6a9e143 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
Paul Adenot 64983bc928 Bug 1113925 - Don't return null in AudioContext.decodeAudioData. r=bz
--HG--
extra : rebase_source : c3efee1ad98547003d7ea16e068c0bacf2ea9e46
2015-01-05 13:43:00 +01:00
Roshan Vidyashankar 3fc5328ed1 Bug 1057585 - Disable WebAudio APIs in prerendering; r=jst 2014-12-21 11:53:32 -05:00
Paul Adenot 538c6b59c6 Bug 1100349 - Implement StereoPannerNode. r=ehsan,smaug
--HG--
extra : rebase_source : c0d3df3c4ea01001c0800997edbdf441c7287fb8
2014-11-19 18:15:13 +01:00
Andrea Marchesini e466bd1f2e Bug 1073615 - One MediaStreamGraph singleton per audioChannel, r=roc 2014-11-17 16:07:55 +00:00
Paul Adenot 6d1f890a82 Bug 1000264 - Make AudioContext.decodeAudioData return a promise. r=ehsan,bz
--HG--
extra : rebase_source : 570014ee470ca5493073113ab3bc4bb0933c390a
2014-10-23 12:07:48 +02:00
Ryan VanderMeulen 064303be00 Backed out changesets 0c9407b0e481, c2c37b2e9fac, and 488700194519 (bug 1000264) for e10s test failures.
CLOSED TREE
2014-11-13 12:40:15 -05:00
Paul Adenot 9b0650a20e Bug 1000264 - Make AudioContext.decodeAudioData return a promise. r=ehsan,bz
--HG--
extra : rebase_source : 79e8b89ddc5d08ccdd131f9b827c9110da0238ee
2014-10-23 12:07:48 +02:00
Ryan VanderMeulen 1b0c318bb9 Backed out changeset 5a476e673470 (bug 1073615) for causing various intermittent failures. 2014-11-12 11:52:30 -05:00