New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 703650 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug


Show other hotlists

Hotlists containing this issue:
Wasm-M59


Sign in to add a comment

restrict wasm structured cloning

Project Member Reported by mtrofin@chromium.org, Mar 21 2017

Issue description

Restrict to:
- same-process sender and receiver
- secure origin indexeddb

related v8:6079
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cdf3dbc3b856ccf4bde20d3d4a44f7ad8a85a743

commit cdf3dbc3b856ccf4bde20d3d4a44f7ad8a85a743
Author: mtrofin <mtrofin@chromium.org>
Date: Tue Mar 21 17:44:34 2017

[wasm] temporarily skip wasm structured cloning tests

This is so we can reland https://codereview.chromium.org/2748473004
on the v8 side. Following that, we can address  crbug.com/703650 
on the Chromium side, and re-enable the tests.

BUG: chromium:703650 

Review-Url: https://codereview.chromium.org/2764933002
Cr-Commit-Position: refs/heads/master@{#458463}

[modify] https://crrev.com/cdf3dbc3b856ccf4bde20d3d4a44f7ad8a85a743/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/110b0ecc2600e97fdc7496fb99fb309cab806242

commit 110b0ecc2600e97fdc7496fb99fb309cab806242
Author: mtrofin <mtrofin@chromium.org>
Date: Wed Mar 29 08:27:20 2017

[wasm] enable wasm structured cloning in specific cases

Using the mechanism introduced in V8 with https://codereview.chromium.org/2748473004, we restrict wasm structured cloning
to:
1) senders and receivers in the same process. This is achieved, similar to shared
array buffers, by defaulting wasm serialization to using a transfer list internal to
SerializedScriptValue. The transfer list is not IPC-ed, which achieves the desired
restriction

2) IndexedDB, when the origin is secure. This is achieved by explicitly opting in, on
both serialization and deserialization side, into inline (i.e. in the stream)
(de)serialization, if the origin is secure. This last check is done on the serialization
side, which should be sufficient, since we trust the IDB layer.

In the process of adding tests for in-process iframe, I found  crbug.com/700788 . Left
the test in the CL, but currently disabled. Also, didn't add a cross-origin iframe test
because, currently, that wouldn't add value (because of this bug)

BUG= chromium:703650 

Review-Url: https://codereview.chromium.org/2749503002
Cr-Commit-Position: refs/heads/master@{#460328}

[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/compile_worker.js
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/resources/blank.html
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/resources/frame.html
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/resources/incrementer.wasm
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/resources/service-worker.js
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/wasm_indexeddb_negative_test.html
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/wasm_indexeddb_test.html
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/wasm_indexeddb_test.js
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/wasm_local_iframe_test.html
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/wasm_serialization_tests.js
[add] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/LayoutTests/http/tests/wasm/wasm_service_worker_test.html
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.h
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.cpp
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializer.cpp
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializer.h
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/core/testing/Internals.cpp
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/core/testing/Internals.h
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/core/testing/Internals.idl
[modify] https://crrev.com/110b0ecc2600e97fdc7496fb99fb309cab806242/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp

Cc: domenic@chromium.org jsb...@chromium.org
Labels: -Pri-3 Pri-1
Status: ExternalDependency (was: Started)
Waiting for Domenic & Joshua's final word on error messaging in the blocked cases.
Status: Fixed (was: ExternalDependency)
 https://crbug.com/721535  wraps this up.

Sign in to add a comment