Index: third_party/WebKit/Source/core/dom/IntersectionObservation.cpp |
diff --git a/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp b/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp |
index e5761255ebd4a0fbf6be81dce35e92afd8b39022..94f9b6deb579dd1f04684ad394032e1be2ac631c 100644 |
--- a/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp |
+++ b/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp |
@@ -198,6 +198,7 @@ void IntersectionObservation::computeIntersectionObservations(DOMHighResTimeStam |
// have a coincident edge or corner), we consider the intersection to have |
// "crossed" a zero threshold, but not crossed any non-zero threshold. |
unsigned newThresholdIndex; |
+ float newVisibleRatio = 0; |
if (geometry.targetRect.isEmpty()) { |
newThresholdIndex = geometry.doesIntersect ? 1 : 0; |
} else if (!geometry.doesIntersect) { |
@@ -205,7 +206,7 @@ void IntersectionObservation::computeIntersectionObservations(DOMHighResTimeStam |
} else { |
float intersectionArea = geometry.intersectionRect.size().width().toFloat() * geometry.intersectionRect.size().height().toFloat(); |
float targetArea = geometry.targetRect.size().width().toFloat() * geometry.targetRect.size().height().toFloat(); |
- float newVisibleRatio = intersectionArea / targetArea; |
+ newVisibleRatio = intersectionArea / targetArea; |
newThresholdIndex = observer().firstThresholdGreaterThan(newVisibleRatio); |
} |
if (m_lastThresholdIndex != newThresholdIndex) { |
@@ -213,6 +214,7 @@ void IntersectionObservation::computeIntersectionObservations(DOMHighResTimeStam |
IntRect* rootBoundsPointer = m_shouldReportRootBounds ? &snappedRootBounds : nullptr; |
IntersectionObserverEntry* newEntry = new IntersectionObserverEntry( |
timestamp, |
+ newVisibleRatio, |
pixelSnappedIntRect(geometry.targetRect), |
rootBoundsPointer, |
pixelSnappedIntRect(geometry.intersectionRect), |