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

Side by Side Diff: Source/core/rendering/ImageQualityController.h

Issue 44503002: Devirtualize ImageQualityController and TextAutosizer destructors (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « no previous file | Source/core/rendering/TextAutosizer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 29 matching lines...) Expand all
40 #include "wtf/HashMap.h" 40 #include "wtf/HashMap.h"
41 41
42 namespace WebCore { 42 namespace WebCore {
43 43
44 typedef HashMap<const void*, LayoutSize> LayerSizeMap; 44 typedef HashMap<const void*, LayoutSize> LayerSizeMap;
45 typedef HashMap<RenderObject*, LayerSizeMap> ObjectLayerSizeMap; 45 typedef HashMap<RenderObject*, LayerSizeMap> ObjectLayerSizeMap;
46 46
47 class ImageQualityController { 47 class ImageQualityController {
48 WTF_MAKE_NONCOPYABLE(ImageQualityController); WTF_MAKE_FAST_ALLOCATED; 48 WTF_MAKE_NONCOPYABLE(ImageQualityController); WTF_MAKE_FAST_ALLOCATED;
49 public: 49 public:
50 virtual ~ImageQualityController(); 50 ~ImageQualityController();
51 51
52 static ImageQualityController* imageQualityController(); 52 static ImageQualityController* imageQualityController();
53 53
54 static void remove(RenderObject*); 54 static void remove(RenderObject*);
55 55
56 bool shouldPaintAtLowQuality(GraphicsContext*, RenderObject*, Image*, const void* layer, const LayoutSize&); 56 bool shouldPaintAtLowQuality(GraphicsContext*, RenderObject*, Image*, const void* layer, const LayoutSize&);
57 57
58 private: 58 private:
59 ImageQualityController(); 59 ImageQualityController();
60 60
61 void removeLayer(RenderObject*, LayerSizeMap* innerMap, const void* layer); 61 void removeLayer(RenderObject*, LayerSizeMap* innerMap, const void* layer);
62 void set(RenderObject*, LayerSizeMap* innerMap, const void* layer, const Lay outSize&); 62 void set(RenderObject*, LayerSizeMap* innerMap, const void* layer, const Lay outSize&);
63 void objectDestroyed(RenderObject*); 63 void objectDestroyed(RenderObject*);
64 bool isEmpty() { return m_objectLayerSizeMap.isEmpty(); } 64 bool isEmpty() { return m_objectLayerSizeMap.isEmpty(); }
65 65
66 void highQualityRepaintTimerFired(Timer<ImageQualityController>*); 66 void highQualityRepaintTimerFired(Timer<ImageQualityController>*);
67 void restartTimer(); 67 void restartTimer();
68 68
69 ObjectLayerSizeMap m_objectLayerSizeMap; 69 ObjectLayerSizeMap m_objectLayerSizeMap;
70 Timer<ImageQualityController> m_timer; 70 Timer<ImageQualityController> m_timer;
71 bool m_animatedResizeIsActive; 71 bool m_animatedResizeIsActive;
72 bool m_liveResizeOptimizationIsActive; 72 bool m_liveResizeOptimizationIsActive;
73 }; 73 };
74 74
75 } // namespace WebCore 75 } // namespace WebCore
76 76
77 #endif 77 #endif
OLDNEW
« no previous file with comments | « no previous file | Source/core/rendering/TextAutosizer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698