Commit graph

8029 commits

Author SHA1 Message Date
Florian Loitsch 7fa4496e51 Add documentation for mutating operations of unmodifiable maps.
Simply states that the operation is not supported.

Fixed #28918
BUG= http://dartbug.com/28918
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2722613004 .
2017-02-28 14:41:38 +01:00
Lasse R.H. Nielsen 804f3dfdd8 Update documentation of Object.hashCode.
Fixes #28844

BUG= http://dartbug.com/28844
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2708233003 .
2017-02-28 11:48:40 +01:00
Stephen Adams 14c7c3c556 Redo "Refined types for most HtmlElement factory constructors"
Fix: ShadowElement is not always present.

Original:
Committed: b7b12b564a
Reverted:  963df1e3e1

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
Florian Loitsch fb003ef3cb Fix typo in comment.
Review-Url: https://codereview.chromium.org/2715683002 .
2017-02-23 14:00:16 +01:00
Florian Loitsch 6cf3c51414 Better comment for embedded names.
Review-Url: https://codereview.chromium.org/2712953002 .
2017-02-23 13:52:25 +01:00
Florian Loitsch 5de7bb5782 Don't use magic strings/properties to communicate between compiler and runtime.
R=sra@google.com

Review-Url: https://codereview.chromium.org/2700053003 .
2017-02-22 18:32:23 +01:00
Florian Loitsch 1213f20e4b Update utf8 codec.decode comments.
Fixes #28834
BUG= http://dartbug.com/28834

Review-Url: https://codereview.chromium.org/2714483002 .
2017-02-22 13:20:19 +01:00
Zach Anderson a18a8ae8ef [dart:io][windows] Fix analyzer warning for last commit
Review-Url: https://codereview.chromium.org/2708343002 .
2017-02-21 23:25:59 -08:00
Zach Anderson bc07953866 [dart:io][windows] Make unicode characters display correctly.
This change has two pieces.
- Set the console code page to UTF8.
  - This makes strings printed with print() display correctly
- Set the file translation mode to _O_WTEXT when writing to a
  stdout or stderr that is connected to a console.
  - This makes strings printed with e.g. stdout.writeln()
    display correctly.

fixes #28571

R=asiva@google.com, fschneider@google.com

Review-Url: https://codereview.chromium.org/2698813002 .
2017-02-21 22:47:03 -08:00
Peter von der Ahé b13b8d872a Add YAML file with VM patch file information.
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2698003003 .
2017-02-21 13:56:28 +01:00
Jens Johansen 5cd765ba4d Close receive port on error to avoid hanging forever
Closes https://github.com/dart-lang/sdk/issues/28789

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2703133004 .
2017-02-21 11:05:51 +01:00
Florian Loitsch 1f1a212fe6 Improve documentation for utf8 decoder (and BOMs).
Fixes #28834
BUG= http://dartbug.com/28834
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2707893002 .
2017-02-20 12:40:47 +01:00
Peter von der Ahé 00bed94e0c Fix various nits in VM patch files.
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2705593002 .
2017-02-17 16:28:57 +01:00
Lasse R.H. Nielsen d26132d119 Move methods from internal.Lists that are not used, or only used once.
Remove the class (actually move it to the VM-only dart:_internal patch, because the VM code depends on recognizing the Lists.copy method).

R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2685783009 .
2017-02-17 12:25:26 +01:00
Lasse R.H. Nielsen dccdd1b981 Normalize UriData.parse result.
Validates base64 encoding, normalizes padding.
Normalizes non-base64 data using URI percent-escapes for all invalid characters.

Fixes issue #28728, #28700
BUG= http://dartbug.com/28728 http://dartbug.com/28700
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2694373003 .
2017-02-17 11:02:38 +01:00
Lasse R.H. Nielsen 83274fb65a Use FutureOr in future_impl.dart.
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2694243004 .
2017-02-17 10:22:47 +01:00
Konstantin Shcheglov b7f17423da Revert "Revert "Reapply "Switch to the new analysis driver in analyzer_cli."""
This reverts commit 64df435361.

