Changeset 230389 in webkit


Ignore:
Timestamp:
Apr 8, 2018 11:31:05 PM (6 years ago)
Author:
zandobersek@gmail.com
Message:

Non-Cocoa ports use default directory for ServiceWorker data during testing
https://bugs.webkit.org/show_bug.cgi?id=183784

Reviewed by Youenn Fablet.

Source/WebKit:

Add API to WKWebsiteDataStore that enables setting and retrieving the
service worker registration directory for a given data store object.
This enables setting the temporary directory for testing purposes in
WebKitTestRunner.

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreCopyServiceWorkerRegistrationDirectory):
(WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::platformAdjustContext): Set the service worker registration
directory through the new WKWebsiteDataStore API for non-Cocoa ports.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r230385 r230389  
     12018-04-08  Zan Dobersek  <zdobersek@igalia.com>
     2
     3        Non-Cocoa ports use default directory for ServiceWorker data during testing
     4        https://bugs.webkit.org/show_bug.cgi?id=183784
     5
     6        Reviewed by Youenn Fablet.
     7
     8        Add API to WKWebsiteDataStore that enables setting and retrieving the
     9        service worker registration directory for a given data store object.
     10        This enables setting the temporary directory for testing purposes in
     11        WebKitTestRunner.
     12
     13        * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
     14        (WKWebsiteDataStoreCopyServiceWorkerRegistrationDirectory):
     15        (WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory):
     16        * UIProcess/API/C/WKWebsiteDataStoreRef.h:
     17
    1182018-04-08  Fujii Hironori  <Hironori.Fujii@sony.com>
    219
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp

    r229979 r230389  
    494494    });
    495495}
     496
     497WKStringRef WKWebsiteDataStoreCopyServiceWorkerRegistrationDirectory(WKWebsiteDataStoreRef dataStoreRef)
     498{
     499    return WebKit::toCopiedAPI(WebKit::toImpl(dataStoreRef)->websiteDataStore().serviceWorkerRegistrationDirectory());
     500}
     501
     502void WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory(WKWebsiteDataStoreRef dataStoreRef, WKStringRef serviceWorkerRegistrationDirectory)
     503{
     504    WebKit::toImpl(dataStoreRef)->websiteDataStore().setServiceWorkerRegistrationDirectory(WebKit::toImpl(serviceWorkerRegistrationDirectory)->string());
     505}
  • trunk/Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h

    r229106 r230389  
    102102WK_EXPORT void WKWebsiteDataStoreGetFetchCacheSizeForOrigin(WKWebsiteDataStoreRef dataStoreRef, WKStringRef origin, void* context, WKWebsiteDataStoreGetFetchCacheSizeForOriginFunction function);
    103103
     104WK_EXPORT WKStringRef WKWebsiteDataStoreCopyServiceWorkerRegistrationDirectory(WKWebsiteDataStoreRef dataStoreRef);
     105WK_EXPORT void WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory(WKWebsiteDataStoreRef dataStoreRef, WKStringRef serviceWorkerRegistrationDirectory);
     106
    104107#ifdef __cplusplus
    105108}
  • trunk/Tools/ChangeLog

    r230386 r230389  
     12018-04-08  Zan Dobersek  <zdobersek@igalia.com>
     2
     3        Non-Cocoa ports use default directory for ServiceWorker data during testing
     4        https://bugs.webkit.org/show_bug.cgi?id=183784
     5
     6        Reviewed by Youenn Fablet.
     7
     8        * WebKitTestRunner/TestController.cpp:
     9        (WTR::TestController::platformAdjustContext): Set the service worker registration
     10        directory through the new WKWebsiteDataStore API for non-Cocoa ports.
     11
    1122018-04-08  Zalan Bujtas  <zalan@apple.com>
    213
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r230290 r230389  
    23972397    auto* dataStore = WKContextGetWebsiteDataStore(context);
    23982398    WKWebsiteDataStoreSetResourceLoadStatisticsEnabled(dataStore, true);
     2399
     2400    if (const char* dumpRenderTreeTemp = libraryPathForTesting()) {
     2401        String temporaryFolder = String::fromUTF8(dumpRenderTreeTemp);
     2402        const char separator = '/';
     2403
     2404        WKWebsiteDataStoreSetServiceWorkerRegistrationDirectory(dataStore, toWK(temporaryFolder + separator + "ServiceWorkerRegistration").get());
     2405    }
     2406
    23992407    return context;
    24002408}
Note: See TracChangeset for help on using the changeset viewer.