Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Issue 2517813002: Enable V8BasedStructuredClone by default. (Closed)

Created:
4 years, 1 month ago by jbroman
Modified:
4 years ago
Reviewers:
haraken, esprehn
CC:
blink-reviews, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Enable V8BasedStructuredClone by default. Layout test expected results are changed for the following reasons: - Some exception messages are formatted slightly differently (e.g. to convey the type of the object which failed to be cloned). - blink::ScriptValueSerializer emitted frequent "object count validation" tags (the most frequently seen is 3f00) which are not required by either deserializer, but the new one does not. - Excessive depth throws a RangeError, like JSON.stringify and other functions that internally reach excessive depth (this is consistent with Safari, and similar to how Edge also throws the same exception as for an ordinary stack overflow in script). - Certain large numbers are encoded differently; specifically, V8 now chooses between signed-int and double representations depending on whether the value has a small-integer (SMI) encoding in memory (this value range varies by CPU architecture). The old implementation tried to fit in a signed-int, then tried to fit in an unsigned-int, and only used double representation if that failed. Both implementations can read all representations, so this is a compatible change. Tests that are sensitive to variation by CPU architecture are commented out; there are unit tests that ensure that this serialization works correctly. BUG=148757 Committed: https://crrev.com/19b847a9301f7139b7ff85cb32eb13e514fa1ab1 Cr-Commit-Position: refs/heads/master@{#434685}

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : . #

Patch Set 4 : . #

Patch Set 5 : . #

Patch Set 6 : . #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+342 lines, -407 lines) Patch
M third_party/WebKit/LayoutTests/crypto/subtle/aes-cbc/cloneKey-expected.txt View 1 12 chunks +12 lines, -12 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/aes-ctr/cloneKey-expected.txt View 1 4 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/aes-gcm/cloneKey-expected.txt View 1 12 chunks +12 lines, -12 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/aes-kw/cloneKey-expected.txt View 1 4 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/ecdh/cloneKey-expected.txt View 1 12 chunks +12 lines, -12 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/ecdsa/cloneKey-expected.txt View 1 18 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/hkdf/cloneKey-expected.txt View 1 45 chunks +45 lines, -45 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/hmac/cloneKey-expected.txt View 1 72 chunks +72 lines, -72 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/pbkdf2/cloneKey-expected.txt View 1 45 chunks +45 lines, -45 lines 0 comments Download
M third_party/WebKit/LayoutTests/crypto/subtle/rsassa-pkcs1-v1_5/cloneKey-expected.txt View 1 36 chunks +36 lines, -36 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-transferable-exceptions-expected.txt View 1 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/Window/anonymous-slot-with-changes-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/postmessage-clone-really-deep-array.js View 1 1 chunk +1 line, -1 line 1 comment Download
M third_party/WebKit/LayoutTests/fast/dom/Window/script-tests/postmessage-test.js View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/Window/window-postmessage-args-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/Window/window-postmessage-clone-expected.txt View 1 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/dom/Window/window-postmessage-clone-really-deep-array-expected.txt View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/events/message-port-multi-expected.txt View 1 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/storage/serialized-script-value.html View 1 2 3 4 3 chunks +51 lines, -70 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/storage/serialized-script-value-expected.txt View 1 2 3 4 5 2 chunks +0 lines, -48 lines 0 comments Download
M third_party/WebKit/LayoutTests/fast/workers/worker-formdata-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/storage/indexeddb/clone-exception-expected.txt View 1 3 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/storage/indexeddb/exceptions-expected.txt View 1 3 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/storage/indexeddb/objectstore-basics-workers-expected.txt View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/storage/indexeddb/structured-clone-expected.txt View 1 1 chunk +7 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 39 (31 generated)
jbroman
I don't consider this to be blocked by https://bugs.chromium.org/p/chromium/issues/detail?id=667260, which is an issue in V8's ...
4 years, 1 month ago (2016-11-21 22:53:11 UTC) #24
esprehn
I think this probably needs an intent to ship since it's web exposed for the ...
4 years, 1 month ago (2016-11-21 22:58:50 UTC) #26
haraken
With an intent-to-ship, LGTM! There you can emphasize the great performance improvement.
4 years, 1 month ago (2016-11-22 00:59:55 UTC) #27
jbroman
Intent thread: https://groups.google.com/a/chromium.org/d/topic/blink-dev/He73SYod67A/discussion
4 years, 1 month ago (2016-11-22 20:12:12 UTC) #28
jbroman
Intent has 3xLGTM, landing.
4 years ago (2016-11-28 17:53:54 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2517813002/100001
4 years ago (2016-11-28 17:54:18 UTC) #35
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years ago (2016-11-28 18:00:22 UTC) #37
commit-bot: I haz the power
4 years ago (2016-11-28 18:06:09 UTC) #39
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/19b847a9301f7139b7ff85cb32eb13e514fa1ab1
Cr-Commit-Position: refs/heads/master@{#434685}

Powered by Google App Engine
This is Rietveld 408576698