New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 28 users
Status: Started
Owner:
User never visited
Cc:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Task
Launch-Accessibility: NA


Sign in to add a comment
Intersection Observer
Project Member Reported by mpb@chromium.org, Oct 7 2015 Back to list
Change description:
The Intersection Observer API can be used to asynchronously observe changes in the intersection of a target Element with an ancestor element (for infinite scrolling lists) or the top-level document's viewport (for 'viewability' tracking).

Changes to API surface:
* A new interface IntersectionObserver, and related Init, Entry and Callback interfaces.

Links:
https://rawgit.com/slightlyoff/IntersectionObserver/master/index.html
https://rawgit.com/slightlyoff/IntersectionObserver/master/index.bikeshed.html

Public standards discussion: https://github.com/slightlyoff/IntersectionObserver/issues

Support in other browsers:
Internet Explorer: positive
Firefox: positive
Safari: positive

 
Cc: kinuko@chromium.org
Project Member Comment 2 by bugdroid1@chromium.org, Dec 11 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5

commit a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5
Author: szager <szager@chromium.org>
Date: Fri Dec 11 01:28:43 2015

This is a rename and slight modification to mapRectToPaintInvalidationBacking.

The rename is for clarity (not for brevity, clearly).

There are two changes in functionality:

- Overflow clipping is done for all layers in the intermediate hierarchy; previously, only non-composited layers applied clipping.

- Overflow clipping is *not* done for the paint invalidation container itself; previously it was.

The reason for the change in functionality is to support the IntersectionObserver use case (see bug).

BUG=540528

Review URL: https://codereview.chromium.org/1516683002

