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

Unified Diff: third_party/WebKit/Source/core/layout/ImageQualityController.h

Issue 1685933002: Don't use a low-quality filter when painting images while others are animating. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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: third_party/WebKit/Source/core/layout/ImageQualityController.h
diff --git a/third_party/WebKit/Source/core/layout/ImageQualityController.h b/third_party/WebKit/Source/core/layout/ImageQualityController.h
index 328750184526563b1bc0bbd0efdf3d8ae92fcd85..64b876cf42a1837e549788b82db5ae6bcf4b525b 100644
--- a/third_party/WebKit/Source/core/layout/ImageQualityController.h
+++ b/third_party/WebKit/Source/core/layout/ImageQualityController.h
@@ -44,7 +44,13 @@
namespace blink {
typedef HashMap<const void*, LayoutSize> LayerSizeMap;
-typedef HashMap<const LayoutObject*, LayerSizeMap> ObjectLayerSizeMap;
+
+struct ObjectResizeInfo {
+ LayerSizeMap layerSizeMap;
+ bool isResizing;
+};
+
+typedef HashMap<const LayoutObject*, ObjectResizeInfo> ObjectLayerSizeMap;
class CORE_EXPORT ImageQualityController final {
WTF_MAKE_NONCOPYABLE(ImageQualityController); USING_FAST_MALLOC(ImageQualityController);
@@ -61,7 +67,7 @@ private:
ImageQualityController();
static bool has(const LayoutObject&);
- void set(const LayoutObject&, LayerSizeMap* innerMap, const void* layer, const LayoutSize&);
+ void set(const LayoutObject&, LayerSizeMap* innerMap, const void* layer, const LayoutSize&, bool isResizing);
bool shouldPaintAtLowQuality(const LayoutObject&, Image*, const void* layer, const LayoutSize&);
void removeLayer(const LayoutObject&, LayerSizeMap* innerMap, const void* layer);
@@ -76,7 +82,6 @@ private:
ObjectLayerSizeMap m_objectLayerSizeMap;
OwnPtr<Timer<ImageQualityController>> m_timer;
- bool m_animatedResizeIsActive;
bool m_liveResizeOptimizationIsActive;
// For calling set().
@@ -85,6 +90,7 @@ private:
// For calling setTimer(),
FRIEND_TEST_ALL_PREFIXES(ImageQualityControllerTest, LowQualityFilterForLiveResize);
FRIEND_TEST_ALL_PREFIXES(ImageQualityControllerTest, LowQualityFilterForResizingImage);
+ FRIEND_TEST_ALL_PREFIXES(ImageQualityControllerTest, MediumQualityFilterForNotAnimatedWhileAnotherAnimates);
FRIEND_TEST_ALL_PREFIXES(ImageQualityControllerTest, DontKickTheAnimationTimerWhenPaintingAtTheSameSize);
};

Powered by Google App Engine
This is Rietveld 408576698