podivilov@google.com
80d8de3dda
Replace 'NativeTraits' typedef with 'isNode', 'isActive', and 'isEventTarget' static boolean fields.
...
'isEventTarget' field is needed to implement proper GC semantics for non-node event target listeners.
'isNode'+'isActive' is a direct replacement of 'NativeTraits' typedef.
R=antonm@google.com
Review URL: https://chromiumcodereview.appspot.com//10741002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9501 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-10 10:51:46 +00:00
podivilov@google.com
fb4ba0921a
Cleanup attributes generation in dart:html.
...
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10704102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9436 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-06 11:41:20 +00:00
podivilov@google.com
f266bcbc9e
Split backend.AddMembers call into series of backend.AddAtribute/backend.AddOperation calls.
...
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10697080
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9425 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-06 07:38:07 +00:00
podivilov@google.com
a785e89775
Do not split attributes on getters and setters in databasebuilder.
...
So we don't have to combine them again in generator.
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10704100
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9414 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-05 09:00:42 +00:00
podivilov@google.com
441eb00329
Extract common FactoryProviders generation logic.
...
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10704096
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9402 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-04 12:08:57 +00:00
podivilov@google.com
1b590a6185
Unfork html events generation in dart2js and dartium.
...
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10698049
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9342 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 11:39:16 +00:00
antonm@google.com
d28a8ee1d8
Support Chrome roll.
...
TBR=podivilov@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10700078
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9340 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 11:12:07 +00:00
podivilov@google.com
793232d1eb
Extract common logic for element factory constructors generation.
...
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10696035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9292 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 15:42:56 +00:00
podivilov@google.com
0adfc6082e
Create implementation file emitter in HtmlDartInterfaceGenerator.
...
That way we can start emitting common parts in HtmlDartInterfaceGenerator.
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10696033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9290 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 15:41:17 +00:00
podivilov@google.com
c3977d7b22
Get rid of DOMWrapperBase and DOMTypeBase.
...
These types are not needed anymore.
R=antonm@google.com
Review URL: https://chromiumcodereview.appspot.com//10659033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9242 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 10:21:25 +00:00
podivilov@google.com
e9e1df043e
Make HtmlFrogSystem and NativeImplementationSystem the backends for HtmlInterfacesSystem and remove HtmlDartiumSystem.
...
This will allow easy code reuse between all existing html systems.
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10704008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9240 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 10:01:50 +00:00
podivilov@google.com
20fe182f7a
Make per-interface generators an implementation detail of a system.
...
DartGenerator shouldn't know about per-interface generators
as it stiffles further refactoring and makes code reuse harder.
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10700006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9239 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 09:37:12 +00:00
podivilov@google.com
f5a2e9cec8
Build fix for r9154.
...
TBR=antonm@google.com
Review URL: https://chromiumcodereview.appspot.com//10692006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9155 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 10:11:50 +00:00
antonm@google.com
756f43f13c
Sort includes to follow WebKit style.
...
R=podivilov@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10657045
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9127 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 19:16:34 +00:00
antonm@google.com
8957fb37e7
Support V8EnabledAtRuntime in constructors.
...
R=podivilov@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10669031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9107 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 12:42:54 +00:00
antonm@google.com
918aab3705
Restore forgotten negation.
...
TBR=podivilov@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10667019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9082 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 18:47:20 +00:00
antonm@google.com
d40b9e584c
Support proper propagation of enabled per context and at runtime attributes.
...
And support enabled per context in native generator.
R=podivilov@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10636027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9072 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 17:58:03 +00:00
antonm@google.com
85a0c9635c
Proper support for IDL arrays in generators.
...
R=podivilov@chromium.org ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10584031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8969 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 10:43:11 +00:00
sra@google.com
8931de0b9d
Fix DataView constructor and byte accessors.
...
Custom constructor is not yet implemented for Dartium.
Try again with Dartium and FF tests suppressed.
Review URL: https://chromiumcodereview.appspot.com//10540175
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8707 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 04:01:40 +00:00
sra@google.com
f13edb18ec
Revert "Fix DataView constructor and byte accessors."
...
Review URL: https://chromiumcodereview.appspot.com//10548065
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8706 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 03:24:23 +00:00
sra@google.com
790589d941
Fix DataView constructor and byte accessors.
...
Custom constructor is not yet implemented for Dartium.
Review URL: https://chromiumcodereview.appspot.com//10539170
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8705 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 03:10:07 +00:00
podivilov@google.com
a93c755ea2
Use original WebKit IDL database for dart:html generation.
...
This will allow us to use the same database to generate both frog and native implementations.
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10542036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8458 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 18:03:10 +00:00
podivilov@google.com
0b807ba37b
Move interface members traverse logic to BaseGenerator.
...
AddMembers(merged_interface) will be used by systemhtml to add
all the members from HTMLElement to Element.
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10532027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8438 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 13:47:01 +00:00
podivilov@google.com
3ace6e9de0
Fix dart to native dispatch.
...
R=antonm@google.com ,sra@google.com
TEST=indexeddb_3_test
Review URL: https://chromiumcodereview.appspot.com//10543023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8341 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 15:12:18 +00:00
podivilov@google.com
c7106faf0c
Map operator [] directly to native implementation.
...
R=antonm@google.com
Review URL: https://chromiumcodereview.appspot.com//10540007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8319 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 09:37:24 +00:00
podivilov@google.com
16391d794c
Implement v8-like overload resolving.
...
This is needed to fix indexeddb_3_test and several bugs related to overload dispatching.
R=antonm@google.com
BUG=3353
TEST=indexeddb_3_test
Review URL: https://chromiumcodereview.appspot.com//10513004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8278 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-05 13:08:16 +00:00
podivilov@google.com
d699e26bae
Move splitting operations with optional arguments to generator.
...
To generate v8-like overload resolver we need original list of overloads.
It is much easier to slit operations in generator where needed than to split
them in databasebuilder and then combine again in generator.
R=antonm@google.com
Review URL: https://chromiumcodereview.appspot.com//10517004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8277 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-05 12:02:53 +00:00
podivilov@google.com
de9c46909b
Cleanup NodeSelectors.
...
Currently, query and queryAll methods generation in dart:html is somehow affected by a combination of the following factors:
1) Document, DocumentFragment, and Element are declared to inherit from NodeSelector interface in dart.idl
2) NodeSelector methods for some of these interfaces are present in_private_html_members, but not all, resulting in generation of $dom_* variants
3) querySelector is renamed to query via _html_library_renames for all interfaces except for Document
4) Some of these methods and their private variants have custom implementations in impl_*.darttemplate's
This patch aims to simplify that logic.
R=jacobr@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10447091
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8240 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 09:34:20 +00:00
sra@google.com
4b4991d659
Revert "Revert "Rework Element constructors""
...
This CL is r8182 plus some other bug fixes to get to green.
The main change is that the first parent of an interface could be a
pure interface. In that case, it should be treated as a secondary parent
interface, not as the primary implementation inheritance parent.
Review URL: https://chromiumcodereview.appspot.com//10443122
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8184 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 07:14:14 +00:00
sra@google.com
b4b0bae90d
Revert "Rework Element constructors"
...
Review URL: https://chromiumcodereview.appspot.com//10451105
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8183 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 04:25:29 +00:00
sra@google.com
3614cf1500
Rework Element constructors
...
It turns out we want different types in the frog vs dartium bodies.
We want the implementation type for frog to help with live type analysis.
We can't use the only slightly less general interface type because the language mandates a warning.
So we now generate the factory constructors for each implementation system rather than once for the interfaces system.
I also extended the mechanism to handle multiple element constructors
and used it to generate HeadingElement.h1() through
HeadingElement.h6()
Review URL: https://chromiumcodereview.appspot.com//10442125
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8182 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 03:44:47 +00:00
podivilov@google.com
aa58f2ceee
Wrapperless dart:html for Dartium.
...
R=antonm@google.com ,sra@google.com ,vsm@google.com
Review URL: https://chromiumcodereview.appspot.com//10456006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8113 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 16:19:05 +00:00
podivilov@google.com
eaef938e51
Fix a bug in overload dispatch.
...
R=sra@google.com ,vsm@google.com
BUG=3261
TEST=html/audiocontext_test
Review URL: https://chromiumcodereview.appspot.com//10451054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8068 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 16:06:36 +00:00
podivilov@google.com
9b936e6283
Native wrappers should implement dart:html interfaces.
...
This is the next step towards wrapperless dart:html.
R=antonm@google.com ,vsm@google.com
Review URL: https://chromiumcodereview.appspot.com//10442057
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8063 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 14:52:26 +00:00
podivilov@google.com
66914f8bd2
Remove unused code and templates.
...
R=antonm@google.com ,vsm@google.com
Review URL: https://chromiumcodereview.appspot.com//10447032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8030 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-28 13:26:37 +00:00
podivilov@google.com
473bedc1ff
Apply html renames to native wrappers.
...
R=antonm@google.com
Review URL: https://chromiumcodereview.appspot.com//10448009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7992 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-25 12:38:23 +00:00
sra@google.com
d64766aa6c
Revert "Revert "Dispatch changes to be more like V8.""
...
This time don't update html_dartium.html
Review URL: https://chromiumcodereview.appspot.com//10446031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7976 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-25 02:12:38 +00:00
sra@google.com
c803857d01
Revert "Dispatch changes to be more like V8."
...
Review URL: https://chromiumcodereview.appspot.com//10449019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7975 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-25 01:55:34 +00:00
sra@google.com
2830a2bba0
Dispatch changes to be more like V8.
...
Overloads are tested in turn, and overloads that differ only by optional arguments are grouped into one native method where possible.
Review URL: https://chromiumcodereview.appspot.com//10387170
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7974 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-25 01:39:43 +00:00
podivilov@google.com
1df52df3ed
Move dart:dom implementation classes to dart:html library.
...
Rename dom implementation classes to _<Interface>DOMImpl to avoid clashes with html
implementation classes, and import dom implementation classes directly into dart:html.
Temporary introduce fake dom interfaces for overload dispatching (dom implementation classes
don't implement html interfaces yet).
R=antonm@google.com
Review URL: https://chromiumcodereview.appspot.com//10383302
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7954 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-24 17:05:23 +00:00
podivilov@google.com
91e5b9d239
Move systems creation to dartdomgenerator.py.
...
Wrapperless htmldartium system should use a database with html renames
for interface generation, and original database for c++ code generation.
This is hard to achieve with current layout because specific knowledge about html/dom
and frog/native is spread between dartdomgenerator and dartgenerator.
This patch moves all system creation logic to dartdomgenerator while dartgenerator
becomes a collection of helper methods for traversing idl database.
R=antonm@google.com ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10392147
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7739 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-18 13:31:39 +00:00
podivilov@google.com
c5a1152664
Move html events generation to domimpl.
...
R=antonm@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10332144
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7692 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-16 15:20:55 +00:00
antonm@google.com
3639e3ab3a
Better support for the case of typed arrays inheriting from other typed arrays.
...
R=podivilov@chromium.org ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10388084
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7580 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-12 08:52:09 +00:00
podivilov@google.com
5ab3ca32ef
Merge wrapping system into native system.
...
R=antonm@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10388085
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7546 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 14:28:20 +00:00
podivilov@google.com
93e5b49bab
Remove ParameterAdapters for bindings classes.
...
R=antonm@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10331015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7325 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 13:45:56 +00:00
antonm@google.com
e46a8f0d96
Properly count number of arguments for statics.
...
R=podivilov@chromium.org
TEST=dom/indexeddb_4_test
Review URL: https://chromiumcodereview.appspot.com//10379010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7324 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 13:44:40 +00:00
antonm@google.com
2806978be7
Rework static method support.
...
For now I just nuke them from all generators except for systemnative.
However, that remove two methods from DOMURL. One of those should probably be a ctor.
The second one is funnier as it looks like legetimate static methods.
R=podivilov@chromium.org ,sra@google.com
Review URL: https://chromiumcodereview.appspot.com//10334003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7320 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 11:05:29 +00:00
podivilov@google.com
4f4665ea97
Cleanup ParameterAdapter for bindings classes.
...
ParameterAdapters should have just one template parameter - Dart bindings class.
R=antonm@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10314005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7271 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 09:12:39 +00:00
antonm@google.com
6f7c53bff4
Remove per interface getter/setter suppressions.
...
R=podivilov@chromium.org
Review URL: https://chromiumcodereview.appspot.com//10134061
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6958 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 17:16:22 +00:00
antonm@google.com
3b27f458fc
Remove FileReader for custom getter suppression list.
...
R=podivilov@chromium.org
BUG=2723
Review URL: https://chromiumcodereview.appspot.com//10174018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6949 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 15:32:23 +00:00