Commit Graph

124 Commits

Author SHA1 Message Date
Terry Lucas edca6169c1 Fixed a number of dart:html P1 issues.
- Fixed HTML API's with callback typedef to correctly convert Dart function to JS function.
- Expose HttpStatus from dart:html
- Expose DomName ondblclick and dblclickEvent for Angular analyzer.
- Fixed removeAll should be Iterable<Object> to match Set's removeAll not Iterable<E>.
- Fixed a number of DataTransferItem, Entry, FileEntry and DiretoryEntry returning NativeJavaScriptObject needed type registered in DDC.
- Added ability to allow local file access from Chrome browser added -local in ddb.

R=vsm@google.com

Fixes #30278
Fixes #35484
Fixes #34318
Fixes #35510

Change-Id: Ide8c04716c54045e837781d489562f27b694b109
Reviewed-on: https://dart-review.googlesource.com/c/89340
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2019-01-15 17:21:50 +00:00
Terry Lucas 490421d166 Fixed Service Workers and any Promise/Future API with a Dictionary parameter.
APIs in dart:html (that take a Dictionary) will receive a Dart Map parameter.  The Map parameter
must be converted to a Dictionary before passing to the browser's API.  Before this change,
any Promise/Future API with a Map/Dictionary parameter never called the Promise and didn't
return a Dart Future - now it does.

This caused a number of breaks especially in Service Workers (register, etc.).  Here is a
complete list of the fixed APIs:

BackgroundFetchManager
    Future<BackgroundFetchRegistration> fetch(String id, Object requests, [Map options])

CacheStorage
    Future match(/*RequestInfo*/ request, [Map options])

CanMakePayment
    Future<List<Client>> matchAll([Map options])

CookieStore
    Future getAll([Map options])
    Future set(String name, String value, [Map options])

CredentialsContainer
    Future get([Map options])
    Future create([Map options])

DirectoryEntry
    Future<Entry> _getDirectory(String path, {Map options})
    Future<Entry> _getFile(String path, {Map options})

ImageCapture
    Future setOptions(Map photoSettings)

MediaCapabilities
    Future<MediaCapabilitiesInfo> decodingInfo(Map configuration)
    Future<MediaCapabilitiesInfo> encodingInfo(Map configuration)

MediaStreamTrack
    Future applyConstraints([Map constraints])

Navigator
    Future requestKeyboardLock([List<String> keyCodes])
    Future requestMidiAccess([Map options])
    Future share([Map data])

OffscreenCanvas
    Future<Blob> convertToBlob([Map options])

PaymentInstruments
    Future set(String instrumentKey, Map details)

Permissions
    Future<PermissionStatus> query(Map permission)
    Future<PermissionStatus> request(Map permissions)
    Future<PermissionStatus> revoke(Map permission)

PushManager
    Future permissionState([Map options])
    Future<PushSubscription> subscribe([Map options])

RtcPeerConnection
    REMOVED:  Future createAnswer([options_OR_successCallback,
                                   RtcPeerConnectionErrorCallback failureCallback,
                                   Map mediaConstraints])
    REMOVED:  Future createOffer([options_OR_successCallback,
                                  RtcPeerConnectionErrorCallback failureCallback,
                                  Map rtcOfferOptions])
    REMOVED:  Future setLocalDescription(Map description, VoidCallback successCallback,
                                         [RtcPeerConnectionErrorCallback failureCallback])
    REMOVED:  Future setLocalDescription(Map description, VoidCallback successCallback,
                                         [RtcPeerConnectionErrorCallback failureCallback])
    Future<RtcSessionDescription> createAnswer([Map options])
    Future<RtcSessionDescription> createOffer([Map options])
    Future setLocalDescription(Map description)
    Future setRemoteDescription(Map description)

ServiceWorkerContainer
    Future<ServiceWorkerRegistration> register(String url, [Map options])

ServiceWorkerRegistration
    Future<List<Notification>> getNotifications([Map filter])
    Future showNotification(String title, [Map options])

VRDevice
    Future requestSession([Map options])
    Future supportsSession([Map options])

VRSession
    Future requestFrameOfReference(String type, [Map options])

Window
    Future fetch(/*RequestInfo*/ input, [Map init])

WorkerGlobalScope
    Future fetch(/*RequestInfo*/ input, [Map init])


In addition, exposed Service Worker "self" as a static getter named "instance".  The
instance is exposed on four different Service Worker classes and can throw a InstanceTypeError
if the instance isn't of the class expected (WorkerGlobalScope.instance will always work
and not throw):

*   SharedWorkerGlobalScope.instance
*   DedicatedWorkerGlobalScope.instance
*   ServiceWorkerGlobalScope.instance
*   WorkerGlobalScope.instance

R=vsm@google.com

