Changeset 207330 in webkit


Ignore:
Timestamp:
Oct 14, 2016 1:47:16 AM (8 years ago)
Author:
commit-queue@webkit.org
Message:

Make NetworkCache aware of fetch cache mode
https://bugs.webkit.org/show_bug.cgi?id=163332

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-14
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Splitting web-platform-tests/fetch/api/request/request-cache.html in several files so that running the individual test files
is more manageable.

  • web-platform-tests/fetch/api/request/request-cache-default-conditional-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-cache-default-conditional.html: Added.
  • web-platform-tests/fetch/api/request/request-cache-default-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-cache-default.html: Added.
  • web-platform-tests/fetch/api/request/request-cache-expected.txt: Removed.
  • web-platform-tests/fetch/api/request/request-cache-force-cache-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-cache-force-cache.html: Added.
  • web-platform-tests/fetch/api/request/request-cache-no-cache-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-cache-no-cache.html: Added.
  • web-platform-tests/fetch/api/request/request-cache-no-store-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-cache-no-store.html: Added.
  • web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-cache-only-if-cached.html: Added.
  • web-platform-tests/fetch/api/request/request-cache-reload-expected.txt: Added.
  • web-platform-tests/fetch/api/request/request-cache-reload.html: Added.
  • web-platform-tests/fetch/api/request/request-cache.html: Removed.
  • web-platform-tests/fetch/api/request/request-cache.js: Added.

(base_path):
(make_url):
(expected_status):
(expected_response_text):
(server_state):
(run_next_step):
(make_test):

Source/WebCore:

Tests: imported/w3c/web-platform-tests/fetch/api/request/request-cache-default-conditional.html

imported/w3c/web-platform-tests/fetch/api/request/request-cache-default.html
imported/w3c/web-platform-tests/fetch/api/request/request-cache-force-cache.html
imported/w3c/web-platform-tests/fetch/api/request/request-cache-no-cache.html
imported/w3c/web-platform-tests/fetch/api/request/request-cache-no-store.html
imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html
imported/w3c/web-platform-tests/fetch/api/request/request-cache-reload.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::updateRequestAccordingCacheMode): Setting request cache policy according cache mode.
Basically, these two are about the same.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Making use of cache policy instead of cache mode.

  • platform/network/ResourceRequestBase.h: Adding new cache policies, aligned with fetch cache modes.
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::toPlatformRequestCachePolicy): If policy is not supported by CFNetwork, fallback to ReloadIgnoringCacheData.
This is the best approximate we might find.
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::doUpdateResourceRequest): Only updating cache policy, if cache policy is the default.

  • platform/network/cf/ResourceRequestCFNet.h:
  • platform/network/cocoa/ResourceRequestCocoa.mm: Doing the same modifications as for ResourceRequestCFNet.

(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::toPlatformRequestCachePolicy):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

Source/WebKit2:

Adding explicit serialization of ResourceRequest cachePolicy since it does no longer map to platform request cache policy.

Added support for:

  • Bypassing entirely the network cache in case cache mode is NoStore.
  • requiring revalidation in case of cache hit and cache mode is NoCache.
  • Not using any entry if cache mode is Reload (but cache can still be updated)

Also made sure that the ResourceRequest::cachePolicy remains the same throughout redirections.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::canUseCache):
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::cachePolicyAllowsExpired):
(WebKit::NetworkCache::makeRetrieveDecision):

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

LayoutTests:

  • platform/ios-simulator/TestExpectations:
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Added.
  • platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-cache-reload-expected.txt: Added.
  • platform/win/TestExpectations:
  • platform/wk2/TestExpectations:
