Commit graph

7400 commits

Author SHA1 Message Date
Lasse R.H. Nielsen 6c7093dd19 Fix typo in dart2js code.
Review URL: https://codereview.chromium.org//1300803002 .
2015-08-18 10:26:46 +02:00
Lasse R.H. Nielsen 5fa70c4220 Make Dart2js implement the onExit/onError/errorsAreFatal parameters to spawnUri.
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1286193006 .
2015-08-18 09:56:42 +02:00
Florian Loitsch debf1d6f7c Don't zone-register async callbacks for every await call in the VM.
This has the nice side-effect that the stack_trace package provides nicer chains.
Fixes issue 23394.

R=hausner@google.com

Committed: 4dae43d637
Reverted: cb4f9fc925

Review URL: https://codereview.chromium.org//1274133002 .
2015-08-17 19:26:50 +02:00
Florian Loitsch cb4f9fc925 Revert "Don't zone-register async callbacks for every await call in the VM."
This reverts commit 4dae43d637.

Review URL: https://codereview.chromium.org//1296973002 .
2015-08-17 16:43:35 +02:00
Florian Loitsch 4dae43d637 Don't zone-register async callbacks for every await call in the VM.
This has the nice side-effect that the stack_trace package provides nicer chains.
Fixes issue 23394.

R=hausner@google.com

Review URL: https://codereview.chromium.org//1274133002 .
2015-08-17 15:58:19 +02:00
Florian Loitsch 672df7c087 dart2js: Don't zone-register callbacks in async functions for every await.
R=johnniwinther@google.com, lrn@google.com

Review URL: https://codereview.chromium.org//1281523003 .
2015-08-17 15:57:34 +02:00
Florian Loitsch 7e64f3d962 Dart2js async-await. Bind the async-body to the current zone.
Also ensure the wrapping of js-functions happens only once per
async-call.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1163833002 .
2015-08-17 15:56:53 +02:00
Florian Loitsch 09ac73acd4 Add type to BroadcastSubscriptionWrapper.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1289203005 .
2015-08-17 14:45:21 +02:00
Florian Loitsch 410b181e13 The return-value of 'asFuture' isn't necessarily related to the Stream's type.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1295843002 .
2015-08-17 14:44:31 +02:00
Lasse R.H. Nielsen 1b8f3fba14 Make List constructor give better error messages for non-int arguments
BUG= http://dartbug.com/15986
R=herhut@google.com, iposva@google.com, sra@google.com

Committed: 33c7663826

Review URL: https://codereview.chromium.org//1214723009 .
2015-08-17 13:01:13 +02:00
Florian Loitsch b161b5ab9a Reenable types that were disabled because of a bug in dart2js.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1294713003 .
2015-08-17 12:50:48 +02:00
Florian Loitsch 00aaf1708d Accept a computation that returns a Future for Future.delayed.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1296623004 .
2015-08-17 11:34:43 +02:00
Alan Knight 89b99e60bf Remove dart2js-specific annotations from childNodes
BUG=
R=terry@google.com

Review URL: https://codereview.chromium.org//1290263002 .
2015-08-14 09:32:45 -07:00
Lasse R.H. Nielsen 51fa195f16 Revert "Make List constructor give better error messages for non-int arguments"
There are VM-only tests that assume exact text of failure.

BUG=

Review URL: https://codereview.chromium.org//1294483003 .
2015-08-14 15:05:17 +02:00
Lasse R.H. Nielsen 33c7663826 Make List constructor give better error messages for non-int arguments
BUG= http://dartbug.com/15986
R=herhut@google.com, iposva@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1214723009 .
2015-08-14 13:44:19 +02:00
Sigmund Cherem e3fbf44643 dart2js: add function coverage tracking in dart2js output, dumpinfo, and
coverage recording server

R=sra@google.com

Review URL: https://codereview.chromium.org//1288593002 .
2015-08-13 16:47:58 -07:00
Florian Loitsch ad38b75bb2 Forward cancel subscription in stream pipes.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1284223005 .
2015-08-13 12:57:35 +02:00
Stan Manilov ac8a228d0b sdk/dart now detects an available build
The shell scripts in sdk/sdk are using ReleaseIA32 as the default build
configuration in the case one is not provided as an environment
variable. This is arbitrary so a check of the available builds is
performed and if ReleaseIA32 is available it is selected. Otherwise, an
arbitrary configuration is selected (currently the last one
lexicographically). In the case where there are no subfolders in the
"out" folder, ReleaseIA32 is selected, in order to produce the same
error that used to be produced before (this can be changed to a custom
message for user-friendliness).

Currently only the "dart" shell script is changed and if the change is
accepted, the others will be changed too.

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

Review URL: https://codereview.chromium.org//1276333002 .
2015-08-12 15:19:23 +02:00
Lasse R.H. Nielsen edff0face7 Make String.allMatches lazy.
R=floitsch@google.com, iposva@google.com

Review URL: https://codereview.chromium.org//1273713003 .
2015-08-12 11:01:21 +02:00
Seth Ladd b30a7a1750 change param name to match docs
BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org//1287453002 .
2015-08-11 10:55:16 -07:00
John McCutchan 590557dfd0 When no service response is requested, send null back to the service isolate so it can cleanup
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1285673003 .
2015-08-11 07:13:09 -07:00
Asger Feldthaus 136ec727ee dart2js: Do not use JSDouble for native behavior return types.
Previously, a JS('double', ...) expression would be seen as having
the exact JSDouble class as return type. This is problematic since that
class is reserved for non-integer doubles, and the result is generally
not known to be non-integer.

For example, the sqrt function returns 'double' but sqrt(0) == 0 which
is an integer.

BUG=
R=floitsch@google.com

Committed: b0905eadce

Review URL: https://codereview.chromium.org//1276353006.
2015-08-11 15:14:50 +02:00
Florian Loitsch 0370922ca4 Improve documentation for Pattern.allMatches.
R=lrn@google.com

Review URL: https://codereview.chromium.org//1272743004 .
2015-08-11 13:26:07 +02:00
Lasse R.H. Nielsen e9f48a37e8 Add getters for callbacks on StreamController.
R=floitsch@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1278873008 .
2015-08-11 10:55:48 +02:00
John McCutchan 5f02eb3c62 Move service extension handler execution to a timer
R=iposva@google.com

Review URL: https://codereview.chromium.org//1282883003 .
2015-08-10 14:56:43 -07:00
Seth Ladd d71110f31f Fix comment formatting 2015-08-10 08:50:37 -07:00
Lasse R.H. Nielsen 90643a7ef7 Make HttpClient not send fragments as part of request.
Make HttpServer ignore fragments sent in requests (which are invalid HTTP request syntax).

Add `removeFragment` method to Uri.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1281973004 .
2015-08-10 12:18:12 +02:00
John McCutchan 0f13b9c931 Allow Dart code to register service protocol handlers
- Add 'registerExtension' to dart:developer
- A service protocol handler must implement ServiceExtensionHandler
- Service extensions can report result OR error code / message

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1270103002 .
2015-08-06 16:20:56 -07:00
Ryan Macnak b6c979f20b Hoist InstanceMirror.delegate to ObjectMirror.
BUG=http://dartbug.com/14827
R=gbracha@google.com

Review URL: https://codereview.chromium.org//1273983002 .
2015-08-05 17:09:59 -07:00
Lasse R.H. Nielsen 0a35f7be3b Update Changelog.
Fix various typos and style nits.

BUG=23961
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1272593002 .
2015-08-05 12:58:30 +02:00
Søren Gjesse 2ca0bc6d5a Echo the WebSocket close reason as well as the close code
When receiving a close frame with a code and reason both the code
and the reason are now added to the close frame send as response.
Before only the code was added

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

Review URL: https://codereview.chromium.org//1273663002 .
2015-08-05 11:53:32 +02:00
Sigurd 58c18aaa9b Fix typos in doc-string.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//371523006 .
2015-08-05 11:15:39 +02:00
Srdjan Mitrovic caa3cce77e Fix some TODOs
BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org//1263963003 .
2015-08-04 17:13:22 -07:00
John McCutchan a2757141b0 Make dart:developer log more user friendly
- Make required arguments required.
- Validate required arguments in Dart before calling native.
- timestamp is now a DateTime.
- level has a default (ALL).
- sequence number is last + 1 if not provided.

R=lrn@google.com

