Commit Graph

77 Commits

Author SHA1 Message Date
Ryan VanderMeulen
882e4068d0 Backed out 6 changesets (bug 868996, bug 867903, bug 869014, bug 870219, bug 861587) for PGO bustage.
CLOSED TREE
2013-05-09 17:11:59 -04:00
Boris Zbarsky
30ab248cf6 Bug 861587. Rejigger the WebIDL binding build system to do all binding codegen in a single python process while still using our dependency tracking for bindings to minimize the number of bindings we try to regenerate. r=khuey 2013-05-09 13:05:33 -04:00
Olli Pettay
207a281bd3 Bug 868232 - Paris binding for MozStkCommandEvent, r=peterv
--HG--
extra : rebase_source : 4a79aa44707f9dd0b0eb68611e13702f1bdb838e
2013-05-07 15:46:07 +03:00
Mike Shal
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Kyle Huey
ba2e972842 Bug 859894: Reland on this CLOSED TREE with a CLOBBER. 2013-04-09 15:39:44 -07:00
Kyle Huey
f37712a023 Back out bug 859894 to open this CLOSED TREE. 2013-04-09 15:33:05 -07:00
Kyle Huey
60488146c6 Bug 859894: Switch dom/bindings off of mddepend.pl. r=ted 2013-04-09 15:11:43 -07:00
Guilherme Goncalves
a9d0df345c Bug 650295 - Implement main state machine for speech recognition. r=smaug 2013-03-27 14:13:57 -07:00
Kyle Huey
72e94c5c54 Bug 854225 - Delete the files from distclean instead of clean to fix frequent PGO bustage. r=glandium 2013-03-26 13:02:41 -04:00
Boris Zbarsky
8e9507b3b7 Bug 848796 part 3. Convert XULDocument to WebIDL. r=peterv 2013-03-26 11:31:54 -04:00
Boris Zbarsky
6da96159f0 Bug 851584. Don't generate a Length() on our C++ example class to handle our indexed getter if we already have a 'length' attribute in the WebIDL. r=jst 2013-03-19 21:47:47 -04:00
Mike Shal
ea1d9b8ba7 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Kyle Huey
c13157e030 No bug: Hack around our build system woes. r=me CLOSED TREE 2013-03-19 07:25:31 -07:00
Kyle Huey
d705dcdf5f Bug 850153: Try harder to avoid blowing out the command line limit. r=gps 2013-03-12 13:55:20 -07:00
Olli Pettay
17f4a92d30 Bug 847607 - Paris bindings for IDB event, r=khuey
--HG--
extra : rebase_source : de5c4ba79b8d990b25abaabd3892847f286737fd
2013-03-12 19:45:59 +02:00
Ms2ger
6bb007a483 Bug 831879 - Disable "maybe used uninitialized" warnings in dom/bindings; r=khuey 2013-03-10 08:58:21 +01:00
Boris Zbarsky
c186b0d2c7 Bug 847001. Make globalgen depend on the actual set of WebIDL files we're compiling, not just on the individual files. r=khuey 2013-03-04 14:08:24 -05:00
Kyle Huey
ae04d7b90d Bug 784812: Implement real dependencies for WebIDL bindings. r=bz,ted 2013-02-24 12:36:44 -08:00
Phil Ringnalda
d00099ff16 Back out cd8481cc4a32 (bug 784812) for make check failures 2013-02-24 14:10:48 -08:00
Kyle Huey
a622234df9 Bug 784812: Implement real dependencies for WebIDL bindings. r=bz,ted CLOSED TREE 2013-02-24 12:36:44 -08:00
Kyle Huey
a96c166f9a Backed out changeset a71766c2c85d 2013-02-24 12:33:36 -08:00
Kyle Huey
535d766239 Bug 784812: Implement real dependencies for WebIDL bindings. r=bz,ted 2013-02-24 12:03:03 -08:00
Andrea Marchesini
596e176e0b Bug 838172 - Convert AudioChannelManager to WebIDL. r=peterv 2013-02-08 11:34:47 -05:00
Andrea Marchesini
b822140315 Bug 838124 - Convert BatteryManager to WebIDL. r=peterv 2013-02-05 07:54:49 -05:00
Boris Zbarsky
e53ffbf3f0 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
Robert O'Callahan
286b2d2513 Bug 832788. Part 6: Enable FAIL_ON_WARNINGS in dom/bindings. r=bz
--HG--
extra : rebase_source : 67fb14efbd022dac7ba32fe31584c386872ff9d6
2013-01-30 18:20:53 +13:00
Boris Zbarsky
e15be64167 Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
24d3443115 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
daf569d68b Bug 822470 part 6. Hook up callback interface codegen. r=peterv 2013-01-28 08:34:30 -05:00
Boris Zbarsky
8b10dd30ec Bug 822470 part 2. Create a CallbackInterface helper class. r=peterv
--HG--
rename : dom/bindings/CallbackFunction.h => dom/bindings/CallbackInterface.h
2013-01-28 08:34:30 -05:00
Boris Zbarsky
c71174d98b Bug 822470 part 1. Factor out the code that callback functions and callback interfaces will be able to share into a CallbackObject class. r=peterv
--HG--
rename : dom/bindings/CallbackFunction.cpp => dom/bindings/CallbackObject.cpp
rename : dom/bindings/CallbackFunction.h => dom/bindings/CallbackObject.h
2013-01-28 08:34:29 -05:00
Boris Zbarsky
cd2c495c6c Bug 816421. Make Document.visibilityState a WebIDL enum. r=peterv
A lot of the changes here are just so I can actually build after including DocumentBinding.h in nsIDocument.h
2012-12-25 14:00:15 -08:00
Boris Zbarsky
c4e0d0fac2 Bug 804631. Add the WebIDL API for Document. r=peterv
I'm not entirely happy with the XPath bits.  If we had an
nsXPathEvaluator member, or if the WebIDL API were on
nsIDOMXPathEvaluator or something, all that stuff would need a lot
less code...
2012-12-22 00:27:27 -08:00
Boris Zbarsky
f5872e983f Bug 816380. Convert XPathEvaluator to WebIDL. r=peterv 2012-12-14 14:10:49 -05:00
Boris Zbarsky
1dfb1af14b Bug 807224. Implement native-to-JS conversion for WebIDL unions. r=peterv 2012-11-09 07:59:33 -08:00
Boris Zbarsky
b01e12f509 Bug 779048 part 1. Implement a parent class for C++ reflections of callback functions in WebIDL. r=bholley,smaug 2012-11-09 07:43:57 -08:00
Boris Zbarsky
f1bf746514 Bug 796983 part 2. Add a way to generate an example class declaration for a given WebIDL interface. r=jst
We mark constructors as static in the parser because they are.  This
allows us to just use the isStatic() for the IDLMember to mark our
declarations static.

