Commit Graph

745 Commits

Author SHA1 Message Date
Sigmund Cherem 5192cd1008 Narrowing improvements in dart2js global inference.
* no longer narrow by selector use, only narrow by type and non-null
* check for narrow nesting
* add non-null in a couple known places

One large apps, I compared the type-masks in dump-info and all differences were improvements with non-null. We weren't doing any narrowing based on the possible targets of a selector.

Change-Id: I270f360f70fbe3171d09ccd71d10517be9140194
Reviewed-on: https://dart-review.googlesource.com/c/90340
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-02-23 00:10:11 +00:00
Terry Lucas c5cfdc5279 Expose data member 'port' for MessageEvents and automatically pull in markupsafe for go.sh script.
Fixes #35730

R=sigmund@google.com

Change-Id: I91d9622601c99bbbfaad87c24f01db2b26303744
Reviewed-on: https://dart-review.googlesource.com/c/91165
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-27 20:06:58 +00:00
Stephen Adams 6bcb017c56 Fix postmessage to treat it's input as a serializable value
Change-Id: I11744735f5e6d6a5593e6ac3f00d87813577db7e
Reviewed-on: https://dart-review.googlesource.com/c/91141
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-01-25 03:56:06 +00:00
Stephen Adams aeaf82577e dart:html: Add Element.removeAttribute
- Improve `element.attributes.remove(name)` to compile to `element.removeAttribute(name)`.
- Improve `element.getNamespacedAttributes(namespace).remove(name)` to compile to
  `element.removeAttributeNS(namespace, name)`.
- Add removeAttribute[NS].
- Add hasAttriute[NS].
- Assert attribute names are not null to prevent conversion to "null"/"undefined".
- TODO: Assert values are not null to prevent conversion to "null"/"undefined".
- namespaceURI does not need checking since null and undefined map to 'no namespace'.

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

Change-Id: Ie5bee23c88e8fb92f9d46f29fdf4b7f3175a2aa3
Reviewed-on: https://dart-review.googlesource.com/c/90160
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
2019-01-18 19:06:24 +00:00
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 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 6d25212302 getStats Future should be strongly typed.
TBR=kevmoo@google.com

Change-Id: I4c4a6376f84b346e676245e5984136adfe3074aa
Reviewed-on: https://dart-review.googlesource.com/62128
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
2018-06-25 19:25:04 +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 f479435bca - Removed custom handling of fill - it was wrong the method is now overloaded.
- Associate the JS class SpeechSyntesisVoice with the correct Dart class (DDC).
- Top-level querySelectorAll wasn't generic.
- Handle "static" for attributes in the IDLs.

Fixes #33147
Fixes #33178
Fixes #31886
Fixes #20585

R=vsm@google.com

Change-Id: Ic75a2bfc66670b72342269be259408b610547dab
Reviewed-on: https://dart-review.googlesource.com/59240
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-06-15 02:25:13 +00:00
Terry Lucas eea2dff20d Added support for members of type Promise.
Fixes #31046

R=sra@google.com

Change-Id: Id1e8d415b91a842bd8e2f50c6064c24aaaed9d98
Reviewed-on: https://dart-review.googlesource.com/59460
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-06-13 18:20:53 +00:00
Terry Lucas 5ec940a2e0 Updated to expose APIs promiseToFuture calls for users.
Fixes #33226

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

Change-Id: I04995b33e9445d0fcef8d874315f14fd272018d1
Reviewed-on: https://dart-review.googlesource.com/57482
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-06-07 01:40:22 +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 34be5de0c7 Fixed _DomRect class to map to both ClientRect and DOMRect for browser backward compat.
R=sra@google.com,sigmund@google.com

Change-Id: I2f5ccae15bcd993ab1e15ab556a25d6e0cd1d450
Reviewed-on: https://dart-review.googlesource.com/50504
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-04-10 21:18:45 +00:00
Terry Lucas 3e6b8717fe Fixed GamePadList not working in DDC and hide MessagePort.start operation.
Fixes https://github.com/dart-lang/sdk/issues/31029

