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

Side by Side Diff: third_party/WebKit/Source/modules/canvas2d/HitRegion.h

Issue 1815093002: Canvas2d: fix event.region being null on mouseleave/out events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef HitRegion_h 5 #ifndef HitRegion_h
6 #define HitRegion_h 6 #define HitRegion_h
7 7
8 #include "core/dom/Element.h" 8 #include "core/dom/Element.h"
9 #include "modules/canvas2d/HitRegionOptions.h" 9 #include "modules/canvas2d/HitRegionOptions.h"
10 #include "platform/graphics/Path.h" 10 #include "platform/graphics/Path.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 class HitRegionManager final : public GarbageCollectedFinalized<HitRegionManager > { 48 class HitRegionManager final : public GarbageCollectedFinalized<HitRegionManager > {
49 WTF_MAKE_NONCOPYABLE(HitRegionManager); 49 WTF_MAKE_NONCOPYABLE(HitRegionManager);
50 public: 50 public:
51 static HitRegionManager* create() { return new HitRegionManager; } 51 static HitRegionManager* create() { return new HitRegionManager; }
52 ~HitRegionManager() { } 52 ~HitRegionManager() { }
53 53
54 void addHitRegion(HitRegion*); 54 void addHitRegion(HitRegion*);
55 55
56 void removeHitRegion(HitRegion*); 56 void removeHitRegion(HitRegion*);
57 void removeHitRegionById(const String& id); 57 void removeHitRegionById(const String& id);
58 void removeHitRegionByControl(Element*); 58 void removeHitRegionByControl(const Element*);
59 void removeHitRegionsInRect(const FloatRect&, const AffineTransform&); 59 void removeHitRegionsInRect(const FloatRect&, const AffineTransform&);
60 void removeAllHitRegions(); 60 void removeAllHitRegions();
61 61
62 HitRegion* getHitRegionById(const String& id) const; 62 HitRegion* getHitRegionById(const String& id) const;
63 HitRegion* getHitRegionByControl(Element*) const; 63 HitRegion* getHitRegionByControl(const Element*) const;
64 HitRegion* getHitRegionAtPoint(const FloatPoint&) const; 64 HitRegion* getHitRegionAtPoint(const FloatPoint&) const;
65 65
66 unsigned getHitRegionsCount() const; 66 unsigned getHitRegionsCount() const;
67 67
68 DECLARE_TRACE(); 68 DECLARE_TRACE();
69 69
70 private: 70 private:
71 HitRegionManager() { } 71 HitRegionManager() { }
72 72
73 typedef HeapListHashSet<Member<HitRegion>> HitRegionList; 73 typedef HeapListHashSet<Member<HitRegion>> HitRegionList;
74 typedef HitRegionList::const_reverse_iterator HitRegionIterator; 74 typedef HitRegionList::const_reverse_iterator HitRegionIterator;
75 typedef HeapHashMap<String, Member<HitRegion>> HitRegionIdMap; 75 typedef HeapHashMap<String, Member<HitRegion>> HitRegionIdMap;
76 typedef HeapHashMap<Member<Element>, Member<HitRegion>> HitRegionControlMap; 76 typedef HeapHashMap<Member<const Element>, Member<HitRegion>> HitRegionContr olMap;
77 77
78 HitRegionList m_hitRegionList; 78 HitRegionList m_hitRegionList;
79 HitRegionIdMap m_hitRegionIdMap; 79 HitRegionIdMap m_hitRegionIdMap;
80 HitRegionControlMap m_hitRegionControlMap; 80 HitRegionControlMap m_hitRegionControlMap;
81 }; 81 };
82 82
83 } // namespace blink 83 } // namespace blink
84 84
85 #endif 85 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698