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

Unified Diff: third_party/WebKit/Source/core/dom/IntersectionObservation.h

Issue 2511143006: Detect change on the intersection of video and viewport. (Closed)
Patch Set: Rebase again. Created 4 years 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/dom/IntersectionObservation.h
diff --git a/third_party/WebKit/Source/core/dom/IntersectionObservation.h b/third_party/WebKit/Source/core/dom/IntersectionObservation.h
index cd87187c0a122f10d54e3965ed67354daa40e01e..3b1ec65da33da454e75a5858c1bf3a811c71fa69 100644
--- a/third_party/WebKit/Source/core/dom/IntersectionObservation.h
+++ b/third_party/WebKit/Source/core/dom/IntersectionObservation.h
@@ -6,7 +6,7 @@
#define IntersectionObservation_h
#include "core/dom/DOMHighResTimeStamp.h"
-#include "platform/geometry/LayoutRect.h"
+#include "core/dom/IntersectionGeometry.h"
#include "platform/heap/Handle.h"
namespace blink {
@@ -17,24 +17,15 @@ class IntersectionObserver;
class IntersectionObservation final
: public GarbageCollected<IntersectionObservation> {
public:
- IntersectionObservation(IntersectionObserver&,
- Element&,
- bool shouldReportRootBounds);
-
- struct IntersectionGeometry {
- LayoutRect targetRect;
- LayoutRect intersectionRect;
- LayoutRect rootRect;
- bool doesIntersect;
-
- IntersectionGeometry() : doesIntersect(false) {}
- };
+ IntersectionObservation(
+ IntersectionObserver&,
+ Element&,
+ IntersectionGeometry::ReportRootBounds shouldReportRootBounds);
IntersectionObserver& observer() const { return *m_observer; }
Element* target() const { return m_target; }
unsigned lastThresholdIndex() const { return m_lastThresholdIndex; }
void setLastThresholdIndex(unsigned index) { m_lastThresholdIndex = index; }
- bool shouldReportRootBounds() const { return m_shouldReportRootBounds; }
void computeIntersectionObservations(DOMHighResTimeStamp);
void disconnect();
void clearRootAndRemoveFromTarget();
@@ -42,21 +33,10 @@ class IntersectionObservation final
DECLARE_TRACE();
private:
- void applyRootMargin(LayoutRect&) const;
- void initializeGeometry(IntersectionGeometry&) const;
- void initializeTargetRect(LayoutRect&) const;
- void initializeRootRect(LayoutRect&) const;
- void clipToRoot(IntersectionGeometry&) const;
- void mapTargetRectToTargetFrameCoordinates(LayoutRect&) const;
- void mapRootRectToRootFrameCoordinates(LayoutRect&) const;
- void mapRootRectToTargetFrameCoordinates(LayoutRect&) const;
- bool computeGeometry(IntersectionGeometry&) const;
-
Member<IntersectionObserver> m_observer;
-
WeakMember<Element> m_target;
- unsigned m_shouldReportRootBounds : 1;
+ const unsigned m_shouldReportRootBounds : 1;
unsigned m_lastThresholdIndex : 30;
};

Powered by Google App Engine
This is Rietveld 408576698