Title: [183563] trunk/Source
Revision
183563
Author
[email protected]
Date
2015-04-29 11:51:23 -0700 (Wed, 29 Apr 2015)

Log Message

ResourceLoadPriority should be enum class
https://bugs.webkit.org/show_bug.cgi?id=144326

Reviewed by Darin Adler.

Source/WebCore:

* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLink):
* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::scheduleLoad):
(WebCore::ResourceLoadScheduler::servePendingRequests):
(WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
(WebCore::ResourceLoadScheduler::HostInformation::priorityToIndex):
(WebCore::ResourceLoadScheduler::HostInformation::schedule):
(WebCore::ResourceLoadScheduler::HostInformation::remove):
(WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
(WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
* loader/ResourceLoadScheduler.h:
(WebCore::ResourceLoadScheduler::HostInformation::requestsPending):

    Modernize ResourceLoadScheduler code a bit while switching to enum class.

* loader/cache/CachedResource.cpp:
(WebCore::defaultPriorityForResourceType):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
* platform/network/ResourceLoadPriority.h:
(WebCore::operator++):
(WebCore::operator--):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::copyData):
(WebCore::ResourceRequestBase::cachePolicy):
(WebCore::ResourceRequestBase::priority):
(WebCore::ResourceRequestBase::setPriority):
* platform/network/ResourceRequestBase.h:

    Remove bitfields. ResourceRequests are not present in large enough numbers to require this kind of optimization.
    Use modern initialization syntax.

(WebCore::ResourceRequestBase::ResourceRequestBase):
(WebCore::CrossThreadResourceRequestDataBase::CrossThreadResourceRequestDataBase): Deleted.
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::initializeMaximumHTTPConnectionCountPerHost):
(WebCore::initializeHTTPConnectionSettingsOnStartup):
* platform/network/cf/ResourceRequestCFNet.h:
(WebCore::toResourceLoadPriority):
(WebCore::toPlatformRequestPriority):
* platform/network/soup/ResourceRequest.h:
(WebCore::toSoupMessagePriority):
* testing/Internals.cpp:
(WebCore::stringToResourceLoadPriority):

Source/WebKit2:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::servePendingRequests): Deleted.

    Remove this unused message.

* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeStoreDecision):
(WebKit::NetworkCache::Cache::retrieve):
* NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::servePendingRequests):
* WebProcess/Network/WebResourceLoadScheduler.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (183562 => 183563)


