| Index: third_party/WebKit/LayoutTests/resources/intersection-observer-helper-functions.js
|
| diff --git a/third_party/WebKit/LayoutTests/resources/intersection-observer-helper-functions.js b/third_party/WebKit/LayoutTests/resources/intersection-observer-helper-functions.js
|
| deleted file mode 100644
|
| index d0d31fcacb1d58ef7415b1bb7686547358301501..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/resources/intersection-observer-helper-functions.js
|
| +++ /dev/null
|
| @@ -1,99 +0,0 @@
|
| -// Some of the js-test.js boilerplate will add stuff to the top of the document early
|
| -// enough to screw with frame offsets that are measured by the test. Delay all that
|
| -// jazz until the actual test code is finished.
|
| -if (self.isJsTest) {
|
| - setPrintTestResultsLazily();
|
| - self.jsTestIsAsync = true;
|
| -}
|
| -
|
| -// waitForNotification is a setTimeout wrapped in a setTimeout wrapped in a
|
| -// requestAnimationFrame. What in the wide, wide world of sports is going on here?
|
| -//
|
| -// Here's the order of events:
|
| -//
|
| -// - firstTestFunction
|
| -// - Change layout to generate new IntersectionObserver notifications.
|
| -// - waitForNotification(secondTestFunction)
|
| -// - requestAnimationFrame
|
| -// - BeginFrame
|
| -// - requestAnimationFrame handler runs.
|
| -// - queue first setTimeout
|
| -// - FrameView::updateAllLifecyclePhases
|
| -// - IntersectionObserver generates notification based on the new layout.
|
| -// - Post task to deliver notification.
|
| -// - first setTimeout runs.
|
| -// - queue second setTimeout
|
| -// - Posted task runs.
|
| -// - IntersectionObserver notifications are delivered.
|
| -// - second setTimeout runs secondTestFunction
|
| -// - Verify notifications generated by firstTestFunction.
|
| -// - Change layout to generate new IntersectionObserver notifications.
|
| -// - waitForNotification(thirdTestFunction)
|
| -function waitForNotification(f) {
|
| - requestAnimationFrame(() => {
|
| - setTimeout(() => {
|
| - setTimeout(f);
|
| - });
|
| - });
|
| -}
|
| -
|
| -function rectToString(rect) {
|
| - return "[" + rect.left + ", " + rect.right + ", " + rect.top + ", " + rect.bottom + "]";
|
| -}
|
| -
|
| -function entryToString(entry) {
|
| - var ratio = ((entry.intersectionRect.width * entry.intersectionRect.height) /
|
| - (entry.boundingClientRect.width * entry.boundingClientRect.height));
|
| - return (
|
| - "boundingClientRect=" + rectToString(entry.boundingClientRect) + "\n" +
|
| - "intersectionRect=" + rectToString(entry.intersectionRect) + "\n" +
|
| - "visibleRatio=" + ratio + "\n" +
|
| - "rootBounds=" + rectToString(entry.rootBounds) + "\n" +
|
| - "target=" + entry.target + "\n" +
|
| - "time=" + entry.time);
|
| -}
|
| -
|
| -function rectArea(rect) {
|
| - return (rect.left - rect.right) * (rect.bottom - rect.top);
|
| -}
|
| -
|
| -function intersectionRatio(entry) {
|
| - var targetArea = rectArea(entry.boundingClientRect);
|
| - if (!targetArea)
|
| - return 0;
|
| - return rectArea(entry.intersectionRect) / targetArea;
|
| -}
|
| -
|
| -function clientRectToJson(rect) {
|
| - if (!rect)
|
| - return null;
|
| - return {
|
| - top: rect.top,
|
| - right: rect.right,
|
| - bottom: rect.bottom,
|
| - left: rect.left,
|
| - width: rect.width,
|
| - height: rect.height
|
| - };
|
| -}
|
| -
|
| -function coordinatesToClientRectJson(top, right, bottom, left) {
|
| - return {
|
| - top: top,
|
| - right: right,
|
| - bottom: bottom,
|
| - left: left,
|
| - width: right - left,
|
| - height: bottom - top
|
| - };
|
| -}
|
| -
|
| -function entryToJson(entry) {
|
| - return {
|
| - boundingClientRect: clientRectToJson(entry.boundingClientRect),
|
| - intersectionRect: clientRectToJson(entry.intersectionRect),
|
| - rootBounds: clientRectToJson(entry.rootBounds),
|
| - time: entry.time,
|
| - target: entry.target.id
|
| - };
|
| -}
|
|
|