Commit Graph

229 Commits

Author SHA1 Message Date
Robert O'Callahan
45c5e4a1ad Bug 804837. Part 9: Update WebAudio implementation to integrate with AudioNodeStream. r=ehsan
This is a mega-patch that was too hard to disentangle. Here's what it does:
-- Create infrastructure around AudioNode::UpdateOutputEnded to detect
when a node can no longer produce any output. When that becomes true,
disconnect it from the AudioNode graph.
-- Have AudioNode implement JSBindingFinalized to use as input in
UpdateOutputEnded.
-- Give every AudioNode a MediaStream, and give every connection
a MediaInputPort.
-- Actually play the audio that reaches the AudioContext's destination node.
-- Force AudioContext to use the audio sample rate defined by MediaStreamGraph.
-- Fix AudioBufferSourceNode's start and stop methods to possibly throw and
take default 'when' parameters.
-- Create an AudioNodeStream for AudioBufferSourceNode and give it a
AudioBufferSourceNodeEngine that does what's needed. Set parameters for
this engine in the start() and stop() methods.
-- Create AudioBuffer::GetThreadSharedChannelsForRate, which is responsible
for stealing the contents of any JS array buffers, and bundling them up
into a thread-shared read-only buffer object which can be used as
part of an AudioChunk. This method will also be responsible for
resampling and caching as necessary.
2013-02-05 12:07:25 +13:00
Ehsan Akhgari
7153c2e7ee Bug 837520 - Part 2: Move HTMLBRElement to Web IDL bindings; r=bzbarsky 2013-02-03 18:05:27 -05:00
Ehsan Akhgari
3d9d777756 Bug 837416 - Part 2: Move HTMLStyleElement to Web IDL bindings; r=bzbarsky 2013-02-03 12:42:40 -05:00
Ehsan Akhgari
a3b0d5871a Backed out 3 changesets (bug 837416) because of test failures
Backed out changeset 1d7232646d12 (bug 837416)
Backed out changeset 476af8f75f28 (bug 837416)
Backed out changeset 428b29658d07 (bug 837416)

--HG--
rename : content/html/content/src/HTMLStyleElement.cpp => content/html/content/src/nsHTMLStyleElement.cpp
2013-02-03 15:18:19 -05:00
Ehsan Akhgari
48ce320438 Bug 837416 - Part 2: Move HTMLStyleElement to Web IDL bindings; r=bzbarsky 2013-02-03 12:42:40 -05:00
Peter Van der Beken
6f66838447 Fix for bug 836809 (Convert XMLStyleSheetProcessingInstruction to WebIDL). r=bz.
--HG--
rename : content/xml/content/src/nsXMLStylesheetPI.cpp => content/xml/content/src/XMLStylesheetProcessingInstruction.cpp
rename : content/xml/content/src/nsXMLStylesheetPI.cpp => content/xml/content/src/XMLStylesheetProcessingInstruction.h
extra : rebase_source : 11bb422e280b58c33bb0165b60f34da5c6fae3de
2013-02-01 13:28:37 +01:00
David Zbarsky
642114ea39 Bug 837036 - Remove SVGLocatableElement and SVGTransformableElement IDL r=longsonr 2013-02-01 04:55:45 -05:00
Boris Zbarsky
194b6a08f7 Bug 829867. Unpref PaintRequest and Screen WebIDL bindings and remove some cruft from quickstubs. r=peterv
nsIDOMCharacterData and nsIDOMText quickstubs are not needed after bug 826703.

nsIDOMRect quickstubs haven't been needed since bug 824970 landed.

nsCSSPropertiesQS has been unused since bug 801083 at least.

The various includes being removed are either fully on WebIDL now or using WebIDL quickstubs.
2013-01-29 12:52:09 -05:00
Boris Zbarsky
27b20c21af Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Boris Zbarsky
66e49b02aa Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
775587776a Back out bug 829867 (rev 2a0424e177c1) on suspicion of Ts regression 2013-01-29 17:17:37 -05:00
Boris Zbarsky
209081f37e Bug 829867. Unpref PaintRequest and Screen WebIDL bindings and remove some cruft from quickstubs. r=peterv
nsIDOMCharacterData and nsIDOMText quickstubs are not needed after bug 826703.

