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

Issue 26435003: WebCore blob hacking (Closed)

Created:
7 years, 2 months ago by michaeln
Modified:
7 years, 2 months ago
CC:
blink-reviews, Nils Barth (inactive), jamesr, kojih, jsbell+bindings_chromium.org, jsbell, alecflett, dglazkov+blink, abarth-chromium, marja+watch_chromium.org, tommyw+watchlist_chromium.org, dgrogan, adamk+blink_chromium.org, haraken, Nate Chapin, Inactive
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. TBR=abarth BUG=174200 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=159636

Patch Set 1 #

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

Messages

Total messages: 6 (0 generated)
michaeln
see https://codereview.chromium.org/23992003/ for review history
7 years, 2 months ago (2013-10-15 00:34:43 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/michaeln@chromium.org/26435003/1
7 years, 2 months ago (2013-10-15 00:35:39 UTC) #2
commit-bot: I haz the power
Change committed as 159636
7 years, 2 months ago (2013-10-15 03:30:06 UTC) #3
kinuko
https://codereview.chromium.org/26435003/diff/1/Source/core/fileapi/BlobRegistry.cpp File Source/core/fileapi/BlobRegistry.cpp (right): https://codereview.chromium.org/26435003/diff/1/Source/core/fileapi/BlobRegistry.cpp#newcode107 Source/core/fileapi/BlobRegistry.cpp:107: return WebKit::Platform::current()->blobRegistry(); Sorry for post-commit comments, this question just ...
7 years, 2 months ago (2013-10-20 09:27:32 UTC) #4
michaeln
https://codereview.chromium.org/26435003/diff/1/Source/core/fileapi/BlobRegistry.cpp File Source/core/fileapi/BlobRegistry.cpp (right): https://codereview.chromium.org/26435003/diff/1/Source/core/fileapi/BlobRegistry.cpp#newcode107 Source/core/fileapi/BlobRegistry.cpp:107: return WebKit::Platform::current()->blobRegistry(); Thnx for pointing that out, I'll post ...
7 years, 2 months ago (2013-10-22 02:38:52 UTC) #5
kinuko
7 years, 2 months ago (2013-10-22 02:40:31 UTC) #6
Message was sent while issue was closed.
On 2013/10/22 02:38:52, michaeln wrote:
>
https://codereview.chromium.org/26435003/diff/1/Source/core/fileapi/BlobRegis...
> File Source/core/fileapi/BlobRegistry.cpp (right):
> 
>
https://codereview.chromium.org/26435003/diff/1/Source/core/fileapi/BlobRegis...
> Source/core/fileapi/BlobRegistry.cpp:107: return
> WebKit::Platform::current()->blobRegistry();
> Thnx for pointing that out, I'll post a change to address it.
> 
> I see the ThreadSpecificInstance stuff for WebFileSystemImpl, but i think i
> prefer the simplicity of constructing it in the ctor. Unlike
webfilesystemimpl,
> webblobregistryimpl really is stateless.

Creating it in ctor sgtm, thx!

Powered by Google App Engine
This is Rietveld 408576698