Review URL: https://codereview.chromium.org//1266053003 .
2015-08-04 07:12:39 -07:00
John McCutchan 7640cf4b85 Fix test failure
patch from issue 1271693003 at patchset 20001 (http://crrev.com/1271693003#ps20001)

Review URL: https://codereview.chromium.org//1270953003 .
2015-08-04 07:05:34 -07:00
William Hesse bdda0eff52 Revert "Change msg to message in debugger function."
This reverts commit 2ae214316c.

BUG=

Review URL: https://codereview.chromium.org//1261203005 .
2015-08-04 15:22:47 +02:00
Lasse R.H. Nielsen 2ae214316c Change msg to message in debugger function.
BUG=23949
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1271693003 .
2015-08-04 14:58:13 +02:00
Florian Loitsch e9b91c7c92 Default values for static functions are now inside closures. (in the startup emitter).
Since static closures are const values, they can reference each other in the default values:

foo([x = bar]) => null;
bar([x = foo]) => null;

Therefore, we must not reference the default values during tear-off installation (as was the case until now).

The corresponding test has been uploaded in https://chromiumcodereview.appspot.com/1255083008/

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1266903004 .
2015-08-04 13:56:28 +02:00
Florian Loitsch 0231f6ba39 dart2js: fix named arguments with Function.apply in the startup emitter.
This includes a full rewrite of the Function.apply in the runtime.

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1252533003 .
2015-08-03 18:06:31 +02:00
Florian Loitsch f6b142c5f4 dart2js: Support const symbols in the startup emitter.
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1253443003 .
2015-08-03 17:56:34 +02:00
Florian Loitsch 8d6063d806 dart2js: support isolates in the startup-emitter.
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1249023002 .
2015-08-03 17:48:43 +02:00
Florian Loitsch 62b49eadc6 dart2js: support tear-offs in the startup emitter.
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1229923005 .
2015-08-03 17:02:31 +02:00
Lasse R.H. Nielsen ac33dfe194 Fix missing generic type parameters on streams.
Add test.

BUG= 23859
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1250373007 .
2015-08-03 14:21:17 +02:00
Florian Loitsch ffb72ee817 Make sure '_globalState' is set before calling computeThisScript.
As first line of running `_globalState = new _Manager()` we invoked `_nativeDetectEnvironment()`. However, that one could ending up calling the getter `IsolateNatives.thisScript` which, in turn could need `_globalState`. Since the state wasn't set yet, this yielded a NPE.

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1264543004 .
2015-08-03 10:37:41 +02:00
Johnni Winther 783ed933ff Fix boolean conversion bug in dart2js + update JSRegExp accordingly.
BUG=
R=herhut@google.com

Review URL: https://codereview.chromium.org//1259473005.
2015-07-27 14:19:26 +02:00
John McCutchan bfd2d4ed2a Refactor dart:developer log to use named parameters
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1247803002 .
2015-07-21 10:01:37 -07:00
John McCutchan f818f9dc0f Support piping log data over the service protocol
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1241683005 .
2015-07-21 07:54:46 -07:00
Florian Loitsch fb4633a1c5 dart2js: Use JS_GET_NAME instead of magic constant for catch-all function.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1245573002 .
2015-07-20 14:53:59 +02:00
Alan Knight cd8c569632 Make sure NodeValidator uriAttributes aren't passed as attributes
WIP

BUG=
R=terry@google.com

Review URL: https://codereview.chromium.org//1236413002 .
2015-07-17 14:12:44 -07:00
Alan Knight 8d0ceaad7b Another try at placating the type checking for FilteredElementList
BUG=

Review URL: https://codereview.chromium.org//1230313008 .
2015-07-17 12:41:17 -07:00
Alan Knight de3ce04f0a Fix type problem with FilteredElementList._iterable
BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org//1236793006 .
2015-07-17 10:53:19 -07:00
Lasse R.H. Nielsen 848f6c978c Do "path normalization" when creating a URI.
Path normaliztion removes '.' and '..' segments from a URI. Such relative references are only intended for URI References, and Uri References are only intended for resolving against a full URI.

We do path normalization on all URIs that have a scheme, authority or an absolute path, and partial normalization on what are really just relative paths. The partial normalization can leave ".." at the start of the path.

The URI reference resolution algorithm doesn't work as expected for a URI ending in "..". Resolving "./foo" wrt. a base of "/a/.." results in  "/a/foo" - this is avoided when the base is path normalized before it's used.

This also fixes the "normalizePath" function which currently removes leading '..' segments, contrary to its documentation. It also makes the function redundant since all URI paths are normalized automatically.

See discussion on http://dartbug.com/23688

Also fix bug in the removeDotSegments function.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//1224263009.
2015-07-17 17:08:36 +02:00
Terry L. Lucas 206ffe343b Revert "- Update _blink library using dart:js instead of native keyword"
This reverts commit 8ecb64d6b0.

TBR=vsm@google.com

Review URL: https://codereview.chromium.org//1237263005 .
2015-07-17 07:45:12 -07:00
Terry L. Lucas 8ecb64d6b0 - Update _blink library using dart:js instead of native keyword
- Fixed dart:js event wrapping
- Fixed dart2js gen when --gen-interop used
- Cleanup and enabled static window() for JS interop
- Enabled --gen-interop
- Added --gen-interop switch

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

Review URL: https://codereview.chromium.org//1234273003 .
2015-07-17 07:37:18 -07:00
Lasse R.H. Nielsen 4a8a844c34 Add setters for callbacks on StreamController.
This allows you to create a stream controller at one point and
add or change the callbacks later. This can be useful if you
want to store a stream controller in a final instance field and
also want the controller to call instance methods as callbacks.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//1242023007.
2015-07-17 12:03:00 +02:00
Alan Knight d5599eb63b Restore workaround for old Chrome bug that also affects Safari and in some cases Firefox, fix test suppressions
BUG=

Review URL: https://codereview.chromium.org//1242063002 .
2015-07-16 13:20:26 -07:00
Alan Knight 4e790fef3d appendHtml, when sanitizing, should create document fragment in the right context
BUG=
R=terry@google.com

Committed: 560f12bb21

Committed: 930a40daa5

Review URL: https://codereview.chromium.org//1221043003 .
2015-07-16 10:30:51 -07:00
Lasse R.H. Nielsen e4881c55d0 Add errorsAreFatal, onExit and onError parameters to the spawn functions.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1240743003.
2015-07-16 16:52:43 +02:00
Florian Loitsch 547a0c4c04 dart2js: More documentation for embedded globals and shared property names.
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1236033006 .
2015-07-16 14:57:30 +02:00
Natalie Weizenbaum bdd5803006 Fix a WebSocket crash.
Previously, a WebSocket would crash if it was closed after its
StreamSubscription was canceled. Now, it tracks whether the subscription
was canceled by canceling and nulling out its own internal subscription.

Fixes #23845

R=ajohnsen@google.com

Review URL: https://codereview.chromium.org//1234163002 .
2015-07-15 13:30:06 -07:00
Lasse R.H. Nielsen 4ee6246556 Add split function to LineSplitter class in dart:convert.
The split function returns a lazy iterable of the lines, unlike the convert
function which returns a list.
This makes the function usable on large strings where not all of the lines
are needed.

Closes https://github.com/dart-lang/sdk/issues/23837

R=kevmoo@google.com

Review URL: https://codereview.chromium.org//1240623002 .
2015-07-15 12:26:24 +02:00
Cristian Almstrand 3b125d3bc9 Please refer to https://code.google.com/p/dart/issues/detail?id=23418 for the bug reportincluding a WebStorm project which demonstrates the problem.
This proposal includes a fix to ensure that indices passed to the public functions defined in class FilteredElementList of the dart:html package consistently refer to element indices (not element indices sometimes, and node indices other times). Without this change, it is not possible to reliably insert elements relative to other elements. This can be problematic as the order of HTML elements must be guaranteed to ensure elements appear where expected in a normal page flow.

This proposal also address the TODO in file sdk/lib/html/html_common/filtered_element_list.dart to avoid excessively creating/allocating a filtered list of elements from nodes whenever calling [], every, any, length, etc. The implementation is less concise but should result in much reduced memory allocation and speed improvements.

R=alanknight@google.com

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

Patch from Cristian Almstrand <cristian.almstrand@gmail.com>.
2015-07-14 14:50:42 -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 1fa61ee114 Fixed a few more things to make Dartium build w/o --gen-interop
TBR=vsm@google.com

Review URL: https://codereview.chromium.org//1239653003 .
2015-07-14 07:17:59 -07:00
Terry L. Lucas 82fbd3382a Remove blink_jsObject when --gen-interop is not used.
TBR=vsm@google.com

Review URL: https://codereview.chromium.org//1236933003 .
2015-07-14 05:49:27 -07:00
Alan Knight 610edadff2 Revert "appendHtml, when sanitizing, should create document fragment in the right context"
This reverts commit 930a40daa5.

BUG=

Review URL: https://codereview.chromium.org//1230203005 .
2015-07-13 15:32:17 -07:00
Terry L. Lucas 045d9698d3 Revert "Turn on JS interop usage for DOM Dart libraries"
This reverts commit 7f6fc7eed2.
2015-07-13 13:40:42 -07:00
Terry L. Lucas 7f6fc7eed2 Turn on JS interop usage for DOM Dart libraries
Review URL: https://codereview.chromium.org//1235903003 .
2015-07-13 13:38:45 -07:00
Terry L. Lucas 48af868f47 Fixed compilation error
Review URL: https://codereview.chromium.org//1233923003 .
2015-07-13 13:24:08 -07:00
Alan Knight 930a40daa5 appendHtml, when sanitizing, should create document fragment in the right context
BUG=
R=terry@google.com

Committed: 560f12bb21

Review URL: https://codereview.chromium.org//1221043003 .
2015-07-13 12:50:49 -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
Florian Loitsch ec398a7385 dart2js: Rename "current isolate" to "static state (holder)".
R=herhut@google.com

Review URL: https://codereview.chromium.org//1232463007 .
2015-07-10 19:08:11 +02:00
Seth Ladd d69cd1dcfd one-liners for typed data
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1231903007 .
2015-07-09 16:47:41 -07:00
Seth Ladd 4bc681814b make one-line docs for math
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1231933007 .
2015-07-09 16:28:22 -07:00
Seth Ladd 4c685b6e84 add docs for indexed_db
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org//1233513002 .
2015-07-09 16:20:03 -07:00
Seth Ladd 41ed922e4f add one-liner docs to dart:developer
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1229173002 .
2015-07-09 15:35:04 -07:00
Lasse R.H. Nielsen 8450179afe Update documentation of Uri.parse.
It currently says that parse tries to escape invalid characters.
That's not true (at least not in most cases, though I think a few might
still work).
This just removes that part of the documentation.

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

