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 9bdde3841e47ffa89b86f414f7555bea35ad0e57..a219ef2511eb682e771b423ff98e3eac2db3bd7a 100644 |
--- a/third_party/WebKit/Source/core/observer/ResizeObserver.h |
+++ b/third_party/WebKit/Source/core/observer/ResizeObserver.h |
@@ -14,6 +14,7 @@ class Document; |
class Element; |
class ResizeObserverCallback; |
class ResizeObserverController; |
+class ResizeObserverEntry; |
class ResizeObservation; |
// ResizeObserver represents ResizeObserver javascript api: |
@@ -21,7 +22,6 @@ class ResizeObservation; |
class CORE_EXPORT ResizeObserver final : public GarbageCollectedFinalized<ResizeObserver>, public ScriptWrappable { |
DEFINE_WRAPPERTYPEINFO(); |
public: |
- |
static ResizeObserver* create(Document&, ResizeObserverCallback*); |
virtual ~ResizeObserver() {}; |
@@ -31,23 +31,32 @@ public: |
void unobserve(Element*); |
void disconnect(); |
+ // Returns depth of shallowest observed node, kDepthLimit if none. |
+ size_t gatherObservations(size_t deeperThan); |
+ bool skippedObservations() { return m_skippedObservations; } |
+ void deliverObservations(); |
+ void clearObservations(); |
+ void elementSizeChanged(); |
+ bool hasElementSizeChanged() { return m_elementSizeChanged; } |
DECLARE_TRACE(); |
private: |
+ ResizeObserver(ResizeObserverCallback*, Document&); |
using ObservationList = HeapLinkedHashSet<WeakMember<ResizeObservation>>; |
- explicit ResizeObserver(ResizeObserverCallback*, Document&); |
- |
Member<ResizeObserverCallback> m_callback; |
- |
// List of elements we are observing |
ObservationList m_observations; |
- |
+ // List of elements that have changes |
+ HeapVector<Member<ResizeObservation>> m_activeObservations; |
+ // True if observations were skipped gatherObservations |
+ bool m_skippedObservations; |
+ // True if any ResizeObservation reported size change |
+ bool m_elementSizeChanged; |
WeakMember<ResizeObserverController> m_controller; |
}; |
- |
} // namespace blink |
#endif // ResizeObserver_h |