Commit Graph

80 Commits

Author SHA1 Message Date
Boris Zbarsky
26d23ddfd6 Bug 861587 followup: get rid of a stray $ and some indent fixes. r=khuey 2013-05-30 13:05:42 -04:00
Boris Zbarsky
96a893b56d 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
Ted Mielczarek
3cfd62c3d2 bug 871712 - make MSVC PGO opt-in per-directory, and opt-in in the directories that matter. r=glandium 2013-05-16 09:33:26 -04:00
Ryan VanderMeulen
9edc2f4aa0 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
062268a773 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
966c30f69d Bug 868232 - Paris binding for MozStkCommandEvent, r=peterv
--HG--
extra : rebase_source : 4a79aa44707f9dd0b0eb68611e13702f1bdb838e
2013-05-07 15:46:07 +03:00
Mike Shal
df7deac25b Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Kyle Huey
3876235aea Bug 859894: Reland on this CLOSED TREE with a CLOBBER. 2013-04-09 15:39:44 -07:00
Kyle Huey
55b22ee953 Back out bug 859894 to open this CLOSED TREE. 2013-04-09 15:33:05 -07:00
Kyle Huey
b009035d00 Bug 859894: Switch dom/bindings off of mddepend.pl. r=ted 2013-04-09 15:11:43 -07:00
Guilherme Goncalves
b8efeb2286 Bug 650295 - Implement main state machine for speech recognition. r=smaug 2013-03-27 14:13:57 -07:00
Kyle Huey
f60ea4137a 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
81ed36b9a0 Bug 848796 part 3. Convert XULDocument to WebIDL. r=peterv 2013-03-26 11:31:54 -04:00
Boris Zbarsky
d0b977f25f 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
7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Kyle Huey
80acba6691 No bug: Hack around our build system woes. r=me CLOSED TREE 2013-03-19 07:25:31 -07:00
Kyle Huey
1ef10ebb37 Bug 850153: Try harder to avoid blowing out the command line limit. r=gps 2013-03-12 13:55:20 -07:00
Olli Pettay
7cbf366952 Bug 847607 - Paris bindings for IDB event, r=khuey
--HG--
extra : rebase_source : de5c4ba79b8d990b25abaabd3892847f286737fd
2013-03-12 19:45:59 +02:00
Ms2ger
34912e5df7 Bug 831879 - Disable "maybe used uninitialized" warnings in dom/bindings; r=khuey 2013-03-10 08:58:21 +01:00
Boris Zbarsky
bc99bd5e23 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
2c8d7046c5 Bug 784812: Implement real dependencies for WebIDL bindings. r=bz,ted 2013-02-24 12:36:44 -08:00
Phil Ringnalda
cd3ba96b65 Back out cd8481cc4a32 (bug 784812) for make check failures 2013-02-24 14:10:48 -08:00
Kyle Huey
63884b088c Bug 784812: Implement real dependencies for WebIDL bindings. r=bz,ted CLOSED TREE 2013-02-24 12:36:44 -08:00
Kyle Huey
41104cbff1 Backed out changeset a71766c2c85d 2013-02-24 12:33:36 -08:00
Kyle Huey
75d88ff353 Bug 784812: Implement real dependencies for WebIDL bindings. r=bz,ted 2013-02-24 12:03:03 -08:00
Andrea Marchesini
3bfe2368d9 Bug 838172 - Convert AudioChannelManager to WebIDL. r=peterv 2013-02-08 11:34:47 -05:00
Andrea Marchesini
d2702a1f80 Bug 838124 - Convert BatteryManager to WebIDL. r=peterv 2013-02-05 07:54:49 -05:00
Boris Zbarsky
9b45ffdc77 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
1f4c096dfa 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
f17cd371b2 Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
1d5a36a375 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
a836dfc369 Bug 822470 part 6. Hook up callback interface codegen. r=peterv 2013-01-28 08:34:30 -05:00
Boris Zbarsky
c7d98d9134 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
4d02c18a08 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
a3b4bd9774 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
53a5112fb0 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
4c6b53a57f Bug 816380. Convert XPathEvaluator to WebIDL. r=peterv 2012-12-14 14:10:49 -05:00
Boris Zbarsky
529460c9c6 Bug 807224. Implement native-to-JS conversion for WebIDL unions. r=peterv 2012-11-09 07:59:33 -08:00
Boris Zbarsky
05e4e3b75a 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
dd82a0d964 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
057bdb3632 Merge mozilla-central to mozilla-inbound 2012-10-15 16:09:10 +01:00
Ms2ger
b86e67f2b2 Bug 793244 - Part b: Convert Screen to WebIDL; r=bz 2012-10-14 09:40:11 +02:00
Peter Van der Beken
767c08f204 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
96b3ddd3e3 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
43e58e33c8 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
792e972052 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
052e7b0c56 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
ee9eae3141 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
c0dee00d6e Bug 775289 - Remove generateNativeAccessors branching from Paris binding codegen. (r=peterv) 2012-08-07 22:26:19 -07:00
Ms2ger
94bf1722ed Bug 743573 - Fix a number of build warnings in dom/; r=mounir 2012-08-07 09:06:29 +02:00