Review URL: https://codereview.chromium.org//1213713006 .
2015-07-09 12:24:26 +02:00
Alan Knight 1e8a275a20 Revert "appendHtml, when sanitizing, should create document fragment in the right context"
This reverts commit 560f12bb21.

	modified:   sdk/lib/html/dart2js/html_dart2js.dart
	modified:   sdk/lib/html/dartium/html_dartium.dart
	modified:   tests/html/element_add_test.dart
	modified:   tools/dom/templates/html/impl/impl_Element.darttemplate

BUG=

Review URL: https://codereview.chromium.org//1230553003 .
2015-07-08 12:19:30 -07:00
Alan Knight 560f12bb21 appendHtml, when sanitizing, should create document fragment in the right context
BUG=
R=terry@google.com

Review URL: https://codereview.chromium.org//1221043003 .
2015-07-08 10:16:37 -07:00
Devon Carew 9e8c08320d Merge pull request #23689 from dart-lang/devoncarew_sdk_readme
fix links in the sdk readme doc
2015-07-07 13:27:14 -07:00
Florian Loitsch 908865c47e dart2js: Rename emitters.
The "old" and "new" name was not helpful.

R=herhut@google.com

Review URL: https://codereview.chromium.org//1220333003 .
2015-07-07 14:47:33 +02:00
Stephan Herhut e21d8dbf93 dart2js: Implement serialization of Capability for isolates.
R=karlklose@google.com, floitsch@google.com
BUG=

Review URL: https://codereview.chromium.org//1217763004.
2015-07-07 10:27:30 +02:00
Lasse R.H. Nielsen 3c976019cc Make int.gcd accept zero as an operand, including both operands being zero.
R=floitsch@google.com, regis@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1211473002.
2015-07-07 09:51:13 +02:00
Lasse R.H. Nielsen 03f92623b2 Revert usage of delegating generative constructor, still not supported by VM.
Also update test expectation for d8/jsshell now that test doesn't use non-zero timer any more.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1221033008.
2015-07-03 14:53:29 +02:00
Lasse R.H. Nielsen e0a61ceeb4 Fix comparison of StreamIterator with Iterable - should be Iterator.
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1220233004.
2015-07-03 13:30:37 +02:00
Lasse R.H. Nielsen f529055c1b Update documentation of StreamIterator, improve tests.
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1216123004.
2015-07-03 13:23:39 +02:00
Florian Loitsch 24fbfa7f78 Revert "Fix runtimeType.toString for tear-offs."
This reverts commit 87a7ca0720.

Review URL: https://codereview.chromium.org//1220793012.
2015-07-02 13:57:07 +02:00
Florian Loitsch 87a7ca0720 Fix runtimeType.toString for tear-offs.
Tear-offs are constructed by building a fresh constructor on the fly. However, that constructor is unnamed and didn't have the 'builtin$cls' property set. As such, the runtime-type system was unable to extract a good name and wasn't able to provide a good 'toString' for it. With this CL the constructor has a good 'name' set.

Also removes the 'builtin$cls' property that was a duplicate of 'name'. Whenever we defined a new Dart class, we added a 'builtin$cls' property on the constructor which was a duplicate of the name. This was necessary, because IE doesn't store the function name on the constructor. However, there we can just assign the 'name' field, and don't need to introduce a new field-name ('builtin$cls'). As such, we can always use the 'name' property.

R=sra@google.com

Review URL: https://codereview.chromium.org//1213033002.
2015-07-02 10:59:31 +02:00
Sigmund Cherem 4ec3db6947 keep old location of libraries.dart in the generated SDK (fixes 23755)
R=kevmoo@google.com

Review URL: https://codereview.chromium.org//1216313002.
2015-06-30 17:08:21 -07:00
Lasse R.H. Nielsen ede6cb71a5 Make modInv throw Exception on incompatible operands.
Also update errors to be more descriptive accross the integer methods.

I'm still considering whether a more precise "NotCoPrimeException" would be better.

R=regis@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1209523002.
2015-06-30 14:46:14 +02:00
Jacob Richman ae72b6a701 Enhance dart:js interop in a backwards compatible manner.
BUG=

Review URL: https://codereview.chromium.org//1213873004.
2015-06-29 11:20:11 -07:00
Sigmund Cherem b18c5a3e7c sdk files reorganization to make dart2js a proper package
BUG=
R=brianwilkerson@google.com, floitsch@google.com, whesse@google.com

Review URL: https://codereview.chromium.org//1212513002.
2015-06-29 10:21:14 -07:00
Jacob Richman 7e9e4d89d3 Revert "Enhance dart:js interop in a backwards compatible manner."
This reverts commit ac32e37ab1300cb1ce1cd081f050ff1d04e54cbe.

BUG=

Review URL: https://codereview.chromium.org//1209093005.
2015-06-26 10:29:25 -07:00
Jacob Richman 3fdeb669ee Enhance dart:js interop in a backwards compatible manner. List objects can now be passed back and forth to Dartium without requiring jsify
BUG=
R=terry@google.com, vsm@google.com

Review URL: https://codereview.chromium.org//1194643002.
2015-06-26 10:06:45 -07:00
Lasse R.H. Nielsen f8ce36df55 Add Resource class. Currently unimplemented.
R=herhut@google.com, iposva@google.com

Committed: 2890a7a2a9

Review URL: https://codereview.chromium.org//1181663002.
2015-06-26 11:42:02 +02:00
Stephan Herhut dd41983945 dart2js: Use an abstract Name class for names in the generated JavaScript ast.
BUG=
R=asgerf@google.com, floitsch@google.com, sigurdm@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1198293002.
2015-06-25 09:39:57 +02:00
Harry Terkelsen a684edf08b Don't use ES6 map if browser has no Map
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1199343006.
2015-06-24 16:51:18 -07:00
Harry Terkelsen 46fdfd1c7d Use an ES6 map for a linked identity hash map.
BUG=
R=floitsch@google.com

Committed: 008b41dc33

Review URL: https://codereview.chromium.org//1188713005.
2015-06-24 15:16:47 -07:00
Stephen Adams 9425621eac JSInvocationMirror - return unmodifiable list or map
R=floitsch@google.com

Committed: ec9ecdd3ff

Reverted.

Review URL: https://codereview.chromium.org//1200403003.
2015-06-24 11:00:31 -07:00
Stephen Adams 52740cbcf4 Revert "JSInvocationMirror - return unmodifiable list or map"
Will re-land with .status updates for tests that started working.

TBR=floitsch@google.com
BUG=

Review URL: https://codereview.chromium.org//1207723003.
2015-06-24 08:19:00 -07:00
Stephen Adams ec9ecdd3ff JSInvocationMirror - return unmodifiable list or map
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1200403003.
2015-06-24 07:45:55 -07:00
Lasse R.H. Nielsen 3300a005f2 Change documentation of modInverse to not specify error thrown.
R=ricow@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1204993002.
2015-06-24 11:04:27 +02:00
Soren Gjesse 0415d9271d Improve the encoding/decoding to/from system encoding on Windows
On Windows the dart:io SYSTEM_ENCODING is now also working with strings
which have null characters in them. Previously the string would be
terminated at the null character.

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

Review URL: https://codereview.chromium.org//1194883002.
2015-06-24 10:36:05 +02:00
Stephen Adams afe5b32e48 Fix for issue 23432.
Get the correct receiver in noSuchMethod stubs.

noSuchMethod stubs for selectors with Interceptor calling convention should pass the receiver to noSuchMethod (not 'this').  The actual receiver is selected by Object.noSuchMethod and Interceptor.noSuchMethod.

R=floitsch@google.com

Committed: c8d7cd8ef4

Reverted: 21a322fd99

Review URL: https://codereview.chromium.org//1181063005.
2015-06-22 17:02:21 -07:00
Stephen Adams 21a322fd99 Revert "Fix for issue 23432."
Reverted while investigating failed tests.

TBR=sigmund@google.com

Review URL: https://codereview.chromium.org//1203523003.
2015-06-22 13:46:29 -07:00
Stephen Adams c8d7cd8ef4 Fix for issue 23432.
Get the correct receiver in noSuchMethod stubs.

noSuchMethod stubs for selectors with Interceptor calling convention should pass the receiver to noSuchMethod (not 'this').  The actual receiver is selected by Object.noSuchMethod and Interceptor.noSuchMethod.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//1181063005.
2015-06-22 13:16:05 -07:00
Alan Knight 1d5b657427 Make it easier and more efficient to use trusted HTML text
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org//1154423009.
2015-06-22 09:41:01 -07:00
Lasse R.H. Nielsen 78a3db3128 Revert "Add Resource class. Currently unimplemented."
This reverts commit 2890a7a2a9.

Causes a dart2js test error and a significant amount of analyzer
warnings.

Review URL: https://codereview.chromium.org//1193273003.
2015-06-22 16:43:44 +02:00
Lasse R.H. Nielsen 2890a7a2a9 Add Resource class. Currently unimplemented.
R=herhut@google.com, iposva@google.com