Bug: #34202
Change-Id: I641ccbff7cc771465dd32c73db20eba5d6667939
Reviewed-on: https://dart-review.googlesource.com/c/74482
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-10-14 22:48:33 +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 dd8988c9b2 - Moved all WebGL rendering/drawing constants to synthesized class WebGL.
- Removed obsolete Dartium/_blink code.

R=kevmoo@google.com

Change-Id: I81a6f0d5bfe33592ff8ae9c85db9266e898c2861
Reviewed-on: https://dart-review.googlesource.com/60380
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2018-06-15 17:08:54 +00:00
Terry Lucas ef6273cba0 Dart Web Libraries re-generated based on Chrome 63 WebIDLs.
This is a migration of 13 Chrome release about 1.5 years of Chrome releases.
Update PYTHON scripts for cleaner and easier rolling.

Here's a doc on the changes that might affect Dart users:
https://docs.google.com/document/d/1Kj0nk3SueO3JKub8im7z3znu9j5oiI7vf49ejZrMxuE/edit#

Change-Id: I768fbd09b04fe6884af36ac102d5813f67bae426
Reviewed-on: https://dart-review.googlesource.com/24501
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
2018-03-18 09:41:04 +00:00
Terry Lucas d7a8aa155f Fixed a number of File API methods in DDC.
R=vsm@google.com

Change-Id: I77881201f1e89f731476655476eb865e10d581a1
Reviewed-on: https://dart-review.googlesource.com/38164
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-02-05 22:29:00 +00:00
Terry Lucas 476b1e02a9 Updated PYTHON code to correctly generate web_sql and re-wrote/re-enabled async web_sql test.
Also, updated status files to correctly fix failures in FF, IE and removed other spurious status entries.

R=alanknight@google.com,vsm@google.com

Change-Id: Ic965103d892ff4d5d119712e3187e829f57cd022
Reviewed-on: https://dart-review.googlesource.com/31800
Reviewed-by: Terry Lucas <terry@google.com>
2017-12-29 23:51:02 +00:00
Terry Lucas 0af98266ab Revert "Updated PYTHON code to correctly generate web_sql and re-wrote/re-enabled async web_sql test."
This reverts commit 0c8294e4a0.

Bug:
Change-Id: Idb35c64fd5365f2669e8aff45765fed74e0f0766
Reviewed-on: https://dart-review.googlesource.com/31440
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
2017-12-23 01:59:38 +00:00
Terry Lucas 0c8294e4a0 Updated PYTHON code to correctly generate web_sql and re-wrote/re-enabled async web_sql test.
R=alanknight@google.com,vsm@google.com

Change-Id: I80e82f5aaa3c9748740031d8da139f79e2c0ab70
Reviewed-on: https://dart-review.googlesource.com/31080
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Alan Knight <alanknight@google.com>
2017-12-22 22:57:34 +00:00
Terry Lucas 529add3834 DDC fix to expose classes which are only created inside of the browser.
R=vsm@google.com

Change-Id: I27ede73ac84a72ee9b5e8b3b0a706ade82b2aa59
Reviewed-on: https://dart-review.googlesource.com/25500
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2017-12-13 03:03:09 +00: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
Harry Terkelsen 1d749a2fec record that Gamepad.buttons creates GamepadButtons
This also extends the html generator to be able to generate List implementations with nullable element types

Fixes https://github.com/dart-lang/sdk/issues/27073

R=sra@google.com, terry@google.com

Review URL: https://codereview.chromium.org/2242203002 .
2016-08-16 13:56:32 -07:00
Jacob Richman f26e522f84 Strip unused functionality from dart:html and fix strong mode errors. Switch from blacklisting pure interfaces to determining pure interfaces from the idl and whitelisting impure interfaces we need for dart2js.
BUG=
R=alanknight@google.com

Review URL: https://codereview.chromium.org/1987073002 .
2016-05-18 12:49:09 -07:00
Alan Knight 810faa31b9 Don't add a non-null check in dart2js for a nullable parameter (seeWebGl.texImage2D)
BUG=

Review URL: https://codereview.chromium.org/1885943002 .
2016-04-16 16:26:14 -07:00
Alan Knight a718c8dac9 Fix a few strong mode errors in dart:html
BUG=
R=jacobr@google.com

Committed: https://github.com/dart-lang/sdk/commit/65fe0a5383c7d09efb1dd958a7a30ec5c4d1c847

Review URL: https://codereview.chromium.org/1876363006 .
2016-04-13 15:13:31 -07:00
Alan Knight 3fd7e32b65 Revert "Fix a few strong mode errors in dart:html"
This reverts commit 65fe0a5383.

BUG=

