Commit Graph

145 Commits

Author SHA1 Message Date
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
vsm@google.com 8231039baa Roll IDL to multivm@683
TBR=sra

Review URL: https://chromiumcodereview.appspot.com//10769002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9479 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-09 19:42:19 +00:00
podivilov@google.com 25f88de46d _html_library_custom members are only custom in frog.
R=antonm@google.com,sra@google.com

Review URL: https://chromiumcodereview.appspot.com//10700112

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9444 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-06 16:18:44 +00:00
antonm@google.com 8bb6f341f9 Support parsing of constructs like T[]?.
R=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10692109

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9442 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-06 16:04:10 +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
sra@google.com f0df31a05a Remove unnecessary semicolons from Python code.
Review URL: https://chromiumcodereview.appspot.com//10692066

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9316 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 21:39:37 +00:00
sra@google.com 5d7b0b56d0 Omit '= null' as default value in generated dart:html code.
Review URL: https://chromiumcodereview.appspot.com//10698056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9303 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 17:33:44 +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
podivilov@google.com 747ad87c2e Events operator [] shouldn't convert event name to lower case.
R=antonm@google.com

Review URL: https://chromiumcodereview.appspot.com//10445011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9154 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 09:36:56 +00:00
podivilov@google.com 50ab479fb8 Stop using ParameterAdapter<String> in generated code.
R=antonm@google.com

Review URL: https://chromiumcodereview.appspot.com//10657047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9152 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 09:18:54 +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 3a7a240241 Cleanup the code.
R=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10666054

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9118 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 16:11:03 +00:00
podivilov@google.com 1d3895b567 Remove ParameterAdapters for all types except for String.
R=antonm@google.com

Review URL: https://chromiumcodereview.appspot.com//10662047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9113 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 14:36:33 +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
vsm@google.com d2624ab46f Enable cross frame window operations
This should get everything working for dart2js besides the location
and history getters.

BUG=3472
TEST=window_open_test

Review URL: https://chromiumcodereview.appspot.com//10601003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8988 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 16:36:15 +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
antonm@google.com ebc9a1c575 Properly parse IDL arrays.
Arrays, even DOMString[], are not still properly supported in generators
(methods with them are mostly ignored), that'll be fixed later.

R=podivilov@chromium.org,sra@google.com

Review URL: https://chromiumcodereview.appspot.com//10591002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8892 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 09:47:49 +00:00
sra@google.com 9d51dd1661 Use JavaScriptIndexingBehavior on typed arrays.
Review URL: https://chromiumcodereview.appspot.com//10560018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8882 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 00:26:35 +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
sra@google.com e3ce628065 Wrap Location object on Firefox.
This is a fix for Issue 3152.
https://code.google.com/p/dart/issues/detail?id=3152

Review URL: https://chromiumcodereview.appspot.com//10534130

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8635 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-13 23:40:30 +00:00
antonm@google.com eaecc7194e Add new events.
TBR=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10536113

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8524 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 07:22:46 +00:00
sra@google.com e623c9cf5c Put width before height in element constructors.
BUG=3435

Review URL: https://chromiumcodereview.appspot.com//10540110

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8518 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-11 21:44:17 +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 6fef7739c5 Do not merge IDL interfaces in dartdomgenerator.
The merge is irreversible, and shouldn't be done too early.

R=antonm@google.com,sra@google.com

Review URL: https://chromiumcodereview.appspot.com//10541029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8456 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 17:41:37 +00:00
antonm@google.com 7ce9049f3f Support custom constructors with signature declaration.
For now Intent is the only IDL interface which has both CustomConstructor
attribute and singnature for the constructor.  CustomConstructor should
trump the signature.

R=podivilov@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10533064

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8451 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 17:12:14 +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
sra@google.com 161d21ec06 indexedDB work
Make string 'mode' argument to IDBDatabase.transaction work on older browsers.

Make window.indexedDB available.  Does not yet work of Firefox for other
reasons.

Add interface IDBOpenDBRequest.  IDBFactory.open returns this in the most recent spec, and is implemented by Firefox.

Next, I will try to use the new event kinds on IDBOpenDBRequest to get Firefox to open a database.

Review URL: https://chromiumcodereview.appspot.com//10540016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8369 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 23:19:36 +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 6416f7816a Use WebKit IDL syntax for declaring optional parameters in dart.idl.
Using the same syntax everywhere makes generator simpler.

R=antonm@google.com

Review URL: https://chromiumcodereview.appspot.com//10521002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8276 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-05 12:01:29 +00:00
podivilov@google.com c16bbe9f2f Add PositionOptions type to registry.
R=antonm@google.com

Review URL: https://chromiumcodereview.appspot.com//10483004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8242 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 10:24:52 +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