Review URL: https://codereview.chromium.org//1181663002.
2015-06-22 15:05:14 +02:00
Devon Carew 5635fbfb4c fix links in the sdk readme doc 2015-06-21 08:57:17 -07:00
Regis Crelier a192ef4acb Implement gcd in sdk.
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1199513003.
2015-06-19 13:40:01 -07:00
Stephen Adams 773d7b00fb Use ArgumentError.value in more places in js_lib.
Main effect is that more numeric operations will indicate 'null' is the problem argument, e.g.

    Illegal Arguments(s)
-->
    Illegal Argument: null

BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org//1181003005.
2015-06-19 11:02:25 -07:00
Sigurd 3322eeddee Let SyncStartIterable extend IterableBase instead of Iterable.
Otherwise it misses implementations of all the helper methods.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1165733003.
2015-06-19 09:23:51 +02:00
Harry Terkelsen d042c3ff27 Revert "Use an ES6 map for a linked identity hash map."
This reverts commit 008b41dc33.

BUG=

Review URL: https://codereview.chromium.org//1192163002.
2015-06-18 09:51:45 -07:00
Harry Terkelsen 008b41dc33 Use an ES6 map for a linked identity hash map.
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1188713005.
2015-06-18 09:13:53 -07:00
Søren Gjesse eaeecf2ed1 Add file modes for opening a file write only
Added two new file modes WRITE_ONLY and WRITE_ONLY_APPEND. The current
file modes WRITE and WRITE_APPEND are kept as the read/write mode with
no change. Kept the same overall handling of create/truncate/append
semantics for the new file modes.

R=ager@google.com, ahe@google.com
BUG=

Review URL: https://codereview.chromium.org//1193653002.
2015-06-18 15:19:26 +02:00
Lasse R.H. Nielsen ac3765566d Update documentation of Stream.pipe to match behavior.
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1189873004.
2015-06-18 13:03:15 +02:00
Asger Feldthaus fb38d61dba dart2js cps: Support function types in 'is' and 'as' operators.
The generated code uses different helpers than the SSA. In SSA, there are calls to buildFunctionType and _isTest. The CPS uses checkSubtypeOfRuntimeType, the "one size fits all" method we also use to test against type variable types.

When the function type has no type variables in it we could hoist the function type into a constant, but the constant system does not support type representation constants at the moment. But it seems like an optimization we may want to add later.

BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1180973003.
2015-06-18 11:30:57 +02:00
Regis Crelier 16bb52b88d Implement modInverse for an even modulus.
Update test.

Fixes #23502

R=srdjan@google.com

Review URL: https://codereview.chromium.org//1188843004.
2015-06-17 13:50:30 -07:00
Lasse R.H. Nielsen fbedc2b86f Also iprove Future.value(null) and documentation of some Stream related classes.
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1177343004.
2015-06-16 11:38:07 +02:00
Søren Gjesse c05c8c6606 Revert change to Platform.excutable and add Platform.resolvedExecutable
The change to Platform.excutable in
e03ab17437 was a breaking change and it
has been reverted.

A new getter Platform.resolvedExecutable has been added to provide the
the fully qualified path of the executable.

BUG=https://github.com/dart-lang/sdk/issues/16994
R=lrn@google.com, kustermann@google.com, len@google.com

Review URL: https://codereview.chromium.org//1180623006.
2015-06-15 10:13:21 +02:00
Stephen Adams f7263216e4 Better messages for optimized index errors.
Typed list, Array and String indexer methods detect index errors in their own optimized way but now defer to common code to diagnose the error.  This code is shared with the optimized 'ioore' helper, which makes the error message consistent between optimized and unoptimized code.

The main reason for doing this is to ensure that the error messages have as much information as possible to help debug off-line using captured error messages.

BUG=
R=lrn@google.com

Committed: 0d4361fb6d

Reverted: 82215d36f4

Review URL: https://codereview.chromium.org//1180713003.
2015-06-12 18:21:47 -07:00
Stephen Adams 82215d36f4 Revert "Better messages for optimized index errors."
TBR=lrn@google.com

Review URL: https://codereview.chromium.org//1187553005.
2015-06-12 16:53:19 -07:00
Stephen Adams 0d4361fb6d Better messages for optimized index errors.
Typed list, Array and String indexer methods detect index errors in their own optimized way but now defer to common code to diagnose the error.  This code is shared with the optimized 'ioore' helper, which makes the error message consistent between optimized and unoptimized code.

The main reason for doing this is to ensure that the error messages have as much information as possible to help debug off-line using captured error messages.

BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org//1180713003.
2015-06-12 15:33:58 -07:00
Ryan Macnak fd1531b4d8 Fix some markup in the mirrors docs.
BUG=http://dartbug.com/21714
R=gbracha@google.com

Review URL: https://codereview.chromium.org//1184623003.
2015-06-12 14:43:38 -07:00
Seth Ladd 00be3be571 be more explicit about when and how to register for listeners with isolates
BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org//1181043003
2015-06-12 15:02:11 +02:00
Seth Ladd f1b934d816 make the one-liner for the SDK docs an actual one-liner
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org//1183623003
2015-06-12 12:21:52 +02:00
Johnni Winther ee1be89b30 Support foreigns as external.
BUG=

Review URL: https://codereview.chromium.org//1169083004.
2015-06-11 15:27:56 +02:00
Regis Crelier 9edc6e5a6d Detect zero receiver of modInverse (may not converge and time out
in that case).

See #23502

Review URL: https://codereview.chromium.org//1177063002.
2015-06-10 16:40:24 -07:00
Regis Crelier 90315a1694 Remove bigint reference in js_number.dart
Review URL: https://codereview.chromium.org//1177873002.
2015-06-10 15:34:43 -07:00
Regis Crelier f6f338ce67 Implement modInverse (bigint version does not support even modulus yet).
Added tests.

See #23502

R=srdjan@google.com

Review URL: https://codereview.chromium.org//1174513004.
2015-06-10 15:01:46 -07:00
Karl Klose 183ae17958 Move IS_INDEXABLE_FIELD to JsGetName.
Also remove the old helper functions and references from js_helper and friends.

R=herhut@google.com

Review URL: https://codereview.chromium.org//1158423005.
2015-06-09 11:29:50 +02:00
Rico Wind f3c6339206 Switch over testing pub seperately from the the normal packages
This will call a new test script that Natalie will fill in the blanks of for pub testing.

This also moves pub from third_party/pkg_tested into third_party/pkg.

The corresponding changes to the buildbot is here:
http://src.chromium.org/viewvc/chrome?revision=295555&view=revision

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

Review URL: https://codereview.chromium.org//1166093002.
2015-06-09 08:12:51 +02:00
Ryan Macnak cef08e5674 Fix dartdoc for InstanceMirror.delegate and ClosureMirror. Avoid misleading use of the term 'evaluation'.
BUG=http://dartbug.com/15889
BUG=http://dartbug.com/20139
BUG=http://dartbug.com/21992
R=gbracha@google.com

Review URL: https://codereview.chromium.org//1144923012.
2015-06-08 17:41:34 -07:00
Sigmund Cherem 1763aa3467 dart2js: reuse stack trace on rethrow
BUG= dartbug.com/15171
R=sigurdm@google.com

Review URL: https://codereview.chromium.org//1152023004
2015-06-08 12:27:49 -07:00
Stephan Herhut e4255659dd dart2js: Do not emit type metadata for fields declared in non-reflectable classes.
BUG=
R=karlklose@google.com, zarah@google.com

Committed: 67537ffbd7

Reverted: 6cc3bd1124

Committed: a1b630641e

Reverted: 5af9221e1b

Review URL: https://codereview.chromium.org//1169453005
2015-06-08 15:35:25 +02:00
Seth Ladd ac1b0cf8ac Merge pull request #23585 from dart-lang/sethladd-patch-2
Removing Polymer from core SDK API's homepage
2015-06-05 14:20:34 -07:00
Seth Ladd 9326f9d79a update one-line docs for svg, gl, audio
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org//1163163004
2015-06-04 16:39:02 -07:00
Seth Ladd 464ffd0fca Removing Polymer from core SDK API's homepage
Also, the "writing API documentation" page was never moved over from the codesite.
2015-06-04 15:20:28 -07:00
pq 2c5e890fc7 Build fixes.
Long tail of fixes related to moving out of `pkg_tested`.

R=paulberry@google.com

Review URL: https://codereview.chromium.org//1162423002
2015-06-03 14:03:15 -07:00
Lasse R.H. Nielsen 5a843ebbf3 Add "checked" parameter to Isolate.spawnUri.
R=iposva@google.com

Review URL: https://codereview.chromium.org//1154673004
2015-06-03 12:32:52 +02:00
Karl Klose 683743c9c5 Change more JS foreign methods to JS_GET_NAME.
R=herhut@google.com

Review URL: https://codereview.chromium.org//1154073004
2015-06-03 11:41:46 +02:00
Anders Johnsen 114c37738d Fix signature of UnmodifiableListMixin.insert to match List.insert.
BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org//1160423002
2015-06-03 09:32:49 +02:00
Lasse R.H. Nielsen 6f2dd2552c Fix typo in ListMixin.insertAll.
Also add test for input iterable being linked to receiver list.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1146163004
2015-06-02 11:58:35 +02:00
Natalie Weizenbaum 3d8c06c4e9 Start pulling pub from its own repo.
Pub now lives in third_party/pkg/pub (it's in pkg to make it possible to import
using "package:" imports).

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