Review URL: https://codereview.chromium.org/1879253004 .
2016-04-13 14:56:42 -07:00
Alan Knight 65fe0a5383 Fix a few strong mode errors in dart:html
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/1876363006 .
2016-04-13 14:41:10 -07: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 Lucas e1a33e9981 Moved ChromiumSubscribeUniform to web_gl
Fixed to return null if dictionary returned form blink is null
Cleanup up logging/error reporting

TBR=alanknight@google.com,jacobr@google.com

Committed: https://github.com/dart-lang/sdk/commit/01f6e4ed0f8882001e5a308cc8e36dcb62e9b5bc

Review URL: https://codereview.chromium.org/1752983003 .
2016-03-02 08:15:45 -08:00
Terry Lucas a3350d9b06 Generation of sdk/lib files from 45 roll
TBR=alanknight@google.com,jacobr@google.com

Review URL: https://codereview.chromium.org/1720743005 .
2016-02-22 10:59:12 -08:00
Jacob Richman f478562b0a Dartium 45 roll
R=alanknight@google.com

Review URL: https://codereview.chromium.org/1682783002 .
2016-02-09 10:50:43 -08: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 cec5812335 Fixed Dictionary and Event hookup w/o --gen-interop
TBR=vsm@google.com

Review URL: https://codereview.chromium.org//1233083004 .
2015-07-14 14:18:48 -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
alanknight@google.com 5397482fcc Make dartj2s do type conversions on constructor arguments
BUG=
R=terry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44688 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-25 17:39:49 +00:00
sra@google.com 904433bd7c Revert "Annotate dart:html constructor expressions with precise non-nullable types."
Need to fix some html/element_types_test cases.

TBR=alanknight@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43579 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-07 00:35:32 +00:00
sra@google.com f74e57786d Annotate dart:html constructor expressions with precise non-nullable types.
This addresses issue http://dartbug.com/22264

R=alanknight@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43578 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 23:24:19 +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
vsm@google.com 8a39ccb8df Fix for web_gl statics
This was fixed on trunk / 1.7 separately.  Here's the same for bleeding_edge:

BUG=https://code.google.com/p/dart/issues/detail?id=21173
R=leafp@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41045 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-10 16:40:01 +00:00
terry@google.com 42a229cbb7 Fixed removing of pure interface (implements) operations
Reviewers:vsm@google.com,leafp@google.com

R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40227 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-12 23:50:35 +00:00
vsm@google.com e379d380bc Migrate to Chrome 37 IDL
This enables terry's new scripts with fixes from vsm and leafp (tested in the dartium_integration branch).

R=leafp@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40219 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-12 21:18:06 +00:00
terry@google.com ecceb75d35 Begin hookup of Blink IDL parser for dart:* libraries.
BUG=
R=vsm@google.com

Committed: https://code.google.com/p/dart/source/detail?r=39948

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40026 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-09 13:18:24 +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
terry@google.com ac72bce2f1 "Reverting 39948"
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39999 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 20:58:19 +00:00
terry@google.com cf0c6a3565 Begin hookup of Blink IDL parser for dart:* libraries.
BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39948 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 02:33:50 +00:00
leafp@google.com 445e8fda3d Eliminate the old non blink code paths from idl generation
During the transition to the dart:html dart:blink split, we needed to support generating the old style and the new style.  This CL eliminates the code paths for the old style generation now that they're no longer needed.

BUG=
R=efortuna@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39005 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 20:04:18 +00:00
leafp@google.com a20d4b09d2 Remove dart:blink dependency on dart:html. This CL moves all of the
overload resolution (dependent on dart specific types) over to the
dart:html side, along with the type resolution maps.  This is a first
step to generating dart:blink from the dartium idl.  There is a paired
blink CL which switches the type map lookup from dart:blink to dart:html.

BUG=
R=jacobr@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38993 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 16:12:50 +00:00
leafp@google.com 851e41a408 Fix overloading for IDBDatabase transaction
Use the underlying dart implementation class in overloading resolution
checks, rather than the dart interface which is presented to the
user.  This resolves an issue with IDBDatabase in which DOMStringList
and sequence<DOMString> have the same Dart interface type
(List<String>), even though the underlying implementation types differ
(List<String> vs DomStringList).

BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37883 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-01 17:24:47 +00:00
leafp@google.com 476278985c Refactor dart:_blink into classes to improve startup time.
This CL reduces the snapshot size by about 20% (580kb).

BUG=
R=jacobr@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37189 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-10 17:38:29 +00:00
vsm@google.com b8464a3dde Suppress cloning EventTarget methods in subtypes when using blink
I have an forthcoming Blink CL to safely cast to EventTarget*.

Not sure this is the right path long term.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36166 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-14 13:46:10 +00:00
leafp@google.com d1f0594840 Initial overloading implementation in _blink
BUG=
R=vsm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35662 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-01 22:03:06 +00:00