Skip to content
  • ap@apple.com's avatar
    Add a separate class for networking related storage · f18b8090
    ap@apple.com authored
            https://bugs.webkit.org/show_bug.cgi?id=105676
    
            Reviewed by Sam Weinig.
    
            NetworkingContext combines a reference to storage (cookies and more) and data that's
            only meaningful when loading. This makes it very ugly to use for cookie manipulation
            when there is no load (e.g. for document.cookie).
    
            Adding NetworkStorageSession, which encorportes network-related sesion data, such
            as cookies and session HTTP credentials.
    
            For some ports, refactoring is not finished, NetworkStorageSession being a wrapper
            for NetworkingContext.
    
            * CMakeLists.txt:
            * GNUmakefile.list.am:
            * Target.pri:
            * WebCore.exp.in:
            * WebCore.gypi:
            * WebCore.vcproj/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            Updated for new files and functions.
    
            * platform/network/PlatformCookieJar.h:
            * loader/CookieJar.cpp:
            * platform/CookiesStrategy.h:
            * platform/network/cf/CookieJarCFNet.cpp:
            * platform/network/chromium/CookieJarChromium.cpp:
            * platform/network/curl/CookieJarCurl.cpp:
            * platform/network/mac/CookieJarMac.mm:
            * platform/network/qt/CookieJarQt.cpp:
            * platform/network/soup/CookieJarSoup.cpp:
            * platform/network/win/CookieJarWin.cpp:
            PlatformCookieJar and strategy cookie functions now take a NetworkStorageSession
            instead of NetworkingContext.
            Note that they take a const reference to support creating a temporary session
            wrapper for ports that just wrap a NetworkingContext.
    
            * loader/ResourceLoader.cpp:
            * loader/cache/CachedResource.h:
            * platform/network/BlobResourceHandle.cpp:
            * platform/network/ResourceHandle.cpp:
            * platform/network/ResourceHandle.h:
            * platform/network/ResourceHandleInternal.h:
            * platform/network/chromium/ResourceHandle.cpp:
            * platform/network/curl/ResourceHandleCurl.cpp:
            * platform/network/mac/ResourceHandleMac.mm:
            * platform/network/qt/QNetworkReplyHandler.cpp:
            * platform/network/soup/DNSSoup.cpp:
            * platform/network/soup/ResourceHandleSoup.cpp:
            * platform/network/win/ResourceHandleWin.cpp:
            ResourceHandle no longer includes unneeded NetworkingContext.h and AuthenticationClient.h.
            This avoids near-world rebuilds on any NetworkingContext change.
    
            * platform/network/NetworkStorageSession.h: Added.
            * platform/network/NetworkStorageSessionStub.cpp: Added.
            * platform/network/cf/NetworkStorageSessionCFNet.cpp: Added.
            Good new stuff. Stub version just wraps NetworkingContext for platforms that still
            need to finish the refactoring.
    
            * platform/network/NetworkingContext.h:
            The context now has a NetworkStorageSession, and doesn't expose CFNet level objects directly.
    
            * platform/network/cf/CookieStorageCFNet.cpp:
            * platform/network/cf/CookieStorageCFNet.h: Removed.
            We no longer have separate free functions to track storage, it's part of NetworkStorageSession now.
    
            * platform/network/cf/ResourceHandleCFNet.cpp: Updated to use NetworkStorageSession.
    
            * platform/network/mac/CookieStorageMac.mm: Dont include CookieStorageCFNet.h, it
            was not needed.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138413 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f18b8090