Review URL: https://codereview.chromium.org//1165473002
2015-05-29 14:50:18 -07:00
Lasse R.H. Nielsen babcd4e9c0 Revert "Make EfficientLength public, as EfficientLengthIterable."
It's still not a good solution for detecting an Iterable with an efficient
length. It's not inherited by, e.g., a DelegatingIterable wrapper or similar
generic Iterable transformers.

Keep this as an internal optimization for quickly detecting the most common
efficient-length Iterable classes (List, Set, Queue, Map.keys/values), but
don't make it public.

A *real* solution would be adding a hasEfficientLength getter to Iterable, or
adding an efficientLength getter that may return null if it's not efficient.
This would something that a wrapper can attach to.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1154263003
2015-05-29 12:52:45 +02:00
Lasse R.H. Nielsen 542e675fed Fix typo in dart2js typed_data.
Review URL: https://codereview.chromium.org//1163653002
2015-05-29 11:18:01 +02:00
Lasse R.H. Nielsen cf4eaae5a6 Change RangeError instances to use RangeError.range.
This avoids using the (sometimes confusing) "[...)" notation for half-open ranges.
Also change argument tests to simpler interval tests, and move error handling to the end of the functions.

Mostly in VM typed-data libraries.

R=sgjesse@google.com, srdjan@google.com

Committed: 932bcc6901

Review URL: https://codereview.chromium.org//1132603003
2015-05-29 10:50:20 +02:00
Lasse R.H. Nielsen 9e175d27d7 Revert "Change RangeError instances to use RangeError.range."
Method hashes needs to be updated.

Review URL: https://codereview.chromium.org//1160903002
2015-05-28 10:46:15 +02:00
Lasse R.H. Nielsen 932bcc6901 Change RangeError instances to use RangeError.range.
This avoids using the (sometimes confusing) "[...)" notation for half-open ranges.
Also change argument tests to simpler interval tests, and move error handling to the end of the functions.

Mostly in VM typed-data libraries.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1132603003
2015-05-28 10:34:03 +02:00
Ivan Posva 91e71b53e3 - Update expected string in pub test.
BUG=

Review URL: https://codereview.chromium.org//1159983005
2015-05-28 00:32:30 -07:00
Ivan Posva 0358f722ba - Include original, loaded URI in error message.
- Update error string comparison in pub.

BUG=

Review URL: https://codereview.chromium.org//1156983003
2015-05-28 00:14:39 -07:00
Alan Knight ee0a5db6a5 Make sanitizer tests handle IE11, where tagName can't be clobbered
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org//1148893004
2015-05-27 12:56:09 -07:00
William Hesse fc1bb66b88 Escape arguments in pub error message command line reproduction.
BUG=dartbug.com/23505
Rebase of https://codereview.chromium.org/1035853003/

R=nweiz@google.com

Review URL: https://codereview.chromium.org//1156663002
2015-05-27 17:21:36 +02:00
Søren Gjesse f05608c49d Fix errors in previous commit
Commit was 897d05b6f0.

TBR=lrn@google.com
BUG=http://dartbug.com/23521

Review URL: https://codereview.chromium.org//1145403004
2015-05-27 11:18:03 +02:00
Lasse R.H. Nielsen 25a16a39b3 In JsonEncoder, test if map has only string keys, and use toEncodable if not.
Currently the encoder assumes that a map will have string keys, and will fail
in ugly ways if it doesn't. With this change, the toEncodable function used on
other un-encodable values is also used on non-String-keyed maps.

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

Review URL: https://codereview.chromium.org//1153893004
2015-05-27 10:49:21 +02:00
Søren Gjesse 897d05b6f0 Fix argument processing for RandomAccessFile.writeFrom
It is now the same as for RandomAccessFile.writeFromSync

Added some tests.

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

Review URL: https://codereview.chromium.org//1156993003
2015-05-27 10:01:24 +02:00
Stephen Adams 4b2d2379cf dart:js - speed up constructor calls with few arguments.
This eliminates the 5x perf hit reported in http://dartbug.com/23514

R=sigmund@google.com

Review URL: https://codereview.chromium.org//1152673003
2015-05-26 15:02:25 -07:00
Lasse R.H. Nielsen dcf0286f53 Add Iterable.empty constructor.
Convenience constructor giving an easy/quick way to create an empty iterable.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1152483002
2015-05-22 10:39:58 +02:00
Alan Knight 39e5dba8c0 Fix typo in sanitizer
BUG=

Review URL: https://codereview.chromium.org//1151903004
2015-05-21 14:43:02 -07:00
Alan Knight efb738f633 Sanitization should reject elements that we can't examine (e.g. embed/object on FF)
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org//1146753004
2015-05-21 13:54:50 -07:00
Natalie Weizenbaum 8298073cbc Always ignore non-public transformers.
This was happening for the most part, but the dependency computer could
get tripped up when a package used a transformer from a dev dependency
on only private files.

R=rnystrom@google.com
BUG= http://dartbug.com/23480

Review URL: https://codereview.chromium.org//1143453006
2015-05-20 17:44:46 -07:00
Søren Gjesse e03ab17437 Make Platform.executable return the fully qualified path of the executable
BUG=http://dartbug.com/16994
R=kustermann@google.com, lrn@google.com

Review URL: https://codereview.chromium.org//1145053002
2015-05-20 13:14:51 +02:00
Florian Loitsch ec51cdcca3 dart2js: Cleanups and renames in runtime code that thouches types.
As a convention we use "rti" in variable names that represent internal type encodings.

R=sra@google.com

Review URL: https://codereview.chromium.org//1135653005
2015-05-19 17:43:01 +02:00
Florian Loitsch de495c6b20 dart2js: remove JS_OBJECT_CLASS_NAME and JS_NULL_CLASS_NAME from foreign
Instead of comparing the constructor's class name to the one of the Dart object class (or Null class), provide a builtin that returns whether a type is _the_ object or null type.

This CL also starts the convention that internal types should have "rti" in their name.

R=sra@google.com

Review URL: https://codereview.chromium.org//1136913006
2015-05-19 17:40:02 +02:00
Kathy Walrath fc4ec71aff Update README.md 2015-05-18 15:44:23 -07:00
John McCutchan f3a74e69c9 Fix typo in Stream documentation.
R=johnmccutchan@google.com, msimprovertechnologies@gmail.com

Review URL: https://codereview.chromium.org//1142683002
2015-05-18 11:32:47 -07:00
John McCutchan 6e42aec4f6 Deprecate 'dart:profiler' and move functionality to 'dart:developer'
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1133713006
2015-05-18 11:31:20 -07:00
Lasse R.H. Nielsen 759b494b10 Remove experimental warning from Isolate methods.
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1140823006
2015-05-18 11:14:14 +02:00
nweiz@google.com 9ba7eef1c4 Fix a crash in pub's version solver.
The solver was choking when pub's implicit dependencies on barback
failed and had to be backtracked.

R=rnystrom@google.com
TBR

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45832 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 23:52:39 +00:00
sra@google.com 0ef007d00b Optimize DateTime properties
Several small pieces fit together to improve calendar arithmetic code in a customer's app.

1. Mark DateTime primitives that return small integers as returning uint31.

2. uint31 + uint31 -> uint32 in type inference.

3. uint32 / N can be generated as (uint32 / N) | 0 when N >= 2.

R=floitsch@google.com

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

Reverted: https://code.google.com/p/dart/source/detail?r=45625

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45829 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 22:36:15 +00:00
alanknight@google.com 1f20842389 Another try at appendHtml and insertAdjacentHtml should be consistently sanitized
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45818 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 17:59:23 +00:00
alanknight@google.com bfa61f62e0 "Reverting 45815"
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45816 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 17:04:53 +00:00
alanknight@google.com 1c69173804 Test Dartium with appendHtml sanitizing. Will immediately revert.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45815 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 16:30:17 +00:00
alanknight@google.com 90a31f8fea "Reverting 45807"
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45808 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 01:29:49 +00:00
alanknight@google.com 2faa58eb4c Testing for appendHtml and insertAdjacentHtml should be consistently sanitized
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45807 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-15 01:10:19 +00:00
nweiz@google.com ee60510cac Fix VersionSelection.getDependenciesOn.
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45803 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 23:19:10 +00:00
nweiz@google.com 1acd46fe74 Rewrite pub's version solver.
The idea of this change is to eagerly check, before selecting a package version,
whether that version is compatible with the existing dependencies. This avoids a
bunch of unnecessary backtracking, and makes the progression of the solver more
comprehensible when

R=rnystrom@google.com
BUG= dartbug.com/17429

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45799 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 22:33:31 +00:00
alanknight@google.com e1c798b0fd "Reverting 45790"
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45791 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 19:04:23 +00:00
alanknight@google.com 9453809937 appendHtml and insertAdjacentHtml should be consistently sanitized
BUG=
R=terry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45790 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 18:04:17 +00:00
johnmccutchan@google.com f01c1490f7 Revert 45783
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45784 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-14 00:32:32 +00:00
johnmccutchan@google.com 95515238cc Move 'dart:profiler' contents into 'dart:developer' and remove 'dart:profiler'
BUG=
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45783 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 23:48:04 +00:00
sra@google.com 28cfbd8f44 Make more use of ArgumentError.value in js_lib.
This helps surface error values in the messages which helps make captured errors understandable.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45782 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 22:16:50 +00:00
floitsch@google.com f8c3219190 dart2js: Remove isD8 and isJsShell functions.
These functions were used to detect d8 and jsshell. They are not used anymore because of preamble files.

