Chromium Code Reviews| Index: Source/core/fetch/ResourceLoadPriorityOptimizer.cpp |
| diff --git a/Source/core/fetch/ResourceLoadPriorityOptimizer.cpp b/Source/core/fetch/ResourceLoadPriorityOptimizer.cpp |
| index 721386ed1f684e72d47d52ed423ce3482c1c7656..3a1dc11cf67e0d36da490009e291e76035b6bf89 100644 |
| --- a/Source/core/fetch/ResourceLoadPriorityOptimizer.cpp |
| +++ b/Source/core/fetch/ResourceLoadPriorityOptimizer.cpp |
| @@ -30,6 +30,7 @@ |
| #include "config.h" |
| #include "core/fetch/ResourceLoadPriorityOptimizer.h" |
| +#include "core/frame/Settings.h" |
| #include "core/layout/LayoutObject.h" |
| #include "platform/TraceEvent.h" |
| @@ -55,6 +56,8 @@ ResourceLoadPriorityOptimizer::ResourceAndVisibility::~ResourceAndVisibility() |
| } |
| ResourceLoadPriorityOptimizer::ResourceLoadPriorityOptimizer() |
| + : m_retrievedSettings(false) |
| + , m_increaseFetchPriorities(false) |
| { |
| } |
| @@ -64,6 +67,10 @@ ResourceLoadPriorityOptimizer::~ResourceLoadPriorityOptimizer() |
| void ResourceLoadPriorityOptimizer::addLayoutObject(LayoutObject* layoutObject) |
| { |
| + if (!m_retrievedSettings) { |
| + m_increaseFetchPriorities = layoutObject->document().settings()->fetchIncreasePriorities(); |
| + m_retrievedSettings = true; |
| + } |
| m_objects.add(layoutObject); |
| layoutObject->setHasPendingResourceUpdate(true); |
| } |
| @@ -98,6 +105,12 @@ void ResourceLoadPriorityOptimizer::updateImageResourcesWithLoadPriority() |
| ResourceLoadPriority priority = resource.value->status == Visible ? |
| ResourceLoadPriorityLow : ResourceLoadPriorityVeryLow; |
| + ASSERT(m_retrievedSettings); |
|
Bryan McQuade
2015/08/11 13:05:12
I think this assert is important given that we dep
Pat Meenan
2015/08/11 14:18:40
I'm not sure the ASSERT is even needed. updateIma
|
| + if (m_increaseFetchPriorities) { |
| + priority = resource.value->status == Visible ? |
| + ResourceLoadPriorityHigh : ResourceLoadPriorityLow; |
| + } |
| + |
| if (priority != resource.value->imageResource->resourceRequest().priority()) { |
| resource.value->imageResource->mutableResourceRequest().setPriority(priority, resource.value->screenArea); |
| resource.value->imageResource->didChangePriority(priority, resource.value->screenArea); |