--- trunk/Source/WebCore/ChangeLog	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/ChangeLog	2015-04-29 18:51:23 UTC (rev 183563)
@@ -1,3 +1,63 @@
+2015-04-29  Antti Koivisto  <[email protected]>
+
+        ResourceLoadPriority should be enum class
+        https://bugs.webkit.org/show_bug.cgi?id=144326
+
+        Reviewed by Darin Adler.
+
+        * html/HTMLLinkElement.cpp:
+        (WebCore::HTMLLinkElement::process):
+        * loader/LinkLoader.cpp:
+        (WebCore::LinkLoader::loadLink):
+        * loader/ResourceLoadScheduler.cpp:
+        (WebCore::ResourceLoadScheduler::scheduleLoad):
+        (WebCore::ResourceLoadScheduler::servePendingRequests):
+        (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
+        (WebCore::ResourceLoadScheduler::HostInformation::priorityToIndex):
+        (WebCore::ResourceLoadScheduler::HostInformation::schedule):
+        (WebCore::ResourceLoadScheduler::HostInformation::remove):
+        (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
+        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
+        * loader/ResourceLoadScheduler.h:
+        (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
+
+            Modernize ResourceLoadScheduler code a bit while switching to enum class.
+
+        * loader/cache/CachedResource.cpp:
+        (WebCore::defaultPriorityForResourceType):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::requestResource):
+        * loader/icon/IconLoader.cpp:
+        (WebCore::IconLoader::startLoading):
+        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
+        (WebCore::WebCoreAVFResourceLoader::startLoading):
+        * platform/network/ResourceLoadPriority.h:
+        (WebCore::operator++):
+        (WebCore::operator--):
+        * platform/network/ResourceRequestBase.cpp:
+        (WebCore::ResourceRequestBase::adopt):
+        (WebCore::ResourceRequestBase::copyData):
+        (WebCore::ResourceRequestBase::cachePolicy):
+        (WebCore::ResourceRequestBase::priority):
+        (WebCore::ResourceRequestBase::setPriority):
+        * platform/network/ResourceRequestBase.h:
+
+            Remove bitfields. ResourceRequests are not present in large enough numbers to require this kind of optimization.
+            Use modern initialization syntax.
+
+        (WebCore::ResourceRequestBase::ResourceRequestBase):
+        (WebCore::CrossThreadResourceRequestDataBase::CrossThreadResourceRequestDataBase): Deleted.
+        * platform/network/cf/ResourceRequestCFNet.cpp:
+        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
+        (WebCore::initializeHTTPConnectionSettingsOnStartup):
+        * platform/network/cf/ResourceRequestCFNet.h:
+        (WebCore::toResourceLoadPriority):
+        (WebCore::toPlatformRequestPriority):
+        * platform/network/soup/ResourceRequest.h:
+        (WebCore::toSoupMessagePriority):
+        * testing/Internals.cpp:
+        (WebCore::stringToResourceLoadPriority):
+
 2015-04-29  Myles C. Maxfield  <[email protected]>
 
         [OS X] Use CTFontCreateForCSS instead of doing font search ourselves

Modified: trunk/Source/WebCore/html/HTMLLinkElement.cpp (183562 => 183563)


--- trunk/Source/WebCore/html/HTMLLinkElement.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/html/HTMLLinkElement.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -240,7 +240,7 @@
         // Load stylesheets that are not needed for the rendering immediately with low priority.
         Optional<ResourceLoadPriority> priority;
         if (!isActive)
-            priority = ResourceLoadPriorityVeryLow;
+            priority = ResourceLoadPriority::VeryLow;
         CachedResourceRequest request(ResourceRequest(document().completeURL(url)), charset, priority);
         request.setInitiator(this);
         m_cachedSheet = document().cachedResourceLoader().requestCSSStyleSheet(request);

Modified: trunk/Source/WebCore/loader/LinkLoader.cpp (183562 => 183563)


--- trunk/Source/WebCore/loader/LinkLoader.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/loader/LinkLoader.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -112,7 +112,7 @@
         if (relAttribute.isLinkSubresource) {
             // We only make one request to the cached resource loader if multiple rel types are specified;
             // this is the higher priority, which should overwrite the lower priority.
-            priority = ResourceLoadPriorityLow;
+            priority = ResourceLoadPriority::Low;
             type = CachedResource::LinkSubresource;
         }
         CachedResourceRequest linkRequest(ResourceRequest(document.completeURL(href)), priority);

Modified: trunk/Source/WebCore/loader/ResourceLoadScheduler.cpp (183562 => 183563)


--- trunk/Source/WebCore/loader/ResourceLoadScheduler.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/loader/ResourceLoadScheduler.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -171,19 +171,19 @@
     if (ResourceRequest::resourcePrioritiesEnabled() && !isSuspendingPendingRequests()) {
         // Serve all requests at once to keep the pipeline full at the network layer.
         // FIXME: Does this code do anything useful, given that we also set maxRequestsInFlightPerHost to effectively unlimited on these platforms?
-        servePendingRequests(host, ResourceLoadPriorityVeryLow);
+        servePendingRequests(host, ResourceLoadPriority::VeryLow);
         return;
     }
 #endif
 
 #if PLATFORM(IOS)
-    if ((priority > ResourceLoadPriorityLow || !resourceLoader->iOSOriginalRequest().url().protocolIsInHTTPFamily() || (priority == ResourceLoadPriorityLow && !hadRequests)) && !isSuspendingPendingRequests()) {
+    if ((priority > ResourceLoadPriority::Low || !resourceLoader->iOSOriginalRequest().url().protocolIsInHTTPFamily() || (priority == ResourceLoadPriority::Low && !hadRequests)) && !isSuspendingPendingRequests()) {
         // Try to request important resources immediately.
         servePendingRequests(host, priority);
         return;
     }
 #else
-    if (priority > ResourceLoadPriorityLow || !resourceLoader->url().protocolIsInHTTPFamily() || (priority == ResourceLoadPriorityLow && !hadRequests)) {
+    if (priority > ResourceLoadPriority::Low || !resourceLoader->url().protocolIsInHTTPFamily() || (priority == ResourceLoadPriority::Low && !hadRequests)) {
         // Try to request important resources immediately.
         servePendingRequests(host, priority);
         return;
@@ -256,14 +256,9 @@
     servePendingRequests(m_nonHTTPProtocolHost, minimumPriority);
 
     Vector<HostInformation*> hostsToServe;
-    m_hosts.checkConsistency();
-    HostMap::iterator end = m_hosts.end();
-    for (HostMap::iterator iter = m_hosts.begin(); iter != end; ++iter)
-        hostsToServe.append(iter->value);
+    copyValuesToVector(m_hosts, hostsToServe);
 
-    int size = hostsToServe.size();
-    for (int i = 0; i < size; ++i) {
-        HostInformation* host = hostsToServe[i];
+    for (auto* host : hostsToServe) {
         if (host->hasRequests())
             servePendingRequests(host, minimumPriority);
         else
@@ -275,9 +270,9 @@
 {
     LOG(ResourceLoading, "ResourceLoadScheduler::servePendingRequests HostInformation.m_name='%s'", host->name().latin1().data());
 
-    for (int priority = ResourceLoadPriorityHighest; priority >= minimumPriority; --priority) {
-        HostInformation::RequestQueue& requestsPending = host->requestsPending(ResourceLoadPriority(priority));
-
+    auto priority = ResourceLoadPriority::Highest;
+    while (true) {
+        auto& requestsPending = host->requestsPending(priority);
         while (!requestsPending.isEmpty()) {
             RefPtr<ResourceLoader> resourceLoader = requestsPending.first();
 
@@ -286,7 +281,7 @@
             // and we don't know all stylesheets yet.
             Document* document = resourceLoader->frameLoader() ? resourceLoader->frameLoader()->frame().document() : 0;
             bool shouldLimitRequests = !host->name().isNull() || (document && (document->parsing() || !document->haveStylesheetsLoaded()));
-            if (shouldLimitRequests && host->limitRequests(ResourceLoadPriority(priority)))
+            if (shouldLimitRequests && host->limitRequests(priority))
                 return;
 
             requestsPending.removeFirst();
@@ -299,6 +294,9 @@
 #endif
             resourceLoader->start();
         }
+        if (priority == minimumPriority)
+            return;
+        --priority;
     }
 }
 
@@ -338,14 +336,30 @@
 
 ResourceLoadScheduler::HostInformation::~HostInformation()
 {
-    ASSERT(m_requestsLoading.isEmpty());
-    for (unsigned p = 0; p <= ResourceLoadPriorityHighest; p++)
-        ASSERT(m_requestsPending[p].isEmpty());
+    ASSERT(!hasRequests());
 }
-    
+
+unsigned ResourceLoadScheduler::HostInformation::priorityToIndex(ResourceLoadPriority priority)
+{
+    switch (priority) {
+    case ResourceLoadPriority::VeryLow:
+        return 0;
+    case ResourceLoadPriority::Low:
+        return 1;
+    case ResourceLoadPriority::Medium:
+        return 2;
+    case ResourceLoadPriority::High:
+        return 3;
+    case ResourceLoadPriority::VeryHigh:
+        return 4;
+    }
+    ASSERT_NOT_REACHED();
+    return 0;
+}
+
 void ResourceLoadScheduler::HostInformation::schedule(ResourceLoader* resourceLoader, ResourceLoadPriority priority)
 {
-    m_requestsPending[priority].append(resourceLoader);
+    m_requestsPending[priorityToIndex(priority)].append(resourceLoader);
 }
     
 void ResourceLoadScheduler::HostInformation::addLoadInProgress(ResourceLoader* resourceLoader)
@@ -359,11 +373,10 @@
     if (m_requestsLoading.remove(resourceLoader))
         return;
     
-    for (int priority = ResourceLoadPriorityHighest; priority >= ResourceLoadPriorityLowest; --priority) {  
-        RequestQueue::iterator end = m_requestsPending[priority].end();
-        for (RequestQueue::iterator it = m_requestsPending[priority].begin(); it != end; ++it) {
+    for (auto& requestQueue : m_requestsPending) {
+        for (auto it = requestQueue.begin(), end = requestQueue.end(); it != end; ++it) {
             if (*it == resourceLoader) {
-                m_requestsPending[priority].remove(it);
+                requestQueue.remove(it);
                 return;
             }
         }
@@ -374,8 +387,8 @@
 {
     if (!m_requestsLoading.isEmpty())
         return true;
-    for (unsigned p = 0; p <= ResourceLoadPriorityHighest; p++) {
-        if (!m_requestsPending[p].isEmpty())
+    for (auto& requestQueue : m_requestsPending) {
+        if (!requestQueue.isEmpty())
             return true;
     }
     return false;
@@ -383,7 +396,7 @@
 
 bool ResourceLoadScheduler::HostInformation::limitRequests(ResourceLoadPriority priority) const 
 {
-    if (priority == ResourceLoadPriorityVeryLow && !m_requestsLoading.isEmpty())
+    if (priority == ResourceLoadPriority::VeryLow && !m_requestsLoading.isEmpty())
         return true;
     return m_requestsLoading.size() >= (resourceLoadScheduler()->isSerialLoadingEnabled() ? 1 : m_maxRequestsInFlight);
 }

Modified: trunk/Source/WebCore/loader/ResourceLoadScheduler.h (183562 => 183563)


--- trunk/Source/WebCore/loader/ResourceLoadScheduler.h	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/loader/ResourceLoadScheduler.h	2015-04-29 18:51:23 UTC (rev 183563)
@@ -27,6 +27,7 @@
 #include "ResourceLoaderOptions.h"
 #include "ResourceLoadPriority.h"
 #include "Timer.h"
+#include <array>
 #include <wtf/Deque.h>
 #include <wtf/HashMap.h>
 #include <wtf/HashSet.h>
@@ -56,7 +57,7 @@
     virtual void setDefersLoading(ResourceLoader*, bool);
     virtual void crossOriginRedirectReceived(ResourceLoader*, const URL& redirectURL);
     
-    WEBCORE_EXPORT virtual void servePendingRequests(ResourceLoadPriority minimumPriority = ResourceLoadPriorityVeryLow);
+    WEBCORE_EXPORT virtual void servePendingRequests(ResourceLoadPriority minimumPriority = ResourceLoadPriority::VeryLow);
     WEBCORE_EXPORT virtual void suspendPendingRequests();
     WEBCORE_EXPORT virtual void resumePendingRequests();
     
@@ -93,17 +94,19 @@
         ~HostInformation();
         
         const String& name() const { return m_name; }
-        void schedule(ResourceLoader*, ResourceLoadPriority = ResourceLoadPriorityVeryLow);
+        void schedule(ResourceLoader*, ResourceLoadPriority = ResourceLoadPriority::VeryLow);
         void addLoadInProgress(ResourceLoader*);
         void remove(ResourceLoader*);
         bool hasRequests() const;
         bool limitRequests(ResourceLoadPriority) const;
 
         typedef Deque<RefPtr<ResourceLoader>> RequestQueue;
-        RequestQueue& requestsPending(ResourceLoadPriority priority) { return m_requestsPending[priority]; }
+        RequestQueue& requestsPending(ResourceLoadPriority priority) { return m_requestsPending[priorityToIndex(priority)]; }
 
-    private:                    
-        RequestQueue m_requestsPending[ResourceLoadPriorityHighest + 1];
+    private:
+        static unsigned priorityToIndex(ResourceLoadPriority);
+
+        std::array<RequestQueue, resourceLoadPriorityCount> m_requestsPending;
         typedef HashSet<RefPtr<ResourceLoader>> RequestMap;
         RequestMap m_requestsLoading;
         const String m_name;

Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (183562 => 183563)


--- trunk/Source/WebCore/loader/cache/CachedResource.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -68,37 +68,37 @@
 {
     switch (type) {
     case CachedResource::MainResource:
-        return ResourceLoadPriorityVeryHigh;
+        return ResourceLoadPriority::VeryHigh;
     case CachedResource::CSSStyleSheet:
-        return ResourceLoadPriorityHigh;
+        return ResourceLoadPriority::High;
     case CachedResource::Script:
 #if ENABLE(SVG_FONTS)
     case CachedResource::SVGFontResource:
 #endif
     case CachedResource::FontResource:
     case CachedResource::RawResource:
-        return ResourceLoadPriorityMedium;
+        return ResourceLoadPriority::Medium;
     case CachedResource::ImageResource:
-        return ResourceLoadPriorityLow;
+        return ResourceLoadPriority::Low;
 #if ENABLE(XSLT)
     case CachedResource::XSLStyleSheet:
-        return ResourceLoadPriorityHigh;
+        return ResourceLoadPriority::High;
 #endif
     case CachedResource::SVGDocumentResource:
-        return ResourceLoadPriorityLow;
+        return ResourceLoadPriority::Low;
 #if ENABLE(LINK_PREFETCH)
     case CachedResource::LinkPrefetch:
-        return ResourceLoadPriorityVeryLow;
+        return ResourceLoadPriority::VeryLow;
     case CachedResource::LinkSubresource:
-        return ResourceLoadPriorityVeryLow;
+        return ResourceLoadPriority::VeryLow;
 #endif
 #if ENABLE(VIDEO_TRACK)
     case CachedResource::TextTrackResource:
-        return ResourceLoadPriorityLow;
+        return ResourceLoadPriority::Low;
 #endif
     }
     ASSERT_NOT_REACHED();
-    return ResourceLoadPriorityLow;
+    return ResourceLoadPriority::Low;
 }
 
 static std::chrono::milliseconds deadDecodedDataDeletionIntervalForResourceType(CachedResource::Type type)

Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (183562 => 183563)


--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -496,7 +496,7 @@
 {
     URL url = ""
     
-    LOG(ResourceLoading, "CachedResourceLoader::requestResource '%s', charset '%s', priority=%d, forPreload=%u", url.stringCenterEllipsizedToLength().latin1().data(), request.charset().latin1().data(), request.priority() ? request.priority().value() : -1, request.forPreload());
+    LOG(ResourceLoading, "CachedResourceLoader::requestResource '%s', charset '%s', priority=%d, forPreload=%u", url.stringCenterEllipsizedToLength().latin1().data(), request.charset().latin1().data(), request.priority() ? static_cast<int>(request.priority().value()) : -1, request.forPreload());
     
     // If only the fragment identifiers differ, it is the same resource.
     url = ""

Modified: trunk/Source/WebCore/loader/icon/IconLoader.cpp (183562 => 183563)


--- trunk/Source/WebCore/loader/icon/IconLoader.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/loader/icon/IconLoader.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -60,7 +60,7 @@
 
     CachedResourceRequest request(ResourceRequest(m_frame.loader().icon().url()), ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForAnyCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo));
 
-    request.mutableResourceRequest().setPriority(ResourceLoadPriorityLow);
+    request.mutableResourceRequest().setPriority(ResourceLoadPriority::Low);
     request.setInitiator(cachedResourceRequestInitiators().icon);
 
     m_resource = m_frame.document()->cachedResourceLoader().requestRawResource(request);

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp (183562 => 183563)


--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -73,7 +73,7 @@
 
     CachedResourceRequest request(ResourceRequest(requestURL), ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo));
 
-    request.mutableResourceRequest().setPriority(ResourceLoadPriorityLow);
+    request.mutableResourceRequest().setPriority(ResourceLoadPriority::Low);
     CachedResourceLoader* loader = m_parent->player()->cachedResourceLoader();
     m_resource = loader ? loader->requestRawResource(request) : 0;
     if (m_resource)

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm (183562 => 183563)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm	2015-04-29 18:51:23 UTC (rev 183563)
@@ -69,7 +69,7 @@
 
     CachedResourceRequest request(ResourceRequest(requestURL), ResourceLoaderOptions(SendCallbacks, DoNotSniffContent, BufferData, DoNotAllowStoredCredentials, DoNotAskClientForCrossOriginCredentials, DoSecurityCheck, UseDefaultOriginRestrictionsForType, DoNotIncludeCertificateInfo));
 
-    request.mutableResourceRequest().setPriority(ResourceLoadPriorityLow);
+    request.mutableResourceRequest().setPriority(ResourceLoadPriority::Low);
     CachedResourceLoader* loader = m_parent->player()->cachedResourceLoader();
     m_resource = loader ? loader->requestRawResource(request) : 0;
     if (m_resource)

Modified: trunk/Source/WebCore/platform/network/ResourceLoadPriority.h (183562 => 183563)


--- trunk/Source/WebCore/platform/network/ResourceLoadPriority.h	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/network/ResourceLoadPriority.h	2015-04-29 18:51:23 UTC (rev 183563)
@@ -28,17 +28,31 @@
 
 namespace WebCore {
 
-enum ResourceLoadPriority {
-    ResourceLoadPriorityVeryLow,
-    ResourceLoadPriorityLow,
-    ResourceLoadPriorityMedium,
-    ResourceLoadPriorityHigh,
-    ResourceLoadPriorityVeryHigh,
-    ResourceLoadPriorityLowest = ResourceLoadPriorityVeryLow,
-    ResourceLoadPriorityHighest = ResourceLoadPriorityVeryHigh,
+enum class ResourceLoadPriority {
+    VeryLow,
+    Low,
+    Medium,
+    High,
+    VeryHigh,
+    Lowest = VeryLow,
+    Highest = VeryHigh,
 };
 
+static const unsigned resourceLoadPriorityCount { static_cast<unsigned>(ResourceLoadPriority::Highest) + 1 };
+
+inline ResourceLoadPriority& operator++(ResourceLoadPriority& priority)
+{
+    ASSERT(priority != ResourceLoadPriority::Highest);
+    return priority = static_cast<ResourceLoadPriority>(static_cast<int>(priority) + 1);
 }
 
+inline ResourceLoadPriority& operator--(ResourceLoadPriority& priority)
+{
+    ASSERT(priority != ResourceLoadPriority::Lowest);
+    return priority = static_cast<ResourceLoadPriority>(static_cast<int>(priority) - 1);
+}
+
+}
+
 #endif
 

Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp (183562 => 183563)


--- trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -51,32 +51,32 @@
 std::unique_ptr<ResourceRequest> ResourceRequestBase::adopt(std::unique_ptr<CrossThreadResourceRequestData> data)
 {
     auto request = std::make_unique<ResourceRequest>();
-    request->setURL(data->m_url);
-    request->setCachePolicy(data->m_cachePolicy);
-    request->setTimeoutInterval(data->m_timeoutInterval);
-    request->setFirstPartyForCookies(data->m_firstPartyForCookies);
-    request->setHTTPMethod(data->m_httpMethod);
-    request->setPriority(data->m_priority);
-    request->setRequester(data->m_requester);
+    request->setURL(data->url);
+    request->setCachePolicy(data->cachePolicy);
+    request->setTimeoutInterval(data->timeoutInterval);
+    request->setFirstPartyForCookies(data->firstPartyForCookies);
+    request->setHTTPMethod(data->httpMethod);
+    request->setPriority(data->priority);
+    request->setRequester(data->requester);
 
     request->updateResourceRequest();
-    request->m_httpHeaderFields.adopt(WTF::move(data->m_httpHeaders));
+    request->m_httpHeaderFields.adopt(WTF::move(data->httpHeaders));
 
-    size_t encodingCount = data->m_responseContentDispositionEncodingFallbackArray.size();
+    size_t encodingCount = data->responseContentDispositionEncodingFallbackArray.size();
     if (encodingCount > 0) {
-        String encoding1 = data->m_responseContentDispositionEncodingFallbackArray[0];
+        String encoding1 = data->responseContentDispositionEncodingFallbackArray[0];
         String encoding2;
         String encoding3;
         if (encodingCount > 1) {
-            encoding2 = data->m_responseContentDispositionEncodingFallbackArray[1];
+            encoding2 = data->responseContentDispositionEncodingFallbackArray[1];
             if (encodingCount > 2)
-                encoding3 = data->m_responseContentDispositionEncodingFallbackArray[2];
+                encoding3 = data->responseContentDispositionEncodingFallbackArray[2];
         }
         ASSERT(encodingCount <= 3);
         request->setResponseContentDispositionEncodingFallbackArray(encoding1, encoding2, encoding3);
     }
-    request->setHTTPBody(data->m_httpBody);
-    request->setAllowCookies(data->m_allowCookies);
+    request->setHTTPBody(data->httpBody);
+    request->setAllowCookies(data->allowCookies);
     request->doPlatformAdopt(WTF::move(data));
     return request;
 }
@@ -84,23 +84,23 @@
 std::unique_ptr<CrossThreadResourceRequestData> ResourceRequestBase::copyData() const
 {
     auto data = ""
-    data->m_url = url().copy();
-    data->m_cachePolicy = cachePolicy();
-    data->m_timeoutInterval = timeoutInterval();
-    data->m_firstPartyForCookies = firstPartyForCookies().copy();
-    data->m_httpMethod = httpMethod().isolatedCopy();
-    data->m_httpHeaders = httpHeaderFields().copyData();
-    data->m_priority = priority();
-    data->m_requester = m_requester;
+    data->url = ""
+    data->cachePolicy = m_cachePolicy;
+    data->timeoutInterval = timeoutInterval();
+    data->firstPartyForCookies = firstPartyForCookies().copy();
+    data->httpMethod = httpMethod().isolatedCopy();
+    data->httpHeaders = httpHeaderFields().copyData();
+    data->priority = m_priority;
+    data->requester = m_requester;
 
-    data->m_responseContentDispositionEncodingFallbackArray.reserveInitialCapacity(m_responseContentDispositionEncodingFallbackArray.size());
+    data->responseContentDispositionEncodingFallbackArray.reserveInitialCapacity(m_responseContentDispositionEncodingFallbackArray.size());
     size_t encodingArraySize = m_responseContentDispositionEncodingFallbackArray.size();
     for (size_t index = 0; index < encodingArraySize; ++index) {
-        data->m_responseContentDispositionEncodingFallbackArray.append(m_responseContentDispositionEncodingFallbackArray[index].isolatedCopy());
+        data->responseContentDispositionEncodingFallbackArray.append(m_responseContentDispositionEncodingFallbackArray[index].isolatedCopy());
     }
     if (m_httpBody)
-        data->m_httpBody = m_httpBody->deepCopy();
-    data->m_allowCookies = m_allowCookies;
+        data->httpBody = m_httpBody->deepCopy();
+    data->allowCookies = m_allowCookies;
     return asResourceRequest().doPlatformCopyData(WTF::move(data));
 }
 
@@ -151,7 +151,7 @@
 {
     updateResourceRequest(); 
     
-    return static_cast<ResourceRequestCachePolicy>(m_cachePolicy);
+    return m_cachePolicy;
 }
 
 void ResourceRequestBase::setCachePolicy(ResourceRequestCachePolicy cachePolicy)
@@ -438,7 +438,7 @@
 {
     updateResourceRequest();
 
-    return static_cast<ResourceLoadPriority>(m_priority);
+    return m_priority;
 }
 
 void ResourceRequestBase::setPriority(ResourceLoadPriority priority)
@@ -449,7 +449,6 @@
         return;
 
     m_priority = priority;
-    ASSERT(static_cast<ResourceLoadPriority>(m_priority) == priority); // Make sure it fits in the bitfield.
 
     if (url().protocolIsInHTTPFamily())
         m_platformRequestUpdated = false;

Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.h (183562 => 183563)


--- trunk/Source/WebCore/platform/network/ResourceRequestBase.h	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.h	2015-04-29 18:51:23 UTC (rev 183563)
@@ -170,15 +170,8 @@
     protected:
         // Used when ResourceRequest is initialized from a platform representation of the request
         ResourceRequestBase()
-            : m_resourceRequestUpdated(false)
-            , m_platformRequestUpdated(true)
-            , m_resourceRequestBodyUpdated(false)
+            : m_platformRequestUpdated(true)
             , m_platformRequestBodyUpdated(true)
-            , m_reportUploadProgress(false)
-            , m_reportLoadTiming(false)
-            , m_reportRawHeaders(false)
-            , m_hiddenFromInspector(false)
-            , m_priority(ResourceLoadPriorityLow)
         {
         }
 
@@ -193,14 +186,7 @@
             , m_allowCookies(ResourceRequestBase::defaultAllowCookies())
 #endif
             , m_resourceRequestUpdated(true)
-            , m_platformRequestUpdated(false)
             , m_resourceRequestBodyUpdated(true)
-            , m_platformRequestBodyUpdated(false)
-            , m_reportUploadProgress(false)
-            , m_reportLoadTiming(false)
-            , m_reportRawHeaders(false)
-            , m_hiddenFromInspector(false)
-            , m_priority(ResourceLoadPriorityLow)
         {
         }
 
@@ -217,17 +203,17 @@
         HTTPHeaderMap m_httpHeaderFields;
         Vector<String> m_responseContentDispositionEncodingFallbackArray;
         RefPtr<FormData> m_httpBody;
-        unsigned m_cachePolicy : 3;
-        unsigned m_allowCookies : 1;
-        mutable unsigned m_resourceRequestUpdated : 1;
-        mutable unsigned m_platformRequestUpdated : 1;
-        mutable unsigned m_resourceRequestBodyUpdated : 1;
-        mutable unsigned m_platformRequestBodyUpdated : 1;
-        unsigned m_reportUploadProgress : 1;
-        unsigned m_reportLoadTiming : 1;
-        unsigned m_reportRawHeaders : 1;
-        unsigned m_hiddenFromInspector : 1;
-        unsigned m_priority : 4;
+        ResourceRequestCachePolicy m_cachePolicy { UseProtocolCachePolicy };
+        bool m_allowCookies { false };
+        mutable bool m_resourceRequestUpdated { false };
+        mutable bool m_platformRequestUpdated { false };
+        mutable bool m_resourceRequestBodyUpdated { false };
+        mutable bool m_platformRequestBodyUpdated { false };
+        bool m_reportUploadProgress { false };
+        bool m_reportLoadTiming { false };
+        bool m_reportRawHeaders { false };
+        bool m_hiddenFromInspector { false };
+        ResourceLoadPriority m_priority { ResourceLoadPriority::Low };
         Requester m_requester { Requester::Unspecified };
 
     private:
@@ -245,22 +231,17 @@
     inline bool operator!=(ResourceRequest& a, const ResourceRequest& b) { return !(a == b); }
 
     struct CrossThreadResourceRequestDataBase {
-        WTF_MAKE_NONCOPYABLE(CrossThreadResourceRequestDataBase); WTF_MAKE_FAST_ALLOCATED;
-    public:
-        CrossThreadResourceRequestDataBase() { }
-        URL m_url;
-
-        ResourceRequestCachePolicy m_cachePolicy;
-        double m_timeoutInterval;
-        URL m_firstPartyForCookies;
-
-        String m_httpMethod;
-        std::unique_ptr<CrossThreadHTTPHeaderMapData> m_httpHeaders;
-        Vector<String> m_responseContentDispositionEncodingFallbackArray;
-        RefPtr<FormData> m_httpBody;
-        bool m_allowCookies;
-        ResourceLoadPriority m_priority;
-        ResourceRequestBase::Requester m_requester;
+        URL url;
+        ResourceRequestCachePolicy cachePolicy;
+        double timeoutInterval;
+        URL firstPartyForCookies;
+        String httpMethod;
+        std::unique_ptr<CrossThreadHTTPHeaderMapData> httpHeaders;
+        Vector<String> responseContentDispositionEncodingFallbackArray;
+        RefPtr<FormData> httpBody;
+        bool allowCookies;
+        ResourceLoadPriority priority;
+        ResourceRequestBase::Requester requester;
     };
     
     unsigned initializeMaximumHTTPConnectionCountPerHost();

Modified: trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp (183562 => 183563)


--- trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -399,10 +399,10 @@
     if (!ResourceRequest::resourcePrioritiesEnabled())
         return maximumHTTPConnectionCountPerHost;
 
-    wkSetHTTPRequestMaximumPriority(toPlatformRequestPriority(ResourceLoadPriorityHighest));
+    wkSetHTTPRequestMaximumPriority(toPlatformRequestPriority(ResourceLoadPriority::Highest));
 #if !PLATFORM(WIN)
     // FIXME: <rdar://problem/9375609> Implement minimum fast lane priority setting on Windows
-    wkSetHTTPRequestMinimumFastLanePriority(toPlatformRequestPriority(ResourceLoadPriorityMedium));
+    wkSetHTTPRequestMinimumFastLanePriority(toPlatformRequestPriority(ResourceLoadPriority::Medium));
 #endif
 
     return unlimitedRequestCount;
@@ -418,8 +418,8 @@
     static const unsigned preferredConnectionCount = 6;
     static const unsigned fastLaneConnectionCount = 1;
     wkInitializeMaximumHTTPConnectionCountPerHost(preferredConnectionCount);
-    wkSetHTTPRequestMaximumPriority(ResourceLoadPriorityHighest);
-    wkSetHTTPRequestMinimumFastLanePriority(ResourceLoadPriorityMedium);
+    wkSetHTTPRequestMaximumPriority(toPlatformRequestPriority(ResourceLoadPriority::Highest));
+    wkSetHTTPRequestMinimumFastLanePriority(toPlatformRequestPriority(ResourceLoadPriority::Medium));
     _CFNetworkHTTPConnectionCacheSetLimit(kHTTPNumFastLanes, fastLaneConnectionCount);
 }
 #endif

Modified: trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.h (183562 => 183563)


--- trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.h	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/network/cf/ResourceRequestCFNet.h	2015-04-29 18:51:23 UTC (rev 183563)
@@ -46,33 +46,33 @@
     switch (priority) {
     case -1:
     case 0:
-        return ResourceLoadPriorityVeryLow;
+        return ResourceLoadPriority::VeryLow;
     case 1:
-        return ResourceLoadPriorityLow;
+        return ResourceLoadPriority::Low;
     case 2:
-        return ResourceLoadPriorityMedium;
+        return ResourceLoadPriority::Medium;
     case 3:
-        return ResourceLoadPriorityHigh;
+        return ResourceLoadPriority::High;
     case 4:
-        return ResourceLoadPriorityVeryHigh;
+        return ResourceLoadPriority::VeryHigh;
     default:
         ASSERT_NOT_REACHED();
-        return ResourceLoadPriorityLowest;
+        return ResourceLoadPriority::Lowest;
     }
 }
 
 inline int toPlatformRequestPriority(ResourceLoadPriority priority)
 {
     switch (priority) {
-    case ResourceLoadPriorityVeryLow:
+    case ResourceLoadPriority::VeryLow:
         return 0;
-    case ResourceLoadPriorityLow:
+    case ResourceLoadPriority::Low:
         return 1;
-    case ResourceLoadPriorityMedium:
+    case ResourceLoadPriority::Medium:
         return 2;
-    case ResourceLoadPriorityHigh:
+    case ResourceLoadPriority::High:
         return 3;
-    case ResourceLoadPriorityVeryHigh:
+    case ResourceLoadPriority::VeryHigh:
         return 4;
     }
 

Modified: trunk/Source/WebCore/platform/network/soup/ResourceRequest.h (183562 => 183563)


--- trunk/Source/WebCore/platform/network/soup/ResourceRequest.h	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/platform/network/soup/ResourceRequest.h	2015-04-29 18:51:23 UTC (rev 183563)
@@ -131,15 +131,15 @@
 inline SoupMessagePriority toSoupMessagePriority(ResourceLoadPriority priority)
 {
     switch (priority) {
-    case ResourceLoadPriorityVeryLow:
+    case ResourceLoadPriority::VeryLow:
         return SOUP_MESSAGE_PRIORITY_VERY_LOW;
-    case ResourceLoadPriorityLow:
+    case ResourceLoadPriority::Low:
         return SOUP_MESSAGE_PRIORITY_LOW;
-    case ResourceLoadPriorityMedium:
+    case ResourceLoadPriority::Medium:
         return SOUP_MESSAGE_PRIORITY_NORMAL;
-    case ResourceLoadPriorityHigh:
+    case ResourceLoadPriority::High:
         return SOUP_MESSAGE_PRIORITY_HIGH;
-    case ResourceLoadPriorityVeryHigh:
+    case ResourceLoadPriority::VeryHigh:
         return SOUP_MESSAGE_PRIORITY_VERY_HIGH;
     }
 

Modified: trunk/Source/WebCore/testing/Internals.cpp (183562 => 183563)


--- trunk/Source/WebCore/testing/Internals.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebCore/testing/Internals.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -461,17 +461,17 @@
 static ResourceLoadPriority stringToResourceLoadPriority(const String& policy)
 {
     if (policy == "ResourceLoadPriorityVeryLow")
-        return ResourceLoadPriorityVeryLow;
+        return ResourceLoadPriority::VeryLow;
     if (policy == "ResourceLoadPriorityLow")
-        return ResourceLoadPriorityLow;
+        return ResourceLoadPriority::Low;
     if (policy == "ResourceLoadPriorityMedium")
-        return ResourceLoadPriorityMedium;
+        return ResourceLoadPriority::Medium;
     if (policy == "ResourceLoadPriorityHigh")
-        return ResourceLoadPriorityHigh;
+        return ResourceLoadPriority::High;
     if (policy == "ResourceLoadPriorityVeryHigh")
-        return ResourceLoadPriorityVeryHigh;
+        return ResourceLoadPriority::VeryHigh;
     ASSERT_NOT_REACHED();
-    return ResourceLoadPriorityLow;
+    return ResourceLoadPriority::Low;
 }
 
 void Internals::setOverrideResourceLoadPriority(const String& priority)

Modified: trunk/Source/WebKit2/ChangeLog (183562 => 183563)


--- trunk/Source/WebKit2/ChangeLog	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/ChangeLog	2015-04-29 18:51:23 UTC (rev 183563)
@@ -1,3 +1,26 @@
+2015-04-29  Antti Koivisto  <[email protected]>
+
+        ResourceLoadPriority should be enum class
+        https://bugs.webkit.org/show_bug.cgi?id=144326
+
+        Reviewed by Darin Adler.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::servePendingRequests): Deleted.
+
+            Remove this unused message.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.h:
+        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+        * NetworkProcess/cache/NetworkCache.cpp:
+        (WebKit::NetworkCache::makeStoreDecision):
+        (WebKit::NetworkCache::Cache::retrieve):
+        * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
+        (WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
+        * WebProcess/Network/WebResourceLoadScheduler.cpp:
+        (WebKit::WebResourceLoadScheduler::servePendingRequests):
+        * WebProcess/Network/WebResourceLoadScheduler.h:
+
 2015-04-29  Myles C. Maxfield  <[email protected]>
 
         [OS X] Use CTFontCreateForCSS instead of doing font search ourselves

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp (183562 => 183563)


--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -151,10 +151,6 @@
     loader->setDefersLoading(defers);
 }
 
-void NetworkConnectionToWebProcess::servePendingRequests(uint32_t)
-{
-}
-
 void NetworkConnectionToWebProcess::setSerialLoadingEnabled(bool enabled)
 {
     m_serialLoadingEnabled = enabled;

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h (183562 => 183563)


--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h	2015-04-29 18:51:23 UTC (rev 183563)
@@ -78,7 +78,6 @@
     void removeLoadIdentifier(ResourceLoadIdentifier);
     void setDefersLoading(ResourceLoadIdentifier, bool);
     void crossOriginRedirectReceived(ResourceLoadIdentifier, const WebCore::URL& redirectURL);
-    void servePendingRequests(uint32_t resourceLoadPriority);
     void setSerialLoadingEnabled(bool);
     void startDownload(WebCore::SessionID, uint64_t downloadID, const WebCore::ResourceRequest&);
     void convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, uint64_t downloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in (183562 => 183563)


--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in	2015-04-29 18:51:23 UTC (rev 183563)
@@ -28,9 +28,6 @@
     PerformSynchronousLoad(WebKit::NetworkResourceLoadParameters resourceLoadParameters) -> (WebCore::ResourceError error, WebCore::ResourceResponse response, Vector<char> data) Delayed
     RemoveLoadIdentifier(uint64_t resourceLoadIdentifier)
     SetDefersLoading(uint64_t resourceLoadIdentifier, bool defers)
-    
-    ServePendingRequests(uint32_t resourceLoadPriority)
-    
     SetSerialLoadingEnabled(bool enabled) -> ()
 
     StartDownload(WebCore::SessionID sessionID, uint64_t downloadID, WebCore::ResourceRequest request)

Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp (183562 => 183563)


--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -300,7 +300,7 @@
     }
 
     bool isMainResource = originalRequest.requester() == WebCore::ResourceRequest::Requester::Main;
-    bool storeUnconditionallyForHistoryNavigation = isMainResource || originalRequest.priority() == WebCore::ResourceLoadPriorityVeryHigh;
+    bool storeUnconditionallyForHistoryNavigation = isMainResource || originalRequest.priority() == WebCore::ResourceLoadPriority::VeryHigh;
     if (!storeUnconditionallyForHistoryNavigation) {
         auto now = std::chrono::system_clock::now();
         bool hasNonZeroLifetime = !response.cacheControlContainsNoCache() && WebCore::computeFreshnessLifetimeForHTTPFamily(response, now) > 0_ms;
@@ -342,7 +342,7 @@
     }
 
     auto startTime = std::chrono::system_clock::now();
-    unsigned priority = originalRequest.priority();
+    auto priority = static_cast<unsigned>(originalRequest.priority());
 
     m_storage->retrieve(storageKey, priority, [this, originalRequest, completionHandler, startTime, storageKey, webPageID](std::unique_ptr<Storage::Record> record) {
         if (!record) {

Modified: trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm (183562 => 183563)


--- trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm	2015-04-29 18:51:23 UTC (rev 183563)
@@ -49,8 +49,8 @@
         ResourceRequest::setHTTPPipeliningEnabled(prefValue);
 
     if (ResourceRequest::resourcePrioritiesEnabled()) {
-        WKSetHTTPRequestMaximumPriority(toPlatformRequestPriority(ResourceLoadPriorityHighest));
-        WKSetHTTPRequestMinimumFastLanePriority(toPlatformRequestPriority(ResourceLoadPriorityMedium));
+        WKSetHTTPRequestMaximumPriority(toPlatformRequestPriority(ResourceLoadPriority::Highest));
+        WKSetHTTPRequestMinimumFastLanePriority(toPlatformRequestPriority(ResourceLoadPriority::Medium));
     }
 }
 

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (183562 => 183563)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -637,7 +637,7 @@
 
 void InjectedBundle::dispatchPendingLoadRequests()
 {
-    resourceLoadScheduler()->servePendingRequests();
+    // FIXME: This should be removed along with the bundle API.
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp (183562 => 183563)


--- trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.cpp	2015-04-29 18:51:23 UTC (rev 183563)
@@ -244,16 +244,10 @@
     // We override this call in the WebProcess to make it a no-op.
 }
 
-void WebResourceLoadScheduler::servePendingRequests(ResourceLoadPriority minimumPriority)
+void WebResourceLoadScheduler::servePendingRequests(ResourceLoadPriority)
 {
-    LOG(NetworkScheduling, "(WebProcess) WebResourceLoadScheduler::servePendingRequests");
-    
-    // The NetworkProcess scheduler is good at making sure loads are serviced until there are no more pending requests.
-    // If this WebProcess isn't expecting requests to be served then we can ignore messaging the NetworkProcess right now.
-    if (m_suspendPendingRequestsCount)
-        return;
-
-    WebProcess::singleton().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::ServePendingRequests(minimumPriority), 0);
+    // This overrides the base class version.
+    // We don't need to do anything as this is handled by the network process.
 }
 
 void WebResourceLoadScheduler::suspendPendingRequests()

Modified: trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h (183562 => 183563)


--- trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h	2015-04-29 18:31:35 UTC (rev 183562)
+++ trunk/Source/WebKit2/WebProcess/Network/WebResourceLoadScheduler.h	2015-04-29 18:51:23 UTC (rev 183563)
@@ -52,7 +52,7 @@
     virtual void setDefersLoading(WebCore::ResourceLoader*, bool) override;
     virtual void crossOriginRedirectReceived(WebCore::ResourceLoader*, const WebCore::URL& redirectURL) override;
     
-    virtual void servePendingRequests(WebCore::ResourceLoadPriority minimumPriority = WebCore::ResourceLoadPriorityVeryLow) override;
+    virtual void servePendingRequests(WebCore::ResourceLoadPriority minimumPriority) override;
 
     virtual void suspendPendingRequests() override;
     virtual void resumePendingRequests() override;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to