12018-10-31 Ali Juma <ajuma@chromium.org>
2
3 Allow cross-document intersection observing
4 https://bugs.webkit.org/show_bug.cgi?id=165746
5
6 Reviewed by NOBODY (OOPS!).
7
8 Add logic to compute the intersection between the viewport and an element in a
9 subframe.
10
11 Add a FloatRect version of ScrollView::rootViewToContents, and FloatRect versions
12 of the methods it calls.
13
14 Covered by rebased tests in imported/w3c/web-platform-tests/intersection-observer.
15
16 * dom/Document.cpp:
17 (WebCore::computeClippedRectInRootContentsSpace):
18 (WebCore::computeIntersectionState):
19 (WebCore::Document::updateIntersectionObservations):
20 * page/FrameView.cpp:
21 (WebCore::FrameView::viewportContentsChanged):
22 (WebCore::FrameView::convertFromContainingViewToRenderer const):
23 (WebCore::FrameView::convertFromContainingView const):
24 * page/FrameView.h:
25 * platform/ScrollView.cpp:
26 (WebCore::ScrollView::viewToContents const):
27 (WebCore::ScrollView::contentsToView const):
28 (WebCore::ScrollView::rootViewToContents const):
29 * platform/ScrollView.h:
30 * platform/Widget.cpp:
31 (WebCore::Widget::convertFromRootView const):
32 (WebCore::Widget::convertFromContainingView const):
33 * platform/Widget.h:
34