| Index: Source/core/loader/FrameFetchContext.cpp
|
| diff --git a/Source/core/loader/FrameFetchContext.cpp b/Source/core/loader/FrameFetchContext.cpp
|
| index c0a58ca4e5ff3a04e0dd047102574875fb217674..8f0b247cde87cfbb765fecb8336a0342f99aaae8 100644
|
| --- a/Source/core/loader/FrameFetchContext.cpp
|
| +++ b/Source/core/loader/FrameFetchContext.cpp
|
| @@ -674,12 +674,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)
|
| @@ -708,11 +703,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++;
|
|
|
| @@ -721,7 +723,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++;
|
| }
|
|
|
|
|