| Index: third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
|
| diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
|
| index 527a8d1ef04204ca343bfcc3790e469471120371..48b4d9872ff71d8196077c66bb25c8d3ee6b15dc 100644
|
| --- a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
|
| +++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
|
| @@ -676,12 +676,7 @@ void FrameFetchContext::countClientHintsViewportWidth()
|
| UseCounter::count(frame(), UseCounter::ClientHintsViewportWidth);
|
| }
|
|
|
| -bool FrameFetchContext::fetchIncreasePriorities() const
|
| -{
|
| - return frame()->settings() && frame()->settings()->fetchIncreasePriorities();
|
| -}
|
| -
|
| -ResourceLoadPriority FrameFetchContext::modifyPriorityForExperiments(ResourceLoadPriority priority, Resource::Type type, const FetchRequest& request)
|
| +ResourceLoadPriority FrameFetchContext::modifyPriorityForExperiments(ResourceLoadPriority priority, Resource::Type type, const FetchRequest& request, ResourcePriority::VisibilityStatus visibility)
|
| {
|
| // An image fetch is used to distinguish between "early" and "late" scripts in a document
|
| if (type == Resource::Image)
|
| @@ -710,11 +705,18 @@ ResourceLoadPriority FrameFetchContext::modifyPriorityForExperiments(ResourceLoa
|
| // of "layout-blocking" resources and provide a boost to resources that are needed
|
| // as soon as possible for something currently on the screen.
|
| int modifiedPriority = static_cast<int>(priority);
|
| - if (fetchIncreasePriorities()) {
|
| + if (frame()->settings()->fetchIncreasePriorities()) {
|
| if (type == Resource::CSSStyleSheet || type == Resource::Script || type == Resource::Font || type == Resource::Image)
|
| modifiedPriority++;
|
| }
|
|
|
| + // Always give visible resources a bump, and an additional bump if generally increasing priorities.
|
| + if (visibility == ResourcePriority::Visible) {
|
| + modifiedPriority++;
|
| + if (frame()->settings()->fetchIncreasePriorities())
|
| + modifiedPriority++;
|
| + }
|
| +
|
| if (frame()->settings()->fetchIncreaseFontPriority() && type == Resource::Font)
|
| modifiedPriority++;
|
|
|
| @@ -723,7 +725,7 @@ ResourceLoadPriority FrameFetchContext::modifyPriorityForExperiments(ResourceLoa
|
| if (frame()->settings()->fetchDeferLateScripts() && request.forPreload() && m_imageFetched)
|
| modifiedPriority--;
|
| // Parser-blocking scripts.
|
| - if (fetchIncreasePriorities() && !request.forPreload())
|
| + if (frame()->settings()->fetchIncreasePriorities() && !request.forPreload())
|
| modifiedPriority++;
|
| }
|
|
|
|
|