Originally landed as cda7520e5c
No new changes.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2698263002 .
2017-02-16 09:43:31 -08:00
Sergey G. Grekhov 9afdbfdca0 JsonEncoder documentation updated (Maps limitation for default encoder added) (#28787)
Thanks!
2017-02-16 09:13:10 +01:00
Zach Anderson 64df435361 Revert "Reapply "Switch to the new analysis driver in analyzer_cli.""
This reverts commit 623d2868a9.

Review-Url: https://codereview.chromium.org/2692073004 .
2017-02-14 15:21:53 -08:00
Konstantin Shcheglov 623d2868a9 Reapply "Switch to the new analysis driver in analyzer_cli."
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2696083002 .
2017-02-14 14:41:42 -08:00
Konstantin Shcheglov e97042bec3 Revert "Switch to the new analysis driver in analyzer_cli."
This reverts commit cda7520e5c.

There is a couple of integration tests for embedder analyzer_cli which
are failing, and I cannot find the solution quickly.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2695823005 .
2017-02-14 12:35:46 -08:00
Konstantin Shcheglov cda7520e5c Switch to the new analysis driver in analyzer_cli.
Our internal users use the new analysis driver, and we're enabling it
for everyone in 1.23, AFAIK.

We disable using the file system byte store during internal testing
because we don't want accidentally change analyzer code, run tests
and get all green only because we forgot to update DATA_VERSION.

R=brianwilkerson@google.com, whesse@google.com
BUG=

Review-Url: https://codereview.chromium.org/2694083002 .
2017-02-14 09:04:26 -08:00
Ben Konyi 39f80e42e0 Corrected spelling mistake from "happend" to "happen" throughout multiple files.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2688943002 .
2017-02-10 12:52:42 -08:00
Zach Anderson 8a9a98073f [dart:io] flush() stdin before close()ing
Calls to close() on an IOSink do not imply that writes buffered by the
underlying StreamConsumer have been flushed. This CL adds a note
indicating this to the IOSink docs, and adds calls to flush() before
calls to close() for some calls to stdin.close() for spawned
processes in our tests.

related #28737

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2687963003 .
2017-02-10 09:55:16 -08:00
Zachary Anderson 3f5458cdcb [dart:io] Adds functions to set file access and modification time
fixes #27877

R=asiva@google.com, floitsch@google.com

Review-Url: https://codereview.chromium.org/2681683005 .
2017-02-09 09:45:25 -08:00
Sigmund Cherem ac6bf5926f Temporarily allow to import dart:io in client apps.
Disclaimer: I am not in favor of this approach, but it appears to be the least
worst option at the time.

Reach out to kevmoo@ or dgrove@ for details.

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

Review-Url: https://codereview.chromium.org/2675023002 .
2017-02-07 14:02:04 -08:00
Florian Schneider fbd281c64a Document Windows-specific behavior of lineMode and echoMode.
See also the documentation of SetConsoleMode: https://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx

Closes #28599.

R=lrn@google.com

Review-Url: https://codereview.chromium.org/2680093002 .
2017-02-07 13:29:33 -08:00
Lasse R.H. Nielsen d4a1e06892 Update URI related documentation and examples.
Adds a test for all the examples.

Fixes issues: #28659, #28660, #28661

BUG= http://dartbug.com/28659, http://dartbug.com/28660, http://dartbug.com/28661
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2679933002 .
2017-02-07 11:54:28 +01:00
Alan Knight de05077537 Revert "Add Selection.toString() calling the native method"
This reverts commit 01e6e00499.

BUG=

Review URL: https://codereview.chromium.org/2678593002 .
2017-02-03 17:02:06 -08:00
Alan Knight b1552f9ef9 Revert "Re-submit Range.toString() and test status changes"
This reverts commit 95d409e3ed.

BUG=

Review URL: https://codereview.chromium.org/2678543002 .
2017-02-03 13:05:18 -08:00
Alan Knight 01e6e00499 Add Selection.toString() calling the native method
BUG=
R=terry@google.com

Review URL: https://codereview.chromium.org/2669103003 .
2017-02-03 10:24:18 -08:00
Alan Knight 95d409e3ed Re-submit Range.toString() and test status changes
https://codereview.chromium.org/2632363002
https://github.com/dart-lang/sdk/pull/28376

R=whesse@google.com

Review URL: https://codereview.chromium.org/2672843003 .
2017-02-03 09:55:59 -08:00
Lasse R.H. Nielsen b83cabe79c Improve wording of Isolate.resume documentation.
Addresses comment on issue #28002.
BUG= http://dartbug.com/28002
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2676793002 .
2017-02-03 12:40:28 +01:00
Lasse Reichstein Holst Nielsen c41ae15713 Specify FutureOr.
R=eernst@google.com, floitsch@google.com

Review-Url: https://codereview.chromium.org/2664263002 .
2017-02-03 08:02:09 +01: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
Anatoly Pulyaevskiy b27f5f9100 StreamIterator docs update with pause/resume behavior (#28554)
* Added clarification to StreamIterator docs on when stream is paused and resumed

* Updated documentation about pause behaviour in StreamIterator
2017-02-02 09:01:54 +01:00
Vyacheslav Egorov c47aa1f1cc IO: Fix FileSystemEntity.get:parent comment.
It claimed that `dir.parent` returns `dir` if `dir` is a root directory.

However in reality it always returned a new directory object.

R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2668653002 .
2017-01-31 11:23:56 +01:00
Jacob Richman ac5a77e3a1 Optimize StackTrace.current Eliminate redundant call to captureStackTrace and compute the stack trace without throwing an exception on more browsers.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2667813002 .
2017-01-30 15:46:25 -08:00
Lasse R.H. Nielsen dd561d513b Add Uri.isScheme test function.
Allows checking the scheme of a URI against a known value.
Example: `uri.isScheme("http")`.
Has two advantages over `uri.scheme == "http"`:
* It's case insensitive, so you can do `uri.isScheme("HTTP")` as well, and
* for simple URIs, it doesn't need to allocate a new string.

R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2664453003 .
2017-01-30 13:26:39 +01:00
Lasse R.H. Nielsen b291f479bd Update documentation on Isolate.removeOnExitListener and others.
Fixes issue #28535
BUG= http://dartbug.com/28535
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2659873002 .
2017-01-30 13:08:33 +01:00
Florian Loitsch 0f49a4b565 Add a generic type to Future.forEach.
Fixes #28494
BUG= http://dartbug.com/28494
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2657563003 .
2017-01-30 10:41:49 +01:00
Jennifer Messerly 0e00b3e5c8 fix #28008, fix #28009 implement FutureOr<T>
This implements FutureOr<T> in strong mode, otherwise it's ignored (treated as `dynamic`.

Also fixes strong mode's inference subtype function incorrectly treating `void` as a malformed type. This had the consequence of allowing `void` to be inferred as a type argument.

R=leafp@google.com, paulberry@google.com

Review-Url: https://codereview.chromium.org/2647833002 .
2017-01-25 15:32:57 -08:00
Kevin Moore 1e8558a3a6 fix spelling in core libraries
Fixes https://github.com/dart-lang/sdk/issues/28490

R=dgrove@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2655883002 .
2017-01-25 09:36:55 -08:00
keertip 1d6bd5255d Revert "Make HTTP headers use a growing buffer, not a fixed-size 8K one."
This reverts commit 5119795422.

BUG=
R=dgrove@google.com

Review-Url: https://codereview.chromium.org/2650583005 .
2017-01-23 14:57:27 -08:00
Stephen Adams 8afc578264 js_runtime: help type inference of string replace
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2648653005 .
2017-01-23 13:38:42 -08:00
Benjamin Dopplinger bf5597c95a Fix "classs" typos (#28469) 2017-01-23 17:00:24 +01:00
Lasse R.H. Nielsen fb7553c1bd Add offset to UTF8-decode format exceptions.
Fixes issue #28293

BUG= http://dartbug.com/28293
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2619793002 .
2017-01-23 14:18:40 +01:00
Benjamin Dopplinger 0c7254a25d Fix typo in doc (#28470) 2017-01-23 12:17:19 +01:00
Stephen Adams 893e2696fa Tweak runtimeTypeToString for better return type inference
BUG=
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2642823010 .
2017-01-20 13:23:39 -08:00
Stephen Adams 9a2636f99f dart2js: Move lowering of identical(a, b) from builder to optimizer
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2645973003 .
2017-01-19 17:30:39 -08:00
Florian Loitsch d04345992e Update List.setRange comment.
Review-Url: https://codereview.chromium.org/2640963006 .
2017-01-19 13:30:54 +01:00
Stephen Adams fdbc6688f1 dart2js: Make .runtimeType work for tear-off closures
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2639733004 .
2017-01-18 17:41:48 -08:00
Florian Loitsch 626cd0a4d4 Update String.replaceFirstMapped.
Fixes #28311
BUG= http://dartbug.com/28311
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2637103002 .
2017-01-18 13:55:11 +01:00
Florian Loitsch c2096b8bf9 Improve range-operation documentation for lists.
Fixes #26332
BUG= http://dartbug.com/26332
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2632393003 .
2017-01-18 13:54:25 +01:00
Florian Loitsch 70a44b7f60 Update isolate documentation for addOnExitListener and ping.
Fixes #28094
BUG= http://dartbug.com/28094
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2634353002 .
2017-01-18 11:32:31 +01:00
Asger Feldthaus 8701dbf147 Revert "added Range.toString() to dart:html (#28376)" +1 more
Revert "dart2js status updates after Range.toString was added to dart:html"

This reverts commit 226a7e7177.
This reverts commit c279a951f4.

The test

  co19/LayoutTests/fast/filesystem/file-writer-abort-continue_t01

broke after the inital commit. The second commit being reverted
is one that updated the status files for tests that now pass.

BUG=
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2635033004 .
2017-01-17 17:21:46 +01:00
Lasse R.H. Nielsen dab2d0efb8 Fix invalid URIs generated using Uri constructor with clever paths.
Fixes issue #28359
BUG= http://dartbug.com/28359
R=floitsch@google.com

Committed: d3a839fb84
Review-Url: https://codereview.chromium.org/2626013004 .
2017-01-16 09:16:06 +01:00
Lex Berezhny 226a7e7177 added Range.toString() to dart:html (#28376)
* added Range.toString() to dart:html

* added Range.toString to impl_range.darttemplate as well
2017-01-13 14:13:07 -08:00
Zachary Anderson 6f9dcaff9d Fuchsia: Disable service origin check. Bind service to all interfaces.
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2626043006 .
2017-01-13 12:27:17 -08:00
Lasse R.H. Nielsen 5119795422 Make HTTP headers use a growing buffer, not a fixed-size 8K one.
Issue #28251

BUG= http://dartbug.com/28251
R=sgjesse@google.com

Review-Url: https://codereview.chromium.org/2618523005 .
2017-01-13 10:12:19 +01:00
Lasse R.H. Nielsen d3a839fb84 Fix invalid URIs generated using Uri constructor with clever paths.
Fixes issue #28359
BUG= http://dartbug.com/28359
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2626013004 .
2017-01-13 09:38:07 +01:00
Lasse R.H. Nielsen d0624a3815 Small fix to MappedListIterable
No need to implement EfficientLengthIterable, it's inherited from ListIterable.

R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2621273002 .
2017-01-11 14:04:44 +01:00
Stephen Adams 499248e4e4 Fix for 27467 - dart2js error with re-entrant static initializer
BUG=
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2620123002 .
2017-01-10 14:57:26 -08:00
Terry Lucas 4b497fb319 Fixed checked mode error for resolvePackageUri.
TBR=asiva@google.com

Review-Url: https://codereview.chromium.org/2626643003 .
2017-01-10 09:00:16 -08:00
Terry Lucas 559ae993d1 Added VMLibraryHooks setup for Dartium to support resolvePackageUri.
BUG=25594
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2611353002 .
2017-01-10 07:25:10 -08:00
Florian Loitsch 2547caab25 Reapply "reflectType() dynamic type arguments support (#26012)"
This was a pull request: 8a8033a417

MirrorsUsed doesn't transitively include reflective information. However, it must still be able to create TypeMirrors for types that are used as return- or parameter types.

Initially, the patch checked that TypeMirrors had the correct number of arguments for generic types. This is now disabled.

A better approach would be to know if a class has full reflective information, or not. But this would require much bigger changes to the system.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2615943004 .
2017-01-10 15:53:21 +01:00
Lasse Reichstein Holst Nielsen 2384232a08 Fix typo in padLeft/padRight documentation.
Fixes issue #28298
BUG= http://dartbug.com/28298
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2621563004 .
2017-01-10 07:54:05 +01:00
Stephen Adams e9ea8e4d87 dart2js-kernel: handle top-level / static unresolved methods / getters / setters
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2621433002 .
2017-01-09 14:23:44 -08: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
Leaf Petersen 7ab0daeedf Make EventStreamSubscription DDC safe.
EventStreamSubscription.listen does a cast which is only working in
DDC because we're ignoring the failure.  This wraps the listener to
check the argument rather than casting the function.  Also picks up a
few misc changes to the main SDK that hadn't been merged into DDC.

BUG=
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2609633002 .
2017-01-09 04:13:36 -08:00
Asger Feldthaus 6bae3151e2 Revert "reflectType() dynamic type arguments support (#26012)"
This reverts commit 8a8033a417.

There are a bunch of dart2js mirror tests that fail.

Issue https://github.com/dart-lang/sdk/pull/26012

BUG=

Review-Url: https://codereview.chromium.org/2617163002 .
2017-01-06 19:12:27 +01:00
Anatoly Pulyaevskiy 8a8033a417 reflectType() dynamic type arguments support (#26012)
* Basic implementation of reflecting generic types using dynamic list of type arguments

* Removed redundant expectation in test

* Added basic support for dynamic type arguments in reflectType of js_mirrors

* Fixes according to code review comments: major cleanup, added more test cases and updated docs

* Updated JS mirrors reflectType() to match behavior of VM implementation

* Terminate exception messages with a dot; Improved error handling for empty argument list and type checks;

* Use NumTypeParameters when checking provided argument list size

* Check if type arguments are malbounded; added test cases for typedefs and mixins

* Uncommented a test case

* Updated lib.status to mark some tests as failing in dart2js due to limitations in JS mirrors

* Fixed mixin test mock definition; updated configuration for tests requiring checked mode

* Handle nested generic types in type argument parsing (JS)
2017-01-06 06:05:14 -08:00
Kevin Millikin 50348f5f22 Fixes to patch files necessary to use the analyzer
The analyzer has a stricter patch parser than the VM.  Patch files
cannot change signatures of patched members.  Specifically, they cannot
change:

  - the return type
  - a parameter's name
  - a parameter to an initializing formal
  - an optional parameter's default value

BUG=
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2612043002 .
2017-01-05 12:23:51 +01:00
Johnni Winther 72e3e0c006 Support generic methods in reflection.
Closes #28240

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2613433002 .
2017-01-04 10:32:19 +01:00
Stephen Adams 20a9824605 Force inlining for _ElementCssClassSet.add() / .remove()
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2614593002 .
2017-01-03 17:23:00 -08:00
Lasse R.H. Nielsen 44594277e1 Make core libraries use generic method syntax.
Removes comment syntax where possible for the following platform libraries:
* async
* collection
* convert
* core
* internal
* io
* math

The HTML related libraries are not changed. The templates used to build them
must be changed as well.

R=floitsch@google.com

Committed: 68818315b5
Committed: 3f74b8d82e
Review-Url: https://codereview.chromium.org/2529393002 .
2017-01-03 12:05:40 +01:00
Emily Fortuna 8d8f0c5578 Remove checked mode addition to sdk/bin/dart2js.
BUG=

Review-Url: https://codereview.chromium.org/2608803003 .
2016-12-29 15:46:33 -08:00
Emily Fortuna 9b7247e071 Some constructor quick fixes: implement redirecting constructors, work with finding default constructors (!).
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2607013003 .
2016-12-29 15:43:21 -08:00
Sigmund Cherem 7c3c297a8a dart2js rti fix: functions are subtypes of Object
closes https://github.com/dart-lang/sdk/issues/28045

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2599073002 .
2016-12-22 11:16:13 -08:00
Johnni Winther f6b5361adb Support for Null as bottom in dart2js
Closes #28026

R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2595363002 .
2016-12-22 15:01:33 +01:00
Kasper Lund 64a0188ac3 Revert "Runtime support for Null as any in dart2js".
This caused failures on vm-kernel* and vm-precomp* bots.

This reverts commit 0a1ed5fab4.

TBR'ed.

R=johnniwinther@google.com
BUG=

Review-Url: https://codereview.chromium.org/2597943002 .
2016-12-22 09:29:17 +01:00
Jacob Richman 3659aaf181 Fix bug in Blob creation from workers.
Fixes https://github.com/dart-lang/sdk/issues/28155

BUG=

Review-Url: https://codereview.chromium.org/2592813003 .
2016-12-21 08:45:48 -08:00
Johnni Winther 0a1ed5fab4 Runtime support for Null as any in dart2js
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2587343006 .
2016-12-21 14:59:09 +01:00
Florian Loitsch 82caf1d95d Improve documentation for Isolate.kill.
Fixes #28132
BUG= http://dartbug.com/28132
R=lrn@google.com

Review-Url: https://codereview.chromium.org/2596443002 .
2016-12-20 20:26:36 +01:00
Florian Loitsch 0184f36756 Fix typo in documentation.
Fixes #28095
BUG= http://dartbug.com/28095

Review-Url: https://codereview.chromium.org/2596453002 .
2016-12-20 16:10:12 +01:00
Jacob Richman 7f26211c26 Correct handling of cross-frame functions in ddc.
Misc fixes of dart:js support on ddc.
Work around issue with Blob constructor on ddc.
Fix incorrect dart:js test on dart2js (fixes https://github.com/dart-lang/sdk/issues/26197)

BUG=
R=alanknight@google.com, leafp@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2587203002 .
2016-12-19 15:00:55 -08:00
Zach Anderson 9506cb9975 Error checking for Stdio calls
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2585443002 .
2016-12-15 11:12:42 -08:00
Kevin Millikin 9ab1f22b41 Make some VM libraries patch cleanly using the analyzer.
Modify the following VM dart: library patches: collection, convert,
developer, _internal, isolate, math, mirrors, profiler, vmservice_io,
_vmservice, _builtin, nativewrappers, and io.

The modifications are mostly because:

    - Patches should not be able to introduce new public members to a
      library's API.  In cases where the VM's patches introduce public
      members, the patches are rewritten to introduce private members
      instead.

    - Patches should not be able to replace arbitrary members, only
      ones declared external.  In cases where the VM's patches replace
      arbitrary members, those members are declared external in the
      SDK sources and dart2js's patch files are rewritten to use the
      original SDK implementation.

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2564383002 .
2016-12-15 11:30:20 +01:00
Kevin Millikin f7b6f0cf1c Make the VM's dart:core and dart:async library patches clean.
Clean up the VM's dart:core and dart:async library patches so that
they are clean according to the patching rules implemented in the
analyzer.  Specifically:

  - If a member is patched in a patch file, it must be declared external
    in the SDK.

  - If a member is introduced in a patch file, it must be private.

  - A non-private superclass member cannot be overridden in a patch
    file.

BUG=
R=lrn@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2563633002 .
2016-12-15 10:10:09 +01:00
Harry Terkelsen 4b840f2d13 fix assert with message
Fixes https://github.com/dart-lang/sdk/issues/28106

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2576113002 .
2016-12-14 15:51:49 -08:00
Matthias Hausner 2c0b605a96 Add optional message argument to assert statements in the VM.
Add flag --assert-message to control the feature.

BUG=#24215
R=regis@google.com

Review-Url: https://codereview.chromium.org/2574003003 .
2016-12-14 11:05:19 -08:00
Lasse Reichstein Holst Nielsen 3f74b8d82e Make core libraries use generic method syntax.
Removes comment syntax where possible for the following platform libraries:
* async
* collection
* convert
* core
* internal
* io
* math

The HTML related libraries are not changed. The templates used to build them
must be changed as well.

R=floitsch@google.com

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

Committed: 68818315b5
2016-12-14 12:24:36 +01:00
Lasse Reichstein Holst Nielsen 68818315b5 Make core libraries use generic method syntax.
Removes comment syntax where possible for the following platform libraries:
* async
* collection
* convert
* core
* internal
* io
* math

The HTML related libraries are not changed. The templates used to build them
must be changed as well.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2529393002 .
2016-12-14 11:32:16 +01:00
Florian Loitsch 7ee023d2ed Improve document for HashSet.
See #28083 (http://dartbug.com/28083)

R=lrn@google.com

Review-Url: https://codereview.chromium.org/2567393002 .
2016-12-13 15:08:58 +01:00
Johnni Winther d4c9dc92e1 Fix rti encoding of generic methods
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2565413002 .
2016-12-13 10:27:59 +01:00
Florian Loitsch 6a966d2914 Add FutureOr<T> class to dart:async.
`FutureOr<T>` is a magical class, but having a concrete implementation
makes it easier for many tools (like dartdoc, code navigation, ...) to
deal with it.

Fixes #28029
BUG= http://dartbug.com/28029
R=lrn@google.com

Review URL: https://codereview.chromium.org/2562703002 .
2016-12-12 14:05:48 +01:00
Matthias Hausner 156fdef01d Revert "Add optional message argument to assert statements in the VM."
This reverts commit 67e83dd79d.

BUG=

Review-Url: https://codereview.chromium.org/2558993005 .
2016-12-09 09:50:27 -08:00
Matthias Hausner 67e83dd79d Add optional message argument to assert statements in the VM.
Add flag --assert-message to control the feature.

Fixes issue #24215
BUG= http://dartbug.com/24215

This replaces Lasse’s CL  1307363005

patch from issue 1307363005 at patchset 140001 (http://crrev.com/1307363005#ps140001)

R=lrn@google.com

Review-Url: https://codereview.chromium.org/2564623003 .
2016-12-09 09:25:58 -08:00
Lasse R.H. Nielsen b82e581d33 Improve documentation of Isolate.current.
And fix typo in num.==.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2560703003 .
2016-12-09 13:02:56 +01:00
Lasse R.H. Nielsen 283bba0944 Revert "Let Isolate.errors close on isolate exit."
This reverts commit aeb544351e.

Wasn't ready for landing yet, and triggers bug in VM.

Review URL: https://codereview.chromium.org/2563723003 .
2016-12-09 13:02:20 +01:00
Lasse R.H. Nielsen aeb544351e Let Isolate.errors close on isolate exit.
It's not perfect because it won't catch an isolate exit that happens while nobody is listening.

Add test.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2555493003 .
2016-12-09 13:00:43 +01:00
Lasse R.H. Nielsen b70311fe90 Update documentation around Isolate capabilities.
BUG= http://dartbug.com/28003
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2549363003 .
2016-12-07 09:35:15 +01:00
Michael Thomsen 2bb90fe989 Fix typo (#28004)
Fixes https://github.com/dart-lang/sdk/issues/28000
2016-12-06 14:54:23 +01:00
Lasse Reichstein Holst Nielsen 9412b54f1f Fix DoubleLinkedListQueue misbehavior on concurrent modification.
Documented forEachEntry, firstEntry and lastEntry.
Made forEachEntry more useful by making it compatible with removing and adding
around the current entry, and documented how it interacts.

BUG= http://dartbug.com/27920
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2540993002 .
2016-12-06 09:27:04 +01:00
Stephen Adams 3e7aaeebe4 Handle synthetic nodes use to throw exceptions
- Implement:
- - _genericNoSuchMethod
- - _unresolvedConstructorError
- - _malformedTypeError

- Temporarily change NoSuchMethod.toString to avoid a closure.
- Temporarily provide argument to StringBuffer to work around bug.

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2545153002 .
2016-12-02 16:11:26 -08:00
Seth Ladd 2e9064ae13 Update docs for Map values, keys (#27972)
Closes https://github.com/dart-lang/sdk/issues/27968
2016-12-02 10:01:23 -08:00
Florian Loitsch db8782f6e6 Update num.compareTo documentation.
Fixes #27924
BUG= http://dartbug.com/27924
R=lrn@google.com

Review URL: https://codereview.chromium.org/2537813002 .
2016-12-01 17:26:59 -08:00
Ryan Macnak e5a16b1ca5 Remove exitCode setter from dart:io's Process.
Fixes #27950

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2542323002 .
2016-12-01 14:35:12 -08:00
John McCutchan 6bf86eacd7 Add getIsolateID to Service class in dart:developer
Fixes https://github.com/dart-lang/sdk/issues/23924

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2542003002 .
2016-12-01 12:48:49 -08:00
Florian Loitsch 222d80ad9d Update documentation for num.clamp.
(partially) fixes #27923
BUG= http://dartbug.com/27923
R=lrn@google.com

Review URL: https://codereview.chromium.org/2541513002 .
2016-12-01 11:01:44 -08:00
Lasse R.H. Nielsen c6412af7bb Don't use [operator==] to refer to [==] in DartDoc. It doesn't work.
R=eernst@google.com

Review URL: https://codereview.chromium.org/2548433002 .
2016-12-01 11:00:33 +01:00
Lasse Reichstein Holst Nielsen 7957a1c256 Make EfficientLength extend Iterable.
This should help least-upper-bound computations to not think of EfficientLength
as completely separate from Iterable even though they are always used together.

It doesn't solve all problems with the least-upper-bound computation,
but at least some of the more often occuring ones.

R=floitsch@google.com

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

Committed: b08fb1373f
2016-11-28 08:04:04 +01:00
Matan Lurey d92107e01d Remove scary warning from dart:convert#Codec (#27897)
Seems unnecessarily scary given that a breaking change here would now be a huge breaking change.
2016-11-25 15:42:01 -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
Vyacheslav Egorov 57af30e2d5 VM: [Kernel] Make NativeFieldWrapperClass[1-4] constructible when running from Kernel.
For unclear reason sdk/lib/html/dartium/nativewrappers.dart had these classes
with constructors that would throw. In reality on Kernel ever uses this file so
nobody would use these constructors before anyway.

When running Kernel binaries we need to be able to construct subclasses of
these classes - so they need to have non-throwing constructors.

R=kustermann@google.com
BUG=http://dartbug.com/27590

Review URL: https://codereview.chromium.org/2511083003 .
2016-11-17 18:59:08 +01:00
Sigmund Cherem d89dab56b5 Fix IE11 issue: this complements the CL I sent last week. It turns out that
there are two places where we do this check. This is why the test that I added
appears to be failing in the bots.

BUG=
R=jakemac@google.com

Review URL: https://codereview.chromium.org/2504883002 .
2016-11-16 08:38:24 -08:00
Vyacheslav Egorov 6f1efe295c VM: Remove _nativeScript external. JS has no equivalent.
It was added to @patch member in the VM patches.

The right fix is to remove @patch annotation from the _nativeScript.

TBR=kustermann@google.com
BUG=

Review URL: https://codereview.chromium.org/2506033002 .
2016-11-16 16:36:10 +01:00
Vyacheslav Egorov 23fd1a184b VM: Support bootstrapping core libraries from Kernel binaries instead of source.
BUG=http://dartbug.com/27590
R=asiva@google.com

Review URL: https://codereview.chromium.org/2485993002 .
2016-11-16 13:56:20 +01:00
Sigmund Cherem f460a8706d Add implementation of Isolate.resolvePackageUri for dart2js.
This uses 'packages/' as the default base to resolve uris from, but also exposes
a hook to allow users to overwrite it.

BUG= https://github.com/dart-lang/sdk/issues/25594
R=het@google.com, lrn@google.com

Review URL: https://codereview.chromium.org/2495383003 .
2016-11-14 15:11:49 -08:00
Sigmund Cherem 008da86c03 Support extending TemplateElement in IE11 + webcomponents-lite.js
Addresses issue reported in the polymer repo: https://github.com/dart-lang/polymer-dart/issues/682

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

Review URL: https://codereview.chromium.org/2493703004 .
2016-11-14 07:32:09 -08:00
Siva Annamalai a7107fdd95 Fix some comments.
BUG=

Review URL: https://codereview.chromium.org/2499763002 .
2016-11-11 15:38:55 -08:00
Lasse R.H. Nielsen c3bb3ddb41 Make Stopwatch logic simpler.
The `Stopwatch` class had more states than necessary because it started with
the `_start` and `_stop` fields being `null`, a state that couldn't happen later,
and it had to handle those cases specially.
Now just starts in a state equivalent to a stopped, reset timer.
Also use ?? and ??= because they are there,and don't call the overridable `isRunning` from other methods.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2485063003 .
2016-11-11 10:01:25 +01:00
Stephen Adams 8ccd41c2ae Avoid using constructor.name on ff & safari
TBR=jacobr@google.com

Review URL: https://codereview.chromium.org/2492163002 .
2016-11-10 21:26:23 -08:00
Stephen Adams f734606d0e Add native_testing library to mock @Native classes
Convert 114 tests to use native_testing.dart library.

Includes reviewed code from
https://codereview.chromium.org/2332953002/

Committed: ddfc70f164

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

Reverted:  74deaad759
2016-11-10 14:16:08 -08:00
John McCutchan 14297ee480 Add an environment variable toggle to control new service protocol auth token
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2486443002 .
2016-11-07 14:45:52 -08:00
Lasse Reichstein Holst Nielsen 88ef4e98fa Make Stream.take(0) still listen and close the stream.
It shouldn't matter, but for some streams (e.g., a `ReceivePort`)
it does make a big difference whether it's closed or not.
We can't make a port not keep the isolate alive unless it has been listened to.
If we could, this wouldn't be necessary.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2481083003 .
2016-11-07 17:01:19 +01:00
Lasse R.H. Nielsen 9ebef9af7c Handle the case of Stream.take(0) better.
The current implementation listens to the stream and waits for it to complete.
The change makes it listen and then immediately cancel, and then return a
subscription that only sends done.

R=floitsch@google.com

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

Committed: 8cead4090c
2016-11-04 15:55:05 +01:00
William Hesse 3bd04426a8 Revert "Handle the case of Stream.take(0) better." This reverts commit 8cead4090c.
The test co19/LibTest/async/Stream/take_A01_t02 was failing after this
commit, on macos and windows, and perhaps everywhere.

BUG=
TBR=lrn@google.com

Review URL: https://codereview.chromium.org/2475303002 .
2016-11-04 15:47:46 +01:00
Lasse R.H. Nielsen 8cead4090c Handle the case of Stream.take(0) better.
The current implementation listens to the stream and waits for it to complete.
The change makes it listen and then immediately cancel, and then return a
subscription that only sends done.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2444363004 .
2016-11-04 14:54:58 +01:00
Florian Loitsch fb968553ae Add generic argument to Codec.fuse.
Fixes #27722
BUG= http://dartbug.com/27722
R=lrn@google.com

Review URL: https://codereview.chromium.org/2472023004 .
2016-11-04 10:19:03 +01:00
Anders Thorhauge Sandholm 4682ea9953 Update http.dart
Fixing #27711
2016-11-03 07:52:49 -07:00
Ryan Macnak 6cf5c3baa3 Revert "Make EfficientLength extend Iterable."
This reverts commit b08fb1373f.

TBR=lrn@google.com

Review URL: https://codereview.chromium.org/2467283003 .
2016-11-02 13:20:41 -07:00
Lasse R.H. Nielsen b08fb1373f Make EfficientLength extend Iterable.
This should help least-upper-bound computations to not think of EfficientLength
as completely separate from Iterable even though they are always used together.

It doesn't solve all problems with the least-upper-bound computation,
but at least some of the more often occuring ones.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2467113003 .
2016-11-02 14:05:35 +01:00
Johnni Winther 8be67929a2 Fix import in sdk/lib/developer
This broke dart2js/analyze_api_test

Review URL: https://codereview.chromium.org/2464083002 .
2016-11-01 12:31:12 +01:00
John McCutchan a0d9975af4 Fix analyzer bots
BUG=

Review URL: https://codereview.chromium.org/2467613002 .
2016-10-31 13:24:39 -07:00
John McCutchan 63e4f69e5e Provide an API to dart:developer to control the web server hosting the Service Protocol
- [x] Add `ServiceProtocolnfo` class to dart:developer.
- [x] Add `Service` class to dart:developer.
- [x] Add `Service.getInfo` static method to dart:developer.
- [x] Add `Service.controlWebServer` static method to dart:developer.

API:

```dart

/// Information about the service protocol.
class ServiceProtocolInfo {
  /// The major version of the protocol.
  final int majorVersion;
  /// The minor version of the protocol.
  final int minorVersion;
  /// The Uri to access the service. If the web server is not running, this
  /// will be null.
  final Uri serverUri;
}

/// Access information about the service protocol and control the web server.
class Service {
  /// Get information about the service protocol.
  static Future<ServiceProtocolInfo> getInfo();

  /// Control the web server that the service protocol is accessed through.
  static Future<ServiceProtocolInfo> controlWebServer({bool enable: false});
}
```

... and add a randomly generated authentication token path prefix that must be passed in to access the service protocol.

Old base url:

Observatory listening on http://127.0.0.1:54804/

New base url:

Observatory listening on http://127.0.0.1:54804/<token>/

For example:

Observatory listening on http://127.0.0.1:54804/PTwjm8Ii8qg=/

Many tools will need to be updated.

Fixes #23320

BUG=
R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2438613002 .
2016-10-31 12:32:23 -07:00
Florian Loitsch f9cf78a1af Fix docs for Stream.handleError.
Fixes #27699
BUG= http://dartbug.com/27699
R=lrn@google.com

Review URL: https://codereview.chromium.org/2467453002 .
2016-10-31 16:03:05 +01:00
Jan-Hendrik Dolling 89560c68a0 change "the the" to the 2016-10-28 21:47:50 +02:00
Zachary Anderson 8169499ef8 GN: Format more gn files
Missed these on the first pass.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2454703004 .
2016-10-27 04:25:34 -07:00
Vyacheslav Egorov eb8c24e133 Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451623006 .
2016-10-27 10:09:22 +02:00
Vyacheslav Egorov 12968edb9c Revert "Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork.""
This reverts commit 4e7a31262e.

Windows bots are broken now.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451893004 .
2016-10-26 17:07:18 +02:00
Vyacheslav Egorov 4e7a31262e Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This relands commit 2fed1c3905 with fixes to ensure that analyzer summaries are correctly created and XARM build does not try to use target binaries on the host.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2453773002 .
2016-10-26 16:48:28 +02:00
Vyacheslav Egorov cf7ff42e60 Revert "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This reverts commit 2fed1c3905.

SDK builds are failing

TBR=zra@google.com

Review URL: https://codereview.chromium.org/2455593002 .
2016-10-26 13:06:27 +02:00
Vyacheslav Egorov 2fed1c3905 Merge more Kernel infrastructure from kernel_sdk SDK fork.
- bring patched SDK generation scripts and VM patch tweaks that allow VM patch files to be parsed by analyzer front-end;
  Patched SDK is an SDK with all VM patches spliced into it. Kernel compiler is based on the analyzer front-end which does
  not have any patch files support/model so for it to produce Kernel files that match VM we need to generate a such patched SDKs.

- bring test script modifications that allow to test Kernel pipeline

BUG=
R=asiva@google.com, kmillikin@google.com, whesse@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2434123003 .
2016-10-26 13:02:54 +02:00
Florian Loitsch 6beb1fdd11 Change Set.difference API to accept Set<Object>.
Fixes #27573
BUG= http://dartbug.com/27573
R=lrn@google.com

Review URL: https://codereview.chromium.org/2413233002 .
2016-10-20 14:37:15 +02:00
Stephen Adams 50e557d176 Prevent inlining of js_library core.RegExp constructor
Inlining was achieving no beneficial effect.

- Enabled GVN of match start.
- Made string quote style uniform.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2437863002 .
2016-10-19 16:25:11 -07:00
Stephen Adams 1e793c96b2 Properties of flattenString
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/2432993004 .
2016-10-19 13:53:46 -07:00
Stephen Adams c9c3c203c1 Minor tweaks to dart:html for better dart2js codegen
- Allow 'document' to be reused (GVN-ed).
- Allow inlining of 'new Comment'.
- 'new Text' and 'new Comment' have no effects.

BUG=
R=alanknight@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/2422293002 .
2016-10-17 13:35:17 -07:00
Florian Loitsch 8fbd651c49 Emphasize that durations are context independent.
Fixes #27597
BUG= http://dartbug.com/27597
R=lrn@google.com

Review URL: https://codereview.chromium.org/2423993002 .
2016-10-17 14:51:00 +02:00
Stephen Adams 790b9d9cb1 Enable GVN on HForeignNew
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2422003002 .
2016-10-14 17:34:07 -07:00
Florian Loitsch 136e476c87 Check for the type of the the spawned function.
In general we avoid explicit type-checks, but in this case the error would be only detected in the new isolate making error handling much harder.

Fixes #27185
BUG= http://dartbug.com/27185.
R=lrn@google.com

Review URL: https://codereview.chromium.org/2414173003 .
2016-10-14 13:27:11 +02:00
John McCutchan eaea9d58fe Revert "Give useful message for null derefs"
This reverts commit 588fed0368.

BUG=

Review URL: https://codereview.chromium.org/2403203002 .
2016-10-10 13:11:44 -07:00
John McCutchan 588fed0368 Give useful message for null derefs
The exception implements NoSuchMethodError so that code that depends on
the previous exception type still works.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2407603002 .
2016-10-10 12:53:47 -07:00
Kevin Moore 9d9858fa7e Update recommendations for HTTP server packages
R=dgrove@google.com

Review URL: https://codereview.chromium.org/2389833002 .
2016-10-05 21:16:35 -07:00
Stephen Adams 74deaad759 Revert "Add native_testing library to mock @Native classes"
Investigating failures.

BUG=

Review URL: https://codereview.chromium.org/2383273002 .
2016-09-30 13:27:09 -07:00
Stephen Adams ddfc70f164 Add native_testing library to mock @Native classes
Convert 114 tests to use native_testing.dart library.

Review URL: https://codereview.chromium.org/2379173002 .
2016-09-30 12:13:52 -07:00
Lasse R.H. Nielsen 9bd4406d4b Fix bug in _SimpleUri.resolve.
In some cases it didn't follow our non-RFC behavior for resolving a relative
path on top of another relative path.

Fixes issue #27447
BUG= http://dartbug.com/27447
R=eernst@google.com

Review URL: https://codereview.chromium.org/2374253004 .
2016-09-29 15:00:42 +02:00
Lasse R.H. Nielsen 9487e107bb Address shortcomings in documentation on Isolate class.
Addresses issued #26597 and #26627.

BUG= http://dartbug.com/26597 http://dartbug.com/26627
R=eernst@google.com, floitsch@google.com

Review URL: https://codereview.chromium.org/2062683002 .
2016-09-28 10:42:06 +02:00
William Hesse 9941b665bf Tools not running from snapshots should use /.packages
Stray .package files in their source can otherwise cause errors.

BUG=
R=paulberry@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2374453002 .
2016-09-26 18:47:32 +02:00
Lasse R.H. Nielsen caf208a543 Make StreamIterator not delay pausing between requests.
The current implementation of StreamIterator has a one-element buffer which
allows it listen for the next even eagerly, and only pause if consumption
doesn't keep up with production.
However, StreamIterator is also used by both VM and dart2js implementations
of "await for", and according to the specification, the iterated stream
must be paused between loop iterations.

The CL removes the one-element buffer and forces a pause after each event.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2149893002 .
2016-09-26 09:35:46 +02:00
Stephen Adams 127b419fc1 Add WhereIterable.map
This makes some nice code improvements for dart2js. dart2js can't
inline the MappedIterable factory constructor and specialize by
optimization, so specializing by hand removes the test "is
EfficientLength" for code like "x.where(f).map(g)".

R=lrn@google.com

Review URL: https://codereview.chromium.org/2354093002 .
2016-09-22 10:36:16 -07:00
William Hesse 61eee9ee52 Use checked-in .package file for building and testing
Stop creating [build dir]/packages directory with symbolic links.

BUG=https://github.com/dart-lang/sdk/issues/23565
R=rnystrom@google.com

Committed: 5d3e356ca7

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

Reverted: 6d238ba197
2016-09-16 15:03:18 +02:00
William Hesse 6d238ba197 Revert "Use checked-in .package file for building and testing"
This reverts commit 5d3e356ca7.

BUG=
R=eernst@google.com

Review URL: https://codereview.chromium.org/2340813004 .
2016-09-15 15:46:49 +02:00
William Hesse 5d3e356ca7 Use checked-in .package file for building and testing
Stop creating [build dir]/packages directory with symbolic links.

BUG=https://github.com/dart-lang/sdk/issues/23565
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1746743002 .
2016-09-15 14:50:30 +02:00
Stephen Adams 8495283e25 Reuse expensive string in js_rti
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2326943003 .
2016-09-12 17:22:27 -07:00
Alan Knight 42f8ab2d6a Fix dataTransferItemList indexing
BUG=

Review URL: https://codereview.chromium.org/2326113002 .
2016-09-09 12:28:59 -07:00
Stephen Adams c70952c7bc dart2js: Pass type information to constructor rather than add later.
This is a redo of https://codereview.chromium.org/1913033002 that fixes some bug with the interactions with type optimizations.

BUG=
R=sigmund@google.com

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

Committed: 9217be050d
Reverted:  cdd6eeb57d
2016-09-07 15:07:54 -07:00
Kevin Moore ca2285be58 dart:js_util - fix spelling
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2311563002 .
2016-09-06 09:23:59 -07:00
Florian Loitsch 70c48b9a2e Don't propagate synchronous Future.wait errors immediately.
Fixes #27249.

R=lrn@google.com

Review URL: https://codereview.chromium.org/2311923002 .
2016-09-06 11:57:43 +02:00
Florian Loitsch 6255638cd0 Return futures on Stream.cancel when possible.
Deprecate returning `null`.

Also, fixes cases where transformations on a stream didn't forward the cancel future

Fixes #26777.

BUG= http://dartbug.com/26777.
R=lrn@google.com

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

Committed: 395e7aaa69
Reverted: 99e5328eac
Committed: 1905ddafaa
Reverted: 46a8579c1e
2016-09-05 17:41:22 +02:00
Stephen Adams 921eac74cf Rename $builtinType to $ti
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2306813003 .
2016-09-02 10:53:26 -07:00
Zachary Anderson 4024fe154a GN: Relativize occurrances of //dart
The Dart root in the Dart tree is at //, not //dart.
But in the Dart tree we can refer to the root with
a relative path.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2301833003 .
2016-09-01 13:35:44 -07:00
John Messerly c1cde9600b use pkg/dev_compiler in the build 2016-08-31 18:05:17 -07:00
Alan Knight 43cb6a4c59 Replace Maps library tour link in Storage template with current URL.
BUG=#27150
R=alanknight@google.com

Review URL: https://codereview.chromium.org/2277103002 .
2016-08-26 12:34:53 -07:00
Lasse R.H. Nielsen 99ec987a09 Remove deprecated Resource class from dart:core.
BUG=
R=floitsch@google.com, mit@google.com

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

Committed: f61143153a
Committed: 35437dda1f
2016-08-26 11:58:04 +02:00
Lasse Nielsen 35437dda1f Remove deprecated Resource class from dart:core.
BUG=
R=floitsch@google.com, mit@google.com

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

Committed: f61143153a
2016-08-26 10:50:58 +02:00
Lasse Nielsen f61143153a Remove deprecated Resource class from dart:core.
BUG=
R=floitsch@google.com, mit@google.com

Review URL: https://codereview.chromium.org/2272373002 .
2016-08-26 10:31:08 +02:00
Ryan Macnak 0245016792 Fix ArgumentError constructor call.
R=asiva@google.com

Review URL: https://codereview.chromium.org/2272703007 .
2016-08-24 17:13:22 -07:00
Ryan Macnak aa38062a23 Add WebSocket.addUtf8Text to allow sending pre-encoded text without a round-trip UTF-8 conversion.
Use it to implement the vm-service, where in particular we are concerned about the space overhead of the conversion leading to the process being killed on iOS.

Closes #27129

R=johnmccutchan@google.com, lrn@google.com

Review URL: https://codereview.chromium.org/2260073002 .
2016-08-24 16:15:07 -07:00
Zachary Anderson 57bff322cd Ignore non-UTF8 strings in the environment
R=asiva@google.com

Review URL: https://codereview.chromium.org/2273053002 .
2016-08-24 10:10:41 -07:00
Florian Loitsch 1971d4c59d Fix DateTime.timeZoneName comment.
R=lrn@google.com

Review URL: https://codereview.chromium.org/2270043002 .
2016-08-24 12:49:17 +02:00
Stephen Adams 266ac1b0bc Add SSA instructions for reified type information
This enables GVN optimizations of type representations, e.g.

        var touches, targetTouches, changedTouches, mockTouchList, t1;
        touches = H.setRuntimeTypeInfo([], [W.Touch]);
        targetTouches = H.setRuntimeTypeInfo([], [W.Touch]);
        changedTouches = H.setRuntimeTypeInfo([], [W.Touch]);
        mockTouchList = H.setRuntimeTypeInfo([new S.MockTouch(e)], [W.Touch]);
--->
        var t1, touches, targetTouches, changedTouches, mockTouchList;
        t1 = [W.Touch];
        touches = H.setRuntimeTypeInfo([], t1);
        targetTouches = H.setRuntimeTypeInfo([], t1);
        changedTouches = H.setRuntimeTypeInfo([], t1);
        mockTouchList = H.setRuntimeTypeInfo([new S.MockTouch(e)], t1);

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2260223002 .
2016-08-19 13:02:18 -07:00
Ryan Macnak d418dde65b Reduce copying in sending service responses.
Add missing safepoint transitions.

Issue #27092
Likely contributes to Issue #27010

dart2js hello
Peak RSS at first Observatory visit -> Peak RSS after visiting timeline (with endless recorder)
Before 215M -> 321M
After 182M -> 233M

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2254543006 .
2016-08-18 10:34:50 -07:00
Florian Loitsch 33b7b45252 Deal with synchronous errors in Future.wait.
Synchronous errors are caught and piped into the returned future. This makes handling errors in Future.wait uniform.

Fixes #23656
BUG= http://dartbug.com/23656
R=lrn@google.com

Review URL: https://codereview.chromium.org/2252823004 .
2016-08-18 14:09:20 +02:00
Stephen Adams 1381749356 Make Uri._makeQuery easier to analyze
In many programs dart2js can tell that [queryParameters] is always null.

It is too hard for dart2js to infer from the previous conditions that
the last test 'query != null' must always be true. By changing the
liveness predicate for the forEach code to be a function of one
variable, we can help dart2js understand that the forEach code is dead
when queryParameters is null.

BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org/2245323004 .
2016-08-17 10:45:11 -07:00
Lasse R.H. Nielsen afbbbb97cf Reapply fast-URI patch.
Review URL: https://codereview.chromium.org/2245533004 .
2016-08-17 10:54:24 +02: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 b779679721 Switch to @patch annotation from patch.
BUG=
R=terry@google.com

Review URL: https://codereview.chromium.org/2233633002 .
2016-08-10 09:31:06 -07:00
John Messerly 1c7aca0d6d fix #25944, improve Future.then inference
also fixes #25322, return values of async functions are T | F<T>

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

Review URL: https://codereview.chromium.org/2208953002 .
2016-08-09 16:04:26 -07:00
Lasse R.H. Nielsen 3502fd5fd7 Revert "Reapply fast-URI patch."
Seems to trigger VM bug.

Review URL: https://codereview.chromium.org/2225243003 .
2016-08-09 12:51:58 +02:00
Lasse R.H. Nielsen 99e94db85b Reapply fast-URI patch.
R=whesse@google.com

Review URL: https://codereview.chromium.org/2220373002 .
2016-08-09 09:38:47 +02:00
John McCutchan a67b9c82ee Support devFS writes via HTTP PUT
- [x] Allow DevFS writes over HTTP PUT with a gzip compressed payload.
- [x] Add service test for http put writes.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2225583002 .
2016-08-08 10:35:29 -07:00
Florian Loitsch 46a8579c1e Revert "Return futures on Stream.cancel when possible."
This reverts commit 1905ddafaa.

Review URL: https://codereview.chromium.org/2223133002 .
2016-08-08 19:31:04 +02:00
Florian Loitsch 1905ddafaa Return futures on Stream.cancel when possible.
Deprecate returning `null`.

Also, fixes cases where transformations on a stream didn't forward the cancel future

Fixes #26777.

BUG= http://dartbug.com/26777.
R=lrn@google.com

Committed: 395e7aaa69

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

Reverted: 99e5328eac
2016-08-08 17:30:36 +02:00
Søren Gjesse f9404b969b Handle HTTP header parameters with empty values better
This handles the null issue reported.

Closes #26598

BUG= https://github.com/dart-lang/sdk/issues/26958
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2225003002 .
2016-08-08 16:35:15 +02:00
Stan Manilov 0648e2622b Add example int doc for Iterable.expand
The expand function is not trivial and an example helps flesh out its
behaviour.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2154933002 .
2016-08-05 10:34:38 -07:00
Florian Loitsch 99e5328eac Revert "Return futures on Stream.cancel when possible."
This reverts commit 395e7aaa69.

Review URL: https://codereview.chromium.org/2213193004 .
2016-08-05 14:32:14 +02:00
Florian Loitsch 395e7aaa69 Return futures on Stream.cancel when possible.
Deprecate returning `null`.

Also, fixes cases where transformations on a stream didn't forward the cancel future

Fixes #26777.

BUG= http://dartbug.com/26777.
R=lrn@google.com

Review URL: https://codereview.chromium.org/2202533003 .
2016-08-05 13:58:45 +02:00