R=vsm@google.com

Change-Id: I757538eec1ebcf42204e7de0807a48a4757f3faf
Reviewed-on: https://dart-review.googlesource.com/49740
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-04-05 15:13:17 +00:00
Terry Lucas bc75856e54 Update getClientRects, removed xtab, removed bogus entry in dom.json,
expose ServiceWorker, removed query and queryAll from in dart:html,
added constructor to MessageChannel and removed getCssCanvasContext.

Fixed all tests using query and queryAll.

Fixes https://github.com/dart-lang/sdk/issues/25664
Fixes https://github.com/dart-lang/sdk/issues/26349
Fixes https://github.com/dart-lang/sdk/issues/32323
Fixes https://github.com/dart-lang/sdk/issues/32659
Fixes https://github.com/dart-lang/sdk/issues/32675

R=kevmoo@google.com

Change-Id: I687471e80b8fe9c7040673113f424dbaab7c64d4
Reviewed-on: https://dart-review.googlesource.com/48381
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2018-03-27 20:45:33 +00:00
Terry Lucas 581c512345 Fixed DOMRectList not having a prototype field.
TBR=vsm@google.com

Change-Id: I6cbc38bbb2123b914d5b5511774425c403e614ed
Reviewed-on: https://dart-review.googlesource.com/47183
Reviewed-by: Terry Lucas <terry@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-03-20 01:08:47 +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 9f09ef0af3 - Fixed callback signatures with indexed_db open method to expose VersionChangeEvent and
Event type parameters instead of dynamic.
- Fixed missing interceptor in dart2js for MutationEvent (even though its deprecated
and should not be used).  The MutationEvent is created when a node is deleted. Enabled
Dart MutationEvent class generation.
- Fixed/re-enabled all indexed_db tests to run and pass successfully.

Stephen please take a look - target in VersionChangeEvent is a final field, per your suggestion,
instead of a getter.  The MutationEvent is returned in the browser and without the MutationEvent
Dart class the error:

     Uncaught TypeError: t1.get$target is not a function


R=vsm@google.com,gabrielchow@google.com,sra@google.com

Change-Id: Ic36aea8c33b4263a32ff9d047ba3e6b979e03b10
Reviewed-on: https://dart-review.googlesource.com/41569
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-02-23 14:29:45 +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 0a02050867 Fixed DirectoryReader returned from createReader to exist in DDC.
R=vsm@google.com

Change-Id: I6761da70b2f51f235534ee10fa0b7cb7a7a98659
Reviewed-on: https://dart-review.googlesource.com/36020
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-01-19 18:14:05 +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 352f9fd859 Fixed bad indent not flushing emitted files.
Removed Dartium code emission.

TBR: alanknight@google.com,vsm@google.com
Change-Id: Ib027f542b238c90311f6838e67b4b8d27815374c
Reviewed-on: https://dart-review.googlesource.com/3280
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2017-09-05 14:43:08 +00:00
Alan Knight 0700adc633 Fix the go.sh script for a completely new repo.
BUG=

Review-Url: https://codereview.chromium.org/2981193002 .
2017-07-18 13:44:08 -07: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 657daa96a8 First step in removing dartium from IDL generation in TIP of master.
TBR=alanknight@google.com

Review-Url: https://codereview.chromium.org/2982143002 .
2017-07-18 08:40:39 -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
Terry Lucas 1265b4c674 Fixed readPixels not working in Dartium.
BUG=11614
R=alanknight@google.com, jacobr@google.com

Review-Url: https://codereview.chromium.org/2975953002 .
2017-07-11 13:12:51 -07:00
Terry Lucas 8ab1a87aba Typedefs and IDL file order between platforms could generated different files.
TBR=alanknight@google.com,vsm@google.com

