Commit graph

44 commits

Author SHA1 Message Date
Peter von der Ahé 1f294cbed0 Fix problem introduced with 043c0096ad.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2931383002 .
2017-06-12 11:22:13 +02:00
Peter von der Ahé 043c0096ad Complain about use before declaration.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2924423003 .
2017-06-10 10:12:18 +02:00
Erik Corry aa6353b6da Dart SDK Spelling b, c, and d.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02:00
Jacob Richman badfd146d2 Fix type error in js_dart2js.dart caught by DDC.
BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2611423002 .
2017-01-09 07:42:49 -08:00
Mohamed Hayibor 5595b9698d Fix typos 'overriden' to 'overridden' and '@mustCall super' to '@mustCallSuper' (#27853)
* fix overriden typos to overridden
* Fix @mustCall super to @mustCallSuper
2016-11-18 09:36:25 -08:00
Jacob Richman 96ca5db7e5 Add JSNative utility class with static methods methods to efficiently manipulate typed JSInterop objects in cases where the member name is not known statically. These methods would be extension methods on JSObject if Dart supported extension methods. Update package js to export these methods. Implement in Dart2JS. Implement JS$ in dart2js.
BUG=
R=alanknight@google.com, sra@google.com

Review URL: https://codereview.chromium.org/2150313003 .
2016-07-25 09:59:01 -07:00
Jacob Richman dead24a756 Make allowInterop a generic method.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2102893002 .
2016-06-29 14:23:37 -07:00
Jacob Richman ff200c11fa Fix bug in allowInteropCaptureThis that caused JavaScript objects to accidentally be wrapped.
Remove spurious call to _convertToJS

BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1412193009 .
2015-10-21 11:12:08 -07:00
Jacob Richman cd2752431e Support user generated custom native JS classes.
BUG=
R=jmesserly@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1318043005 .
2015-10-13 13:15:28 -07:00
Florian Loitsch eb2878c830 dart2js: isExtensible can throw for bad objects.
Guard the call to Object.isExtensible when trying to set a property on JS objects.

R=sra@google.com

Review URL: https://codereview.chromium.org//1364473002 .
2015-09-23 11:41:55 +02:00
Terry L. Lucas 7b322c246c Dartium JS Enabled take 2
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1348173002 .
2015-09-16 07:13:53 -07:00
Terry L. Lucas 09c804aa78 Revert "Dartium JS Interop enabled."
This reverts commit 403bd1698d.

TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1345083002 .
2015-09-15 19:44:26 -07:00
Terry L. Lucas 403bd1698d Dartium JS Interop enabled.
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1349493003 .
2015-09-15 17:36:47 -07:00
Terry L. Lucas 9b0d2582fc Revert "Dartium w/ JsInterop enabled"
This reverts commit 346af54711.

TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1330163010 .
2015-09-09 17:33:24 -07:00
Terry L. Lucas 346af54711 Dartium w/ JsInterop enabled
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1321613005 .
2015-09-09 17:01:40 -07:00
Terry L. Lucas 012c998f64 Revert "Patched in Dartium JsInterop"
This reverts commit 4bb2e617db.

TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1327083002 .
2015-09-08 13:35:03 -07:00
Terry L. Lucas 4bb2e617db Patched in Dartium JsInterop
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1310363006 .
2015-09-08 12:46:41 -07:00
Stephen Adams 4b2d2379cf dart:js - speed up constructor calls with few arguments.
This eliminates the 5x perf hit reported in http://dartbug.com/23514

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1152673003
2015-05-26 15:02:25 -07:00
ahe@google.com 7e2d71a6d5 Avoid throwing exceptions on inter-frame communication.
R=vsm@google.com

Review URL: https://codereview.chromium.org//650093002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41116 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-15 07:37:41 +00:00
sigmund@google.com 86a63cf890 Fix js test for firefox now that null becomes 'null' and not 'undefined'
R=sra@google.com

Review URL: https://codereview.chromium.org//438503003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38821 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-01 02:15:53 +00:00
sigmund@google.com 16f720a4cc Fix inconsistency with null vs undefined in dart:js
BUG=https://code.google.com/p/dart/issues/detail?id=20305
R=sra@google.com

Review URL: https://codereview.chromium.org//437733002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38814 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-01 00:41:03 +00:00
ahe@google.com ecd3ed39ec Use "self" instead of globalThis.
Main benefits:

* Simpler code.

* Smaller generated code (no use of lazy statics).

* One step closer to "use strict" as Primitives.computeGlobalThis() wouldn't work in strict mode.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//345533004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37483 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-19 09:46:32 +00:00
sra@google.com 7a0660513f Ensure JsArray.length returns 'int'
This helps type inference not make pessimistic choices for the List mixins.

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//220723011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34653 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:32:42 +00:00
floitsch@google.com 842be2c90d Use Date.getTime instead of Date.getMilliseconds in dart:js.
BUG= http://dartbug.com/14915
R=kasperl@google.com

Review URL: https://codereview.chromium.org//180723004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33116 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-27 15:13:44 +00:00
jmesserly@google.com 27981cb8b1 remove pkg/browser/lib/interop.js
it's not really needed -- the same functionality can be achieved in dart:js's implementation

R=justinfagnani@google.com

Review URL: https://codereview.chromium.org//164913007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32943 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-21 23:35:10 +00:00
sra@google.com b82877c1dc Redo "Generate isolate affinity tags and use them for dispatch and dart:js"
Review URL: https://codereview.chromium.org//164873005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32685 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-14 02:13:41 +00:00
sra@google.com 6f7219bacf Revert "Generate isolate affinity tags and use them for dispatch and dart:js"
BUG=

Review URL: https://codereview.chromium.org//165293003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32684 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-14 02:08:14 +00:00
sra@google.com f185ca5585 Generate isolate affinity tags and use them for dispatch and dart:js
This CL is intended to replace
https://codereview.chromium.org/160523002/
by keeping the isolate affinity tag generation in one place

R=floitsch@google.com

Review URL: https://codereview.chromium.org//164633002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32683 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-14 01:50:53 +00:00
vegorov@google.com 0b33ed017c Ensure that dart:js does not attempt to load cached proxies from prototypes.
dart:js caches proxies on the object itself thus it must guard loading cached proxy from the object with a hasOwnProperty check.

R=justinfagnani@google.com
BUG=dart:16199

Review URL: https://codereview.chromium.org//138723006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32244 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-03 13:01:27 +00:00
justinfagnani@google.com cc7628704f Don't reuse proxies from other JS contexts
BUG=

Review URL: https://codereview.chromium.org//105893010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31403 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-30 19:28:12 +00:00
justinfagnani@google.com 0dce271821 Add Event, HtmlCollection, NodeList and Window to transferrable types
BUG=

Review URL: https://codereview.chromium.org//46533003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29623 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-31 01:43:38 +00:00
justinfagnani@google.com de3c1d78b0 Fix js_test in dart2js checked mode
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org//51523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29511 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-30 02:21:27 +00:00
amouravski@google.com 60b57c3a38 Update headings to use sentence case.
R=kathyw@google.com

Review URL: https://codereview.chromium.org//51003002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29462 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 17:23:32 +00:00
jacobr@google.com fa8b243f62 Add JsArray
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org//41163005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29393 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-28 20:46:36 +00:00
justinfagnani@google.com 579a6d460e New docs for dart:js
R=kathyw@google.com

Review URL: https://codereview.chromium.org//45303002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29292 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 21:32:40 +00:00
justinfagnani@google.com 45e20b5921 "Fix" dart:js tests in IE9
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org//35173004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29125 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-23 21:12:36 +00:00
jacobr@google.com 5ee178076a A few API changes:
Remove Callback in favor of directly using closures or JsFunction.withThis().
Move jsify() to a named constructor on JsObject.
 - Throw on types other than Map and Iterable.
 - Handle cycles
Add JsObject.fromDartObject() which force a transferrable native to be proxied.

Still to do: Reach a conclusion on Serializable

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org//27514003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28902 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-19 04:36:10 +00:00
justinfagnani@google.com e32d5c24c3 Cleanup JS() expressions.
New Constructor for JsObject that preserves the correct prototype.
Type check user-supplied values that pass through to JS().
Don't call _convertToJs(this)

Based on: https://chromiumcodereview.appspot.com/26092003/

R=ahe@google.com, alexandre.ardhuin@gmail.com

Review URL: https://codereview.chromium.org//26270003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28813 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-17 18:13:40 +00:00
justinfagnani@google.com 03eb80a189 Maintain referential integrity of proxy instances in dart:js
Rename DartProxy to DartObject in JavaScript to be symmetrical with JsObject

R=ahe@google.com, alexandre.ardhuin@gmail.com

Review URL: https://codereview.chromium.org//26092003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28686 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-15 21:43:16 +00:00
justinfagnani@google.com cee2b116ce Revert "Maintain referential integrity of proxy instances in dart:js"
This reverts commit bf87105c535cd2f6fa28904547b4e9f2804bc301.

BUG=

Review URL: https://codereview.chromium.org//26742008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28557 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-11 21:28:15 +00:00
justinfagnani@google.com b2316c569a Maintain referential integrity of proxy instances in dart:js
Rename DartProxy to DartObject in JavaScript to be symmetrical with JsObject

R=ahe@google.com, alexandre.ardhuin@gmail.com

Review URL: https://codereview.chromium.org//26092003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28547 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-11 20:24:18 +00:00
justinfagnani@google.com c282ae9d65 Cache the context proxy. Don't use window for global 'this'.
BUG=
R=ahe@google.com, alexandre.ardhuin@gmail.com, vsm@google.com

Review URL: https://codereview.chromium.org//25138003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28181 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 21:06:57 +00:00
vsm@google.com 71b38e0bbd Workaround for 11854 (broken type check)
This works around the broken type check.

Alexandre: It also works if we use "JsFunction" instead of
"Serializable<JsFunction>" for the type check.  Is there a case where
we have the latter but not the former?

I also put in a status fix / fail for IE10.  That seems to be a
separate issue.

BUG=11849
R=alexandre.ardhuin@gmail.com

Review URL: https://codereview.chromium.org//19387005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25065 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-16 19:55:29 +00:00
vsm@google.com a81a6fcce6 RFC: introduce dart:js
This is a port of js-interop with an optimized dart2js compilation.
It also gets rid of noSuchMethod.
I also made some renamings inspired by https://github.com/dart-lang/js-interop/issues/68

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org//15782009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25018 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-15 19:44:44 +00:00