To generate an example interface implementation, just "make
interfacename-example" in $objdir/dom/bindings.  This will place files
called interfacename-example.h and interfacename-example.cpp in that
directory.  For example, "make XMLHttpRequest-example" will get you
$objdir/dom/bindings/XMLHttpRequest-example.h and
$objdir/dom/bindings/XMLHttpRequest-example.cpp.

Attribute getters currently default to const methods, while setters
and operations default to non-const methods.

--HG--
rename : dom/bindings/BindingGen.py => dom/bindings/ExampleGen.py
2012-10-17 17:01:55 -04:00
Ed Morley
f87439d0bc Merge mozilla-central to mozilla-inbound 2012-10-15 16:09:10 +01:00
Ms2ger
0ad78542ff Bug 793244 - Part b: Convert Screen to WebIDL; r=bz 2012-10-14 09:40:11 +02:00
Peter Van der Beken
59b6711296 Fix for bug 711628 (Implement PeerConnection.localStreams/remoteStreams). r=bz.
--HG--
extra : rebase_source : e21a429d85fc60a972752a2a7deb88a7cb648f3c
2012-09-13 18:04:31 +02:00
Peter Van der Beken
225e9ed8d3 Fix for bug 791347 (Support non-nsISupports refcounted natives and non-refcounted natives in new DOM bindings). r=bz/smaug.
--HG--
extra : rebase_source : cd6d98461d7fa3a07fa1361b4d840448122b6655
2012-09-19 15:02:37 +02:00
Kyle Huey
1ccfbe810b Bug 760331: Coalesce data for inline style across nodes. r=bz
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules.  MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit).  This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley.  A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet.  MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache.  This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.

The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value.  This can happen easily with large pages that are automatically generated.  An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change.  Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node.  Eliminating duplicate style rules enables further savings in layout through style context sharing.  The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.

Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules.  We also do not attempt to share MiscContainers when the node's base URI differs from the document URI.  The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Daniel Holbert
e15f0640ee Bug 785981: Pass global #defines to the process that generates the Paris bindings CSS2Properties.webidl file. r=khuey 2012-08-28 11:14:53 -07:00
Boris Zbarsky
efc50e4b0d Bug 753517 part 4. Set up auto-generation of CSS2Properties.webidl from nsCSSPropList.h and enable Paris bindings for CSSStyleDeclaration and CSS2Properties. r=khuey,peterv,dbaron 2012-08-23 21:08:09 -07:00
Peter Van der Beken
854457d901 Fix for bug 768692 (Move DOM list binding generation to the new DOM binding codegen). r=bzbarsky.
--HG--
extra : rebase_source : 651a0fac4c9a87ef1c0a9cd91588c6421fd050c4
2012-05-22 15:46:20 +02:00
Eric Faust
82e2eb473d Bug 775289 - Remove generateNativeAccessors branching from Paris binding codegen. (r=peterv) 2012-08-07 22:26:19 -07:00
Ms2ger
c861fd0028 Bug 743573 - Fix a number of build warnings in dom/; r=mounir 2012-08-07 09:06:29 +02:00
Ms2ger
cec5e3f75e Bug 780111 - Share code with new DOM bindings for primitive conversions in XPCConvert::JSData2Native; r=bholley 2012-08-04 09:29:18 +02:00
Mike Hommey
c1b35e7b2a Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Ed Morley
4eb11bee72 Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00