diff options
Diffstat (limited to 'chromium/third_party/WebKit/Source/core/rendering/FloatingObjects.h')
-rw-r--r-- | chromium/third_party/WebKit/Source/core/rendering/FloatingObjects.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/chromium/third_party/WebKit/Source/core/rendering/FloatingObjects.h b/chromium/third_party/WebKit/Source/core/rendering/FloatingObjects.h index ca3beb1a345..f7062249639 100644 --- a/chromium/third_party/WebKit/Source/core/rendering/FloatingObjects.h +++ b/chromium/third_party/WebKit/Source/core/rendering/FloatingObjects.h @@ -113,19 +113,25 @@ private: struct FloatingObjectHashFunctions { static unsigned hash(FloatingObject* key) { return DefaultHash<RenderBox*>::Hash::hash(key->renderer()); } - static bool equal(FloatingObject* a, FloatingObject* b) { return a->renderer() == b->renderer(); } + static unsigned hash(const OwnPtr<FloatingObject>& key) { return hash(key.get()); } + static unsigned hash(const PassOwnPtr<FloatingObject>& key) { return hash(key.get()); } + static bool equal(OwnPtr<FloatingObject>& a, FloatingObject* b) { return a->renderer() == b->renderer(); } + static bool equal(OwnPtr<FloatingObject>& a, const OwnPtr<FloatingObject>& b) { return equal(a, b.get()); } + static bool equal(OwnPtr<FloatingObject>& a, const PassOwnPtr<FloatingObject>& b) { return equal(a, b.get()); } + static const bool safeToCompareToEmptyOrDeleted = true; }; struct FloatingObjectHashTranslator { static unsigned hash(RenderBox* key) { return DefaultHash<RenderBox*>::Hash::hash(key); } static bool equal(FloatingObject* a, RenderBox* b) { return a->renderer() == b; } + static bool equal(const OwnPtr<WebCore::FloatingObject>& a, RenderBox* b) { return a->renderer() == b; } }; -typedef ListHashSet<FloatingObject*, 4, FloatingObjectHashFunctions> FloatingObjectSet; +typedef ListHashSet<OwnPtr<FloatingObject>, 4, FloatingObjectHashFunctions> FloatingObjectSet; typedef FloatingObjectSet::const_iterator FloatingObjectSetIterator; typedef PODInterval<int, FloatingObject*> FloatingObjectInterval; typedef PODIntervalTree<int, FloatingObject*> FloatingObjectTree; typedef PODFreeListArena<PODRedBlackTree<FloatingObjectInterval>::Node> IntervalArena; -typedef HashMap<RenderBox*, FloatingObject*> RendererToFloatInfoMap; +typedef HashMap<RenderBox*, OwnPtr<FloatingObject> > RendererToFloatInfoMap; class FloatingObjects { WTF_MAKE_NONCOPYABLE(FloatingObjects); WTF_MAKE_FAST_ALLOCATED; |