Cr-Commit-Position: refs/heads/master@{#364567}

[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutBox.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutFlowThread.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutFlowThread.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutInline.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutInline.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutListMarker.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutReplaced.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutTableCell.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutText.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutView.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/LayoutView.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/svg/LayoutSVGBlock.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.h
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/layout/svg/SVGLayoutSupport.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] http://crrev.com/a7fdc1aef78ed0f3ea6d66351498b4f3e4a9c3b5/third_party/WebKit/Source/web/WebPluginContainerImpl.cpp

Comment 3 by szager@chromium.org, Dec 17 2015
Blockedon: chromium:570538
Project Member Comment 4 by bugdroid1@chromium.org, Jan 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5cff0041ec225f4eaac870e87d6189321754983

commit b5cff0041ec225f4eaac870e87d6189321754983
Author: szager <szager@chromium.org>
Date: Fri Jan 08 23:47:53 2016

IntersectionObserver: second cut.

All major features are implemented, a few TODO's, and a few tests.

Design doc:

https://docs.google.com/document/d/1hLK0eyT5_BzyNS4OkjsnoqqFQDYCbKfyBinj94OnLiQ/edit

BUG=540528

Review URL: https://codereview.chromium.org/1449623002

Cr-Commit-Position: refs/heads/master@{#368458}

[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/helper-functions.js
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root-expected.txt
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root.html
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/iframe-root-expected.txt
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/iframe-root.html
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds-expected.txt
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/same-document-no-root-expected.txt
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/same-document-no-root.html
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/same-document-root-expected.txt
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/intersection-observer/same-document-root.html
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/resources/intersection-observer-subframe.html
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/resources/js-test.js
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/bindings/core/v8/V8IntersectionObserverCallback.cpp
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/bindings/core/v8/V8IntersectionObserverCallback.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/bindings/core/v8/custom/V8IntersectionObserverCustom.cpp
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/bindings/core/v8/custom/custom.gypi
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/bindings/core/v8/v8.gypi
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/core.gypi
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/Document.cpp
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/Document.h
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/Element.cpp
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/Element.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/ElementIntersectionObserverData.cpp
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/ElementIntersectionObserverData.h
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/ElementRareData.cpp
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/ElementRareData.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserver.idl
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserverCallback.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserverController.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.cpp
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.h
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.idl
[add] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/dom/IntersectionObserverInit.idl
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/core/frame/FrameView.h
[modify] http://crrev.com/b5cff0041ec225f4eaac870e87d6189321754983/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Project Member Comment 5 by bugdroid1@chromium.org, Jan 11 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0207c69014fab8e34db458119c28a96783c260ec

commit 0207c69014fab8e34db458119c28a96783c260ec
Author: szager <szager@chromium.org>
Date: Mon Jan 11 09:10:44 2016

Get rid of unnecessary weak pointer cleanup.

BUG=540528
R=haraken@chromium.org

Review URL: https://codereview.chromium.org/1570413002

Cr-Commit-Position: refs/heads/master@{#368542}

[modify] http://crrev.com/0207c69014fab8e34db458119c28a96783c260ec/third_party/WebKit/Source/core/dom/ElementIntersectionObserverData.cpp
[modify] http://crrev.com/0207c69014fab8e34db458119c28a96783c260ec/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp

Project Member Comment 6 by bugdroid1@chromium.org, Jan 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1151b75ea1f6cc0bb5a3937bf830285f68aa25ac

commit 1151b75ea1f6cc0bb5a3937bf830285f68aa25ac
Author: szager <szager@chromium.org>
Date: Tue Jan 12 02:44:31 2016

Eliminate superfluous clearing of weak pointer.

BUG=540528
R=dcheng@chromium.org,haraken@chromium.org

Review URL: https://codereview.chromium.org/1580503003

Cr-Commit-Position: refs/heads/master@{#368777}

[modify] http://crrev.com/1151b75ea1f6cc0bb5a3937bf830285f68aa25ac/third_party/WebKit/Source/core/dom/ElementIntersectionObserverData.cpp
[modify] http://crrev.com/1151b75ea1f6cc0bb5a3937bf830285f68aa25ac/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] http://crrev.com/1151b75ea1f6cc0bb5a3937bf830285f68aa25ac/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp

Project Member Comment 7 by bugdroid1@chromium.org, Jan 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/018cac05f242bb39c381091b1f242799bd58cdc2

commit 018cac05f242bb39c381091b1f242799bd58cdc2
Author: szager <szager@chromium.org>
Date: Tue Jan 12 07:22:38 2016

Implement suspend/resume for IntersectionObserver notifications.

R=haraken@chromium.org,ojan@chromium.org,esprehn@chromium.org
BUG=540528

Review URL: https://codereview.chromium.org/1552213002

Cr-Commit-Position: refs/heads/master@{#368814}

[modify] http://crrev.com/018cac05f242bb39c381091b1f242799bd58cdc2/third_party/WebKit/Source/core/dom/Document.cpp
[modify] http://crrev.com/018cac05f242bb39c381091b1f242799bd58cdc2/third_party/WebKit/Source/core/dom/Document.h
[modify] http://crrev.com/018cac05f242bb39c381091b1f242799bd58cdc2/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] http://crrev.com/018cac05f242bb39c381091b1f242799bd58cdc2/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] http://crrev.com/018cac05f242bb39c381091b1f242799bd58cdc2/third_party/WebKit/Source/core/dom/IntersectionObserverController.h
[modify] http://crrev.com/018cac05f242bb39c381091b1f242799bd58cdc2/third_party/WebKit/Source/core/frame/FrameView.cpp

Project Member Comment 8 by bugdroid1@chromium.org, Jan 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2cf2fab949e741b56be51d1197b064083ec45441

commit 2cf2fab949e741b56be51d1197b064083ec45441
Author: sigbjornf <sigbjornf@opera.com>
Date: Tue Jan 12 07:52:54 2016

Oilpan: fix build after r368814.

TBR=oilpan-reviews
BUG=540528
NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1575323002

Cr-Commit-Position: refs/heads/master@{#368817}

[modify] http://crrev.com/2cf2fab949e741b56be51d1197b064083ec45441/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] http://crrev.com/2cf2fab949e741b56be51d1197b064083ec45441/third_party/WebKit/Source/core/dom/IntersectionObserverController.h

Project Member Comment 9 by bugdroid1@chromium.org, Jan 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7a3254c6febcf2321642534f26d150c1b52ec0f

commit a7a3254c6febcf2321642534f26d150c1b52ec0f
Author: sigbjornf <sigbjornf@opera.com>
Date: Tue Jan 12 08:06:01 2016

Revert of Oilpan: fix build after r368814. (patchset #1 id:1 of https://codereview.chromium.org/1575323002/ )

Reason for revert:
Breaks non-Oilpan compilation.

Original issue's description:
> Oilpan: fix build after r368814.
>
> TBR=oilpan-reviews
> BUG=540528
> NOTRY=true
> NOTREECHECKS=true
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/2cf2fab949e741b56be51d1197b064083ec45441
> Cr-Commit-Position: refs/heads/master@{#368817}

TBR=oilpan-reviews@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=540528

Review URL: https://codereview.chromium.org/1580683002

Cr-Commit-Position: refs/heads/master@{#368819}

[modify] http://crrev.com/a7a3254c6febcf2321642534f26d150c1b52ec0f/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] http://crrev.com/a7a3254c6febcf2321642534f26d150c1b52ec0f/third_party/WebKit/Source/core/dom/IntersectionObserverController.h

Project Member Comment 10 by bugdroid1@chromium.org, Jan 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4d625ae5fa2b9edd9f3c0fa5f1e3da3bb401c9aa

commit 4d625ae5fa2b9edd9f3c0fa5f1e3da3bb401c9aa
Author: sigbjornf <sigbjornf@opera.com>
Date: Tue Jan 12 08:34:55 2016

Oilpan: fix build after r368814.

TBR=oilpan-reviews
BUG=540528
NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true

Committed: https://crrev.com/2cf2fab949e741b56be51d1197b064083ec45441
Cr-Commit-Position: refs/heads/master@{#368817}

Review URL: https://codereview.chromium.org/1575323002

Cr-Commit-Position: refs/heads/master@{#368820}

[modify] http://crrev.com/4d625ae5fa2b9edd9f3c0fa5f1e3da3bb401c9aa/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] http://crrev.com/4d625ae5fa2b9edd9f3c0fa5f1e3da3bb401c9aa/third_party/WebKit/Source/core/dom/IntersectionObserverController.h

Project Member Comment 11 by bugdroid1@chromium.org, Jan 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5

commit c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5
Author: szager <szager@chromium.org>
Date: Tue Jan 12 22:49:39 2016

Add root margin support for IntersectionObserver.

Depends on:

https://codereview.chromium.org/1553773002/

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1559593002

Cr-Commit-Position: refs/heads/master@{#369015}

[add] http://crrev.com/c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5/third_party/WebKit/LayoutTests/intersection-observer/root-margin-expected.txt
[add] http://crrev.com/c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5/third_party/WebKit/LayoutTests/intersection-observer/root-margin.html
[modify] http://crrev.com/c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] http://crrev.com/c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] http://crrev.com/c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] http://crrev.com/c88a8ad4f12d63045bafaa0c4bb68aba3eb161d5/third_party/WebKit/Source/core/dom/IntersectionObserverInit.idl

Project Member Comment 12 by bugdroid1@chromium.org, Jan 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae74c45ad305c6bb5317dd4f646279aa704e46d9

commit ae74c45ad305c6bb5317dd4f646279aa704e46d9
Author: szager <szager@chromium.org>
Date: Wed Jan 13 01:00:27 2016

Remove unnecessary RAF from tests.

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1545813002

Cr-Commit-Position: refs/heads/master@{#369060}

[modify] http://crrev.com/ae74c45ad305c6bb5317dd4f646279aa704e46d9/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root.html
[modify] http://crrev.com/ae74c45ad305c6bb5317dd4f646279aa704e46d9/third_party/WebKit/LayoutTests/intersection-observer/iframe-root.html
[modify] http://crrev.com/ae74c45ad305c6bb5317dd4f646279aa704e46d9/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[modify] http://crrev.com/ae74c45ad305c6bb5317dd4f646279aa704e46d9/third_party/WebKit/LayoutTests/intersection-observer/root-margin.html
[modify] http://crrev.com/ae74c45ad305c6bb5317dd4f646279aa704e46d9/third_party/WebKit/LayoutTests/intersection-observer/same-document-no-root.html
[modify] http://crrev.com/ae74c45ad305c6bb5317dd4f646279aa704e46d9/third_party/WebKit/LayoutTests/intersection-observer/same-document-root.html
[modify] http://crrev.com/ae74c45ad305c6bb5317dd4f646279aa704e46d9/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp

Project Member Comment 13 by bugdroid1@chromium.org, Jan 16 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/546573354e47ddd01f491c382701fa51500f85eb

commit 546573354e47ddd01f491c382701fa51500f85eb
Author: szager <szager@chromium.org>
Date: Sat Jan 16 07:36:23 2016

Use registerWeakMembers to clean up IntersectionObserver.

Pre-oilpan, when the root disappears, it observers are cleaned up
in NodeIntersectionObserverData::dispose().

Post-oilpan, the cleanup will be done with registerWeakMembers.

BUG=540528
R=haraken@chromium.org,dcheng@chromium.org

Review URL: https://codereview.chromium.org/1591763003

Cr-Commit-Position: refs/heads/master@{#369948}

[modify] http://crrev.com/546573354e47ddd01f491c382701fa51500f85eb/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] http://crrev.com/546573354e47ddd01f491c382701fa51500f85eb/third_party/WebKit/Source/core/dom/IntersectionObserver.h

Project Member Comment 14 by bugdroid1@chromium.org, Jan 17 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7beaecbcac87a75ced26b4415fb84fc2cf559307

commit 7beaecbcac87a75ced26b4415fb84fc2cf559307
Author: sigbjornf <sigbjornf@opera.com>
Date: Sun Jan 17 21:50:42 2016

Revert of Use registerWeakMembers to clean up IntersectionObserver. (patchset #1 id:1 of https://codereview.chromium.org/1591763003/ )

Reason for revert:
Broke on some tests w/ Oilpan enabled,

 https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Oilpan%20Leak/builds/16410

backing it out.

(see also https://codereview.chromium.org/1596333002/ )

Original issue's description:
> Use registerWeakMembers to clean up IntersectionObserver.
>
> Pre-oilpan, when the root disappears, it observers are cleaned up
> in NodeIntersectionObserverData::dispose().
>
> Post-oilpan, the cleanup will be done with registerWeakMembers.
>
> BUG=540528
> R=haraken@chromium.org,dcheng@chromium.org
>
> Committed: https://crrev.com/546573354e47ddd01f491c382701fa51500f85eb
> Cr-Commit-Position: refs/heads/master@{#369948}

TBR=dcheng@chromium.org,haraken@chromium.org,szager@chromium.org
BUG=540528
NOTRY=true

Review URL: https://codereview.chromium.org/1600243002

Cr-Commit-Position: refs/heads/master@{#369970}

[modify] http://crrev.com/7beaecbcac87a75ced26b4415fb84fc2cf559307/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] http://crrev.com/7beaecbcac87a75ced26b4415fb84fc2cf559307/third_party/WebKit/Source/core/dom/IntersectionObserver.h

Project Member Comment 15 by bugdroid1@chromium.org, Jan 19 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e43e0e845776971d80e264073f936f33532d0e3

commit 1e43e0e845776971d80e264073f936f33532d0e3
Author: szager <szager@chromium.org>
Date: Tue Jan 19 07:50:13 2016

Use registerWeakMembers to manage observer root.

Re-landing after revert:

https://codereview.chromium.org/1600243002

Also fix IntersectionObserver::dispose to not allocate memory, since
it runs during gc.

BUG=540528
R=haraken@chromium.org,dcheng@chromium.org

Review URL: https://codereview.chromium.org/1603773002

Cr-Commit-Position: refs/heads/master@{#370079}

[modify] http://crrev.com/1e43e0e845776971d80e264073f936f33532d0e3/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] http://crrev.com/1e43e0e845776971d80e264073f936f33532d0e3/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[modify] http://crrev.com/1e43e0e845776971d80e264073f936f33532d0e3/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] http://crrev.com/1e43e0e845776971d80e264073f936f33532d0e3/third_party/WebKit/Source/core/dom/IntersectionObserver.h

Labels: -M-47
I don't think this made M-47.
Project Member Comment 17 by bugdroid1@chromium.org, Feb 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34c8bfd59f4d8943df2620620cd00ae1d0fc1999

commit 34c8bfd59f4d8943df2620620cd00ae1d0fc1999
Author: szager <szager@chromium.org>
Date: Tue Feb 02 06:53:13 2016

Fix lazy test result printing.

Previously, description() and isSuccessfullyParsed() would add their
results to the top of the document immediately, even if
setPrintTestResultsLazily() was used.  This caused problems for
async tests that relied on precise document offset measurements
(such as the IntersectionObserver tests).

With this change, setPrintTestResultsLazily() will cause *all* test
output to be delayed until finishJSTest().

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1648123004

Cr-Commit-Position: refs/heads/master@{#372902}

[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash-expected.txt
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/intersection-observer/helper-functions.js
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root.html
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/intersection-observer/iframe-root.html
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/intersection-observer/root-margin.html
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/intersection-observer/same-document-no-root.html
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/intersection-observer/same-document-root.html
[modify] http://crrev.com/34c8bfd59f4d8943df2620620cd00ae1d0fc1999/third_party/WebKit/LayoutTests/resources/js-test.js

Project Member Comment 18 by bugdroid1@chromium.org, Feb 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/713261869cc5445c5a50c1e9187de53e440add6d

commit 713261869cc5445c5a50c1e9187de53e440add6d
Author: szager <szager@chromium.org>
Date: Tue Feb 02 21:12:07 2016

Expand zero-area target elements when computing intersections.

Based on spec discussion:

https://github.com/WICG/IntersectionObserver/issues/69

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1649283002

Cr-Commit-Position: refs/heads/master@{#373035}

[add] http://crrev.com/713261869cc5445c5a50c1e9187de53e440add6d/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target-expected.txt
[add] http://crrev.com/713261869cc5445c5a50c1e9187de53e440add6d/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target.html
[modify] http://crrev.com/713261869cc5445c5a50c1e9187de53e440add6d/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp

Project Member Comment 19 by bugdroid1@chromium.org, Feb 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4a43ad53c455dfa688d57da40300efe6c37e28ce

commit 4a43ad53c455dfa688d57da40300efe6c37e28ce
Author: szager <szager@chromium.org>
Date: Wed Feb 03 01:20:17 2016

Set rootBounds to null for cross-origin observations.

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1615573002

Cr-Commit-Position: refs/heads/master@{#373113}

[add] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/LayoutTests/http/tests/intersection-observer/iframe-cross-origin-expected.txt
[add] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/LayoutTests/http/tests/intersection-observer/iframe-cross-origin.html
[add] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/cross-origin-subframe.html
[add] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/helper-functions.js
[modify] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.cpp
[modify] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.h
[modify] http://crrev.com/4a43ad53c455dfa688d57da40300efe6c37e28ce/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.idl

Project Member Comment 20 by bugdroid1@chromium.org, Feb 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/45eb90b43b0053f12da21b7a76c9ff6647942efb

commit 45eb90b43b0053f12da21b7a76c9ff6647942efb
Author: szager <szager@chromium.org>
Date: Wed Feb 03 20:35:37 2016

Use DOMHighResTimeStamp for notification time.

Note that the time is relative to the execution context that created the observer, *not* the tracking document.

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1613543002

Cr-Commit-Position: refs/heads/master@{#373324}

[add] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/LayoutTests/intersection-observer/timestamp-expected.txt
[add] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/LayoutTests/intersection-observer/timestamp.html
[add] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/LayoutTests/resources/intersection-observer-timestamp-subframe.html
[modify] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[modify] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.cpp
[modify] http://crrev.com/45eb90b43b0053f12da21b7a76c9ff6647942efb/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.h

Project Member Comment 21 by bugdroid1@chromium.org, Feb 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d28dc728375473c3f0bde8ccbae36ee493a812b

commit 6d28dc728375473c3f0bde8ccbae36ee493a812b
Author: szager <szager@chromium.org>
Date: Fri Feb 05 09:17:23 2016

Implement attribute getters for IntersectionObserver.

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1669043002

Cr-Commit-Position: refs/heads/master@{#373775}

[add] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/LayoutTests/intersection-observer/observer-attributes-expected.txt
[add] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/LayoutTests/intersection-observer/observer-attributes.html
[modify] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/Source/core/dom/IntersectionObserver.idl
[modify] http://crrev.com/6d28dc728375473c3f0bde8ccbae36ee493a812b/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp

Project Member Comment 22 by bugdroid1@chromium.org, Feb 11 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/099be5c161399ca0d0304e5a187b7a93e7b948f4

commit 099be5c161399ca0d0304e5a187b7a93e7b948f4
Author: szager <szager@chromium.org>
Date: Thu Feb 11 21:36:54 2016

Enforce containing block requirement for IntersectionObserver.

Context: https://github.com/WICG/IntersectionObserver/issues/84

Only generate notifications if the target Element is a descendant
of the root in the containing block chain.

Also consolidated all of the sanity-checking code into computeGeometry().

BUG=540528
R=ojan@chromium.org,esprehn@chromium.org

Review URL: https://codereview.chromium.org/1672273002

Cr-Commit-Position: refs/heads/master@{#375000}

[add] http://crrev.com/099be5c161399ca0d0304e5a187b7a93e7b948f4/third_party/WebKit/LayoutTests/intersection-observer/containing-block-expected.txt
[add] http://crrev.com/099be5c161399ca0d0304e5a187b7a93e7b948f4/third_party/WebKit/LayoutTests/intersection-observer/containing-block.html
[delete] http://crrev.com/d77373d2aea7656fff32833c1112997f2eddcfb4/third_party/WebKit/LayoutTests/intersection-observer/iframe-root-expected.txt
[delete] http://crrev.com/d77373d2aea7656fff32833c1112997f2eddcfb4/third_party/WebKit/LayoutTests/intersection-observer/iframe-root.html
[modify] http://crrev.com/099be5c161399ca0d0304e5a187b7a93e7b948f4/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] http://crrev.com/099be5c161399ca0d0304e5a187b7a93e7b948f4/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[modify] http://crrev.com/099be5c161399ca0d0304e5a187b7a93e7b948f4/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] http://crrev.com/099be5c161399ca0d0304e5a187b7a93e7b948f4/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] http://crrev.com/099be5c161399ca0d0304e5a187b7a93e7b948f4/third_party/WebKit/Source/core/dom/NodeIntersectionObserverData.cpp

If I don't store a hard reference to the IntersectionObserver, then sooner or later it gets garbage collected, and stops working.

eg:
new IntersectionObserver(delta => {
 console.log(delta);
}).observe( document.getElementById('menu') );
Regarding comment #23: we're very careful not to garbage collect an IntersectionObserver while it is observing at least one target, even if you don't store a javascript reference to it.  The behavior you're describing may be a bug in the implementation.

Feel free to file a separate bug, hopefully including steps to reproduce the problem.
I want to play with it a bit longer before filing a bug, but the behaviour I'm seeing:
Given two identical IntersectionObserver observing the same DOM element, the one, whichever one, is held as a reference continues to operate correctly and indefinitely.
The unheld IntersectionObserver mostly fires only once, but sometimes works for a few seconds until it ceases to function.
Project Member Comment 26 by bugdroid1@chromium.org, Mar 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d151332e6b19119aff8ab7ef05b602ead73fb090

commit d151332e6b19119aff8ab7ef05b602ead73fb090
Author: szager <szager@chromium.org>
Date: Tue Mar 01 03:26:25 2016

IntersectionObserver: fix exceptions and handling of cross-origin root margin

BUG=540528

Review URL: https://codereview.chromium.org/1740923004

Cr-Commit-Position: refs/heads/master@{#378387}

[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/cross-origin-subframe.html
[add] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/LayoutTests/intersection-observer/observer-exceptions-expected.txt
[add] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/LayoutTests/intersection-observer/observer-exceptions.html
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/LayoutTests/intersection-observer/root-margin-expected.txt
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/LayoutTests/intersection-observer/root-margin.html
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/Source/bindings/core/v8/custom/V8IntersectionObserverCustom.cpp
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] https://crrev.com/d151332e6b19119aff8ab7ef05b602ead73fb090/third_party/WebKit/Source/core/dom/IntersectionObserver.idl

Project Member Comment 27 by bugdroid1@chromium.org, Mar 2 2016
Labels: Merge-Merged-master1
The following revision refers to this bug:
  https://chrome-internal.googlesource.com/bling/chromium.git/+/d151332e6b19119aff8ab7ef05b602ead73fb090

commit d151332e6b19119aff8ab7ef05b602ead73fb090
Author: szager <szager@chromium.org>
Date: Tue Mar 01 03:26:25 2016

Labels: -OWP-Standards-MailingList OWP-Standards-UnofficialSpec M-51 Launch-Accessibility-NA
Status: Started
Project Member Comment 29 by bugdroid1@chromium.org, Mar 10 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c168f38b5c0e4e50374be4e54c44901c60738a9

commit 2c168f38b5c0e4e50374be4e54c44901c60738a9
Author: szager <szager@chromium.org>
Date: Thu Mar 10 01:04:36 2016

IntersectionObserver: use an idle callback to send notifications.

With this change, the tests can no longer use setTimeout(0) to wait
for notifications to be delivered.  Instead, use takeRecords() to
proactively grab notifications right after they are generated
(typically in a RAF right after a layout change).

BUG=540528
R=ojan@chromium.org,haraken@chromium.org

Review URL: https://codereview.chromium.org/1776493002

Cr-Commit-Position: refs/heads/master@{#380278}

[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/http/tests/intersection-observer/iframe-cross-origin.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/cross-origin-subframe.html
[add] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/README
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/containing-block.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root-expected.txt
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds-expected.txt
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/observer-without-js-reference.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/root-margin-expected.txt
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/root-margin.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/same-document-no-root.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/same-document-root-expected.txt
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/same-document-root.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/LayoutTests/intersection-observer/timestamp.html
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/Source/core/dom/IdleRequestCallback.h
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9/third_party/WebKit/Source/core/dom/IntersectionObserverController.h

Project Member Comment 30 by bugdroid1@chromium.org, Mar 10 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/57644d439ce9bfee85efedff9f27a31e3e0bd3f5

commit 57644d439ce9bfee85efedff9f27a31e3e0bd3f5
Author: sigbjornf <sigbjornf@opera.com>
Date: Thu Mar 10 08:40:27 2016

Revert of IntersectionObserver: use an idle callback to send notifications. (patchset #6 id:100001 of https://codereview.chromium.org/1776493002/ )

Reason for revert:
Tests added are leaking, https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Leak/builds/18011

Original issue's description:
> IntersectionObserver: use an idle callback to send notifications.
>
> With this change, the tests can no longer use setTimeout(0) to wait
> for notifications to be delivered.  Instead, use takeRecords() to
> proactively grab notifications right after they are generated
> (typically in a RAF right after a layout change).
>
> BUG=540528
> R=ojan@chromium.org,haraken@chromium.org
>
> Committed: https://crrev.com/2c168f38b5c0e4e50374be4e54c44901c60738a9
> Cr-Commit-Position: refs/heads/master@{#380278}

TBR=ojan@chromium.org,haraken@chromium.org,skyostil@chromium.org,szager@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=540528

Review URL: https://codereview.chromium.org/1780163002

Cr-Commit-Position: refs/heads/master@{#380375}

[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/http/tests/intersection-observer/iframe-cross-origin.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/cross-origin-subframe.html
[delete] https://crrev.com/57df601ed904f5b4ccc99c786d41d467d5164a21/third_party/WebKit/LayoutTests/intersection-observer/README
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/containing-block.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root-expected.txt
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds-expected.txt
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/observer-without-js-reference.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/root-margin-expected.txt
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/root-margin.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/same-document-no-root.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/same-document-root-expected.txt
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/same-document-root.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/LayoutTests/intersection-observer/timestamp.html
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/Source/core/dom/IdleRequestCallback.h
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] https://crrev.com/57644d439ce9bfee85efedff9f27a31e3e0bd3f5/third_party/WebKit/Source/core/dom/IntersectionObserverController.h

Blockedon: v8:4846
Project Member Comment 32 by bugdroid1@chromium.org, Mar 22 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e1693a1f8dbedc1eed2777464f8a35ffa0da8e4

commit 8e1693a1f8dbedc1eed2777464f8a35ffa0da8e4
Author: szager <szager@chromium.org>
Date: Tue Mar 22 09:41:32 2016

IntersectionObserver: omit thresholds attribute.

The IDL type for the thresholds attribute should be FrozenArray, but
FrozenArray isn't implemented yet, so leave it out for now.

R=ojan@chromium.org,philipj@opera.com
BUG=540528

Review URL: https://codereview.chromium.org/1825443002

Cr-Commit-Position: refs/heads/master@{#382539}

[modify] https://crrev.com/8e1693a1f8dbedc1eed2777464f8a35ffa0da8e4/third_party/WebKit/LayoutTests/intersection-observer/observer-attributes-expected.txt
[modify] https://crrev.com/8e1693a1f8dbedc1eed2777464f8a35ffa0da8e4/third_party/WebKit/LayoutTests/intersection-observer/observer-attributes.html
[modify] https://crrev.com/8e1693a1f8dbedc1eed2777464f8a35ffa0da8e4/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/8e1693a1f8dbedc1eed2777464f8a35ffa0da8e4/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] https://crrev.com/8e1693a1f8dbedc1eed2777464f8a35ffa0da8e4/third_party/WebKit/Source/core/dom/IntersectionObserver.idl

Project Member Comment 33 by bugdroid1@chromium.org, Mar 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1275d3aca4b5dab9bdaeac8255fd54fe58649182

commit 1275d3aca4b5dab9bdaeac8255fd54fe58649182
Author: szager <szager@chromium.org>
Date: Fri Mar 25 21:41:57 2016

IntersectionObserver: use edge-inclusive geometry for intersections.

Split this out from:

https://codereview.chromium.org/1817693002/

BUG=540528
R=ojan@chromium.org,chrishtr@chromium.org

Review URL: https://codereview.chromium.org/1826323002

Cr-Commit-Position: refs/heads/master@{#383371}

[add] https://crrev.com/1275d3aca4b5dab9bdaeac8255fd54fe58649182/third_party/WebKit/LayoutTests/intersection-observer/edge-inclusive-intersection-expected.txt
[add] https://crrev.com/1275d3aca4b5dab9bdaeac8255fd54fe58649182/third_party/WebKit/LayoutTests/intersection-observer/edge-inclusive-intersection.html
[modify] https://crrev.com/1275d3aca4b5dab9bdaeac8255fd54fe58649182/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target-expected.txt
[modify] https://crrev.com/1275d3aca4b5dab9bdaeac8255fd54fe58649182/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target.html
[modify] https://crrev.com/1275d3aca4b5dab9bdaeac8255fd54fe58649182/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] https://crrev.com/1275d3aca4b5dab9bdaeac8255fd54fe58649182/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[modify] https://crrev.com/1275d3aca4b5dab9bdaeac8255fd54fe58649182/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp

Project Member Comment 34 by bugdroid1@chromium.org, Apr 4 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd

commit 4cf47cb23a655b02d36e64ea3f986ff2900f5bdd
Author: szager <szager@chromium.org>
Date: Mon Apr 04 21:53:41 2016

IntersectionObserver: use an idle callback to send notifications.

Re-landing after original:

https://codereview.chromium.org/1780163002/

... was reverted by:

https://codereview.chromium.org/1776493002/

With this change, the tests can no longer use setTimeout(0) to wait
for notifications to be delivered.  Instead, use takeRecords() to
proactively grab notifications right after they are generated
(typically in a RAF right after a layout change).

These tests tickle a bug in ScriptedIdleTaskController, hence the
LeakExpectations entries.

BUG=540528
R=ojan@chromium.org,haraken@chromium.org,sigbjornf@opera.com

Review URL: https://codereview.chromium.org/1806133002

Cr-Commit-Position: refs/heads/master@{#385021}

[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/LeakExpectations
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/http/tests/intersection-observer/iframe-cross-origin.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/cross-origin-subframe.html
[add] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/README
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/containing-block.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root-expected.txt
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/iframe-no-root.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds-expected.txt
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/observer-without-js-reference.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/root-margin-expected.txt
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/root-margin.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/same-document-no-root.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/same-document-root-expected.txt
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/same-document-root.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target-expected.txt
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/same-document-zero-size-target.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/timestamp-expected.txt
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/LayoutTests/intersection-observer/timestamp.html
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/Source/core/dom/IdleRequestCallback.h
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp
[modify] https://crrev.com/4cf47cb23a655b02d36e64ea3f986ff2900f5bdd/third_party/WebKit/Source/core/dom/IntersectionObserverController.h

Project Member Comment 35 by bugdroid1@chromium.org, Apr 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d70fb13f448385f978a2640ed2a79e4139da3e2

commit 5d70fb13f448385f978a2640ed2a79e4139da3e2
Author: szager <szager@chromium.org>
Date: Tue Apr 05 09:03:42 2016

IntersectionObserver: use border box rect for unclipped root.

BUG=540528
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1814553003

Cr-Commit-Position: refs/heads/master@{#385136}

[modify] https://crrev.com/5d70fb13f448385f978a2640ed2a79e4139da3e2/third_party/WebKit/LayoutTests/LeakExpectations
[add] https://crrev.com/5d70fb13f448385f978a2640ed2a79e4139da3e2/third_party/WebKit/LayoutTests/intersection-observer/unclipped-root-expected.txt
[add] https://crrev.com/5d70fb13f448385f978a2640ed2a79e4139da3e2/third_party/WebKit/LayoutTests/intersection-observer/unclipped-root.html
[modify] https://crrev.com/5d70fb13f448385f978a2640ed2a79e4139da3e2/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp

Summary: Intersection Observer (was: Intent to Implement Intersection Observer)
Project Member Comment 37 by bugdroid1@chromium.org, Apr 6 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/87fe5caf2ab2113388c6928c0f769525ba366d7e

commit 87fe5caf2ab2113388c6928c0f769525ba366d7e
Author: szager <szager@chromium.org>
Date: Wed Apr 06 00:23:56 2016

Enable IntersectionObserver by default.

Intent to Ship:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/FcxvG5Jq4w0/wLWtyndoBAAJ

BUG=540528
R=ojan@chromium.org

Review URL: https://codereview.chromium.org/1861753002

Cr-Commit-Position: refs/heads/master@{#385347}

[modify] https://crrev.com/87fe5caf2ab2113388c6928c0f769525ba366d7e/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/87fe5caf2ab2113388c6928c0f769525ba366d7e/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Project Member Comment 38 by bugdroid1@chromium.org, Apr 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16

commit 22392bf05de160a9f46bcb71c67a3dd5d4d8ba16
Author: szager <szager@chromium.org>
Date: Tue Apr 12 00:03:59 2016

Add IntersectionObserverEntry.intersectionRatio attribute.

BUG=540528
R=ojan@chromium.org,leviw@chromium.org

Review URL: https://codereview.chromium.org/1872973002

Cr-Commit-Position: refs/heads/master@{#386525}

[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/LayoutTests/intersection-observer/helper-functions.js
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds-expected.txt
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.cpp
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.h
[modify] https://crrev.com/22392bf05de160a9f46bcb71c67a3dd5d4d8ba16/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.idl

Labels: Merge-Request-51
Requesting merge to 51 of this change:

https://codereview.chromium.org/1872973002/

This feature is shipping for the first time in 51, and that patch is necessary for the implementation to match the spec.
Comment 40 by tin...@google.com, Apr 13 2016
Labels: -Merge-Request-51 Merge-Approved-51 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M51 (branch: 2704)
Project Member Comment 41 by bugdroid1@chromium.org, Apr 13 2016
Labels: -merge-approved-51 merge-merged-2704
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4770145fafc4a0b0fb0463cbfc84b1a564848a76

commit 4770145fafc4a0b0fb0463cbfc84b1a564848a76
Author: szager <szager@chromium.org>
Date: Wed Apr 13 19:13:58 2016

Add IntersectionObserverEntry.intersectionRatio attribute.

Merge to 51; original CL:

https://codereview.chromium.org/1872973002

BUG=540528
TBR=ojan@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1879323003

Cr-Commit-Position: refs/branch-heads/2704@{#32}
Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251}

[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/LayoutTests/intersection-observer/helper-functions.js
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds-expected.txt
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/LayoutTests/intersection-observer/multiple-thresholds.html
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.cpp
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.h
[modify] https://crrev.com/4770145fafc4a0b0fb0463cbfc84b1a564848a76/third_party/WebKit/Source/core/dom/IntersectionObserverEntry.idl

Project Member Comment 42 by bugdroid1@chromium.org, Apr 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db56b7062fa9ef6f39e00746f2367139fed855b8

commit db56b7062fa9ef6f39e00746f2367139fed855b8
Author: szager <szager@chromium.org>
Date: Fri Apr 15 22:13:24 2016

IntersectionObserver: notify when root or target is removed.

If root and target were previously intersecting, and then DOM is
modified to remove root or target, or to make target not a
containing block descendant of root, send a notification.

BUG=540528
R=ojan@chromium.org,eae@chromium.org

Review URL: https://codereview.chromium.org/1889053002

Cr-Commit-Position: refs/heads/master@{#387719}

[add] https://crrev.com/db56b7062fa9ef6f39e00746f2367139fed855b8/third_party/WebKit/LayoutTests/intersection-observer/remove-element-expected.txt
[add] https://crrev.com/db56b7062fa9ef6f39e00746f2367139fed855b8/third_party/WebKit/LayoutTests/intersection-observer/remove-element.html
[modify] https://crrev.com/db56b7062fa9ef6f39e00746f2367139fed855b8/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] https://crrev.com/db56b7062fa9ef6f39e00746f2367139fed855b8/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[modify] https://crrev.com/db56b7062fa9ef6f39e00746f2367139fed855b8/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp

Labels: -merge-merged-2704 Merge-Request-51
Requesting merge to M51 for:

https://codereview.chromium.org/1889053002

This is a bug fix for an important edge case.
Comment 44 by tin...@google.com, Apr 16 2016
Labels: -Merge-Request-51 Merge-Approved-51
Your change meets the bar and is auto-approved for M51 (branch: 2704)
Comment 45 Deleted
Please merge your change to M51 branch 2704 ASAP (before 5:00 PM PST, today) so we can take it in for M51 last Dev release tomorrow.
Project Member Comment 47 by bugdroid1@chromium.org, Apr 18 2016
Labels: -merge-approved-51 merge-merged-2704
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d7d30d174b0df5056e01ec3c7c07008f5ca1974

commit 5d7d30d174b0df5056e01ec3c7c07008f5ca1974
Author: szager <szager@chromium.org>
Date: Mon Apr 18 18:41:20 2016

IntersectionObserver: notify when root or target is removed.

If root and target were previously intersecting, and then DOM is
modified to remove root or target, or to make target not a
containing block descendant of root, send a notification.

Merge to M51; original patch:

https://codereview.chromium.org/1889053002

BUG=540528
TBR=ojan@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1893423003

Cr-Commit-Position: refs/branch-heads/2704@{#100}
Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251}

[add] https://crrev.com/5d7d30d174b0df5056e01ec3c7c07008f5ca1974/third_party/WebKit/LayoutTests/intersection-observer/remove-element-expected.txt
[add] https://crrev.com/5d7d30d174b0df5056e01ec3c7c07008f5ca1974/third_party/WebKit/LayoutTests/intersection-observer/remove-element.html
[modify] https://crrev.com/5d7d30d174b0df5056e01ec3c7c07008f5ca1974/third_party/WebKit/Source/core/dom/IntersectionObservation.cpp
[modify] https://crrev.com/5d7d30d174b0df5056e01ec3c7c07008f5ca1974/third_party/WebKit/Source/core/dom/IntersectionObservation.h
[modify] https://crrev.com/5d7d30d174b0df5056e01ec3c7c07008f5ca1974/third_party/WebKit/Source/core/dom/IntersectionObserver.cpp

Project Member Comment 48 by bugdroid1@chromium.org, Apr 21 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d13f01a3151eda3c016268463eca179d93cf250

commit 6d13f01a3151eda3c016268463eca179d93cf250
Author: kjellander <kjellander@chromium.org>
Date: Thu Apr 21 14:52:00 2016

Update expectations for failing webkit_tests on WebKit Linux Leak

intersection-observer/remove-element.html seems to leak and
crbug.com/603728 virtual/gpu-rasterization/fast/images/color-profile-filter.html
experiences timeouts.

These seems to have started at https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Leak/builds/18962 but it could also be earlier changes.

BUG=540528,603728
TBR=ericrk@chromium.org,mpb@chromium.org

Review URL: https://codereview.chromium.org/1911683003

Cr-Commit-Position: refs/heads/master@{#388773}

[modify] https://crrev.com/6d13f01a3151eda3c016268463eca179d93cf250/third_party/WebKit/LayoutTests/TestExpectations

Blockedon: 595155
Project Member Comment 50 by bugdroid1@chromium.org, May 19 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/932817d22a29746784f6aee8e147effe82856c65

commit 932817d22a29746784f6aee8e147effe82856c65
Author: szager <szager@chromium.org>
Date: Thu May 19 21:30:05 2016

IntersectionObserver: add thresholds attribute.

BUG=540528
R=ojan@chromium.org

Review-Url: https://codereview.chromium.org/1998733002
Cr-Commit-Position: refs/heads/master@{#394873}

[modify] https://crrev.com/932817d22a29746784f6aee8e147effe82856c65/third_party/WebKit/LayoutTests/intersection-observer/observer-attributes-expected.txt
[modify] https://crrev.com/932817d22a29746784f6aee8e147effe82856c65/third_party/WebKit/LayoutTests/intersection-observer/observer-attributes.html
[modify] https://crrev.com/932817d22a29746784f6aee8e147effe82856c65/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/932817d22a29746784f6aee8e147effe82856c65/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/932817d22a29746784f6aee8e147effe82856c65/third_party/WebKit/Source/core/dom/IntersectionObserver.h
[modify] https://crrev.com/932817d22a29746784f6aee8e147effe82856c65/third_party/WebKit/Source/core/dom/IntersectionObserver.idl

I raised 3 issues:

issue 617392
issue 617393
issue 617396
Thank you for the bug reports, I will look into them.
issue 617546
issue 618950
issue 618976
Project Member Comment 55 by bugdroid1@chromium.org, Jun 22 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bfce932785e5b2253d0a4caa5f115338d1b19443

commit bfce932785e5b2253d0a4caa5f115338d1b19443
Author: szager <szager@chromium.org>
Date: Wed Jun 22 11:59:48 2016

Add a trace event for IntersectionObserver computing intersections.

BUG=540528
R=eae@chromium.org,ojan@chromium.org

Review-Url: https://codereview.chromium.org/2089003002
Cr-Commit-Position: refs/heads/master@{#401256}

[modify] https://crrev.com/bfce932785e5b2253d0a4caa5f115338d1b19443/third_party/WebKit/Source/core/dom/IntersectionObserverController.cpp

Blockedon: 674519
Project Member Comment 57 by bugdroid1@chromium.org, Sep 11
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/896bed9324033f1059332257d4acf582ceba5766

commit 896bed9324033f1059332257d4acf582ceba5766
Author: ericwilligers <ericwilligers@chromium.org>
Date: Mon Sep 11 20:51:12 2017

Retire runtime flag for Intersection Observer

Support for IntersectionObserver shipped to stable in Chrome 59.

The runtime flag is no longer needed.

BUG=540528

Change-Id: I39ca2ba3e7d17d3cd983e158ff7950c12ec1a185
Reviewed-on: https://chromium-review.googlesource.com/659721
Reviewed-by: Stefan Zager <szager@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Eric Willigers <ericwilligers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501032}
[modify] https://crrev.com/896bed9324033f1059332257d4acf582ceba5766/third_party/WebKit/Source/core/intersection_observer/IntersectionObserver.idl
[modify] https://crrev.com/896bed9324033f1059332257d4acf582ceba5766/third_party/WebKit/Source/core/intersection_observer/IntersectionObserverEntry.idl
[modify] https://crrev.com/896bed9324033f1059332257d4acf582ceba5766/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5

Labels: migrated-launch-owp Type-Task
This issue has been automatically relabelled type=task because type=launch-owp issues are now officially deprecated. The deprecation is because they were creating confusion about how to get launch approvals, which should be instead done via type=launch issues.

We recommend this issue be used for implementation tracking (for public visibility), but if you already have an issue for that, you may mark this as duplicate.

For more details see here: https://docs.google.com/document/d/1JA6RohjtZQc26bTrGoIE_bSXGXUDQz8vc6G0n_sZJ2o/edit

For any questions, please contact owencm, sshruthi, larforge
Sign in to add a comment