Location:
trunk
Files:
20 added
2 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r207326 r207330  
     12016-10-14  Youenn Fablet  <youenn@apple.com>
     2
     3        Make NetworkCache aware of fetch cache mode
     4        https://bugs.webkit.org/show_bug.cgi?id=163332
     5
     6        Reviewed by Antti Koivisto.
     7
     8        * platform/ios-simulator/TestExpectations:
     9        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Added.
     10        * platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/request/request-cache-reload-expected.txt: Added.
     11        * platform/win/TestExpectations:
     12        * platform/wk2/TestExpectations:
     13
    1142016-10-13  Joseph Pecoraro  <pecoraro@apple.com>
    215
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r207326 r207330  
     12016-10-14  Youenn Fablet  <youenn@apple.com>
     2
     3        Make NetworkCache aware of fetch cache mode
     4        https://bugs.webkit.org/show_bug.cgi?id=163332
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Splitting web-platform-tests/fetch/api/request/request-cache.html in several files so that running the individual test files
     9        is more manageable.
     10
     11        * web-platform-tests/fetch/api/request/request-cache-default-conditional-expected.txt: Added.
     12        * web-platform-tests/fetch/api/request/request-cache-default-conditional.html: Added.
     13        * web-platform-tests/fetch/api/request/request-cache-default-expected.txt: Added.
     14        * web-platform-tests/fetch/api/request/request-cache-default.html: Added.
     15        * web-platform-tests/fetch/api/request/request-cache-expected.txt: Removed.
     16        * web-platform-tests/fetch/api/request/request-cache-force-cache-expected.txt: Added.
     17        * web-platform-tests/fetch/api/request/request-cache-force-cache.html: Added.
     18        * web-platform-tests/fetch/api/request/request-cache-no-cache-expected.txt: Added.
     19        * web-platform-tests/fetch/api/request/request-cache-no-cache.html: Added.
     20        * web-platform-tests/fetch/api/request/request-cache-no-store-expected.txt: Added.
     21        * web-platform-tests/fetch/api/request/request-cache-no-store.html: Added.
     22        * web-platform-tests/fetch/api/request/request-cache-only-if-cached-expected.txt: Added.
     23        * web-platform-tests/fetch/api/request/request-cache-only-if-cached.html: Added.
     24        * web-platform-tests/fetch/api/request/request-cache-reload-expected.txt: Added.
     25        * web-platform-tests/fetch/api/request/request-cache-reload.html: Added.
     26        * web-platform-tests/fetch/api/request/request-cache.html: Removed.
     27        * web-platform-tests/fetch/api/request/request-cache.js: Added.
     28        (base_path):
     29        (make_url):
     30        (expected_status):
     31        (expected_response_text):
     32        (server_state):
     33        (run_next_step):
     34        (make_test):
     35
    1362016-10-13  Joseph Pecoraro  <pecoraro@apple.com>
    237
  • trunk/LayoutTests/platform/ios-simulator/TestExpectations

    r207277 r207330  
    25212521webkit.org/b/156561 perf/rel-list-remove.html [ Pass Timeout Failure ]
    25222522
    2523 webkit.org/b/159683 imported/w3c/web-platform-tests/fetch/api/request/request-cache.html [ Pass Failure ]
     2523webkit.org/b/163332 imported/w3c/web-platform-tests/fetch/api/request/request-cache-reload.html [ Pass Failure ]
     2524webkit.org/b/163332 imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html [ Pass Failure ]
    25242525
    25252526webkit.org/b/158640 imported/blink/storage/indexeddb/blob-valid-after-deletion.html [ Pass Failure ]
  • trunk/LayoutTests/platform/win/TestExpectations

    r206883 r207330  
    34953495imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method.html [ Failure ]
    34963496imported/w3c/web-platform-tests/fetch/api/redirect/redirect-method-worker.html [ Failure ]
    3497 imported/w3c/web-platform-tests/fetch/api/request/request-cache.html [ Failure ]
     3497imported/w3c/web-platform-tests/fetch/api/request/request-cache-reload.html [ Failure ]
     3498imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html [ Failure ]
    34983499imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/unload/007.html [ Failure ]
    34993500imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_forward_1.html [ Failure ]
  • trunk/LayoutTests/platform/wk2/TestExpectations

    r207086 r207330  
    686686
    687687# bug 162281
    688 imported/w3c/web-platform-tests/fetch/api/request/request-cache.html [ Skip ]
     688imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html [ Failure ]
    689689
    690690### END OF (5) Progressions, expected successes that are expected failures in WebKit1.
  • trunk/Source/WebCore/ChangeLog

    r207328 r207330  
     12016-10-14  Youenn Fablet  <youenn@apple.com>
     2
     3        Make NetworkCache aware of fetch cache mode
     4        https://bugs.webkit.org/show_bug.cgi?id=163332
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Tests: imported/w3c/web-platform-tests/fetch/api/request/request-cache-default-conditional.html
     9               imported/w3c/web-platform-tests/fetch/api/request/request-cache-default.html
     10               imported/w3c/web-platform-tests/fetch/api/request/request-cache-force-cache.html
     11               imported/w3c/web-platform-tests/fetch/api/request/request-cache-no-cache.html
     12               imported/w3c/web-platform-tests/fetch/api/request/request-cache-no-store.html
     13               imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html
     14               imported/w3c/web-platform-tests/fetch/api/request/request-cache-reload.html
     15
     16        * loader/cache/CachedResourceLoader.cpp:
     17        (WebCore::updateRequestAccordingCacheMode): Setting request cache policy according cache mode.
     18        Basically, these two are about the same.
     19        (WebCore::CachedResourceLoader::determineRevalidationPolicy): Making use of cache policy instead of cache mode.
     20        * platform/network/ResourceRequestBase.h: Adding new cache policies, aligned with fetch cache modes.
     21        * platform/network/cf/ResourceRequestCFNet.cpp:
     22        (WebCore::toPlatformRequestCachePolicy): If policy is not supported by CFNetwork, fallback to ReloadIgnoringCacheData.
     23        This is the best approximate we might find.
     24        (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
     25        (WebCore::ResourceRequest::doUpdateResourceRequest): Only updating cache policy, if cache policy is the default.
     26        * platform/network/cf/ResourceRequestCFNet.h:
     27        * platform/network/cocoa/ResourceRequestCocoa.mm: Doing the same modifications as for ResourceRequestCFNet.
     28        (WebCore::ResourceRequest::doUpdateResourceRequest):
     29        (WebCore::toPlatformRequestCachePolicy):
     30        (WebCore::ResourceRequest::doUpdatePlatformRequest):
     31
    1322016-10-13  Youenn Fablet  <youenn@apple.com>
    233
  • trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp

    r207281 r207330  
    836836    auto& memoryCache = MemoryCache::singleton();
    837837    ASSERT(!request.allowsCaching() || !memoryCache.resourceForRequest(request.resourceRequest(), sessionID())
    838         || request.options().cache == FetchOptions::Cache::NoCache || request.options().cache == FetchOptions::Cache::NoStore || request.options().cache == FetchOptions::Cache::Reload);
     838        || request.resourceRequest().cachePolicy() == DoNotUseAnyCache || request.resourceRequest().cachePolicy() == ReloadIgnoringCacheData || request.resourceRequest().cachePolicy() == RefreshAnyCacheData);
    839839
    840840    LOG(ResourceLoading, "Loading CachedResource for '%s'.", request.resourceRequest().url().stringCenterEllipsizedToLength().latin1().data());
     
    889889        return Load;
    890890
    891     if (cachedResourceRequest.options().cache == FetchOptions::Cache::NoStore)
     891    if (request.cachePolicy() == DoNotUseAnyCache || request.cachePolicy() == ReloadIgnoringCacheData)
    892892        return Load;
    893893
    894     if (cachedResourceRequest.options().cache == FetchOptions::Cache::Reload)
     894    if (request.cachePolicy() == RefreshAnyCacheData)
    895895        return Reload;
    896896
  • trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp

    r207281 r207330  
    154154    switch (m_options.cache) {
    155155    case FetchOptions::Cache::NoCache:
    156         m_resourceRequest.setCachePolicy(ReloadIgnoringCacheData);
     156        m_resourceRequest.setCachePolicy(RefreshAnyCacheData);
    157157        m_resourceRequest.addHTTPHeaderFieldIfNotPresent(HTTPHeaderName::CacheControl, HTTPHeaderValues::maxAge0());
    158158        break;
    159159    case FetchOptions::Cache::NoStore:
    160160        m_options.cachingPolicy = CachingPolicy::DisallowCaching;
    161         m_resourceRequest.setCachePolicy(ReloadIgnoringCacheData);
     161        m_resourceRequest.setCachePolicy(DoNotUseAnyCache);
    162162        m_resourceRequest.addHTTPHeaderFieldIfNotPresent(HTTPHeaderName::Pragma, HTTPHeaderValues::noCache());
    163163        m_resourceRequest.addHTTPHeaderFieldIfNotPresent(HTTPHeaderName::CacheControl, HTTPHeaderValues::noCache());
  • trunk/Source/WebCore/platform/network/ResourceRequestBase.h

    r207086 r207330  
    3737
    3838enum ResourceRequestCachePolicy {
    39     UseProtocolCachePolicy, // normal load
    40     ReloadIgnoringCacheData, // reload
    41     ReturnCacheDataElseLoad, // back/forward or encoding change - allow stale data
    42     ReturnCacheDataDontLoad  // results of a post - allow stale data and only use cache
     39    UseProtocolCachePolicy, // normal load, equivalent to fetch "default" cache mode.
     40    ReloadIgnoringCacheData, // reload, equivalent to fetch "reload"cache mode.
     41    ReturnCacheDataElseLoad, // back/forward or encoding change - allow stale data, equivalent to fetch "force-cache" cache mode.
     42    ReturnCacheDataDontLoad, // results of a post - allow stale data and only use cache, equivalent to fetch "only-if-cached" cache mode.
     43    DoNotUseAnyCache, // Bypass the cache entirely, equivalent to fetch "no-store" cache mode.
     44    RefreshAnyCacheData, // Serve cache data only if revalidated, equivalent to fetch "no-cache" mode.
    4345};
    4446
  • trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp

    r207151 r207330  
    171171}
    172172
     173static inline CFURLRequestCachePolicy toPlatformRequestCachePolicy(ResourceRequestCachePolicy policy)
     174{
     175    switch (policy) {
     176    case UseProtocolCachePolicy:
     177        return CFURLRequestUseProtocolCachePolicy;
     178    case ReturnCacheDataElseLoad:
     179        return CFURLRequestReturnCacheDataElseLoad;
     180    case ReturnCacheDataDontLoad:
     181        return CFURLRequestReturnCacheDataDontLoad;
     182    default:
     183        return CFURLRequestReloadIgnoringLocalCacheData;
     184    }
     185}
     186
    173187void ResourceRequest::doUpdatePlatformHTTPBody()
    174188{
     
    181195        CFURLRequestSetURL(cfRequest, url.get());
    182196        CFURLRequestSetMainDocumentURL(cfRequest, firstPartyForCookies.get());
    183         CFURLRequestSetCachePolicy(cfRequest, (CFURLRequestCachePolicy)cachePolicy());
     197        CFURLRequestSetCachePolicy(cfRequest, toPlatformRequestCachePolicy(cachePolicy()));
    184198        CFURLRequestSetTimeoutInterval(cfRequest, timeoutInterval());
    185199    } else
     
    212226    m_url = CFURLRequestGetURL(m_cfRequest.get());
    213227
    214     m_cachePolicy = (ResourceRequestCachePolicy)CFURLRequestGetCachePolicy(m_cfRequest.get());
     228    if (!m_cachePolicy)
     229        m_cachePolicy = (ResourceRequestCachePolicy)CFURLRequestGetCachePolicy(m_cfRequest.get());
    215230    m_timeoutInterval = CFURLRequestGetTimeoutInterval(m_cfRequest.get());
    216231    m_firstPartyForCookies = CFURLRequestGetMainDocumentURL(m_cfRequest.get());
  • trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.h

    r207151 r207330  
    2121 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    2222 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
     23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2424 */
    2525
     
    2828#include "CFNetworkSPI.h"
    2929#include "ResourceLoadPriority.h"
     30#include "ResourceRequestBase.h"
    3031
    3132namespace WebCore {
  • trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm

    r207151 r207330  
    6262}
    6363
     64static inline ResourceRequestCachePolicy fromPlatformRequestCachePolicy(NSURLRequestCachePolicy policy)
     65{
     66    switch (policy) {
     67    case NSURLRequestUseProtocolCachePolicy:
     68        return UseProtocolCachePolicy;
     69    case NSURLRequestReturnCacheDataElseLoad:
     70        return ReturnCacheDataElseLoad;
     71    case NSURLRequestReturnCacheDataDontLoad:
     72        return ReturnCacheDataDontLoad;
     73    default:
     74        return ReloadIgnoringCacheData;
     75    }
     76}
     77
     78static inline NSURLRequestCachePolicy toPlatformRequestCachePolicy(ResourceRequestCachePolicy policy)
     79{
     80    switch (policy) {
     81    case UseProtocolCachePolicy:
     82        return NSURLRequestUseProtocolCachePolicy;
     83    case ReturnCacheDataElseLoad:
     84        return NSURLRequestReturnCacheDataElseLoad;
     85    case ReturnCacheDataDontLoad:
     86        return NSURLRequestReturnCacheDataDontLoad;
     87    default:
     88        return NSURLRequestReloadIgnoringLocalCacheData;
     89    }
     90}
     91
    6492void ResourceRequest::doUpdateResourceRequest()
    6593{
    6694    m_url = [m_nsRequest.get() URL];
    67     m_cachePolicy = (ResourceRequestCachePolicy)[m_nsRequest.get() cachePolicy];
     95
     96    if (!m_cachePolicy)
     97        m_cachePolicy = fromPlatformRequestCachePolicy([m_nsRequest.get() cachePolicy]);
    6898    m_timeoutInterval = [m_nsRequest.get() timeoutInterval];
    6999    m_firstPartyForCookies = [m_nsRequest.get() mainDocumentURL];
     
    133163        CFURLRequestSetRequestPriority([nsRequest _CFURLRequest], toPlatformRequestPriority(priority()));
    134164
    135     [nsRequest setCachePolicy:(NSURLRequestCachePolicy)cachePolicy()];
     165    [nsRequest setCachePolicy:toPlatformRequestCachePolicy(cachePolicy())];
    136166    _CFURLRequestSetProtocolProperty([nsRequest _CFURLRequest], kCFURLRequestAllowAllPOSTCaching, kCFBooleanTrue);
    137167
  • trunk/Source/WebKit2/ChangeLog

    r207298 r207330  
     12016-10-14  Youenn Fablet  <youenn@apple.com>
     2
     3        Make NetworkCache aware of fetch cache mode
     4        https://bugs.webkit.org/show_bug.cgi?id=163332
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Adding explicit serialization of ResourceRequest cachePolicy since it does no longer map to platform request cache policy.
     9
     10        Added support for:
     11        - Bypassing entirely the network cache in case cache mode is NoStore.
     12        - requiring revalidation in case of cache hit and cache mode is NoCache.
     13        - Not using any entry if cache mode is Reload (but cache can still be updated)
     14
     15        Also made sure that the ResourceRequest::cachePolicy remains the same throughout redirections.
     16
     17        * NetworkProcess/NetworkResourceLoader.cpp:
     18        (WebKit::NetworkResourceLoader::canUseCache):
     19        (WebKit::NetworkResourceLoader::retrieveCacheEntry):
     20        (WebKit::NetworkResourceLoader::continueWillSendRequest):
     21        * NetworkProcess/cache/NetworkCache.cpp:
     22        (WebKit::NetworkCache::cachePolicyAllowsExpired):
     23        (WebKit::NetworkCache::makeRetrieveDecision):
     24        * Shared/mac/WebCoreArgumentCodersMac.mm:
     25        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
     26        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
     27
    1282016-10-13  Tim Horton  <timothy_horton@apple.com>
    229
  • trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp

    r206855 r207330  
    123123    if (!request.url().protocolIsInHTTPFamily())
    124124        return false;
     125    if (originalRequest().cachePolicy() == WebCore::DoNotUseAnyCache)
     126        return false;
    125127
    126128    return true;
     
    189191            return;
    190192        }
    191         if (entry->needsValidation()) {
     193        if (entry->needsValidation() || request.cachePolicy() == WebCore::RefreshAnyCacheData) {
    192194            loader->validateCacheEntry(WTFMove(entry));
    193195            return;
     
    471473{
    472474    RELEASE_LOG_IF_ALLOWED("continueWillSendRequest: (pageID = %" PRIu64 ", frameID = %" PRIu64 ", resourceID = %" PRIu64 ")", m_parameters.webPageID, m_parameters.webFrameID, m_parameters.identifier);
     475
     476    // If there is a match in the network cache, we need to reuse the original cache policy.
     477    newRequest.setCachePolicy(originalRequest().cachePolicy());
    473478
    474479#if ENABLE(NETWORK_CACHE)
  • trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp

    r202439 r207330  
    137137    case WebCore::UseProtocolCachePolicy:
    138138    case WebCore::ReloadIgnoringCacheData:
     139    case WebCore::RefreshAnyCacheData:
    139140        return false;
    140     }
    141     ASSERT_NOT_REACHED();
     141    case WebCore::DoNotUseAnyCache:
     142        ASSERT_NOT_REACHED();
     143        return false;
     144    }
    142145    return false;
    143146}
     
    199202static RetrieveDecision makeRetrieveDecision(const WebCore::ResourceRequest& request)
    200203{
     204    ASSERT(request.cachePolicy() != WebCore::DoNotUseAnyCache);
     205
    201206    // FIXME: Support HEAD requests.
    202207    if (request.httpMethod() != "GET")
  • trunk/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm

    r207151 r207330  
    7878    encoder << resourceRequest.responseContentDispositionEncodingFallbackArray();
    7979    encoder.encodeEnum(resourceRequest.requester());
     80    encoder.encodeEnum(resourceRequest.cachePolicy());
    8081}
    8182
     
    115116        return false;
    116117    resourceRequest.setRequester(requester);
     118
     119    ResourceRequestCachePolicy cachePolicy;
     120    if (!decoder.decodeEnum(cachePolicy))
     121        return false;
     122    resourceRequest.setCachePolicy(cachePolicy);
    117123
    118124    return true;
Note: See TracChangeset for help on using the changeset viewer.