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

Unified Diff: third_party/WebKit/Source/core/observer/ResizeObserver.h

Issue 2161313002: ResizeObserver implementation, part 2: lifetime (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CR fixes Created 4 years, 5 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/observer/ResizeObserver.h
diff --git a/third_party/WebKit/Source/core/observer/ResizeObserver.h b/third_party/WebKit/Source/core/observer/ResizeObserver.h
index 29ab47f12d3ca3155ac1700211e4fd9b9934f6a0..4bb112bcade48c28d7f65230395ba9dd090715de 100644
--- a/third_party/WebKit/Source/core/observer/ResizeObserver.h
+++ b/third_party/WebKit/Source/core/observer/ResizeObserver.h
@@ -13,7 +13,8 @@ namespace blink {
class Document;
class Element;
class ResizeObserverCallback;
-class ResizeObserverEntry;
+class ResizeObserverController;
+class ResizeObservation;
// ResizeObserver represents ResizeObserver javascript api:
// https://github.com/WICG/ResizeObserver/
@@ -25,7 +26,6 @@ public:
virtual ~ResizeObserver() {};
-
// API methods
void observe(Element*);
void unobserve(Element*);
@@ -35,8 +35,16 @@ public:
private:
+ using ObservationList = HeapLinkedHashSet<WeakMember<ResizeObservation>>;
+
explicit ResizeObserver(ResizeObserverCallback*, Document&);
+ Member<ResizeObserverCallback> m_callback;
+
+ // List of elements we are observing
+ ObservationList m_observations;
+
+ WeakMember<ResizeObserverController> m_controller;
};

Powered by Google App Engine
This is Rietveld 408576698