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

Issue 11192017: ********** WebCore blob hacking (Closed)

Created:
8 years, 2 months ago by michaeln
Modified:
7 years, 2 months ago
CC:
chromium-reviews, Zachary Kuznia
Base URL:
http://svn.webkit.org/repository/webkit/trunk/Source/
Visibility:
Public.

Description

WebCore blob hacking Added BlobDataHandle. Renderer/worker side scoper object for a reference to a blob. 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 Defined/implemented WebCore::BlobRegistry to be callable from any renderer/worker thread. -- BlobRegistryImpl for 'native' webcore -- BlobRegistryProxy for chrome Removed ThreadableBlobRegistry. Added didCreateSnapshotFile plumbing that carries a WebCore::BlobDataHandle with it thru the bridging/callback forest (done in a previous patch). 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 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Total comments: 1

Patch Set 16 : #

Patch Set 17 : #

Patch Set 18 : #

Patch Set 19 : #

Patch Set 20 : #

Patch Set 21 : #

Total comments: 5

Patch Set 22 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+749 lines, -649 lines) Patch
M Platform/chromium/public/WebBlobData.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +3 lines, -5 lines 0 comments Download
M Platform/chromium/public/WebBlobRegistry.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +6 lines, -9 lines 0 comments Download
M Platform/chromium/public/WebFileSystem.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +4 lines, -4 lines 0 comments Download
M Platform/chromium/public/WebHTTPBody.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +4 lines, -6 lines 0 comments Download
M WebCore/Modules/filesystem/DOMFileSystem.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +12 lines, -6 lines 0 comments Download
M WebCore/Modules/filesystem/DOMFileSystemSync.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +9 lines, -2 lines 0 comments Download
M WebCore/Modules/indexeddb/IDBObjectStore.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -1 line 0 comments Download
M WebCore/Modules/websockets/WebSocket.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +5 lines, -2 lines 0 comments Download
M WebCore/Modules/websockets/WebSocketChannel.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +4 lines, -2 lines 0 comments Download
M WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +4 lines, -2 lines 0 comments Download
M WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +6 lines, -5 lines 0 comments Download
M WebCore/WebCore.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +1 line, -2 lines 0 comments Download
M WebCore/WebCore.gyp/WebCore.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +3 lines, -0 lines 0 comments Download
M WebCore/bindings/js/SerializedScriptValue.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -1 line 0 comments Download
M WebCore/bindings/v8/SerializedScriptValue.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +8 lines, -6 lines 0 comments Download
M WebCore/bindings/v8/SerializedScriptValue.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 13 chunks +41 lines, -21 lines 0 comments Download
M WebCore/fileapi/Blob.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +12 lines, -26 lines 0 comments Download
M WebCore/fileapi/Blob.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +8 lines, -44 lines 0 comments Download
M WebCore/fileapi/BlobURL.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +3 lines, -8 lines 0 comments Download
M WebCore/fileapi/BlobURL.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +0 lines, -13 lines 0 comments Download
M WebCore/fileapi/File.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +8 lines, -3 lines 0 comments Download
M WebCore/fileapi/File.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 6 chunks +21 lines, -7 lines 0 comments Download
M WebCore/fileapi/FileReader.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 5 chunks +5 lines, -5 lines 0 comments Download
M WebCore/fileapi/FileReaderLoader.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +5 lines, -3 lines 0 comments Download
M WebCore/fileapi/ThreadableBlobRegistry.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +4 lines, -56 lines 0 comments Download
M WebCore/fileapi/ThreadableBlobRegistry.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -165 lines 0 comments Download
M WebCore/fileapi/WebKitBlobBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +4 lines, -4 lines 0 comments Download
M WebCore/html/DOMURL.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +2 lines, -2 lines 0 comments Download
M WebCore/html/PublicURLManager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +2 lines, -2 lines 0 comments Download
M WebCore/page/SecurityOrigin.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +2 lines, -2 lines 0 comments Download
M WebCore/platform/AsyncFileSystemCallbacks.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +6 lines, -0 lines 0 comments Download
M WebCore/platform/chromium/ChromiumDataObjectItem.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -1 line 0 comments Download
M WebCore/platform/chromium/support/WebHTTPBody.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +12 lines, -13 lines 0 comments Download
M WebCore/platform/network/BlobData.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 7 chunks +52 lines, -10 lines 0 comments Download
M WebCore/platform/network/BlobData.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +40 lines, -5 lines 0 comments Download
M WebCore/platform/network/BlobRegistry.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +17 lines, -13 lines 0 comments Download
A WebCore/platform/network/BlobRegistry.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +89 lines, -0 lines 0 comments Download
M WebCore/platform/network/BlobRegistryImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +30 lines, -7 lines 0 comments Download
M WebCore/platform/network/BlobRegistryImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 5 chunks +115 lines, -55 lines 0 comments Download
M WebCore/platform/network/BlobResourceHandle.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +6 lines, -0 lines 0 comments Download
M WebCore/platform/network/BlobStorageData.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +6 lines, -0 lines 0 comments Download
M WebCore/platform/network/FormData.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 7 chunks +16 lines, -8 lines 0 comments Download
M WebCore/platform/network/FormData.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 13 chunks +32 lines, -24 lines 0 comments Download
M WebCore/platform/network/chromium/BlobRegistryProxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +9 lines, -4 lines 0 comments Download
M WebCore/platform/network/chromium/BlobRegistryProxy.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +32 lines, -7 lines 0 comments Download
M WebCore/xml/XMLHttpRequest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +2 lines, -2 lines 0 comments Download
M WebKit/chromium/public/WebFileSystemCallbacks.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +4 lines, -0 lines 0 comments Download
M WebKit/chromium/public/WebFileWriter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +2 lines, -2 lines 0 comments Download
M WebKit/chromium/src/AsyncFileSystemChromium.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +0 lines, -2 lines 0 comments Download
M WebKit/chromium/src/AsyncFileSystemChromium.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +6 lines, -50 lines 0 comments Download
M WebKit/chromium/src/AsyncFileWriterChromium.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -1 line 0 comments Download
M WebKit/chromium/src/LocalFileSystemChromium.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -1 line 0 comments Download
M WebKit/chromium/src/WebBlob.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -1 line 0 comments Download
M WebKit/chromium/src/WebBlobData.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +5 lines, -6 lines 0 comments Download
M WebKit/chromium/src/WebFileSystemCallbacksImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +7 lines, -0 lines 0 comments Download
M WebKit/chromium/src/WebFileSystemCallbacksImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +21 lines, -0 lines 0 comments Download
M WebKit/chromium/src/WorkerAsyncFileSystemChromium.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -4 lines 0 comments Download
M WebKit/chromium/src/WorkerAsyncFileWriterChromium.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -1 line 0 comments Download
M WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 7 chunks +9 lines, -6 lines 0 comments Download
M WebKit/chromium/src/WorkerFileSystemCallbacksBridge.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 7 chunks +28 lines, -6 lines 0 comments Download
M WebKit/chromium/src/WorkerFileWriterCallbacksBridge.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +3 lines, -2 lines 0 comments Download
M WebKit/chromium/src/WorkerFileWriterCallbacksBridge.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +5 lines, -4 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
kinuko
http://codereview.chromium.org/11192017/diff/52007/WebCore/platform/network/BlobRegistry.h File WebCore/platform/network/BlobRegistry.h (right): http://codereview.chromium.org/11192017/diff/52007/WebCore/platform/network/BlobRegistry.h#newcode63 WebCore/platform/network/BlobRegistry.h:63: // For use on the main therad only. nit: ...
8 years, 1 month ago (2012-10-31 14:19:46 UTC) #1
kinuko
(cosmetic comments only) https://codereview.chromium.org/11192017/diff/119001/WebCore/WebCore.gypi File WebCore/WebCore.gypi (left): https://codereview.chromium.org/11192017/diff/119001/WebCore/WebCore.gypi#oldcode2779 WebCore/WebCore.gypi:2779: 'fileapi/ThreadableBlobRegistry.h', yay https://codereview.chromium.org/11192017/diff/119001/WebCore/platform/network/BlobRegistryImpl.cpp File WebCore/platform/network/BlobRegistryImpl.cpp (right): ...
7 years, 11 months ago (2013-01-07 09:38:06 UTC) #2
michaeln
7 years, 11 months ago (2013-01-25 21:19:26 UTC) #3
https://codereview.chromium.org/11192017/diff/119001/WebCore/platform/network...
File WebCore/platform/network/BlobRegistryImpl.cpp (right):

https://codereview.chromium.org/11192017/diff/119001/WebCore/platform/network...
WebCore/platform/network/BlobRegistryImpl.cpp:212: {
On 2013/01/07 09:38:06, kinuko wrote:
> nit: can we have ASSERT(isMainThread()) here? (though we seem to call it in
> registerBlobResourceHandleConstructor())

Done.

https://codereview.chromium.org/11192017/diff/119001/WebCore/platform/network...
WebCore/platform/network/BlobRegistryImpl.cpp:219:
registry->m_publicURLs.remove(url);
On 2013/01/07 09:38:06, kinuko wrote:
> nit: can we have ASSERT(isMainThread()) here?

Done.

Powered by Google App Engine
This is Rietveld 408576698