Commit Graph

128 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
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
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
antonm@google.com 55e3af5afb Remove SVGViewSpec from pure interface list.
TBR=podivilov@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8111 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 16:14:51 +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
podivilov@google.com aede8eb0d3 Cleanup systemhtml name lists so we can reuse them for generating wrapperless dart:html for Dartium.
R=jacobr@google.com,sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7981 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-25 09:02:56 +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
sra@google.com 88d2555c99 Remove 'native' from ALLSYSTEMS list
Review URL: https://chromiumcodereview.appspot.com//10442021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7964 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-24 22:00:18 +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
sra@google.com 31ab9dec79 Element constructors
Elements with distinct types can now be constructed directly.

Example:
  var div = new DivElement();

There are many elements that cannot be created this way.  For example, the <b>bold</b> element is simply a HTMLElement with styling, not a separate subclass of HTMLElement.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7921 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-23 19:25:17 +00:00
antonm@google.com 70fc748687 Add new event renames.
TBR=podivilov@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7841 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-22 07:00:06 +00:00
podivilov@google.com 61b9b899a3 Fix typo in dartdomgenerator.py.
R=antonm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7796 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-21 12:56:57 +00:00
sra@google.com 89241b6fbf Script to generate some or all systems
I find it essential to generate all the systems in one command.
I have several CLs in flight where I am changing dart:dom and dart:html
together.

My habit is to run:

  ./go.sh | tee Q

I can inspect file Q if needed.

If I know the IDL has not changed, it is 5x faster to run

  ./go.sh --cached

Systems can be picked:

  ./go.sh native,frog

The missing piece here is that files are generated under two directories
lib/dom/generated/
lib/html/generated/

I propose that we move all the generated files under one directory, so
that the following process gives a *complete* picture of the changes:

  git checkout master
  ./go.sh
  mv ../generated ../generated0
  git checkout work
  ./go.sh
  meld ../generated0 ../generated

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7773 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-18 22:26:32 +00:00