| Index: third_party/WebKit/Source/core/dom/IntersectionObserver.h
|
| diff --git a/third_party/WebKit/Source/core/dom/IntersectionObserver.h b/third_party/WebKit/Source/core/dom/IntersectionObserver.h
|
| index 85c449675b38e35c07282ee23625347baf4eb16e..3281fcea96352ef256fc00bd74383250e40b02ac 100644
|
| --- a/third_party/WebKit/Source/core/dom/IntersectionObserver.h
|
| +++ b/third_party/WebKit/Source/core/dom/IntersectionObserver.h
|
| @@ -33,6 +33,15 @@ class CORE_EXPORT IntersectionObserver final
|
| Function<void(const HeapVector<Member<IntersectionObserverEntry>>&),
|
| WTF::SameThreadAffinity>;
|
|
|
| + // Defines the assumed initial state of the observed element. If the actual
|
| + // state is the same as the initial state, then no observation will be
|
| + // delivered. kAuto means the initial observation will always get sent.
|
| + enum class InitialState {
|
| + // TODO(skyostil): Add support for kVisible.
|
| + kAuto,
|
| + kHidden,
|
| + };
|
| +
|
| static IntersectionObserver* create(const IntersectionObserverInit&,
|
| IntersectionObserverCallback&,
|
| ExceptionState&);
|
| @@ -72,6 +81,12 @@ class CORE_EXPORT IntersectionObserver final
|
| return m_observations;
|
| }
|
|
|
| + // Set the assumed initial state of the observed element. Note that this can
|
| + // only be set before calling observe().
|
| + // TODO(skyostil): Move this setting to IntersectionObserverInit once the API
|
| + // is finalized.
|
| + void setInitialState(InitialState);
|
| +
|
| DECLARE_TRACE();
|
|
|
| private:
|
| @@ -90,6 +105,7 @@ class CORE_EXPORT IntersectionObserver final
|
| Length m_rightMargin;
|
| Length m_bottomMargin;
|
| Length m_leftMargin;
|
| + InitialState m_initialState;
|
| };
|
|
|
| } // namespace blink
|
|
|