R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45779 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:51:40 +00:00
floitsch@google.com 52e228e0f3 dart2js: remove bad assumptions in js_helper library.
Cleans up some code.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45757 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 06:35:45 +00:00
sra@google.com afbb537add Better toString and Error.toSafeString output for closures for dart2js.
Closures that appear in error messages, especially NoSuchMethodError, need to identify the function so that captured error messages and stack traces are useful.

Old:
  1. Instance of 'Object'
  2. Instance of 'Object'
  3. Instance of 'anonymous'
  4. Instance of 'anonymous'
  5. Instance of 'main_localFunction'

New:
  1. Closure 'print'
  2. Closure 'Widget_staticMethod'
  3. Closure 'foo' of Instance of 'Widget'
  4. Closure 'remainder' of 1234
  5. Closure 'main_localFunction'

In minified code the names are (usually) minified. Being able to unminify them later is separate issue.
This CL makes NoSuchMethodError variants more uniform in quoting of method to assist unminifying the message.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45753 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 23:47:23 +00:00
alanknight@google.com f777d314b7 Relax the deltaX/Y/Z types in WheelEvent constructor
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45741 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 18:04:58 +00:00
alanknight@google.com f0136ff1eb Clean up WheelEvent
BUG=
R=terry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45740 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 16:34:01 +00:00
alanknight@google.com 4a1b567136 Pass Redirect status higher than 307 through to the user
BUG=
R=terry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45739 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 16:25:56 +00:00
lrn@google.com 5351182e38 Add Map.unmodifiable constructor.
R=sgjesse@google.com, sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45733 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 11:09:13 +00:00
johnmccutchan@google.com 64f6d0db2e Fix Typo in exitCode documentation
This should probably be merged into 1.10 if possible.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45686 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 14:20:39 +00:00
sgjesse@google.com 6a4e6571f4 Add handling of HTTP '100 Continue' intermediate response
The '100 Continue' intermediate response is just ignored, as there
is currently no API for the client to wait to this.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45685 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 13:48:15 +00:00
sgjesse@google.com 197f336534 Make sure to process WebSocket frames when closing a WebSocket
On a WebSocket the actual listening on the stream is causing the
processing of inbound frames to start. If the connection is closed
without ever being listened on, then a close frame from the other end
will not be processed.  In this case the timeout of waiting for a
close from the other end will always be hit.

If you are _only_ using the WebSocket connection in one direction it
seems a bit artificial to have to listen on the stream to even process
the close frame.

This change will make sure the stream is listened to when closing a
WebSocket.

This is a breaking change. Before you could close and then
listen. With this change that sequence will throw on the listen. This
is reflected in the changes that was needed for the tests.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45679 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 09:32:39 +00:00
floitsch@google.com 8e7e2e621c pub: don't start the admin server if no --admin-port flag was given.
`pub serve` used to bind its admin port to the port below the main port. For example `pub serve --port=8081` would automatically bind its admin port to 8080.
With this change the admin server is only started if an --admin-port flag was provided.

BUG= http://dartbug.com/20922
R=rnystrom@google.com

Committed: https://code.google.com/p/dart/source/detail?r=45614
Reverted: https://code.google.com/p/dart/source/detail?r=45633

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45675 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-09 02:08:33 +00:00
floitsch@google.com d2c6e4d0b6 dart2js: compute the currentScript in the preamble for d8 and jsshell.
This change enables deferred loading for the lazy emitter on d8. Without it the computeThisScript function would be executed within an 'evaled' piece of code, and thus not find the correct URL.

This change also reduces the code of the generated code (by a tiny amount),

R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45671 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-09 00:59:00 +00:00
rmacnak@google.com 016214f002 Add Debugger.inspect. 1976 here we come!
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45664 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 22:18:43 +00:00
johnmccutchan@google.com 1f851efdbb Rename 'dart:debugger' to 'dart:developer'
- Rename 'dart:debugger' to 'dart:developer'
- Make 'breakHere' and 'breakHereIf' top level functions.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45658 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 21:24:57 +00:00
ricow@google.com 80539a0f75 Revert "pub: don't start the admin server if no --admin-port flag was given."
This reverts commit 45614

Causes redness on the bots, floitsch@ will investigate offline

R=floitsch@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45633 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 08:13:12 +00:00
sra@google.com 6ab9b2ceb2 Optimize DateTime properties
Several small pieces fit together to improve calendar arithmetic code in a customer's app.

1. Mark DateTime primitives that return small integers as returning uint31.

2. uint31 + uint31 -> uint32 in type inference.

3. uint32 / N can be generated as (uint32 / N) | 0 when N >= 2.

R=floitsch@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45625 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 00:52:29 +00:00
nweiz@google.com d3bff0054f Fix an invalid variable name in DependencyQueue.
Also fix an analysis hint.

R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45622 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 21:51:54 +00:00
sra@google.com 532a7948d8 Optimize DateTime properties
Several small pieces fit together to improve calendar arithmetic code in a customer's app.

1. Mark DateTime primitives that return small integers as returning uint31.

2. uint31 + uint31 -> uint32 in type inference.

3. uint32 / N can be generated as (uint32 / N) | 0 when N >= 2.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45621 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 21:39:17 +00:00
floitsch@google.com 90759b7299 pub: don't start the admin server if no --admin-port flag was given.
`pub serve` used to bind its admin port to the port below the main port. For example `pub serve --port=8081` would automatically bind its admin port to 8080.
With this change the admin server is only started if an --admin-port flag was provided.

BUG= http://dartbug.com/20922
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45614 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 20:01:51 +00:00
nweiz@google.com 05e6d1cf78 Convert a bunch of version solver code to use async/await.
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45612 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 19:50:38 +00:00
ricow@google.com e92f697236 Remove dart2dart support from testing scripts and status files
I will leave it to the dart2js people to remove the support from the dart2js tools (there is also a bunch of comments still in code, do a git grep)

R=kustermann@google.com, floitsch@google.com, kmillikin@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45588 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 11:29:55 +00:00
lrn@google.com 4d539e4975 Fix typo in EfficientLengthIterable documentation, and improve it slightly.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45586 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 10:18:36 +00:00
herhut@google.com 38af8ac50a Improve documentation for MirrorsUsed.
BUG= http://dartbug.com/15656
R=floitsch@google.com, kathyw@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45585 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 09:08:11 +00:00
alanknight@google.com dd9150542d Keep dart:debugger comments in sync
BUG=
R=johnmccutchan@google.com, skybrian@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45578 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 23:14:38 +00:00
alanknight@google.com 6fe25b0578 Provide a dart2js implementation of dart:debugger
BUG=
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45577 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 22:36:01 +00:00
sra@google.com ac0f1ade9e Recognize unmodifiable lists
Add a new type, JSUnmodifiableArray, that is the type returned by
List.unmodifiable and the type of const list literals.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45575 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 21:25:25 +00:00
floitsch@google.com 067bdb8331 dart2js: Access to metadata and types goes through builtins.
Instead of exposing an embedded constant "METADATA" and "TYPES" provide a builtin-function that reads these values.
This allows us to implement the metadata and types table differently. In particular we want to be able to generate them lazily.

R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45574 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 21:20:17 +00:00
nweiz@google.com 0a7ea97a6f Fix or work around failing pub tests.
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45572 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 20:40:46 +00:00
nweiz@google.com 1f70e37a96 Cache pubspecs when HostedSource.getVersions is called.
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45571 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 18:25:29 +00:00
lrn@google.com 92c526b2a2 Make EfficientLength public, as EfficientLengthIterable.
R=iposva@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45556 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 09:00:45 +00:00
lrn@google.com b3d466a1ca Update {,Linked}Hash{Set,Map} documentation.
Now specifies that the default [isValidKey] accepts all values in the
default and identity cases.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45552 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 08:35:23 +00:00
lrn@google.com 7fe3363524 Fix SplayTreeMap.from ignoring the compare and isValidKey arguments.
BUG= http://dartbug.com/23387
R=wibling@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45550 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 08:18:56 +00:00
floitsch@google.com 10d128dc5e dart2js: add builtin 'isSubtype'.
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45546 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 00:52:04 +00:00
nweiz@google.com 95e45dbb89 Fix version solver tests.
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45545 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 23:54:40 +00:00
nweiz@google.com 7f8e604192 Don't let the version solver starve the event queue.
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45543 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 22:54:36 +00:00
floitsch@google.com ceabb95bd6 dart2js: add classNameFromIsCheckProperty to compiler builtins.
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45537 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 19:32:19 +00:00
johnmccutchan@google.com a19cd071e5 Add 'dart:debugger' library
- Add the 'dart:debugger' library.
- Add the 'Debugger' class.
- Add explicit Dart breakpoint triggered by a call to: Debugger.breakHere();
- Add Debugger.breakHereIf(bool expr)

R=hausner@google.com, turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45529 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:05:37 +00:00
sethladd@google.com 31209403af one-line api doc comment for dart:typed_data
BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45516 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 00:18:44 +00:00
sethladd@google.com 34aa76f666 add a one-line comment for dart:profiler
BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45514 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 23:17:02 +00:00
nweiz@google.com 907786bbde Fix version solving in pub.
I deleted a line in r45508 because it had an unused variable, but it
turned out that it also had relevant side-effects.

