Index: Source/WebCore/ChangeLog |
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog |
index 7df7fe7dbff19bb5f7aad09bb0ea6f31341ec0b1..887a2a181df50b9a2d27ed5f87f5fdaf2094ea32 100644 |
--- a/Source/WebCore/ChangeLog |
+++ b/Source/WebCore/ChangeLog |
@@ -1,3 +1,101 @@ |
+2018-07-12 Ali Juma <ajuma@chromium.org> |
+ |
+ Implement IntersectionObserver |
+ https://bugs.webkit.org/show_bug.cgi?id=159475 |
+ |
+ Reviewed by NOBODY (OOPS!). |
+ |
+ Based on a patch by Simon Fraser, with contributions by Ian Vollick. |
+ |
+ Tests: imported/w3c/web-platform-tests/intersection-observer/bounding-box.html |
+ imported/w3c/web-platform-tests/intersection-observer/client-rect.html |
+ imported/w3c/web-platform-tests/intersection-observer/containing-block.html |
+ imported/w3c/web-platform-tests/intersection-observer/cross-origin-iframe.html |
+ imported/w3c/web-platform-tests/intersection-observer/disconnect.html |
+ imported/w3c/web-platform-tests/intersection-observer/display-none.html |
+ imported/w3c/web-platform-tests/intersection-observer/edge-inclusive-intersection.html |
+ imported/w3c/web-platform-tests/intersection-observer/iframe-no-root.html |
+ imported/w3c/web-platform-tests/intersection-observer/isIntersecting-change-events.html |
+ imported/w3c/web-platform-tests/intersection-observer/multiple-targets.html |
+ imported/w3c/web-platform-tests/intersection-observer/multiple-thresholds.html |
+ imported/w3c/web-platform-tests/intersection-observer/observer-attributes.html |
+ imported/w3c/web-platform-tests/intersection-observer/observer-exceptions.html |
+ imported/w3c/web-platform-tests/intersection-observer/observer-in-iframe.html |
+ imported/w3c/web-platform-tests/intersection-observer/observer-without-js-reference.html |
+ imported/w3c/web-platform-tests/intersection-observer/remove-element.html |
+ imported/w3c/web-platform-tests/intersection-observer/root-margin.html |
+ imported/w3c/web-platform-tests/intersection-observer/same-document-no-root.html |
+ imported/w3c/web-platform-tests/intersection-observer/same-document-root.html |
+ imported/w3c/web-platform-tests/intersection-observer/same-document-zero-size-target.html |
+ imported/w3c/web-platform-tests/intersection-observer/shadow-content.html |
+ imported/w3c/web-platform-tests/intersection-observer/timestamp.html |
+ imported/w3c/web-platform-tests/intersection-observer/unclipped-root.html |
+ imported/w3c/web-platform-tests/intersection-observer/zero-area-element-hidden.html |
+ imported/w3c/web-platform-tests/intersection-observer/zero-area-element-visible.html |
+ |
+ * dom/Document.cpp: |
+ (WebCore::Document::updateStyleIfNeeded): |
+ (WebCore::Document::addToIntersectionObserverTargets): |
+ (WebCore::Document::removeFromIntersectionObserverTargets): |
+ (WebCore::Document::collectIntersectionObservers): |
+ (WebCore::Document::updateIntersectionObservations): |
+ (WebCore::floatValueForLengthInLayoutUnits): |
+ (WebCore::computeAbsoluteTargetIntersection): |
+ (WebCore::Document::updateIntersectionObserveration): |
+ (WebCore::Document::notifyIntersectionObserversTimerFired): |
+ (WebCore::Document::requestStorageAccess): |
+ * dom/Document.h: |
+ * dom/Element.cpp: |
+ (WebCore::Element::~Element): |
+ (WebCore::Element::boundingClientRect): |
+ (WebCore::Element::boundingRectInClientCoordinates): |
+ (WebCore::Element::didMoveToNewDocument): |
+ (WebCore::Element::startObservingIntersections): |
+ (WebCore::Element::endObservingIntersections): |
+ (WebCore::Element::disconnectFromIntersectionObservers): |
+ (WebCore::Element::intersectionObserverRegistrations): |
+ * dom/Element.h: |
+ * dom/ElementRareData.cpp: |
+ * dom/ElementRareData.h: |
+ (WebCore::ElementRareData::intersectionObserverRegistrations): |
+ (WebCore::ElementRareData::setIntersectionObserverRegistrations): |
+ * page/FrameView.cpp: |
+ (WebCore::FrameView::viewportContentsChanged): |
+ * page/IntersectionObserver.cpp: |
+ (WebCore::isThresholdWithinRange): |
+ (WebCore::parseRootMargin): |
+ (WebCore::IntersectionObserver::create): |
+ (WebCore::IntersectionObserver::IntersectionObserver): |
+ (WebCore::IntersectionObserver::~IntersectionObserver): |
+ (WebCore::IntersectionObserver::observe): |
+ (WebCore::IntersectionObserver::unobserve): |
+ (WebCore::IntersectionObserver::disconnect): |
+ (WebCore::IntersectionObserver::takeRecords): |
+ (WebCore::IntersectionObserver::addObservationTarget): |
+ (WebCore::IntersectionObserver::removeObservationTarget): |
+ (WebCore::IntersectionObserver::hasObservationTarget const): |
+ (WebCore::IntersectionObserver::appendQueuedEntry): |
+ (WebCore::IntersectionObserver::notify): |
+ * page/IntersectionObserver.h: |
+ (WebCore::IntersectionObserver::document): |
+ (WebCore::IntersectionObserver::marginBox const): |
+ (WebCore::IntersectionObserver:: const): |
+ (WebCore::IntersectionObserver::hasObservationTargets const): |
+ (WebCore::IntersectionObserver::create): Deleted. |
+ * page/IntersectionObserver.idl: |
+ * page/IntersectionObserverEntry.cpp: |
+ (WebCore::IntersectionObserverEntry::IntersectionObserverEntry): |
+ (WebCore::operator<<): |
+ * page/IntersectionObserverEntry.h: |
+ (WebCore::IntersectionObserverEntry::isIntersecting const): |
+ * page/IntersectionObserverEntry.idl: |
+ * platform/Logging.h: |
+ * platform/graphics/FloatRect.h: |
+ (WebCore::FloatRect::area const): |
+ * rendering/RenderBlock.cpp: |
+ (WebCore::RenderBlock::isContainingBlockAncestorFor const): |
+ * rendering/RenderBlock.h: |
+ |
2018-07-04 Frederic Wang <fwang@igalia.com> |
[WebIDL] Remove custom bindings for HTMLDocument |