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

Issue 23992003: blob hacking webcore style (Closed)

Created:
7 years, 3 months ago by michaeln
Modified:
7 years, 2 months ago
CC:
blink-reviews, Nils Barth (inactive), jamesr, kojih, jsbell+bindings_chromium.org, eae+blinkwatch, tommyw+watchlist_chromium.org, kinuko, marja+watch_chromium.org, dglazkov+blink, dgrogan, adamk+blink_chromium.org, haraken, Nate Chapin, jeez, do-not-use
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

WebCore blob hacking Added BlobDataHandle, a thread safe layer of indirection between Blob instances and the underying data. Change blob processing/handling classes to work with BlobDataHandles insead of URLs. -- WebCore::Blob -- WebCore::BlobBuilder -- postMessage() plumbing -- WebSocket.send() plumbing -- fileWriter.write() plumbing -- SerializedScriptValue -- FormData Switched to using string uuids instead of urls in structs and params in the WebKit API. -- WebBlobData::Item -- WebHTTPBody::Element -- WebFileWriter::write() -- WebBlobRegistry Removed main thread bridging from BlobRegistry control flow for blobs (not for streams). Got more explicit about naming: FileSystemURL vs BlobUUID vs PublicBlobURL. BUG=174200

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 25

Patch Set 8 : #

Patch Set 9 : #

Total comments: 2

Patch Set 10 : #

Patch Set 11 : #

Total comments: 22

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Total comments: 1

Patch Set 15 : #

Patch Set 16 : #