R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45513 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 22:16:29 +00:00
nweiz@google.com 268a068151 Fix all the analysis hints in pub.
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45508 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 20:50:05 +00:00
kevmoo@google.com ba757ecc5e dart:* API fixes for docs
plus other cleanup

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45482 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-03 21:21:53 +00:00
rmacnak@google.com a6e42c48b5 Deal with deferred loading in the VM mirrors.
- Invalidate MirrorSystem.libraries when a load completes.
- Recheck if a deferred import's target has been loaded before failing.
- Allow loading libraries from a LibraryDepedencyMirror.
- Propogate compile-time error when attempting to reflect a deferred type.

BUG=http://dartbug.com/22592
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45444 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 23:47:45 +00:00
lrn@google.com 31e27c7f9f Reuse RangeError.checkValidRange in dart2js core_patch.dart.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45422 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 09:29:50 +00:00
lrn@google.com af031d6c0a Document ByteBuffer.asX() methods.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45421 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 09:06:20 +00:00
nweiz@google.com e29bab1b4d Support defining environment constants for dart2js via the command-line.
These constants only work for dart2js because neither Dartium nor the isolate
API support defining them.

BUG= http://dartbug.com/15806
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45416 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 21:40:49 +00:00
nweiz@google.com 697f93da1c Properly print an error when failing to load a transformer.
R=rnystrom@google.com
BUG= http://dartbug.com/21490

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45414 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 21:39:44 +00:00
lrn@google.com b3ee3a85bf Improve return type of markUnmodifiableList to JSArray instead of List.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45372 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 10:20:53 +00:00
alanknight@google.com 25c6f198f5 "Reverting 45351"
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45353 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 17:51:58 +00:00
alanknight@google.com 7431beaec2 appendHtml and insertAdjacentHtml should be consistently sanitized
BUG=
R=terry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45351 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 17:16:01 +00:00
floitsch@google.com eb20073478 dart2js: add compiler builtins to the core-runtime.
WIP.

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

Committed: https://code.google.com/p/dart/source/detail?r=45176
Reverted: https://code.google.com/p/dart/source/detail?r=45177

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45347 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 13:44:39 +00:00
sgjesse@google.com 4d85e2a2aa Revert "Fix warnings and hints in the SDK"
This reverts r45331.

TBR=lrn@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45338 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 11:08:38 +00:00
lrn@google.com d44257439c Don't rely on Function being callable in static analysis.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45336 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 11:07:15 +00:00
lrn@google.com f139d0e93b Add List.unmodifiable constructor.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45334 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:48:22 +00:00
lrn@google.com 45718dff8b Avoid checking Uint8List for non-Latin-1 characters.
Optimize checking code as well.
Remove some unused code.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45332 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:43:32 +00:00
sgjesse@google.com f8eaff5b69 Fix warnings and hints in the SDK
BUG=
R=paulberry@google.com, sgjesse@google.com, whesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45331 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 10:35:49 +00:00
sra@google.com 00dde387ab Improve CssClassSet add / remove
Allow the 'contains' call to be removed if the result is unused.

    DivElement bars = new DivElement()
        ..classes.add('pipeline-bars');
-->
      t3 = document.createElement("div", null);
      list = t3.classList;
      list.contains("pipeline-bars");
      list.add("pipeline-bars");
-->
      t3 = document.createElement("div", null);
      t3.classList.add("pipeline-bars");

R=sigmund@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45324 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 22:48:12 +00:00
pquitslund@google.com 4c03f25626 Analyzer build updates to use analyzer_cli.
The associated change to add analyzer_cli to DEPS is here:
https://codereview.chromium.org/1093173004/

R=brianwilkerson@google.com, paulberry@google.com, ricow@google.com, rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45321 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 20:59:31 +00:00
sgjesse@google.com 170be8d7d1 Process outstanding events before making a new HTTP client request
This re-applies r45127, which was reverted in r45129. The revert was due
to a failing test which is re-written here to perform the separate steps
in a deterministic order.

Original change description:

This fixes the issue of using a HTTP client connection from the
connection pool which was closed and where the close indication has
already been received by the event handler.

This specifically fixes the 'pub get' issue where a long running
constraint resolver would end with the error "Connection closed before
full header was received"

Retrying GET methods when the connection is closed after succesfuly
sending (parts of) the request is still missing.

R=lrn@google.com

BUG=http://dartbug.com/21798

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45313 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 12:14:55 +00:00
sra@google.com f1ab388015 Rewrite for-in loop on JavaScript indexable arrays as indexing loop
for (E variable in a) <body>

is generated as:

  _end = a.length;
  for (_i = 0; _i < a.length; a.length == _end || (0, H.throwConcurrentModificatiionError)(a), ++_i) {
    variable = a[_i];
    <body>;
  }

or, when the list is known to be fixed length:

  for (_i = 0; _i < a.length; ++_i) {
    variable = a[_i];
    <body>;
  }

R=floitsch@google.com

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

Reverted: https://code.google.com/p/dart/source/detail?r=45271

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45309 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 03:13:36 +00:00
sra@google.com 904c18efcc Enforce token syntax for CssClassSet arguments
Committed: https://code.google.com/p/dart/source/detail?r=45265

Reverted: https://code.google.com/p/dart/source/detail?r=45266

R=terry@google.com

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

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

Reverted: https://codereview.chromium.org/1096433006/

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45307 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 01:32:49 +00:00
sra@google.com 736007062a Revert "Enforce token syntax for CssClassSet arguments"
TBR=terry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45306 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 01:14:32 +00:00
sra@google.com a1850bb69a Enforce token syntax for CssClassSet arguments
Committed: https://code.google.com/p/dart/source/detail?r=45265

Reverted: https://code.google.com/p/dart/source/detail?r=45266

R=terry@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45303 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 00:37:10 +00:00
sra@google.com ec484da9f6 Revert "Enforce token syntax for CssClassSet arguments"
Review URL: https://codereview.chromium.org//1098073003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45302 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 00:25:54 +00:00
sra@google.com 01d3e99f18 Enforce token syntax for CssClassSet arguments
Committed: https://code.google.com/p/dart/source/detail?r=45265

Reverted: https://code.google.com/p/dart/source/detail?r=45266

R=terry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45301 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 23:44:11 +00:00
sra@google.com 1b2296c2be getElementsByName returns HtmlCollection on IE
Review URL: https://codereview.chromium.org//1093243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45299 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 22:23:08 +00:00
sra@google.com 55372e4678 t # Enter a description of the change.
Revert "getElementsByName returns HtmlCollection on IE"

TBR=terry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45298 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 21:48:30 +00:00
sra@google.com 44ea26b4fb getElementsByName returns HtmlCollection on IE
This CL will be committed and reverted to sniff out test status changes (some very small tests will start passing)

TBR=terry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45295 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 20:16:24 +00:00
lrn@google.com 53fa5f6c0a Make html-escape also escape < and > in attributes.
Unescaped < is not allowed in strict XHTML attributes.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45278 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 11:01:22 +00:00
lrn@google.com b4d052c5da Fix bug in DateTime.parse.
Used unescaepd "." to match "." in RegExp.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45274 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 10:27:24 +00:00
sra@google.com 541fbcd32e Rewrite for-in loop on JavaScript indexable arrays as indexing loop
for (E variable in a) <body>

is generated as:

  _end = a.length;
  for (_i = 0; _i < a.length; a.length == _end || (0, H.throwConcurrentModificatiionError)(a), ++_i) {
    variable = a[_i];
    <body>;
  }

or, when the list is known to be fixed length:

  for (_i = 0; _i < a.length; ++_i) {
    variable = a[_i];
    <body>;
  }

R=floitsch@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45271 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 02:44:07 +00:00
sra@google.com 24478da6bc Rewrite for-in loop on JavaScript indexable arrays as indexing loop
for (E variable in a) <body>

is generated as:

  _end = a.length;
  for (_i = 0; _i < a.length; a.length == _end || (0, H.throwConcurrentModificatiionError)(a), ++_i) {
    variable = a[_i];
    <body>;
  }

or, when the list is known to be fixed length:

  for (_i = 0; _i < a.length; ++_i) {
    variable = a[_i];
    <body>;
  }

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45270 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 02:08:12 +00:00
sra@google.com efc7d09945 Enforce token syntax for CssClassSet arguments
Committed: https://code.google.com/p/dart/source/detail?r=45265

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45266 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 01:58:20 +00:00
sra@google.com 08676965c4 Enforce token syntax for CssClassSet arguments
Review URL: https://codereview.chromium.org//1077203004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45265 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-18 01:53:21 +00:00
lrn@google.com 643afcf5b0 Document that Uri.scheme and Uri.host are lower-case.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45234 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 11:11:36 +00:00
lrn@google.com a412878666 Fix typo in test, add check of error thrown.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45233 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 10:55:30 +00:00
lrn@google.com d8dbb4a60f Add Uri.directory constructor.
Make Directory.uri getter use the new constructor.
This also fixes that the uri getter doesn't work correctly on Windows.

Add uri getter on file system entity.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45227 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 08:56:03 +00:00
lrn@google.com 8cf32dc1a1 Add uri getter on file system entity.
BUG= http://dartbug.com/20362
Also:
BUG= http://dartbug.com/19428
BUG= http://dartbug.com/17065
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45226 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 07:31:26 +00:00
sra@google.com 2e782faf3b Fix XMLHTTPRequest JS type in _loadHunk
Saves ~100K on apps using defered loading

TBR=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45222 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 00:30:09 +00:00
sra@google.com 39dfecbfb5 Revert "Change ListIterator to only check for concurrent modification at each iteration"
Revert "Fix ListIterator.iterator function hash for VM."

