Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(909)

Unified Diff: Source/core/fetch/ResourceLoadPriorityOptimizer.h

Issue 131233003: Refactor ResourceLoadPriorityOptimizer to avoid walking render tree (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use esprehn's suggestion. Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/fetch/ResourceLoadPriorityOptimizer.h
diff --git a/Source/core/fetch/ResourceLoadPriorityOptimizer.h b/Source/core/fetch/ResourceLoadPriorityOptimizer.h
index cb58320a410b54afd1fba7bbe4957f039092f55c..0fcd0ef00e75d51b928828d04752df98acd9eb03 100644
--- a/Source/core/fetch/ResourceLoadPriorityOptimizer.h
+++ b/Source/core/fetch/ResourceLoadPriorityOptimizer.h
@@ -36,6 +36,7 @@
#include "platform/geometry/LayoutRect.h"
#include "wtf/HashMap.h"
+#include "wtf/HashSet.h"
#include "wtf/OwnPtr.h"
namespace WebCore {
@@ -46,11 +47,15 @@ public:
NotVisible,
Visible,
};
- ResourceLoadPriorityOptimizer();
- ~ResourceLoadPriorityOptimizer();
void notifyImageResourceVisibility(ImageResource*, VisibilityStatus);
+ void updateAllImageResourcePriorities();
+ void addRenderObject(RenderObject*);
+ void removeRenderObject(RenderObject*);
private:
+ ResourceLoadPriorityOptimizer();
+ ~ResourceLoadPriorityOptimizer();
+
void updateImageResourcesWithLoadPriority();
struct ResourceAndVisibility {
@@ -62,8 +67,15 @@ private:
typedef HashMap<unsigned long, OwnPtr<ResourceAndVisibility> > ImageResourceMap;
ImageResourceMap m_imageResources;
+
+ typedef HashSet<RenderObject*> RenderObjectSet;
+ RenderObjectSet m_objectCache;
+
+ friend ResourceLoadPriorityOptimizer* resourceLoadPriorityOptimizer();
esprehn 2014/01/15 01:27:45 Can this just be a static thing instead? Why does
shatch 2014/01/15 19:28:52 Done.
};
+ResourceLoadPriorityOptimizer* resourceLoadPriorityOptimizer();
+
}
#endif

Powered by Google App Engine
This is Rietveld 408576698