Reimplement scrolling to fragments

This reimplemntation of the feature uses ScrollRootIds to scroll
particular scrollable areas of the page.

Fixes #13736.
Fixes #10753.
This commit is contained in:
Martin Robinson 2016-11-21 09:48:33 +01:00
parent 39845faf26
commit 0b56bb2237
18 changed files with 154 additions and 45 deletions

View file

@ -1,6 +0,0 @@
[scroll-frag-percent-encoded.html]
type: testharness
disabled: https://github.com/servo/servo/issues/10753
[Fragment Navigation: fragment id should be percent-decoded]
expected: FAIL

View file

@ -1,6 +0,0 @@
[scroll-to-id-top.html]
type: testharness
disabled: https://github.com/servo/servo/issues/10753
[Fragment Navigation: TOP is a valid element id, which overrides navigating to top of the document]
expected: FAIL

View file

@ -1,6 +0,0 @@
[scroll-to-top.html]
type: testharness
disabled: https://github.com/servo/servo/issues/10753
[Fragment Navigation: When fragid is TOP scroll to the top of the document]
expected: FAIL

View file

@ -6414,6 +6414,18 @@
"url": "/_mozilla/mozilla/iframe/resize_after_load.html"
}
],
"mozilla/simple_scroll_to_fragment.html": [
{
"path": "mozilla/simple_scroll_to_fragment.html",
"references": [
[
"/_mozilla/mozilla/simple_scroll_to_fragment_ref.html",
"=="
]
],
"url": "/_mozilla/mozilla/simple_scroll_to_fragment.html"
}
],
"mozilla/sslfail.html": [
{
"path": "mozilla/sslfail.html",
@ -21432,6 +21444,18 @@
"url": "/_mozilla/mozilla/iframe/resize_after_load.html"
}
],
"mozilla/simple_scroll_to_fragment.html": [
{
"path": "mozilla/simple_scroll_to_fragment.html",
"references": [
[
"/_mozilla/mozilla/simple_scroll_to_fragment_ref.html",
"=="
]
],
"url": "/_mozilla/mozilla/simple_scroll_to_fragment.html"
}
],
"mozilla/sslfail.html": [
{
"path": "mozilla/sslfail.html",

View file

@ -0,0 +1,14 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="match" href="simple_scroll_to_fragment_ref.html">
</head>
<body>
<div id="scroller" style="height: 100px; width: 100px; overflow: scroll; background: red;">
<div style="background: green; margin-top: 100px; width: 100px; height: 100px;"></div>
</div>
<script>
document.getElementById("scroller").scrollTop = 100;
</script>
</html>

View file

@ -0,0 +1,9 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div style="height: 100px; width: 100px; background: green;">
</div>
</html>