Create BlobRegistry through a strategy
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 28 Feb 2013 21:04:14 +0000 (21:04 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 28 Feb 2013 21:04:14 +0000 (21:04 +0000)
commit73c68f2bd47f98cc759ee252ccb711392d5e5d06
tree240042a0d69aeaf896c6e5c856b118ad02c43b0a
parent9bfc3b764752a42ae37d5a6a00615b8232c0e339
    Create BlobRegistry through a strategy
        https://bugs.webkit.org/show_bug.cgi?id=111100

        Reviewed by Sam Weinig.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        Added BlobRegistry.cpp.

        * WebCore.exp.in:
        * loader/LoaderStrategy.cpp:
        (WebCore::LoaderStrategy::createBlobRegistry):
        * loader/LoaderStrategy.h:
        Addxed a function to create BlobRegistry, with default implementation being
        in-process WebKit1 one.

        * platform/network/BlobData.h: Added ENABLE(BLOB).

        * platform/network/BlobRegistry.cpp: Added. Moved singleton to a separate file.
        * platform/network/BlobRegistry.h: Made destructor non-inline. Cleaned up includes.

        * platform/network/BlobRegistryImpl.cpp:
        * platform/network/BlobRegistryImpl.h:
        Cleaned up includes, made functions that are only called through base class private.
        Added ENABLE(BLOB).

        * platform/network/BlobStorageData.h: Added ENABLE(BLOB).

        * platform/network/FormData.cpp:
        (WebCore::appendBlobResolved): Check blob registry type before upcasting. It's a
        public function, and we should not depend on high level understanding of process
        model to prove that the cast is safe.

        * platform/network/ResourceHandle.cpp:
        * platform/network/cf/FormDataStreamCFNet.cpp:
        * platform/network/mac/ResourceHandleMac.mm:
        Cleaned up includes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
22 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/WebCore.exp.in
Source/WebCore/WebCore.gypi
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/loader/LoaderStrategy.cpp
Source/WebCore/loader/LoaderStrategy.h
Source/WebCore/platform/network/BlobData.h
Source/WebCore/platform/network/BlobRegistry.cpp [new file with mode: 0644]
Source/WebCore/platform/network/BlobRegistry.h
Source/WebCore/platform/network/BlobRegistryImpl.cpp
Source/WebCore/platform/network/BlobRegistryImpl.h
Source/WebCore/platform/network/BlobStorageData.h
Source/WebCore/platform/network/FormData.cpp
Source/WebCore/platform/network/ResourceHandle.cpp
Source/WebCore/platform/network/cf/FormDataStreamCFNet.cpp
Source/WebCore/platform/network/mac/ResourceHandleMac.mm