Commit Graph

60 Commits

Author SHA1 Message Date
Srujan Gaddam 9f79dfc37d Address analyzer errors in golden files in dart:html
New analyzer errors are reported for dart:html around nullability.
Non-nullable fields are translated to native getters and setters if part
of a concrete class and normal getters and setters if abstract.

Change-Id: I2fd87803a08872b2a7eae4de0af704f184997c7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137481
Reviewed-by: Stephen Adams <sra@google.com>
2020-02-29 01:29:35 +00:00
Srujan Gaddam 55f4b1294e Change setProperty to take in nullable |value|
IDL allows |value| to be nullable.

Change-Id: I1db4a7929f0a83c4772e1a11384afb70ead53501
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136722
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-02-22 02:22:21 +00:00
Srujan Gaddam a42c072017 Remove unnecessary null check in getPropertyValue
CSSStyleDeclaration.getPropertyValue returns a non-nullable string.
It will also return an empty string if the property is not found. Since
getPropertyValue returns the value of the native getPropertyValue, the
null check should be removed.

Change-Id: I9846553d3f9fcd68cbd15b9c39d2104cab594b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136413
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-02-20 20:49:26 +00:00
Srujan Gaddam dae60008ab DOM script changes to handle nnbd
-Adds field for type nullability for IDL operations
-Adds field for conversions to reflect input and output type nullability
--based on implementation
-Corrects generic object types to include nullability
-Changes 'any' types to dynamics
-Adds nullability to types in various operations
-Converts finals and non-initialized non-nullable fields to getters and
setters
--TODO: convert these to native instead of JS inline
-Modifies nullability for annotations and removes annotations from
setters

Change-Id: Iab19830fd1d7f37b170a4da8672f922c3f9b0863
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132967
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-07 01:05:14 +00:00
Srujan Gaddam 3776313e65 Change dart:html templates to generate null-safe code
Introduces NULLASSERT token and NNBD condition to allow code to
conditionally compile with NNBD.

Change-Id: Ib71e439f32c793e69b66c328cd7c9900358d886e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134045
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-06 23:18:24 +00:00
Srujan Gaddam 7db61c6b01 Changing the dart:html generator scripts to generate null-safe/nnbd code
Change-Id: I4a8b097b126864366076b1e73cf3e0296600380e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128376
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-01-29 00:20:42 +00:00
Terry Lucas 8fedfc7f8c Removed DomName, DosEditable, and experimental annoations they are unused.
R=kevmoo@google.com,vsm@google.com

Fixes #32304

Change-Id: Ia2c8f99f0125c4d4bd0f95a792ff2af8a58e3599
Reviewed-on: https://dart-review.googlesource.com/60400
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2018-06-18 18:48:03 +00:00
Terry Lucas 621b12f324 Removed DARTIUM codegen for IDLS (sdk/lib/dartium)
TBR=alanknight@google.com

Review-Url: https://codereview.chromium.org/2978213002 .
2017-07-18 11:02:02 -07:00
Alan Knight 789de57cdf Allow setting unknown CSS properties, e.g. CSS variables
BUG=
R=terry@google.com

Review-Url: https://codereview.chromium.org/2976213002 .
2017-07-17 14:56:31 -07:00
Alan Knight e6c38ea30f Remove JS_CONST from CssStyleDeclaration, causes DDC problems
BUG=
R=sra@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2896393002 .
2017-05-23 14:48:08 -07:00
Terry Lucas f27144d7b5 Roll 50: Updated for push to origin/master.
TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2875773003 .
2017-05-10 18:16:51 -07:00
Stephen Adams 14c7c3c556 Redo "Refined types for most HtmlElement factory constructors"
Fix: ShadowElement is not always present.

Original:
Committed: https://github.com/dart-lang/sdk/commit/b7b12b564a3e1811ccfca3e28fe30dde685f6633
Reverted:  https://github.com/dart-lang/sdk/commit/963df1e3e1a3bac0013d191d2b02898bbebefa9d

BUG=

Review-Url: https://codereview.chromium.org/2718713003 .
2017-02-24 14:28:58 -08:00
Stephen Adams 963df1e3e1 Revert "Refined types for most HtmlElement factory constructors"
Need to fix ShadowElement

TBR=alanknight@google.com

Review-Url: https://codereview.chromium.org/2710323004 .
2017-02-24 14:15:37 -08:00
Stephen Adams b7b12b564a Refined types for most HtmlElement factory constructors
The body of new DivElement() is marked as returning a DivElement, instead of inferred to return Element.
The more precise receiver type allows svg polyfills to be excluded, allowsing the HtmlElement methods to be identified as the single target and inlined.

This tends to improve the code generated for idioms like

    new DivElement()..classes.add('foo')

    var e1 = new DivElement();
    e1.children.add(e2);

BUG=
R=alanknight@google.com

Review-Url: https://codereview.chromium.org/2705213003 .
2017-02-24 11:23:06 -08:00
Alan Knight 05e80e9cfc Regenerate html files after b42dbe524c
BUG=
R=terry@google.com

Review URL: https://codereview.chromium.org/2670203002 .
2017-02-02 12:54:56 -08:00
Jacob Richman c65854d2e4 Optimize dartium dart:html bindings so real world application performance is acceptable. Improves dart:html performance by 2X-30X for microbenchmarks. Real world improvement is typically 2X-3X.
BUG=

Review URL: https://codereview.chromium.org/1832713002 .
2016-03-29 18:32:52 -07: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
Terry L. Lucas 4947e570d4 Changed to use JSInterop
Review URL: https://codereview.chromium.org//1173403004 .
2015-07-13 12:38:16 -07:00
sra@google.com 0b1fb9cda5 Generate fast-path CssStyleDeclaration properties from browser info
We can tell all our suported browsers have style.backgroundColor so we can avoid the detection and vendor prefix logic.

