Commit Graph

50 Commits

Author SHA1 Message Date
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
antonm@google.com 3fa53740a8 Remove now unnecessary custom getter suppressions.
R=podivilov@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6945 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 15:12:35 +00:00
podivilov@google.com 1b33610e67 Do not use overloaded toDartValue for bindings classes.
R=antonm@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6904 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-24 17:39:29 +00:00
podivilov@google.com 44c3346fc4 Support custom to native conversions.
R=antonm@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6898 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-24 16:48:57 +00:00
antonm@google.com 6b91daedad Fix Windows build.
TBR=podivilov@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6835 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-23 10:08:59 +00:00
podivilov@google.com e7f9fbc391 Do not use overloaded toDartValue for primitive types.
R=antonm@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6797 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-20 13:50:48 +00:00
podivilov@google.com 2899757ad2 Move custom to dart conversion logic to IDLTypeInfo implementations.
This change is the first step towards removing overloaded toDartValue.

R=antonm@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6736 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-19 11:45:31 +00:00
podivilov@google.com 1bce834627 Generate proper wrapper types for ActiveDOMObjects.
R=antonm@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6688 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-18 14:17:47 +00:00
sra@google.com 4a81499920 Map IDBAny and IDBKey to Dynamic
Specialize printing of Dynamic depending on context.
Interfaces try to print it as /*IDLType*/ in operation signatures.
Generated C++ is unchanged.

Replace the arg_info tuple with a ParamInfo object.
Rename arg_infos to param_infos.

   void postMessage(Dynamic message, [List messagePorts]);
-> void postMessage(/*SerializedScriptValue*/ message, [List messagePorts]);

   String createObjectURL(var blob_OR_stream);
-> String createObjectURL(blob_OR_stream);

   final Dynamic key;
-> final /*IDBKey*/ key;

   Dynamic strokeStyle;
-> var strokeStyle;

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6665 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-17 23:20:28 +00:00
podivilov@google.com 45f10a7f63 Remove EventListener attributes from Dart DOM API.
All idl interfaces that have EventListener attributes are EventTargets and implement
addEventListener/removeEventListener methods. We can safely drop this JavaScript legacy now.

The changes in dom and html libs are due to interfaces that are now treated as EventTargets
(the list of EventTargets in webkit-supplemental were not full).

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6519 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-13 13:26:49 +00:00
podivilov@google.com 9af05c07ee Auto-generate TimeoutHandler.dart.
R=antonm@chromium.org,sra@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6317 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-09 11:31:08 +00:00
podivilov@google.com 2e9862c927 Add support for DOM node vs DOM object separation.
R=antonm@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6214 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-05 09:30:45 +00:00
dgrove@google.com 7d558789d6 Rename client/{dom,html} to lib/{dom,html} .
Review URL: http://codereview.chromium.org//9845043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5840 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-26 16:29:54 +00:00