Commit Graph

61 Commits

Author SHA1 Message Date
Florian Loitsch fe1fda0766 Make dart:convert strong mode clean.
Also removes the ChunkedConverter.

R=lrn@google.com

Review URL: https://codereview.chromium.org/1964953003 .
2016-05-11 16:15:31 +02:00
Srdjan Mitrovic d109b17ead Turn off background compilation when running with --verify_gc, since the background compilation constantly forces mutator thread to reach safepoint and vice versa. This can take too much time. Add a different source-code position for UNREACHABLE in AbstractType::IsInstantiated to analyze very rare crashes
BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org/1913313002 .
2016-04-22 15:37:52 -07:00
Florian Loitsch 1e574a1ffc Fix void foo(..) => ... to use { } instead.
Fixes issue 26292.
BUG= http://dartbug.com/26292
R=lrn@google.com

Review URL: https://codereview.chromium.org/1908943004 .
2016-04-21 21:35:17 +02:00
Siva Annamalai e67a6babcf Remove --verified_mem option from the test as there is a plan to deprecate this option.
Review URL: https://codereview.chromium.org/1889613002 .
2016-04-13 12:33:11 -07:00
Florian Loitsch 50bdab3841 Steps towards making the convert library strong-mode compliant.
This version has a few deprecated methods. In a future release they will be removed.

See https://codereview.chromium.org/1827803002 for the final patch (once the deprecated methods have been removed).

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

Committed: https://github.com/dart-lang/sdk/commit/4ab1219bf93a33a2a3d4803e053ccd70ce190371
Reverted: https://github.com/dart-lang/sdk/commit/045a3753665268761508c8053e0ee84372d9ef35

Review URL: https://codereview.chromium.org/1847843002 .
2016-04-12 20:59:21 +02:00
Florian Loitsch 045a375366 Revert "Steps towards making the convert library strong-mode compliant."
This reverts commit 4ab1219bf9.

Review URL: https://codereview.chromium.org/1881553002 .
2016-04-11 19:52:57 +02:00
Florian Loitsch 4ab1219bf9 Steps towards making the convert library strong-mode compliant.
This version has a few deprecated methods. In a future release they will be removed.

See https://codereview.chromium.org/1827803002 for the final patch (once the deprecated methods have been removed).

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

Review URL: https://codereview.chromium.org/1847843002 .
2016-04-11 19:16:04 +02:00
Lasse R.H. Nielsen 3f0ad9d4f2 Add "url-safe" encoding to base64 in dart:convert.
Fixes issue #24813.
Doesn't add a second codec. The codec is unimportant,
only the BASE64 and BASE64URL constants need to be public anyway.

BUG= http://dartbug.com/24813
R=floitsch@google.com, nweiz@google.com

Review URL: https://codereview.chromium.org/1858113003.
2016-04-07 16:36:14 +02:00
Srdjan Mitrovic 47f0b84838 Update test's options to optimize deterministically (turn off background compilation)
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1807013003 .
2016-03-17 09:35:27 -07:00
Lasse R.H. Nielsen d6b01b5028 Fix type-error in base64.dart
Fixes issue #25577.
BUG= http://dartbug.com/25577

Review URL: https://codereview.chromium.org/1630933004.
2016-01-28 13:15:01 +01:00
Lasse R.H. Nielsen 289a22182e Add support for decoding URL-safe encoded base64.
Also support "%3D" instead of "=" as padding, but no other percent escapes.

This is only for decoding, encoding is still as strict as possible.

R=nweiz@google.com

Review URL: https://codereview.chromium.org/1419983003 .
2015-10-26 09:41:30 +01:00
Lasse R.H. Nielsen bd4c7a8a07 Add Base64 codec to dart:convert.
This is a simple converter that only accepts and produces plain base-64 strings
with the default alphabet and no whitespace.

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

Review URL: https://codereview.chromium.org//1370073002 .
2015-09-29 13:49:53 +02:00
Lasse R.H. Nielsen 194c729a2a Make line_splitter_test not use multi-line strings.
Apparently dart2js and the VM disagrees on which characters are in
a multi-line string if the source uses Windows line endings.

Fixes issue 23856

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

Review URL: https://codereview.chromium.org//1294353003.
2015-08-19 11:27:14 +02: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
Stephan Herhut 225be75498 Fix some tests and exclude others from CRLF rewriting.
R=whesse@google.com
BUG=

Review URL: https://codereview.chromium.org//1212823002.
2015-06-26 14:40:01 +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
kevmoo@google.com cc8ad23a80 Stop using pkg/matcher in JSON pretty test
R=nweiz@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45656 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 20:55:54 +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
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
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
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
lrn@google.com ad532b79e0 Make Utf8Decoder and Utf8Encoder's convert methods take start and end too.
BUG= http://dartbug.com/21652
R=floitsch@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41844 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 11:23:51 +00:00
koda@google.com fde4d2882c Add missing verified write on x64; extend test coverage
On x64, StoreInstanceField and StoreIndexed sometimes used Assembler::StoreObject to store constants directly into heap objects. This method is unaware of the write barrier. Fix this by adding a write-barrier-aware method, like we already have on ia32.

