Closed Bug 1839484 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 40650 - Revert "[text-fragment] Attempt search for dynamic content"

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox116 fixed)

RESOLVED FIXED
116 Branch
Tracking Status
firefox116 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 40650 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/40650
Details from upstream follow.

thefrog <thefrog@chromium.org> wrote:

Revert "[text-fragment] Attempt search for dynamic content"

This reverts commit 6bd222a5ff1b875ac739df526a59799ded6b6676.

Reason for revert: Likely causing recent builder failures.
Example failure: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20Tests/131991/overview
Failing: external/wpt/scroll-to-text-fragment/iframes.sub.html

Original change's description:

[text-fragment] Attempt search for dynamic content

Text fragments currently perform up to two searches, one when document
parsing completes and a second attempt when document load completes (if
load wasn't completed at parse complete time). However, pages, often
load content after document load, when content is "dynamically loaded".
One popular example is Mobile Wikipedia, which adds hidden=until-found
on collapsed sections in idle tasks after load. This meant
text-fragments couldn't target pages like these.

This CL attempts to make text fragments work on dynamically loaded pages
by performing a third attempt, if needed. If all directives haven't
matched at load time, a delayed task is scheduled for 500ms that will
request attachment on unmatched directives. TextFragmentAnchor listens
for relevant changes in the DOM and reschedules this task each time a
change is made. At 3000ms it gives up and performs the search to avoid
waiting forever.

At a high level, this CL tries to separate the state tracking of actions
performed for the first matching directive from the state tracking for
running multiple searches. This is done by introducing a new iteration_
enum tracking the latter.

Change-Id: Ie01012935152b12f2d724469010128c7dd34afb8
Bug: 963045
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4586061
Reviewed-by: Vladimir Levin \<vmpstr@chromium.org>
Commit-Queue: David Bokan \<bokan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1160040}

Bug: 963045
Change-Id: I64babfbb5ac1849f3ea3c7bf3fdb41b12390b657
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4629649
Bot-Commit: Rubber Stamper \<rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: thefrog \<thefrog@chromium.org>
Commit-Queue: thefrog \<thefrog@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1160118}

Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → INVALID
Status: RESOLVED → REOPENED
Resolution: INVALID → ---

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests and 5 subtests

Status Summary

Firefox

OK : 1
FAIL: 5

Chrome

OK : 1
PASS: 5

Safari

OK : 1
PASS: 2
FAIL: 3

Links

GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

New Tests That Don't Pass

  • /scroll-to-text-fragment/iframes.sub.html [wpt.fyi]
    • Text fragment specified in iframe.src: FAIL (Chrome: PASS, Safari: PASS)
    • Navigate same-origin iframe via window.location: FAIL (Chrome: PASS, Safari: FAIL)
    • Navigate cross-origin iframe via window.location: FAIL (Chrome: PASS, Safari: PASS)
    • Non-matching text with element-id fallback: FAIL (Chrome: PASS, Safari: FAIL)
    • Cross-origin with element-id fallback: FAIL (Chrome: PASS, Safari: FAIL)
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/290a4b1e52b8 [wpt PR 40650] - Revert "[text-fragment] Attempt search for dynamic content", a=testonly
Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch
You need to log in before you can comment on or make changes to this bug.