Patch Set 17 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+409 lines, -424 lines) Patch
M LayoutTests/fast/storage/resources/serialized-script-value.js View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +21 lines, -0 lines 0 comments Download
M LayoutTests/fast/storage/serialized-script-value.html View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +36 lines, -33 lines 0 comments Download
M LayoutTests/fast/storage/serialized-script-value-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M Source/bindings/v8/SerializedScriptValue.h View 1 2 3 4 5 6 7 4 chunks +9 lines, -3 lines 0 comments Download
M Source/bindings/v8/SerializedScriptValue.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 15 chunks +78 lines, -47 lines 0 comments Download
M Source/core/fileapi/Blob.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +13 lines, -29 lines 0 comments Download
M Source/core/fileapi/Blob.cpp View 1 2 3 4 5 6 7 5 chunks +15 lines, -42 lines 0 comments Download
M Source/core/fileapi/BlobBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +5 lines, -5 lines 0 comments Download
M Source/core/fileapi/BlobRegistry.h View 1 2 3 4 5 6 7 8 9 1 chunk +7 lines, -7 lines 0 comments Download
M Source/core/fileapi/BlobRegistry.cpp View 1 2 3 2 chunks +10 lines, -46 lines 0 comments Download
M Source/core/fileapi/BlobURL.h View 1 2 3 1 chunk +5 lines, -8 lines 0 comments Download
M Source/core/fileapi/BlobURL.cpp View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -10 lines 0 comments Download
M Source/core/fileapi/File.h View 1 2 3 2 chunks +3 lines, -5 lines 0 comments Download
M Source/core/fileapi/File.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +13 lines, -13 lines 0 comments Download
M Source/core/fileapi/FileReader.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 6 chunks +7 lines, -7 lines 0 comments Download
M Source/core/fileapi/FileReaderLoader.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +3 lines, -7 lines 0 comments Download
M Source/core/fileapi/FileReaderLoader.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +13 lines, -9 lines 0 comments Download
M Source/core/fileapi/FileReaderSync.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M Source/core/fileapi/Stream.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M Source/core/platform/chromium/ChromiumDataObjectItem.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M Source/core/platform/chromium/support/WebHTTPBody.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +6 lines, -16 lines 0 comments Download
M Source/core/platform/network/BlobData.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +39 lines, -21 lines 0 comments Download
M Source/core/platform/network/BlobData.cpp View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +24 lines, -9 lines 0 comments Download
M Source/core/platform/network/FormData.h View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +16 lines, -12 lines 0 comments Download
M Source/core/platform/network/FormData.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +10 lines, -10 lines 0 comments Download
M Source/core/xml/XMLHttpRequest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +3 lines, -3 lines 0 comments Download
M Source/modules/filesystem/FileWriter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/filesystem/FileWriterSync.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/imagebitmap/ImageBitmapFactories.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +2 lines, -1 line 0 comments Download
M Source/modules/indexeddb/IDBObjectStore.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/websockets/MainThreadWebSocketChannel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +4 lines, -4 lines 0 comments Download
M Source/modules/websockets/MainThreadWebSocketChannel.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +5 lines, -5 lines 0 comments Download
M Source/modules/websockets/NewWebSocketChannelImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +3 lines, -3 lines 0 comments Download
M Source/modules/websockets/NewWebSocketChannelImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +9 lines, -9 lines 0 comments Download
M Source/modules/websockets/WebSocket.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +3 lines, -5 lines 0 comments Download
M Source/modules/websockets/WebSocketChannel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +2 lines, -2 lines 0 comments Download
M Source/modules/websockets/WorkerThreadableWebSocketChannel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +5 lines, -4 lines 0 comments Download
M Source/modules/websockets/WorkerThreadableWebSocketChannel.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +8 lines, -10 lines 0 comments Download
M Source/web/WebBlob.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/web/WebBlobData.cpp View 1 2 3 2 chunks +3 lines, -6 lines 0 comments Download
M public/platform/WebBlobData.h View 1 2 3 4 5 6 7 2 chunks +4 lines, -9 lines 0 comments Download
M public/platform/WebHTTPBody.h View 1 2 3 4 3 chunks +2 lines, -8 lines 0 comments Download
M public/web/WebBlob.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -5 lines 0 comments Download
M public/web/WebSerializedScriptValueVersion.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 48 (0 generated)
michaeln
hi kinuko, can you help to review this one... thnx
7 years, 2 months ago (2013-09-25 21:35:01 UTC) #1
michaeln
The corresponding chromium change is already committed... https://chromiumcodereview.appspot.com/23223003
7 years, 2 months ago (2013-09-25 21:43:56 UTC) #2
jsbell
https://codereview.chromium.org/23992003/diff/20001/Source/bindings/v8/SerializedScriptValue.cpp File Source/bindings/v8/SerializedScriptValue.cpp (right): https://codereview.chromium.org/23992003/diff/20001/Source/bindings/v8/SerializedScriptValue.cpp#newcode245 Source/bindings/v8/SerializedScriptValue.cpp:245: static const uint32_t wireFormatVersion = 3; As an aside, ...
7 years, 2 months ago (2013-09-26 18:00:33 UTC) #3
jsbell
https://codereview.chromium.org/23992003/diff/20001/LayoutTests/fast/storage/serialized-script-value.html File LayoutTests/fast/storage/serialized-script-value.html (right): https://codereview.chromium.org/23992003/diff/20001/LayoutTests/fast/storage/serialized-script-value.html#newcode13 LayoutTests/fast/storage/serialized-script-value.html:13: // we only test a few cases of the ...
7 years, 2 months ago (2013-09-26 19:12:45 UTC) #4
michaeln
> We'll need to bump it there before this lands or, more correctly, expose this ...
7 years, 2 months ago (2013-09-26 20:03:45 UTC) #5
michaeln
woohooo.... green layout test try jobs... will have to try our larger test suites
7 years, 2 months ago (2013-09-26 20:06:00 UTC) #6
michaeln
> Yikes, thanx for looking and point that out, i hadn't stumbled across that in ...
7 years, 2 months ago (2013-09-26 20:07:44 UTC) #7
jsbell
On 2013/09/26 20:03:45, michaeln wrote: > > We'll need to bump it there before this ...
7 years, 2 months ago (2013-09-26 20:55:21 UTC) #8
michaeln
https://codereview.chromium.org/23992003/diff/20001/LayoutTests/fast/storage/serialized-script-value.html File LayoutTests/fast/storage/serialized-script-value.html (right): https://codereview.chromium.org/23992003/diff/20001/LayoutTests/fast/storage/serialized-script-value.html#newcode117 LayoutTests/fast/storage/serialized-script-value.html:117: testSerialization(arrayObject, i'll add one here to test v2 in ...
7 years, 2 months ago (2013-09-26 21:04:52 UTC) #9
michaeln
and i'll bump version values as needed for... https://codereview.chromium.org/24876004
7 years, 2 months ago (2013-09-27 23:46:19 UTC) #10
kinuko
blob internal url -> uuid switching part looks good to me, just made some mostly-nit ...
7 years, 2 months ago (2013-09-30 11:31:52 UTC) #11
michaeln
thnx for looking, i'll upload a new cl soon https://codereview.chromium.org/23992003/diff/20001/Source/bindings/v8/SerializedScriptValue.cpp File Source/bindings/v8/SerializedScriptValue.cpp (right): https://codereview.chromium.org/23992003/diff/20001/Source/bindings/v8/SerializedScriptValue.cpp#newcode245 Source/bindings/v8/SerializedScriptValue.cpp:245: ...
7 years, 2 months ago (2013-09-30 20:50:23 UTC) #12
michaeln
ptal, rebased and made changes per the last round of comments. There's a small block ...
7 years, 2 months ago (2013-10-01 23:51:51 UTC) #13
michaeln
https://codereview.chromium.org/23992003/diff/46001/Source/core/fileapi/BlobRegistry.h File Source/core/fileapi/BlobRegistry.h (right): https://codereview.chromium.org/23992003/diff/46001/Source/core/fileapi/BlobRegistry.h#newcode49 Source/core/fileapi/BlobRegistry.h:49: // if necessary. comment is stale, will update... https://codereview.chromium.org/23992003/diff/46001/Source/core/fileapi/BlobRegistry.h#newcode52 ...
7 years, 2 months ago (2013-10-01 23:57:55 UTC) #14
michaeln
ok, updated the blink layout test to "do something with blobs", i think this cl ...
7 years, 2 months ago (2013-10-02 01:31:38 UTC) #15
kinuko
Serialization tests feel slightly unsure, but the change lgtm https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/resources/serialized-script-value.js File LayoutTests/fast/storage/resources/serialized-script-value.js (right): https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/resources/serialized-script-value.js#newcode97 LayoutTests/fast/storage/resources/serialized-script-value.js:97: ...
7 years, 2 months ago (2013-10-02 15:41:38 UTC) #16
michaeln
https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/resources/serialized-script-value.js File LayoutTests/fast/storage/resources/serialized-script-value.js (right): https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/resources/serialized-script-value.js#newcode97 LayoutTests/fast/storage/resources/serialized-script-value.js:97: function _testBlobSerialization() { On 2013/10/02 15:41:39, kinuko wrote: > ...
7 years, 2 months ago (2013-10-02 20:09:00 UTC) #17
michaeln
https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/resources/serialized-script-value.js File LayoutTests/fast/storage/resources/serialized-script-value.js (right): https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/resources/serialized-script-value.js#newcode101 LayoutTests/fast/storage/resources/serialized-script-value.js:101: shouldBeTrue("areValuesIdentical(blobObj1, blobObj2)"); On 2013/10/02 20:09:01, michaeln wrote: > On ...
7 years, 2 months ago (2013-10-02 20:30:40 UTC) #18
jsbell
Noticed a more couple nits. https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/serialized-script-value.html File LayoutTests/fast/storage/serialized-script-value.html (right): https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/serialized-script-value.html#newcode91 LayoutTests/fast/storage/serialized-script-value.html:91: [0x03ff, 0x003f, 0x3f6f, 0x5301, ...
7 years, 2 months ago (2013-10-02 22:24:41 UTC) #19
michaeln
https://codereview.chromium.org/23992003/diff/54001/Source/bindings/v8/SerializedScriptValue.cpp File Source/bindings/v8/SerializedScriptValue.cpp (right): https://codereview.chromium.org/23992003/diff/54001/Source/bindings/v8/SerializedScriptValue.cpp#newcode1909 Source/bindings/v8/SerializedScriptValue.cpp:1909: fileList->append(doReadFileHelper()); On 2013/10/02 22:24:41, jsbell wrote: > If doReadFileHelper() ...
7 years, 2 months ago (2013-10-03 00:22:24 UTC) #20
michaeln
https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/serialized-script-value.html File LayoutTests/fast/storage/serialized-script-value.html (right): https://codereview.chromium.org/23992003/diff/54001/LayoutTests/fast/storage/serialized-script-value.html#newcode91 LayoutTests/fast/storage/serialized-script-value.html:91: [0x03ff, 0x003f, 0x3f6f, 0x5301, 0x6101, The first value is ...
7 years, 2 months ago (2013-10-03 22:08:51 UTC) #21
jsbell
So lgtm although I'm not familiar with the Chromium side of the change. If you ...
7 years, 2 months ago (2013-10-07 18:44:51 UTC) #22
michaeln
thnx for looking. i need to poke at some chromuim unittest prior to landing this. ...
7 years, 2 months ago (2013-10-07 21:11:34 UTC) #23
abarth-chromium
@michaeln: Just to let you know, this CL is related to some work I'm doing ...
7 years, 2 months ago (2013-10-07 21:21:12 UTC) #24
michaeln
On 2013/10/07 21:21:12, abarth wrote: > @michaeln: Just to let you know, this CL is ...
7 years, 2 months ago (2013-10-07 21:38:59 UTC) #25
michaeln
tiny chromium cl blocking this can be found here... https://codereview.chromium.org/26405003/
7 years, 2 months ago (2013-10-08 01:18:55 UTC) #26
michaeln
On 2013/10/08 01:18:55, michaeln wrote: > tiny chromium cl blocking this can be found here... ...
7 years, 2 months ago (2013-10-08 23:12:25 UTC) #27
michaeln
bummer, have to wait longer for the change to land to make its way to ...
7 years, 2 months ago (2013-10-09 00:11:40 UTC) #28
michaeln
Hooray... looks like all blink and chromium targets build now with the flag defined! I'll ...
7 years, 2 months ago (2013-10-09 19:50:50 UTC) #29
michaeln
Where is the DEPS file that describes the include rules for WebKit\public\web? ** Presubmit ERRORS ...
7 years, 2 months ago (2013-10-09 20:19:46 UTC) #30
michaeln
On 2013/10/09 20:19:46, michaeln wrote: > Where is the DEPS file that describes the include ...
7 years, 2 months ago (2013-10-09 20:25:19 UTC) #31
alecflett
On 2013/10/09 20:25:19, michaeln wrote: > On 2013/10/09 20:19:46, michaeln wrote: > > Where is ...
7 years, 2 months ago (2013-10-09 21:13:55 UTC) #32
abarth-chromium
lgtm https://codereview.chromium.org/23992003/diff/93001/public/web/WebBlob.h File public/web/WebBlob.h (right): https://codereview.chromium.org/23992003/diff/93001/public/web/WebBlob.h#newcode38 public/web/WebBlob.h:38: #include "../platform/WebURL.h" Yeah, sorry. These should be like: ...
7 years, 2 months ago (2013-10-09 22:07:57 UTC) #33
abarth-chromium
Maybe the DEPS file is missing? public/web/DEPS should have +public/platform
7 years, 2 months ago (2013-10-09 22:09:50 UTC) #34
michaeln
> "public/platform/WebFoo.h" That did it, thnx, I switched them all over. #include "../platform/WebBlobData.h" #include "../platform/WebCommon.h" ...
7 years, 2 months ago (2013-10-09 23:45:47 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/michaeln@chromium.org/23992003/102001
7 years, 2 months ago (2013-10-09 23:47:33 UTC) #36
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
7 years, 2 months ago (2013-10-10 03:55:32 UTC) #37
michaeln
On 2013/10/10 03:55:32, I haz the power (commit-bot) wrote: > Sorry for I got bad ...
7 years, 2 months ago (2013-10-10 21:48:32 UTC) #38
michaeln
bummer, i have to wait for tyoshio's change to be rolled into deps since i'm ...
7 years, 2 months ago (2013-10-10 22:09:34 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/michaeln@chromium.org/23992003/118001
7 years, 2 months ago (2013-10-11 02:41:10 UTC) #40
commit-bot: I haz the power
Failed to apply patch for Source/core/fileapi/FileReader.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 2 months ago (2013-10-11 08:04:01 UTC) #41
michaeln
Trying again now that ScriptExecutionContext has been renamed in countless number of files and lines ...
7 years, 2 months ago (2013-10-14 23:32:24 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/michaeln@chromium.org/23992003/146001
7 years, 2 months ago (2013-10-14 23:33:28 UTC) #43
commit-bot: I haz the power
Failed to apply patch for Source/core/fileapi/FileReader.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 2 months ago (2013-10-14 23:33:44 UTC) #44
michaeln
Oh no... looks like ExecutionContext has been renamed back... hooray for the churn :/
7 years, 2 months ago (2013-10-15 00:01:50 UTC) #45
michaeln
On 2013/10/15 00:01:50, michaeln wrote: > Oh no... looks like ExecutionContext has been renamed back... ...
7 years, 2 months ago (2013-10-15 00:30:58 UTC) #46
michaeln
here's the other CL from the origin/master tracking branch for commit https://codereview.chromium.org/26435003/ > No doubt ...
7 years, 2 months ago (2013-10-15 00:37:10 UTC) #47
michaeln
7 years, 2 months ago (2013-10-15 20:17:36 UTC) #48
Message was sent while issue was closed.
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=159636

Powered by Google App Engine
This is Rietveld 408576698