R=alanknight@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44973 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 16:18:36 +00:00
sra@google.com 9b2d7cae44 CssStyleDeclaration performance work
Cache browser prefix detection to avoid repeated camelCasing.
Remove IE9 compatibility code.

R=alanknight@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44951 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 21:34:20 +00:00
sra@google.com f8fb9710ee Revert trial commit of "CssStyleDeclaration performance work"
If all goes well, will be recommited after code review.

TBR=alanknight@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44932 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 01:52:05 +00:00
sra@google.com 440f677b46 CssStyleDeclaration performance work
Cache browser prefix detection to avoid repeated camelCasing.
Remove IE9 compatibility code.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44931 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 01:22:54 +00:00
leafp@google.com 6de1786199 Arity indexing in dart:blink entry points
This CL replaces type mangling on the blink entry points with arity indexing.  So overloaded methods or methods with optional arguments now dispatch to blink entries specific to their number of arguments (but not their types).  This relies on C++ overload resolution being in place on the blink side (see https://codereview.chromium.org/668733002/).  For the time being, the dart side overload resolution code is left in place.

Resolver strings now have no type or arity info as well.

BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41236 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-21 20:46:55 +00:00
leafp@google.com 8e3aaa4e75 Blink uses types in entry points
This CL changes the way that blink entry points are named to
use the type signature uniformly.  This makes us somewhat
more robust against changes in the idl.

BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40006 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-09 00:17:15 +00:00
efortuna@google.com 43063f3ad8 Do regular expression for camelCase CSS processing in JS.
BUG=
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39018 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 00:50:20 +00:00
efortuna@google.com 672bb377bc Make camelcasing use a regular expression for CSS properties.
BUG=
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39012 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 23:00:52 +00:00
efortuna@google.com b8ab793a1b Reapply 38999. Third time's the charm! The issue was supportsTransitions was a
static method,and with my change I was calling an instance method. I've tested
all of the other html tests (before I was just testing on Dartium).

BUG=
R=leafp@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39003 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 18:36:23 +00:00
efortuna@google.com c8d48f89a9 t cl dcommi# Enter a description of the change.
"Reverting 38998"
TBR
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38999 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 17:50:26 +00:00
efortuna@google.com c7dd285314 Reapplication of revision 38996 (dart side edits to make CSS Properties
accessible with and without prefixes), with the addition of CSSPropertyNames.in
which will be deleted once https://codereview.chromium.org/444453006/
is committed.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38998 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 17:21:06 +00:00
efortuna@google.com ceea5ab278 "Reverting 38996"
TBR because we need CSSPropertyNames.in from DEPS

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38997 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 17:12:12 +00:00
efortuna@google.com 19c379afd9 This is the dart side edits to make this happen.
Fix for https://code.google.com/p/dart/issues/detail?id=19932

BUG=
R=leafp@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38996 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 17:09:40 +00:00
sra@google.com 7516e95066 Redo "Use @Native annotation on dart2js DOM native classes"
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38488 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 04:27:48 +00:00
sra@google.com 9a4f73207e Revert "Use @Native annotation on dart2js DOM native classes"
TBR=blois@google.com

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38486 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 01:44:13 +00:00
sra@google.com 11a19d95be Use @Native annotation on dart2js DOM native classes
This is one of many steps to removing non-standard syntax from the dart2js libraries.

R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38484 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 00:23:17 +00:00
efortuna@google.com ebe987dd84 Have the same behavior for setting a CSS style to null versus empty string in all browsers.
BUG=
R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36888 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-02 18:22:39 +00:00
efortuna@google.com 60c657e9de Add in semicolons in CSSStyleDeclaration change!
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36847 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-30 22:38:01 +00:00
efortuna@google.com 4b74a83d64 Updated flex CSS prefix for Firefox.
Fix for https://code.google.com/p/dart/issues/detail?id=15759

BUG=
R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36845 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-30 22:30:42 +00:00
efortuna@google.com 65145338e7 Allow "bulk editing" of the CssStyleDeclaration objects in an ElementList as
well.

BUG=
R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25623 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 16:55:23 +00:00
efortuna@google.com 8c07849c11 Only Firefox needs the vendor prefix. All other browsers have both (webkit browsers) or the unprefixed (IE).
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25243 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 20:50:18 +00:00
efortuna@google.com ffd476be53 Reapply Box Model convenience classes
BUG=
R=jmesserly@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25235 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 19:46:36 +00:00
blois@google.com 9dd81d94a7 Fixing up DOM constructors.
This is a continuation of https://codereview.chromium.org/17063007/

Basically I changed it so factory constructors are only added if the class derives from a native type. Otherwise the native type now extends Interceptor.

BUG=
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24619 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-29 00:14:23 +00:00
blois@google.com 6b44f65407 Revert "Making all DOM types abstract and removing superfluous Dartium constructors."
This reverts commit http://code.google.com/p/dart/source/detail?r=24241.

Compiler error, not sure of best fix.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24245 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 19:37:47 +00:00
blois@google.com c3547d4e9b Making all DOM types abstract and removing superfluous Dartium constructors.
Adding factory constructors to all classes to suppress missing generative constructor warnings.

Adding a throw to Dartium's base DOM class to prevent construction of native objects.

This also includes the changes necessary to make all DOM types abstract, but I'm running into a dart2js issue which is preventing that.
BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24241 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 17:31:36 +00:00
blois@google.com 5bbd582932 Fixing some of the tests disabled from the chrome IDL roll.
Basically some native constructors were added which are not yet cross-platform, so skipping them for now.
BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23564 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-03 20:10:48 +00:00