nsIDOMRect quickstubs haven't been needed since bug 824970 landed.

nsCSSPropertiesQS has been unused since bug 801083 at least.

The various includes being removed are either fully on WebIDL now or using WebIDL quickstubs.
2013-01-29 12:52:09 -05:00
Boris Zbarsky
8231be64a0 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Boris Zbarsky
fbda957199 Bug 830099. Flag WebIDL dictionaries and callbacks with some information indicating whether we need main-thread and worker codegen for them and then use that information to skip unneccessary codegen. r=peterv 2013-01-28 23:30:17 -05:00
Phil Ringnalda
7250370ce6 Back out c5238879470f and b3cabb259af7 (bug 830099) for bustage 2013-01-28 22:36:59 -08:00
Boris Zbarsky
023ecd137e Bug 830099. Flag WebIDL dictionaries and callbacks with some information indicating whether we need main-thread and worker codegen for them and then use that information to skip unneccessary codegen. r=peterv 2013-01-28 23:30:17 -05:00
Ehsan Akhgari
00eafdea81 Backed out changeset 32786d29daf8 (bug 830099) because of build bustage 2013-01-28 23:51:03 -05:00
Boris Zbarsky
002da9ef93 Bug 830099. Flag WebIDL dictionaries and callbacks with some information indicating whether we need main-thread and worker codegen for them and then use that information to skip unneccessary codegen. r=peterv 2013-01-28 23:30:17 -05:00
Boris Zbarsky
fd94476421 Bug 822470 part 7. Use new callback codegen for conversion to and from JS. r=peterv
NodeFilter, EventListener, and DOMTransaction will be updated to use the new codegen once we've fixed the consumers.
2013-01-28 08:34:31 -05:00
Boris Zbarsky
1ddbf2e612 Bug 822470 part 6. Hook up callback interface codegen. r=peterv 2013-01-28 08:34:30 -05:00
Robert O'Callahan
fc44cd635c Bug 804837. Part 0: Rework the connection and input/output port logic for Web Audio nodes; r=ehsan
Here's what this patch does:
-- Makes AudioNodes mostly not use nsWrapperCache. AudioDestinationNode
still does.
-- Rename MaxNumberOfInputs/Outputs to NumberOfInputs/Outputs, and have them
default to 1 in AudioNode.
-- Allow any number of nodes to be connected to any given input/output port.
2013-01-23 19:50:18 -05:00
Ehsan Akhgari
16e89b722a Bug 833631 - Unprefix mozAudioContext; r=roc
--HG--
extra : rebase_source : 3c477a97ea842a806f6fad6f5c3a81d6e50b27c3
2013-01-22 20:12:21 -05:00
David Zbarsky
8ff75a4d1b Bug 831673, r=bz 2013-01-19 15:56:31 -05:00
David Zbarsky
08a4d241f5 Bug 827182: Convert SVGUseElement to WebIDL 2013-01-16 15:50:59 -05:00
Trevor Saunders
ddbe49139b bug 830396 - add back nsIDOMCSSValueList r=bz 2013-01-14 12:29:27 -05:00
David Zbarsky
6f81fa5b99 Bug 828715 - Move DOMSVGMatrix to mozilla::dom::SVGMatrix r=longsonr
--HG--
rename : content/svg/content/src/DOMSVGMatrix.cpp => content/svg/content/src/SVGMatrix.cpp
rename : content/svg/content/src/DOMSVGMatrix.h => content/svg/content/src/SVGMatrix.h
2013-01-11 15:30:21 -05:00
Ms2ger
c450d91d46 Bug 825749 - Convert SVG gradient elements to WebIDL; r=bz
--HG--
rename : content/svg/content/src/nsSVGGradientElement.cpp => content/svg/content/src/SVGGradientElement.cpp
rename : content/svg/content/src/nsSVGGradientElement.h => content/svg/content/src/SVGGradientElement.h
2013-01-11 09:43:01 +01:00
David Zbarsky
cd990802cf Bug 825147: Convert SVGAElement to WebIDL r=bz
--HG--
rename : content/svg/content/src/nsSVGAElement.cpp => content/svg/content/src/SVGAElement.cpp
rename : content/svg/content/src/nsSVGAElement.h => content/svg/content/src/SVGAElement.h
2013-01-10 00:30:13 -05:00
David Zbarsky
60c7a3b594 Bug 827119: Convert SVGSVGElement to WebIDL r=bz 2013-01-09 18:02:47 -05:00
David Zbarsky
e4a26da046 Bug 827119: Move SVGSVGElement to mozilla::dom r=bz
--HG--
rename : content/svg/content/src/nsSVGSVGElement.cpp => content/svg/content/src/SVGSVGElement.cpp
rename : content/svg/content/src/nsSVGSVGElement.h => content/svg/content/src/SVGSVGElement.h
2013-01-09 18:02:45 -05:00
Boris Zbarsky
e7357142bb Bug 826703 part 4. Convert ProcessingInstruction to WebIDL. r=peterv 2013-01-08 15:45:06 -05:00
Boris Zbarsky
df66ecbe66 Bug 826703 part 3. Rename nsXMLProcessingInstruction to mozilla::dom::ProcessingInstruction. r=peterv
--HG--
rename : content/xml/content/src/nsXMLProcessingInstruction.cpp => content/xml/content/src/ProcessingInstruction.cpp
rename : content/xml/content/src/nsXMLProcessingInstruction.h => content/xml/content/src/ProcessingInstruction.h
2013-01-08 15:45:06 -05:00
Boris Zbarsky
3f10a7395a Bug 826703 part 2. Convert CDATASection to WebIDL. r=peterv 2013-01-08 15:45:06 -05:00
David Zbarsky
66be4382c0 Bug 825732: Convert SVGAltGlyphElement to WebIDL r=bz
--HG--
rename : content/svg/content/src/nsSVGAltGlyphElement.cpp => content/svg/content/src/SVGAltGlyphElement.cpp
rename : content/svg/content/src/nsSVGAltGlyphElement.cpp => content/svg/content/src/SVGAltGlyphElement.h
2013-01-06 09:14:44 -05:00
David Zbarsky
9ad6ec90dc Bug 825732: Convert SVGTextPositioningElement to WebIDL r=bz
--HG--
rename : content/svg/content/src/nsSVGTextPositioningElement.cpp => content/svg/content/src/SVGTextPositioningElement.cpp
rename : content/svg/content/src/nsSVGTextPositioningElement.h => content/svg/content/src/SVGTextPositioningElement.h
2013-01-06 09:14:43 -05:00
David Zbarsky
912c7ada9c Bug 825732: Convert SVGTextContentElement to WebIDL r=bz
--HG--
rename : content/svg/content/src/nsSVGTextContentElement.cpp => content/svg/content/src/SVGTextContentElement.cpp
rename : content/svg/content/src/nsSVGTextContentElement.h => content/svg/content/src/SVGTextContentElement.h
2013-01-06 09:14:43 -05:00
David Zbarsky
9edf4dac9e Bug 824898: Convert SVG animation classes to WebIDL r=bz 2013-01-06 04:32:03 -05:00
David Zbarsky
1832141c50 Bug 825147: Convert SVGImageElement to WebIDL r=bz
--HG--
rename : content/svg/content/src/nsSVGImageElement.cpp => content/svg/content/src/SVGImageElement.cpp
rename : content/svg/content/src/nsSVGImageElement.h => content/svg/content/src/SVGImageElement.h
2013-01-06 04:32:01 -05:00
David Zbarsky
6defbde7e5 Bug 824899 - Don't use nsIDOMSVGElement where possible r=longsonr 2013-01-06 01:25:55 -05:00
David Zbarsky
0c6e775fd6 Bug 824229 Part 6: Move SVGGraphicsElement to mozilla::dom r=bz,longsonr
--HG--
rename : content/svg/content/src/nsSVGGraphicElement.cpp => content/svg/content/src/SVGGraphicsElement.cpp
rename : content/svg/content/src/nsSVGGraphicElement.h => content/svg/content/src/SVGGraphicsElement.h
2013-01-03 01:17:03 -05:00
David Zbarsky
413f7c67a6 Bug 824229 Part 5: Implement SVGGraphicsElement r=longsonr 2013-01-03 01:17:02 -05:00
David Zbarsky
824df9fe3b Bug 824229 Part 4: Implement SVGTransformableElement r=longsonr 2013-01-03 01:17:02 -05:00
David Zbarsky
058e539fbc Bug 824229 Part 3: Implement SVGLocatableElement r=longsonr 2013-01-03 01:17:02 -05:00
Peter Van der Beken
96b67671a8 Fix for bug 824907 (Convert HTML table elements to WebIDL) - convert HTMLTableColElement to WebIDL. r=bz.
--HG--
rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp
rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.cpp
rename : content/html/content/src/nsHTMLTableColElement.cpp => content/html/content/src/HTMLTableColElement.h
rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h
rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp
rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h
extra : rebase_source : 4654bf54c41231eed6f73a35118d58be0c9af9a0
2012-12-29 15:07:57 +01:00
Peter Van der Beken
71cdba8a1a Fix for bug 824907 (Convert HTML table elements to WebIDL) - convert HTMLTableRowElement to WebIDL. r=bz.
--HG--
extra : rebase_source : d2febac66f508caf3c2b89816e811ed8e2c88856
2012-12-29 15:07:57 +01:00
Peter Van der Beken
88f551c0d3 Fix for bug 824907 (Convert HTML table elements to WebIDL) - convert HTMLTableCellElement to WebIDL. r=bz.
--HG--
rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.cpp
rename : content/html/content/src/nsHTMLTableCellElement.cpp => content/html/content/src/HTMLTableCellElement.h
rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp
rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h
rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.h
extra : rebase_source : fcf088e7ac91a216ae7ad1cb16d509a17cd7a2a7
2012-12-29 15:07:56 +01:00
Peter Van der Beken
0a9ff23dea Fix for bug 824907 (Convert HTML table elements to WebIDL) - convert HTMLTableSectionElement to WebIDL. r=bz.
--HG--
rename : content/html/content/src/nsHTMLTableRowElement.cpp => content/html/content/src/HTMLTableRowElement.cpp
rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.cpp
rename : content/html/content/src/nsHTMLTableSectionElement.cpp => content/html/content/src/HTMLTableSectionElement.h
rename : dom/interfaces/html/nsIDOMHTMLTableSectionElem.idl => dom/interfaces/html/nsIDOMHTMLTableSectionElement.idl
extra : rebase_source : b9c1d7dea38653452b44b2033cf2c0140f7b39b1
2012-12-29 15:07:48 +01:00
Peter Van der Beken
8d553dd587 Fix for bug 824907 (Convert HTML table elements to WebIDL) - convert HTMLTableCaptionElement to WebIDL. r=bz.
--HG--
rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.cpp
rename : content/html/content/src/nsHTMLTableCaptionElement.cpp => content/html/content/src/HTMLTableCaptionElement.h
extra : rebase_source : ccf765d029b74fc22b45d9162e9b4a9ac6977344
2012-12-29 15:07:46 +01:00
Peter Van der Beken
7538219944 Fix for bug 824907 (Convert HTML table elements to WebIDL) - convert HTMLTableElement to WebIDL. r=bz.
--HG--
rename : content/html/content/src/nsHTMLTableElement.cpp => content/html/content/src/HTMLTableElement.cpp
rename : content/html/content/src/nsHTMLTableElement.h => content/html/content/src/HTMLTableElement.h
extra : rebase_source : 36ef4c094fdf54103ad3c41e299eb86d20956915
2012-12-29 09:08:15 +01:00
David Zbarsky
38edda27d7 Bug 826947: Convert HTMLScriptElement to WebIDL r=bz 2013-01-05 04:41:28 -05:00