Commit Graph

21 Commits

Author SHA1 Message Date
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
Mark Zhou d012dfc7a6 Removing 'webkit' prefix, as most modern web browsers will accept 'RTCPeerConnection'
Fixes #38325

Change-Id: I08589781c8e8647c1e6d403baf4d6106d5308181
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116941
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
Auto-Submit: Mark Zhou <markzipan@google.com>
2019-09-24 00:04:00 +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 7b77fa217b Fixed callbacks typedef to be List instead of a generic typed List.
Fixed getLegacyStats - shouldn't have a JSName annotation.

Fixes #33891

R=sigmund@google.com

Change-Id: Ie9761ad4f3c69fc875cdb1f0d096f48d1528671b
Reviewed-on: https://dart-review.googlesource.com/66400
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-07-24 19:14:08 +00:00
Terry Lucas fd26d67a0b Added getLegacyStats until Chrome fully supports new getStats() API.
TBR=alanknight@google.com

Change-Id: Iea06485fc54cdbcb30f1cc1bf7a10f97335e242a
Reviewed-on: https://dart-review.googlesource.com/63442
Reviewed-by: Alan Knight <alanknight@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-07-02 21:28:48 +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 cf87b84f7d Support Promise to Future for both DDC and dart2js.
APIs in the newer Chrome IDLs support more JS style promises. The Dart web libraries now hookup those promises and return a Dart Future.
Additionally, a new type maplike is exposed in the IDL this is exposed too.

Change-Id: I44175877eb95f4d910586d42c0139fb182483f82
Reviewed-on: https://dart-review.googlesource.com/49800
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-05-23 04:08:14 +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
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
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
blois@google.com 9baacafa7a Making all callbacks use zones (take 2)
Changes: fixed parameter ordering for RTCPeerConnection.getStats and fixed error for StorageInfo.

Revert "Revert "Making all callbacks use zones""

BUG=
R=efortuna@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28674 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-15 19:07:22 +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
efortuna@google.com 87182ddeac Make RTC work on Firefox (mostly).
BUG=
R=blois@google.com, sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23298 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-28 17:55:05 +00:00
amouravski@google.com 98f022a003 First try at removing ? from HTML.
R=blois@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22163 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-30 02:29:32 +00:00
efortuna@google.com b2594b0111 Fix up static analysis errors introduced by Futures CL.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20120 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-15 23:06:10 +00:00
blois@google.com 3dc9e79521 Consolidating platform code into dart:html_common
Basically a number of our platform checks are only accessible from dart:html and not other libs. Moved Device class over to html_common and added more platform logic which was distributed elsewhere.

Also fixing up Device to cache the platform checks.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19833 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-12 00:49:27 +00:00
efortuna@google.com 200870d42d Move RTCPeerConnection to correct location to generate the supported check for
dartium.
Review URL: https://codereview.chromium.org//12224101

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18328 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 19:38:19 +00:00