This is not as easy to optimize for dart2js as initially thought.
Revert this change while we discuss.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45216 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 18:53:39 +00:00
lrn@google.com 1068fae57f Fix typo in Completer.sync documentation.
BUG= http://dartbug.com/23171
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45204 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 11:23:09 +00:00
lrn@google.com 5a79c03e09 Change ListIterator to only check for concurrent modification at each iteration
in checked mode.

It also checks at the end in all cases.

Iteration only goes from 0 to the original length of the list.
This ensures that iterating a list while adding to it (like by x.addAll(x))
is caught instead of growing until out-of-memory.
For well-behaved programs this makes no difference since length and original
length stay the same.
Also, it means that calling moveNext again later, after increasing the length,
will not make iteration continue. After returning false, iteration is always
done.
However, it means that reducing the length causes an out-of-range read before
reaching the end, and before a concurrent modification error can happen.

R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45198 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 09:07:58 +00:00
dgrove@google.com 3c39ad2ec4 Fix off-by-one error in https://code.google.com/p/dart/source/detail?r=45153
and https://code.google.com/p/dart/source/detail?r=45154 .

R=sigmund@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45189 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 23:13:40 +00:00
sra@google.com 6467b4302d dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

Committed: https://code.google.com/p/dart/source/detail?r=45184
Reverted: https://code.google.com/p/dart/source/detail?r=45186

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45188 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 23:13:29 +00:00
sra@google.com 18dd1aa826 Revert "dart2js implementation of StringBuffer.writeAll that optimizes better."
StringBuffer.writeAll is expected by pub tests to not be patched or inlined.  I'll fix that and redo.

TBR=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45186 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:55:05 +00:00
sra@google.com 54718dc6e2 dart2js implementation of StringBuffer.writeAll that optimizes better.
Sometimes we can avoid the StringBuffer object:

    t1 = new P.StringBuffer(leftDelimiter);
    t1.writeAll$2(parts, ", ");
    t1 = t1._contents += rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;
-->
    t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
    return t1.charCodeAt(0) == 0 ? t1 : t1;

Also updated tests with missing cases.

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45184 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:02:05 +00:00
floitsch@google.com a004ca0767 Revert "dart2js: add compiler builtins to the core-runtime."
This reverts commit r45176.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45177 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 19:30:09 +00:00
floitsch@google.com dfbe06beba dart2js: add compiler builtins to the core-runtime.
WIP.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45176 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 19:17:57 +00:00
lrn@google.com 5cbb84dfa2 Add normalizePath to Uri class.
The algorithm for removing '.' and '..' from a path is only available through the [resolve] method.
This change makes it available directly as a function on a Uri, returning a new Uri if necessary.
The current workaround is to do:
  var normalizedUri = new Uri().resolveUri(originalUri);

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45163 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 11:56:35 +00:00
floitsch@google.com 1fd10697a8 dart2js: use Es6 maps when available.
R=herhut@google.com, sra@google.com

Committed: https://code.google.com/p/dart/source/detail?r=45105
Reverted: https://code.google.com/p/dart/source/detail?r=45107

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45158 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 10:44:54 +00:00
lrn@google.com 7164a917f6 Change isolate done-handler registry back to list instead of HashMap.
Requires linear search for each operation, but doesn't include HashMap unnecessarily.
Reduces size of swarm by 5.9k.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45156 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 09:30:53 +00:00
lrn@google.com 9866f0ee97 Update pub 404-page-test to expect &#46; instead of /.
Review URL: https://codereview.chromium.org//1073953005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45154 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 09:18:30 +00:00
lrn@google.com 8a5d0491e4 Make HtmlEscape escape '/' again in UNKNOWN mode.
This is a XSS-prevention recommendation.
If escaped code is only ever used inside a quoted attribute or as element text,
escapeing '/' is not necessary.
However, if the escaped code is inserted inside a tag (for example assuming
that it is a well-behavde attribute), then a slash may be meaningful in some
cases. Lots of other things can go wrong in that case, so we recommend against
it.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45153 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 08:15:16 +00:00
nweiz@google.com 60d2af767e Clear out outdated binary snapshots when installing.
BUG= http://dartbug.com/23113
R=kevmoo@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45147 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 21:42:43 +00:00
zarah@google.com f09447ebef dartj2s: add constructor helpers for map literals with no type parameters.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45133 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 11:28:28 +00:00
sgjesse@google.com 03406cc9a3 Revert "Process outstanding events before making a new HTTP client request"
Broke the test standalone/io/https_bad_certificate_test

TBR=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45129 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 09:25:18 +00:00
sgjesse@google.com f2ff9a3046 Process outstanding events before making a new HTTP client request
This fixes the issue of using a HTTP client connection from the
connection pool which was closed and where the close indication has
already been received by the event handler.

This specifically fixes the 'pub get' issue where a long running
constraint resolver would end with the error "Connection closed before
full header was received"

Retrying GET methods when the connection is closed after succesfuly
sending (parts of) the request is still missing.

R=kustermann@google.com

BUG=http://dartbug.com/21798

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45127 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 08:24:57 +00:00
lrn@google.com 5973ba0425 Store zone in microtask entry.
Avoids an extra stack-trace for doing zone.bindCallback (which is not overridable anyway).
Only optimizes cases where a new zone  overrides neither scheduleMicrotask nor errorHandler.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45125 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 07:37:51 +00:00
sra@google.com 9385aa2acd Use native behavior for dead code elimination
- Unused pure instructions are removed
- noSuchMethod-on-null-guards

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45110 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 16:30:02 +00:00
floitsch@google.com 55dc5bcf42 Revert "dart2js: use Es6 maps when available."
This reverts commit r45105.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45107 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 15:24:34 +00:00
floitsch@google.com dbc6ae91ab dart2js: use Es6 maps when available.
R=herhut@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45105 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 14:27:25 +00:00
lrn@google.com 0e22f7402f Move implementation from IterableBase to Iterable.
Keep IterableBase around, but just extend Iterable.

There is no good reason to have IterableBase different from Iterable. The only argument is to be consistent with ListBase, but that's also inconsistent with, e.g., Stream.
ListBase only exists because List uses the default List constructor, so it's not a good super-class. As a usability-tradeoff, the ListBase class exists as a super-class.
Iterable doesn't have the same problem, so applying that "trade-off" has no up-side.

(A better long-term solution would be to be able to designate another constructor as the default "super()" constructor to call, so List could be used as a superclass).

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45096 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 12:26:15 +00:00
lrn@google.com 1b208bd6e6 Update Isolate API.
Remove AS_EVENT as priority of ping/kill. It wasn't very usable or predictable.
Make priority consistently named and a named parameter.
Add response object to ping/addExitListener so it doesn't have to send null.
This is useful for cases where you want to use the same receive port for
multiple purposes.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45092 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 10:29:54 +00:00
lrn@google.com 68dd6f6338 Add StackTrace.fromString constructor.
Remove _RemoteStackTrace from dart:isolate and use the new version instead.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45088 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 09:17:13 +00:00
floitsch@google.com 47e4f09ab2 dart2js: Remove obsolete shortcut code in function-type checking.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45085 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 07:51:23 +00:00
floitsch@google.com 80155170ce dart2js: Fix csp minified.
For the most part this only required status file or test updates.
There was, however, a bug in the code that extracted the class-name from its constructor.

R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45084 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 07:49:54 +00:00
sigurdm@google.com 3a44fa3e07 Dart2js async* functions only resume execution of the body when suspended on yield.
Before they would also resume if suspended on await, leading to resuming
on unfinished futures.

BUG= dartbug.com/23129
R=floitsch@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45056 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 08:58:32 +00:00
alanknight@google.com 47a1aea03c Remove fallback attempt to set outerHtml when removing corrupt nodes, it won't work anyway
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45041 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 22:43:20 +00:00
sigmund@google.com 7d25519ccc Delete windows signal test
BUG=
R=nweiz@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45033 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 20:48:55 +00:00
alanknight@google.com b13d4f5742 Check for DOM clobbering attacks in sanitizing/node validation
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45028 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 19:47:34 +00:00
sigmund@google.com df6e26c838 Fix hanging process (kill of parent process leaves child as a zombie)
R=nweiz@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45026 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 18:49:38 +00:00
sigmund@google.com 52ab6bb53e Fix windows signal test
(this amends a bit the changes in
https://code.google.com/p/dart/source/detail?r=44902)

R=kevmoo@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45020 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 17:58:32 +00:00
alanknight@google.com e1e22c00f2 Fix node validation for SVG foreignobject tag
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45019 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 17:24:03 +00:00
sigmund@google.com d3a8aa1eed Fix nonexistent script test in windows
R=kevmoo@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45018 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 17:18:52 +00:00
sigmund@google.com 1d75244c47 Fix pub test that broke with changes in dart:convert
(dart:convert no longer escapes '/' since https://code.google.com/p/dart/source/detail?r=45003)

R=kevmoo@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45017 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 16:23:16 +00:00
lrn@google.com 8b8223d15c Document and fix HTML-escape.
Update documentation and behavior of HtmlEscape.

BUG= http://dartbug.com/21913, http://dartbug.com/13097
R=floitsch@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45003 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 12:45:06 +00:00
sgjesse@google.com 5bfb1c608d Cleanup change in r44998 a bit
This also makes it easier to inline _headersEnd again if required (for
performance reasons).

R=kustermann@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44999 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 11:53:03 +00:00