Review-Url: https://codereview.chromium.org/2948493002 .
2017-06-18 11:54:29 -07:00
Terry Lucas b3a90540f1 Fix sound not playing in Dartium checked mode.
Checked mode failure with optional args and Promise missing convertNativePromiseToDartFuture calls.
Easiest solution is to emit proper code instead of re-plumbing the Dartium emitter for operations
with optional arguments that are Promises.

https://github.com/dart-lang/sdk/issues/29810

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

Review-Url: https://codereview.chromium.org/2940543002 .
2017-06-12 22:50:12 -07:00
Terry Lucas 3cbacefbe3 Fix HTMLCanvasElement.getContext it can return RenderingContext2 now which will be tree shaken without this annotation.
R=alanknight@google.com,sigmund@google.com

Review-Url: https://codereview.chromium.org/2932793002 .
2017-06-08 20:44:30 -07:00
Alan Knight 6f71f9c80b Revert "[Experiment] Stop suppressing DragEvent"
This reverts commit fbbb974670.

Also updates the cached_patches.dart file.

BUG=
R=terry@google.com

Review-Url: https://codereview.chromium.org/2907563003 .
2017-05-25 11:16:10 -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
Alan Knight fbbb974670 [Experiment] Stop suppressing DragEvent
BUG=
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2898673003 .
2017-05-22 14:10:05 -07:00
Stephen Adams 9c3d439b1e dart2js + html: getBoundingClientRect() returns a ClientRect
Gives better code since the general Rectangle requires getInterceptor
dispatch.

BUG= https://github.com/dart-lang/sdk/issues/29602
R=jacobr@google.com, terry@google.com

Review-Url: https://codereview.chromium.org/2879403002 .
2017-05-16 13:48:04 -07:00
Stephen Adams 89b9c7c8dd html: AudoTrackList is a List
BUG=
R=terry@google.com

Review-Url: https://codereview.chromium.org/2884813002 .
2017-05-15 14:44:35 -07:00
Stephen Adams 01ba5f8d74 fix KeyEvent and KeyboardEvent
Some keyboard specific properties moved in the IDL from UIEvent to
KeyboardEvent.  We has done work to hide them on UIEvent; this needed
to be updated.

TBR=terry@google.com

BUG=

Review-Url: https://codereview.chromium.org/2883623004 .
2017-05-12 16:03:01 -07:00
Stephen Adams ca3d90c4cd Prevent ExtendableMessageEvent.data from thwarting DOM tree-shaking
We can't have the [data] and [source] getters typed as Object.
This causes it to appear that all DOM types are instantiated.

I have modelled the annotations after the same getters from
MessageEvent.

TBR=jacobr@google.com

BUG=

Review-Url: https://codereview.chromium.org/2879763002 .
2017-05-11 19:31:20 -07:00
Stephen Adams 0879884d80 web_audio: rename OfflineAudioContext.suspend
Rename member to avoid warning due to incompatible signature of base class method of same name.

TBR=terry@google.com

BUG=

Review-Url: https://codereview.chromium.org/2872023006 .
2017-05-11 18:05:09 -07:00
Stephen Adams f3734a9fc5 dom: Recognize __getter__ indexers
BUG=
R=alanknight@google.com

Review-Url: https://codereview.chromium.org/2879663002 .
2017-05-11 13:59:41 -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
Alan Knight cedd8a6854 Format dart:html and related generated files on output
BUG=
R=jacobr@google.com, terry@google.com

Review URL: https://codereview.chromium.org/2858323003 .
2017-05-05 10:09:00 -07:00
Stephen Adams ea2c9cba39 dart2js_html: Fix for issue 29538 - some returned lists may be null
Annotate querySelectorAll as not-null to recover code quality.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2857143003 .
2017-05-03 14:26:38 -07: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 119b2d58ce Format all files under tools and utils directory.
BUG=
R=terry@google.com

Review-Url: https://codereview.chromium.org/2827793002 .
2017-04-20 09:08:31 -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