Generally, we should consider distinguishing more clearly between stack stores and heap stores, for instance by adding HeapAddress/StackAddress types.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41808 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-18 16:35:59 +00:00
lrn@google.com 75e49f5220 Fix test warnings and expect Safari mobile simulator bug.
Review URL: https://codereview.chromium.org//679143003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41319 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 15:07:20 +00:00
lrn@google.com 8050a0392b Fix assertion not holding (calling with start==end) and typo.
Review URL: https://codereview.chromium.org//677423002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41317 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 14:00:13 +00:00
lrn@google.com e2e17c3f26 Make JSON parsing work as a chunked conversion sink.
This allows JSON parsing to work on individual chunks of source instead
of collecting and concatenating all the parts before parsing.

This is made in anticipation of having a UTF-8 version that parses directly
on the input codes, without creating a String first.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41311 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 12:11:39 +00:00
lrn@google.com e41bf80fbb Update test expectation for Safari to account for JSON.parse bug.
Also use num.parse now that we have it.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38223 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 08:01:43 +00:00
lrn@google.com 4feb28b5c2 Fix error message for unexpected characters in JSON.
The current version treats any unexpected character as a number
error.

R=kustermann@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38185 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-14 11:08:36 +00:00
lrn@google.com cf8ac68c0d Make VM JSON parser parse doubles without doing substring.
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38155 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-11 12:14:23 +00:00
kevmoo@google.com 7aad450550 dart:convert: support indented output w/ JsonEncoder
BUG= https://code.google.com/p/dart/issues/detail?id=7846
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34758 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-05 20:09:21 +00:00
kevmoo@google.com 6e3128596c lib/convert: removed unused import, removed redundant test
Re-enabled checks in existing test

R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34703 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-03 13:41:55 +00:00
kevmoo@google.com 441bd85c9f Fix JSON tests, re-enable in all cases - 2nd try
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34457 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 23:11:40 +00:00
sra@google.com 789cb16956 Revert "Fix JSON tests, re-enable in all cases"
TBR=kevmoo@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34441 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 18:16:06 +00:00
kevmoo@google.com 38b0d362b5 Fix JSON tests, re-enable in all cases
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34440 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-26 17:43:23 +00:00
floitsch@google.com f5e2b355f7 Improve Json constructor.
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32502 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-10 15:51:30 +00:00
lrn@google.com 1bb616d0ce Fix JSON encoder accepting NaN and Infinity.
BUG= http://dartbug.com/16038
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31731 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-13 10:00:08 +00:00
floitsch@google.com 30c9633145 Copy utf-pkg test to lib/convert.
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30452 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-20 10:26:35 +00:00
floitsch@google.com 35e9ae50d9 Fix warnings in library-tests.
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29756 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-01 17:01:11 +00:00
floitsch@google.com 79e82f80ce Reapply utf85_test.
Bug in VM has been fixed. It shouldn't take that long anymore.

This test was originally LGTMed in https://chromiumcodereview.appspot.com/25463003/

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28198 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 08:51:43 +00:00
floitsch@google.com 37b31bcbd6 Remove utf85_test for now. It's too slow.
Review URL: https://codereview.chromium.org//25548003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28098 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 15:41:36 +00:00
floitsch@google.com c1460894d6 Fix UTF8 encoder for Unicode runes > 0xFFFF.
R=ajohnsen@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28095 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 12:11:02 +00:00
floitsch@google.com 00752e7e24 Escape slash since it helps to end an HTML entity.
Escaping a slash is recommended by the OWASP.

Replace "&apos;" in HTML escaping by "&#x27;" since "&apos;" isn't supported in the HTML4 spec.

BUG= http://dartbug.com/13364
R=efortuna@google.com, floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27945 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-26 12:19:40 +00:00
kevmoo@j832.com 85e045313e adding HtmlEscape to dart:convert
BUG=https://code.google.com/p/dart/issues/detail?id=1657
R=blois@google.com, floitsch@google.com, rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27211 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-05 20:30:56 +00:00
floitsch@google.com 1866e87ddd Switch to async_helper package.
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26918 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 14:19:57 +00:00
lrn@google.com 788c569e9c Convert HashMap and LinkedHashMap to closed addressing hash tables.
R=regis@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26863 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-29 12:13:32 +00:00
lrn@google.com 3408c5bc88 Make the result of JSON.decode be marked by "null" in the reviver.
They are currently marked by "", which can match a property as well.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26768 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 08:25:34 +00:00
floitsch@google.com 35d7140e66 Remove Encoding-enum from dart:io and add interface in dart:convert.
BUG= http://dartbug.com/6284
BUG= http://dartbug.com/7966
R=nweiz@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26632 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-26 10:37:25 +00:00
floitsch@google.com a30cffbf77 Treat negative utf8-units the same way as other broken encodings.
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26528 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-22 15:40:41 +00:00
floitsch@google.com 109280c8f9 Make utf8 decoder non-buffered.
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26526 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-22 14:33:34 +00:00
lrn@google.com 43bf48fa0e Add ASCII encoding to lib/convert.
Reuses part of LATIN1 encoding.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26518 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-22 13:05:29 +00:00