⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 185527 in webkit


Ignore:
Timestamp:
Jun 12, 2015, 5:30:30 PM (11 years ago)
Author:
andersca@apple.com
Message:

Reimplement WKApplicationCacheManagerRef as WKWebsiteDataStoreRef
https://bugs.webkit.org/show_bug.cgi?id=145950

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKApplicationCacheManager.cpp:

(WKApplicationCacheManagerGetTypeID):
(WKApplicationCacheManagerGetApplicationCacheOrigins):
(WKApplicationCacheManagerDeleteEntriesForOrigin):
(WKApplicationCacheManagerDeleteAllEntries):

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetApplicationCacheManager):
(WKContextGetPluginSiteDataManager):

Location:
trunk/Source/WebKit2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r185521 r185527  
     12015-06-12  Anders Carlsson  <andersca@apple.com>
     2
     3        Reimplement WKApplicationCacheManagerRef as WKWebsiteDataStoreRef
     4        https://bugs.webkit.org/show_bug.cgi?id=145950
     5
     6        Reviewed by Dan Bernstein.
     7
     8        * UIProcess/API/C/WKAPICast.h:
     9        * UIProcess/API/C/WKApplicationCacheManager.cpp:
     10        (WKApplicationCacheManagerGetTypeID):
     11        (WKApplicationCacheManagerGetApplicationCacheOrigins):
     12        (WKApplicationCacheManagerDeleteEntriesForOrigin):
     13        (WKApplicationCacheManagerDeleteAllEntries):
     14        * UIProcess/API/C/WKContext.cpp:
     15        (WKContextGetApplicationCacheManager):
     16        (WKContextGetPluginSiteDataManager):
     17
    1182015-06-12  Anders Carlsson  <andersca@apple.com>
    219
  • trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h

    r185479 r185527  
    113113class WebViewportAttributes;
    114114
    115 WK_ADD_API_MAPPING(WKApplicationCacheManagerRef, WebApplicationCacheManagerProxy)
    116115WK_ADD_API_MAPPING(WKAuthenticationChallengeRef, AuthenticationChallengeProxy)
    117116WK_ADD_API_MAPPING(WKAuthenticationDecisionListenerRef, AuthenticationDecisionListener)
  • trunk/Source/WebKit2/UIProcess/API/C/WKApplicationCacheManager.cpp

    r170000 r185527  
    2727#include "WKApplicationCacheManager.h"
    2828
     29#include "APIWebsiteDataStore.h"
    2930#include "WKAPICast.h"
    30 #include "WebApplicationCacheManagerProxy.h"
     31#include "WebsiteDataRecord.h"
    3132
    3233using namespace WebKit;
     
    3435WKTypeID WKApplicationCacheManagerGetTypeID()
    3536{
    36     return toAPI(WebApplicationCacheManagerProxy::APIType);
     37    return toAPI(API::WebsiteDataStore::APIType);
    3738}
    3839
    39 void WKApplicationCacheManagerGetApplicationCacheOrigins(WKApplicationCacheManagerRef applicationCacheManagerRef, void* context, WKApplicationCacheManagerGetApplicationCacheOriginsFunction callback)
     40void WKApplicationCacheManagerGetApplicationCacheOrigins(WKApplicationCacheManagerRef applicationCacheManager, void* context, WKApplicationCacheManagerGetApplicationCacheOriginsFunction callback)
    4041{
    41     toImpl(applicationCacheManagerRef)->getApplicationCacheOrigins(toGenericCallbackFunction(context, callback));
     42    auto& websiteDataStore = toImpl(reinterpret_cast<WKWebsiteDataStoreRef>(applicationCacheManager))->websiteDataStore();
     43    websiteDataStore.fetchData(WebsiteDataTypes::WebsiteDataTypeOfflineWebApplicationCache, [context, callback](Vector<WebsiteDataRecord> dataRecords) {
     44        Vector<RefPtr<API::Object>> securityOrigins;
     45        for (const auto& dataRecord : dataRecords) {
     46            for (const auto& origin : dataRecord.origins)
     47                securityOrigins.append(API::SecurityOrigin::create(origin));
     48        }
     49
     50        callback(toAPI(API::Array::create(WTF::move(securityOrigins)).ptr()), nullptr, context);
     51    });
    4252}
    4353
    44 void WKApplicationCacheManagerDeleteEntriesForOrigin(WKApplicationCacheManagerRef applicationCacheManagerRef, WKSecurityOriginRef originRef)
     54void WKApplicationCacheManagerDeleteEntriesForOrigin(WKApplicationCacheManagerRef applicationCacheManager, WKSecurityOriginRef origin)
    4555{
    46     toImpl(applicationCacheManagerRef)->deleteEntriesForOrigin(toImpl(originRef));
     56    auto& websiteDataStore = toImpl(reinterpret_cast<WKWebsiteDataStoreRef>(applicationCacheManager))->websiteDataStore();
     57
     58    WebsiteDataRecord dataRecord;
     59    dataRecord.add(WebsiteDataTypes::WebsiteDataTypeIndexedDBDatabases, &toImpl(origin)->securityOrigin());
     60
     61    websiteDataStore.removeData(WebsiteDataTypes::WebsiteDataTypeOfflineWebApplicationCache, { dataRecord }, [] { });
    4762}
    4863
    49 void WKApplicationCacheManagerDeleteAllEntries(WKApplicationCacheManagerRef applicationCacheManagerRef)
     64void WKApplicationCacheManagerDeleteAllEntries(WKApplicationCacheManagerRef applicationCacheManager)
    5065{
    51     toImpl(applicationCacheManagerRef)->deleteAllEntries();
     66    auto& websiteDataStore = toImpl(reinterpret_cast<WKWebsiteDataStoreRef>(applicationCacheManager))->websiteDataStore();
     67    websiteDataStore.removeData(WebsiteDataTypes::WebsiteDataTypeOfflineWebApplicationCache, std::chrono::system_clock::time_point::min(), [] { });
    5268}
  • trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp

    r185479 r185527  
    418418}
    419419
    420 WKApplicationCacheManagerRef WKContextGetApplicationCacheManager(WKContextRef contextRef)
    421 {
    422     return toAPI(toImpl(contextRef)->supplement<WebApplicationCacheManagerProxy>());
     420WKApplicationCacheManagerRef WKContextGetApplicationCacheManager(WKContextRef context)
     421{
     422    return reinterpret_cast<WKApplicationCacheManagerRef>(WKContextGetWebsiteDataStore(context));
    423423}
    424424
     
    466466{
    467467#if ENABLE(NETSCAPE_PLUGIN_API)
    468     return reinterpret_cast<WKPluginSiteDataManagerRef>(toAPI(toImpl(context)->websiteDataStore()));
     468    return reinterpret_cast<WKPluginSiteDataManagerRef>(WKContextGetWebsiteDataStore(context));
    469469#else
    470470    UNUSED_PARAM(context);
Note: See TracChangeset for help on using the changeset viewer.