Ignore:
Timestamp:
Aug 23, 2010, 1:09:56 PM (15 years ago)
Author:
[email protected]
Message:

Handle blob resource.
https://bugs.webkit.org/show_bug.cgi?id=43941

Reviewed by Darin Fisher.

JavaScriptCore:

  • JavaScriptCore.exp: Add an export that is neede by BlobResourceHandle.

WebCore:

To provide lower level blob reosurce handling for all possible ports,
BlobResourceHandle derived from ResourceHandle is implemented. It provides
both synchronous and asynchronous resource loading for blob URL.

BlobResourceHandle needs to create a FileStreamProxy instance in order to
asynchronous file stream operation. To achive this, a hook createAsyncFileStream
is added to ResourceHandleClient interface. When ResourceLoader implements
ths hook, it creates and returns FileStreamProxy.

BlobResourceHandle.* is not added to chromium port since it will implement
its own blob resource handling.

  • Android.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::createAsyncFileStream): Create and return FileStreamProxy.

  • loader/ResourceLoader.h:
  • page/SecurityOrigin.cpp: Add the support to get and validate the origin of blob URL.

(WebCore::SecurityOrigin::create):
(WebCore::SecurityOrigin::canLoad):

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::appendStorageItems): Fix a bug that the length is not subtracted.

  • platform/network/BlobResourceHandle.cpp: Added.
  • platform/network/BlobResourceHandle.h: Added.
  • platform/network/HTTPParsers.cpp:

(WebCore::parseRange):

  • platform/network/HTTPParsers.h:
  • platform/network/ResourceHandle.cpp: Hook up with asynchronous blob resource handling.

(WebCore::ResourceHandle::create):

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::createAsyncFileStream): Add a hook.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::loadResourceSynchronously): Hook up with synchronous blob resource handling.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.exp

    r65593 r65827  
    535535__ZNK3WTF6String11toIntStrictEPbi
    536536__ZNK3WTF6String12toUIntStrictEPbi
     537__ZNK3WTF6String13toInt64StrictEPbi
    537538__ZNK3WTF6String14threadsafeCopyEv
    538539__ZNK3WTF6String15stripWhiteSpaceEv
Note: See TracChangeset for help on using the changeset viewer.