Commit Graph

59 Commits

Author SHA1 Message Date
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
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
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 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 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
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
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 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
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 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 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
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 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
vsm@google.com 9be4ac00ed Move dart:dom to dart:dom_deprecated
Brian: Can you please look at the editor / dartc changes?

Bob: Can you look at the apidoc changes?

Stephen/Pavel: Can you guys look at the rest?

Pavel: I will update, test, and land your Dartium CL along with this change.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7587 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-13 04:10:43 +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 6f795daf22 Remove overload dispatcher from native html implementation.
R=antonm@chromium.org

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7553 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 16:02:00 +00:00
vsm@google.com bdd5ab5fd8 Minimal fix to get cross frame tests working, take #2.
See patches for minor fixes.

TBR=sra

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7528 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-11 04:26:45 +00:00
vsm@google.com 8dab28a81e Revert "Minimal fix to get cross frame tests working."
A couple more complications than I expected on the dartium side.  I'm
reverting and redoing.

TBR=sra

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7481 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 05:38:36 +00:00
vsm@google.com 5f33455489 Minimal fix to get cross frame tests working.
I'm working on a more general fix that should obsolete this change.

BUG=http://code.google.com/p/dart/issues/detail?id=2774
TEST=cross_frame_test,inner_frame_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7480 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 04:09:12 +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
sra@google.com 149d677ffc Fix for $dom_$dom_svgClassName
Review URL: https://chromiumcodereview.appspot.com//10308002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7213 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 04:27:06 +00:00
vsm@google.com 3e370fe74e Enable html_dartium to be built as part of dartium build
Review URL: https://chromiumcodereview.appspot.com//10126002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6752 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-19 16:52:46 +00:00
vsm@google.com 0bcfad872a Update fremontcut with current chrome feature defines
This will bring dart2js / html up to date with Chrome generated dom.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6714 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-18 22:19:12 +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
jacobr@google.com af8e09788d Fix ApiDoc to work with new dart:html code. Tweak dart:html generator to generate clearer @domName annotations.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6505 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-13 09:27:20 +00:00
jacobr@google.com 5771e2c98d Add touchenter event even though it doesn't have an ontouchenter method in the DOM.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6289 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-06 18:12:35 +00:00
jacobr@google.com 4c1c8becf3 Add back @domName annotations to dart:html
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6248 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-05 21:32:39 +00:00
nweiz@google.com d257b17273 Use a better error message when $!MEMBERS isn't used in a template file.
Review URL: https://chromiumcodereview.appspot.com//9963123

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6157 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-04 00:20:01 +00:00
sra@google.com a0187f8928 Fix for Issue 2399 - broken []= on dartium dart:html typed arrays.
Also fix buggy lastIndexOf and add test.

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6153 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-03 23:38:35 +00:00