这是indexloc提供的服务,不要输入任何密码
| Differences between
and this patch
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-default-css-expected.txt -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-default-css-expected.txt_sec1
1
1
2
PASS Instant scrolling of an element with default scroll-behavior 
2
PASS Instant scrolling of an element with default scroll-behavior 
3
FAIL Smooth scrolling of an element with default scroll-behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
3
PASS Smooth scrolling of an element with default scroll-behavior 
4
4
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-default-css.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-default-css.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing default value of scroll-behavior</title>
2
<title>Testing default value of scroll-behavior</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-element-expected.txt -16 / +16 lines
Lines 2-36 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-element-expected.txt_sec1
2
PASS Element with auto scroll-behavior ; scroll() with default behavior 
2
PASS Element with auto scroll-behavior ; scroll() with default behavior 
3
PASS Element with auto scroll-behavior ; scroll() with auto behavior 
3
PASS Element with auto scroll-behavior ; scroll() with auto behavior 
4
PASS Element with auto scroll-behavior ; scroll() with instant behavior 
4
PASS Element with auto scroll-behavior ; scroll() with instant behavior 
5
FAIL Element with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
5
PASS Element with auto scroll-behavior ; scroll() with smooth behavior 
6
FAIL Element with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
6
PASS Element with smooth scroll-behavior ; scroll() with default behavior 
7
FAIL Element with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
7
PASS Element with smooth scroll-behavior ; scroll() with auto behavior 
8
PASS Element with smooth scroll-behavior ; scroll() with instant behavior 
8
PASS Element with smooth scroll-behavior ; scroll() with instant behavior 
9
FAIL Element with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
9
PASS Element with smooth scroll-behavior ; scroll() with smooth behavior 
10
PASS Element with auto scroll-behavior ; scrollTo() with default behavior 
10
PASS Element with auto scroll-behavior ; scrollTo() with default behavior 
11
PASS Element with auto scroll-behavior ; scrollTo() with auto behavior 
11
PASS Element with auto scroll-behavior ; scrollTo() with auto behavior 
12
PASS Element with auto scroll-behavior ; scrollTo() with instant behavior 
12
PASS Element with auto scroll-behavior ; scrollTo() with instant behavior 
13
FAIL Element with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
13
PASS Element with auto scroll-behavior ; scrollTo() with smooth behavior 
14
FAIL Element with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
14
PASS Element with smooth scroll-behavior ; scrollTo() with default behavior 
15
FAIL Element with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
15
PASS Element with smooth scroll-behavior ; scrollTo() with auto behavior 
16
PASS Element with smooth scroll-behavior ; scrollTo() with instant behavior 
16
PASS Element with smooth scroll-behavior ; scrollTo() with instant behavior 
17
FAIL Element with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
17
PASS Element with smooth scroll-behavior ; scrollTo() with smooth behavior 
18
PASS Element with auto scroll-behavior ; scrollBy() with default behavior 
18
PASS Element with auto scroll-behavior ; scrollBy() with default behavior 
19
PASS Element with auto scroll-behavior ; scrollBy() with auto behavior 
19
PASS Element with auto scroll-behavior ; scrollBy() with auto behavior 
20
PASS Element with auto scroll-behavior ; scrollBy() with instant behavior 
20
PASS Element with auto scroll-behavior ; scrollBy() with instant behavior 
21
FAIL Element with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
21
PASS Element with auto scroll-behavior ; scrollBy() with smooth behavior 
22
FAIL Element with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
22
PASS Element with smooth scroll-behavior ; scrollBy() with default behavior 
23
FAIL Element with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
23
PASS Element with smooth scroll-behavior ; scrollBy() with auto behavior 
24
PASS Element with smooth scroll-behavior ; scrollBy() with instant behavior 
24
PASS Element with smooth scroll-behavior ; scrollBy() with instant behavior 
25
FAIL Element with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
25
PASS Element with smooth scroll-behavior ; scrollBy() with smooth behavior 
26
PASS Element with auto scroll-behavior ; scrollIntoView() with default behavior 
26
PASS Element with auto scroll-behavior ; scrollIntoView() with default behavior 
27
PASS Element with auto scroll-behavior ; scrollIntoView() with auto behavior 
27
PASS Element with auto scroll-behavior ; scrollIntoView() with auto behavior 
28
PASS Element with auto scroll-behavior ; scrollIntoView() with instant behavior 
28
PASS Element with auto scroll-behavior ; scrollIntoView() with instant behavior 
29
FAIL Element with auto scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
29
PASS Element with auto scroll-behavior ; scrollIntoView() with smooth behavior 
30
FAIL Element with smooth scroll-behavior ; scrollIntoView() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
30
PASS Element with smooth scroll-behavior ; scrollIntoView() with default behavior 
31
FAIL Element with smooth scroll-behavior ; scrollIntoView() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
31
PASS Element with smooth scroll-behavior ; scrollIntoView() with auto behavior 
32
PASS Element with smooth scroll-behavior ; scrollIntoView() with instant behavior 
32
PASS Element with smooth scroll-behavior ; scrollIntoView() with instant behavior 
33
FAIL Element with smooth scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
33
PASS Element with smooth scroll-behavior ; scrollIntoView() with smooth behavior 
34
PASS Aborting an ongoing smooth scrolling on an element with another smooth scrolling 
34
PASS Aborting an ongoing smooth scrolling on an element with another smooth scrolling 
35
PASS Aborting an ongoing smooth scrolling on an element with an instant scrolling 
35
PASS Aborting an ongoing smooth scrolling on an element with an instant scrolling 
36
36
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-element.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-element.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on an element</title>
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on an element</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root-expected.txt -16 / +16 lines
Lines 3-37 PASS Page loaded a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root-expected.txt_sec1
3
PASS Main frame with auto scroll-behavior ; scroll() with default behavior 
3
PASS Main frame with auto scroll-behavior ; scroll() with default behavior 
4
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior 
4
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior 
5
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior 
5
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior 
6
FAIL Main frame with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
6
PASS Main frame with auto scroll-behavior ; scroll() with smooth behavior 
7
FAIL Main frame with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
7
PASS Main frame with smooth scroll-behavior ; scroll() with default behavior 
8
FAIL Main frame with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
8
PASS Main frame with smooth scroll-behavior ; scroll() with auto behavior 
9
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior 
9
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior 
10
FAIL Main frame with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
10
PASS Main frame with smooth scroll-behavior ; scroll() with smooth behavior 
11
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior 
11
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior 
12
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior 
12
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior 
13
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior 
13
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior 
14
FAIL Main frame with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
14
PASS Main frame with auto scroll-behavior ; scrollTo() with smooth behavior 
15
FAIL Main frame with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
15
PASS Main frame with smooth scroll-behavior ; scrollTo() with default behavior 
16
FAIL Main frame with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
16
PASS Main frame with smooth scroll-behavior ; scrollTo() with auto behavior 
17
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior 
17
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior 
18
FAIL Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
18
PASS Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior 
19
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior 
19
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior 
20
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior 
20
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior 
21
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior 
21
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior 
22
FAIL Main frame with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
22
PASS Main frame with auto scroll-behavior ; scrollBy() with smooth behavior 
23
FAIL Main frame with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
23
PASS Main frame with smooth scroll-behavior ; scrollBy() with default behavior 
24
FAIL Main frame with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
24
PASS Main frame with smooth scroll-behavior ; scrollBy() with auto behavior 
25
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior 
25
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior 
26
FAIL Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
26
PASS Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior 
27
PASS Main frame with auto scroll-behavior ; scrollIntoView() with default behavior 
27
PASS Main frame with auto scroll-behavior ; scrollIntoView() with default behavior 
28
PASS Main frame with auto scroll-behavior ; scrollIntoView() with auto behavior 
28
PASS Main frame with auto scroll-behavior ; scrollIntoView() with auto behavior 
29
PASS Main frame with auto scroll-behavior ; scrollIntoView() with instant behavior 
29
PASS Main frame with auto scroll-behavior ; scrollIntoView() with instant behavior 
30
FAIL Main frame with auto scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
30
PASS Main frame with auto scroll-behavior ; scrollIntoView() with smooth behavior 
31
FAIL Main frame with smooth scroll-behavior ; scrollIntoView() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
31
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with default behavior 
32
FAIL Main frame with smooth scroll-behavior ; scrollIntoView() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
32
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with auto behavior 
33
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with instant behavior 
33
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with instant behavior 
34
FAIL Main frame with smooth scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
34
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with smooth behavior 
35
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling 
35
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling 
36
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling 
36
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling 
37
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of the main frame</title>
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of the main frame</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window-expected.txt -12 / +12 lines
Lines 3-29 PASS Page loaded a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window-expected.txt_sec1
3
PASS Main frame with auto scroll-behavior ; scroll() with default behavior 
3
PASS Main frame with auto scroll-behavior ; scroll() with default behavior 
4
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior 
4
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior 
5
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior 
5
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior 
6
FAIL Main frame with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
6
PASS Main frame with auto scroll-behavior ; scroll() with smooth behavior 
7
FAIL Main frame with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
7
PASS Main frame with smooth scroll-behavior ; scroll() with default behavior 
8
FAIL Main frame with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
8
PASS Main frame with smooth scroll-behavior ; scroll() with auto behavior 
9
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior 
9
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior 
10
FAIL Main frame with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
10
PASS Main frame with smooth scroll-behavior ; scroll() with smooth behavior 
11
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior 
11
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior 
12
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior 
12
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior 
13
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior 
13
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior 
14
FAIL Main frame with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
14
PASS Main frame with auto scroll-behavior ; scrollTo() with smooth behavior 
15
FAIL Main frame with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
15
PASS Main frame with smooth scroll-behavior ; scrollTo() with default behavior 
16
FAIL Main frame with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
16
PASS Main frame with smooth scroll-behavior ; scrollTo() with auto behavior 
17
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior 
17
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior 
18
FAIL Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
18
PASS Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior 
19
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior 
19
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior 
20
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior 
20
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior 
21
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior 
21
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior 
22
FAIL Main frame with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
22
PASS Main frame with auto scroll-behavior ; scrollBy() with smooth behavior 
23
FAIL Main frame with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
23
PASS Main frame with smooth scroll-behavior ; scrollBy() with default behavior 
24
FAIL Main frame with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
24
PASS Main frame with smooth scroll-behavior ; scrollBy() with auto behavior 
25
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior 
25
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior 
26
FAIL Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
26
PASS Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior 
27
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling 
27
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling 
28
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling 
28
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling 
29
29
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing scrollOptions' behavior for Element.scroll* on the window of the main frame</title>
2
<title>Testing scrollOptions' behavior for Element.scroll* on the window of the main frame</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested-expected.txt -1 / +3 lines
Lines 1-3 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested-expected.txt_sec1
1
1
2
FAIL scrollIntoView with nested elements with different scroll-behavior assert_less_than: Element with smooth behavior should not scroll immediately expected a number less than 500 but got 500
2
FAIL scrollIntoView with nested elements with different scroll-behavior assert_equals: Element with instant behavior should jump to the final position expected 0 but got 1000
3
4
assert_equals: Element with instant behavior should jump to the final position expected 500 but got 1000
3
5
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing scrollOptions' behavior with scrollIntoView for nested scrolling nodes</title>
2
<title>Testing scrollOptions' behavior with scrollIntoView for nested scrolling nodes</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing scroll positions when scrolling an element with smooth behavior</title>
2
<title>Testing scroll positions when scrolling an element with smooth behavior</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root-expected.txt -16 / +16 lines
Lines 3-37 PASS iframe loaded a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root-expected.txt_sec1
3
PASS Subframe with auto scroll-behavior ; scroll() with default behavior 
3
PASS Subframe with auto scroll-behavior ; scroll() with default behavior 
4
PASS Subframe with auto scroll-behavior ; scroll() with auto behavior 
4
PASS Subframe with auto scroll-behavior ; scroll() with auto behavior 
5
PASS Subframe with auto scroll-behavior ; scroll() with instant behavior 
5
PASS Subframe with auto scroll-behavior ; scroll() with instant behavior 
6
FAIL Subframe with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
6
PASS Subframe with auto scroll-behavior ; scroll() with smooth behavior 
7
FAIL Subframe with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
7
PASS Subframe with smooth scroll-behavior ; scroll() with default behavior 
8
FAIL Subframe with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
8
PASS Subframe with smooth scroll-behavior ; scroll() with auto behavior 
9
PASS Subframe with smooth scroll-behavior ; scroll() with instant behavior 
9
PASS Subframe with smooth scroll-behavior ; scroll() with instant behavior 
10
FAIL Subframe with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
10
PASS Subframe with smooth scroll-behavior ; scroll() with smooth behavior 
11
PASS Subframe with auto scroll-behavior ; scrollTo() with default behavior 
11
PASS Subframe with auto scroll-behavior ; scrollTo() with default behavior 
12
PASS Subframe with auto scroll-behavior ; scrollTo() with auto behavior 
12
PASS Subframe with auto scroll-behavior ; scrollTo() with auto behavior 
13
PASS Subframe with auto scroll-behavior ; scrollTo() with instant behavior 
13
PASS Subframe with auto scroll-behavior ; scrollTo() with instant behavior 
14
FAIL Subframe with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
14
PASS Subframe with auto scroll-behavior ; scrollTo() with smooth behavior 
15
FAIL Subframe with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
15
PASS Subframe with smooth scroll-behavior ; scrollTo() with default behavior 
16
FAIL Subframe with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
16
PASS Subframe with smooth scroll-behavior ; scrollTo() with auto behavior 
17
PASS Subframe with smooth scroll-behavior ; scrollTo() with instant behavior 
17
PASS Subframe with smooth scroll-behavior ; scrollTo() with instant behavior 
18
FAIL Subframe with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
18
PASS Subframe with smooth scroll-behavior ; scrollTo() with smooth behavior 
19
PASS Subframe with auto scroll-behavior ; scrollBy() with default behavior 
19
PASS Subframe with auto scroll-behavior ; scrollBy() with default behavior 
20
PASS Subframe with auto scroll-behavior ; scrollBy() with auto behavior 
20
PASS Subframe with auto scroll-behavior ; scrollBy() with auto behavior 
21
PASS Subframe with auto scroll-behavior ; scrollBy() with instant behavior 
21
PASS Subframe with auto scroll-behavior ; scrollBy() with instant behavior 
22
FAIL Subframe with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
22
PASS Subframe with auto scroll-behavior ; scrollBy() with smooth behavior 
23
FAIL Subframe with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
23
PASS Subframe with smooth scroll-behavior ; scrollBy() with default behavior 
24
FAIL Subframe with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
24
PASS Subframe with smooth scroll-behavior ; scrollBy() with auto behavior 
25
PASS Subframe with smooth scroll-behavior ; scrollBy() with instant behavior 
25
PASS Subframe with smooth scroll-behavior ; scrollBy() with instant behavior 
26
FAIL Subframe with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
26
PASS Subframe with smooth scroll-behavior ; scrollBy() with smooth behavior 
27
PASS Subframe with auto scroll-behavior ; scrollIntoView() with default behavior 
27
PASS Subframe with auto scroll-behavior ; scrollIntoView() with default behavior 
28
PASS Subframe with auto scroll-behavior ; scrollIntoView() with auto behavior 
28
PASS Subframe with auto scroll-behavior ; scrollIntoView() with auto behavior 
29
PASS Subframe with auto scroll-behavior ; scrollIntoView() with instant behavior 
29
PASS Subframe with auto scroll-behavior ; scrollIntoView() with instant behavior 
30
FAIL Subframe with auto scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
30
PASS Subframe with auto scroll-behavior ; scrollIntoView() with smooth behavior 
31
FAIL Subframe with smooth scroll-behavior ; scrollIntoView() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
31
PASS Subframe with smooth scroll-behavior ; scrollIntoView() with default behavior 
32
FAIL Subframe with smooth scroll-behavior ; scrollIntoView() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
32
PASS Subframe with smooth scroll-behavior ; scrollIntoView() with auto behavior 
33
PASS Subframe with smooth scroll-behavior ; scrollIntoView() with instant behavior 
33
PASS Subframe with smooth scroll-behavior ; scrollIntoView() with instant behavior 
34
FAIL Subframe with smooth scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
34
PASS Subframe with smooth scroll-behavior ; scrollIntoView() with smooth behavior 
35
PASS Aborting an ongoing smooth scrolling on a subframe with another smooth scrolling 
35
PASS Aborting an ongoing smooth scrolling on a subframe with another smooth scrolling 
36
PASS Aborting an ongoing smooth scrolling on a subframe with an instant scrolling 
36
PASS Aborting an ongoing smooth scrolling on a subframe with an instant scrolling 
37
37
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe</title>
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window-expected.txt -12 / +12 lines
Lines 3-29 PASS iframe loaded a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window-expected.txt_sec1
3
PASS Main frame with auto scroll-behavior ; scroll() with default behavior 
3
PASS Main frame with auto scroll-behavior ; scroll() with default behavior 
4
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior 
4
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior 
5
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior 
5
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior 
6
FAIL Main frame with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
6
PASS Main frame with auto scroll-behavior ; scroll() with smooth behavior 
7
FAIL Main frame with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
7
PASS Main frame with smooth scroll-behavior ; scroll() with default behavior 
8
FAIL Main frame with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
8
PASS Main frame with smooth scroll-behavior ; scroll() with auto behavior 
9
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior 
9
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior 
10
FAIL Main frame with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
10
PASS Main frame with smooth scroll-behavior ; scroll() with smooth behavior 
11
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior 
11
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior 
12
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior 
12
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior 
13
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior 
13
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior 
14
FAIL Main frame with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
14
PASS Main frame with auto scroll-behavior ; scrollTo() with smooth behavior 
15
FAIL Main frame with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
15
PASS Main frame with smooth scroll-behavior ; scrollTo() with default behavior 
16
FAIL Main frame with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
16
PASS Main frame with smooth scroll-behavior ; scrollTo() with auto behavior 
17
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior 
17
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior 
18
FAIL Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
18
PASS Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior 
19
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior 
19
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior 
20
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior 
20
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior 
21
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior 
21
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior 
22
FAIL Main frame with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
22
PASS Main frame with auto scroll-behavior ; scrollBy() with smooth behavior 
23
FAIL Main frame with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
23
PASS Main frame with smooth scroll-behavior ; scrollBy() with default behavior 
24
FAIL Main frame with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
24
PASS Main frame with smooth scroll-behavior ; scrollBy() with auto behavior 
25
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior 
25
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior 
26
FAIL Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
26
PASS Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior 
27
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling 
27
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling 
28
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling 
28
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling 
29
29
- a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html -1 / +1 lines
Lines 1-4 a/LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html_sec1
1
<!DOCTYPE html>
1
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSomSmoothScrollingEnabled=true ] -->
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe</title>
2
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe</title>
3
<meta name="timeout" content="long"/>
3
<meta name="timeout" content="long"/>
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
4
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
- a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig -1 / +3 lines
Lines 40-45 ENABLE_ACCELERATED_2D_CANVAS = ; a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig_sec1
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
42
42
43
ENABLE_CSSOM_SMOOTH_SCROLLING = ENABLE_CSSOM_SMOOTH_SCROLLING;
44
43
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
45
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
44
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
46
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
45
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
47
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
Lines 374-377 ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE_WIRELESS_PLAYBACK_TARGET; a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig_sec2
374
376
375
ENABLE_XSLT = ENABLE_XSLT;
377
ENABLE_XSLT = ENABLE_XSLT;
376
378
377
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
379
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_CSSOM_SMOOTH_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
- a/Source/WTF/wtf/FeatureDefines.h +4 lines
Lines 361-366 the public iOS SDK. See <https://webkit.org/b/179167>. */ a/Source/WTF/wtf/FeatureDefines.h_sec1
361
#define ENABLE_ACCELERATED_OVERFLOW_SCROLLING 0
361
#define ENABLE_ACCELERATED_OVERFLOW_SCROLLING 0
362
#endif
362
#endif
363
363
364
#if !defined(ENABLE_CSSOM_SMOOTH_SCROLLING)
365
#define ENABLE_CSSOM_SMOOTH_SCROLLING 1
366
#endif
367
364
#if !defined(ENABLE_APNG)
368
#if !defined(ENABLE_APNG)
365
#define ENABLE_APNG 1
369
#define ENABLE_APNG 1
366
#endif
370
#endif
- a/Source/WebCore/CMakeLists.txt +7 lines
Lines 1051-1056 else () a/Source/WebCore/CMakeLists.txt_sec1
1051
    set(ANGLE_FORWARDING_HEADERS_DIR "${FORWARDING_HEADERS_DIR}/ANGLE")
1051
    set(ANGLE_FORWARDING_HEADERS_DIR "${FORWARDING_HEADERS_DIR}/ANGLE")
1052
endif ()
1052
endif ()
1053
1053
1054
if (ENABLE_CSSOM_SMOOTH_SCROLLING)
1055
    list(APPEND WebCore_NON_SVG_IDL_FILES
1056
        page/ScrollBehavior.idl
1057
        page/ScrollOptions.idl
1058
    )
1059
endif ()
1060
1054
if (ENABLE_GAMEPAD)
1061
if (ENABLE_GAMEPAD)
1055
    list(APPEND WebCore_INCLUDE_DIRECTORIES
1062
    list(APPEND WebCore_INCLUDE_DIRECTORIES
1056
        "${WEBCORE_DIR}/Modules/gamepad"
1063
        "${WEBCORE_DIR}/Modules/gamepad"
- a/Source/WebCore/Configurations/FeatureDefines.xcconfig -1 / +3 lines
Lines 40-45 ENABLE_ACCELERATED_2D_CANVAS = ; a/Source/WebCore/Configurations/FeatureDefines.xcconfig_sec1
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
42
42
43
ENABLE_CSSOM_SMOOTH_SCROLLING = ENABLE_CSSOM_SMOOTH_SCROLLING;
44
43
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
45
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
44
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
46
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
45
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
47
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
Lines 374-377 ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE_WIRELESS_PLAYBACK_TARGET; a/Source/WebCore/Configurations/FeatureDefines.xcconfig_sec2
374
376
375
ENABLE_XSLT = ENABLE_XSLT;
377
ENABLE_XSLT = ENABLE_XSLT;
376
378
377
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
379
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_CSSOM_SMOOTH_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
- a/Source/WebCore/DerivedSources.make +2 lines
Lines 808-815 JS_BINDING_IDLS = \ a/Source/WebCore/DerivedSources.make_sec1
808
    $(WebCore)/page/PerformanceTiming.idl \
808
    $(WebCore)/page/PerformanceTiming.idl \
809
    $(WebCore)/page/RemoteDOMWindow.idl \
809
    $(WebCore)/page/RemoteDOMWindow.idl \
810
    $(WebCore)/page/Screen.idl \
810
    $(WebCore)/page/Screen.idl \
811
    $(WebCore)/page/ScrollBehavior.idl \
811
    $(WebCore)/page/ScrollIntoViewOptions.idl \
812
    $(WebCore)/page/ScrollIntoViewOptions.idl \
812
    $(WebCore)/page/ScrollLogicalPosition.idl \
813
    $(WebCore)/page/ScrollLogicalPosition.idl \
814
    $(WebCore)/page/ScrollOptions.idl \
813
    $(WebCore)/page/ScrollToOptions.idl \
815
    $(WebCore)/page/ScrollToOptions.idl \
814
    $(WebCore)/page/UserMessageHandler.idl \
816
    $(WebCore)/page/UserMessageHandler.idl \
815
    $(WebCore)/page/UserMessageHandlersNamespace.idl \
817
    $(WebCore)/page/UserMessageHandlersNamespace.idl \
- a/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig -1 / +3 lines
Lines 40-45 ENABLE_ACCELERATED_2D_CANVAS = ; a/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig_sec1
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
42
42
43
ENABLE_CSSOM_SMOOTH_SCROLLING = ENABLE_CSSOM_SMOOTH_SCROLLING;
44
43
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
45
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
44
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
46
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
45
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
47
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
Lines 374-377 ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE_WIRELESS_PLAYBACK_TARGET; a/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig_sec2
374
376
375
ENABLE_XSLT = ENABLE_XSLT;
377
ENABLE_XSLT = ENABLE_XSLT;
376
378
377
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
379
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_CSSOM_SMOOTH_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
- a/Source/WebCore/Sources.txt +14 lines
Lines 3186-3191 JSXPathNSResolver.cpp a/Source/WebCore/Sources.txt_sec1
3186
JSXPathResult.cpp
3186
JSXPathResult.cpp
3187
JSXSLTProcessor.cpp
3187
JSXSLTProcessor.cpp
3188
3188
3189
#if ENABLE_CSSOM_SMOOTH_SCROLLING
3190
3191
JSScrollBehavior.cpp
3192
JSScrollOptions.cpp
3193
page/ScrollBehavior.cpp
3194
3195
#endif
3196
3189
#if ENABLE_GAMEPAD
3197
#if ENABLE_GAMEPAD
3190
3198
3191
JSGamepad.cpp
3199
JSGamepad.cpp
Lines 3198-3203 Modules/webvr/GamepadWebVR.cpp a/Source/WebCore/Sources.txt_sec2
3198
3206
3199
#endif
3207
#endif
3200
3208
3209
#if ENABLE_CSSOM_SMOOTH_SCROLLING
3210
3211
platform/ScrollAnimationSmooth.cpp
3212
3213
#endif
3214
3201
#if ENABLE_LEGACY_ENCRYPTED_MEDIA
3215
#if ENABLE_LEGACY_ENCRYPTED_MEDIA
3202
3216
3203
JSWebKitMediaKeyMessageEvent.cpp
3217
JSWebKitMediaKeyMessageEvent.cpp
- a/Source/WebCore/SourcesGTK.txt +2 lines
Lines 56-62 page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp a/Source/WebCore/SourcesGTK.txt_sec1
56
page/scrolling/generic/ScrollingThreadGeneric.cpp
56
page/scrolling/generic/ScrollingThreadGeneric.cpp
57
57
58
platform/ScrollAnimationKinetic.cpp
58
platform/ScrollAnimationKinetic.cpp
59
#if !ENABLE_CSSOM_SMOOTH_SCROLLING
59
platform/ScrollAnimationSmooth.cpp
60
platform/ScrollAnimationSmooth.cpp
61
#endif
60
platform/UserAgentQuirks.cpp
62
platform/UserAgentQuirks.cpp
61
63
62
platform/geoclue/GeolocationProviderGeoclue.cpp
64
platform/geoclue/GeolocationProviderGeoclue.cpp
- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj +28 lines
Lines 2344-2349 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec1
2344
		83407FC11E8D9C1700E048D3 /* VisibilityChangeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 83407FC01E8D9C1200E048D3 /* VisibilityChangeClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
2344
		83407FC11E8D9C1700E048D3 /* VisibilityChangeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 83407FC01E8D9C1200E048D3 /* VisibilityChangeClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
2345
		834476EF1DA5BC5E002B5EB0 /* JSScrollLogicalPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */; };
2345
		834476EF1DA5BC5E002B5EB0 /* JSScrollLogicalPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */; };
2346
		834476EF1DA5BC5E002B5EC1 /* JSScrollIntoViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */; };
2346
		834476EF1DA5BC5E002B5EC1 /* JSScrollIntoViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */; };
2347
		834476EF1DA5BC5E002B6EB0 /* JSScrollBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFE8D4 /* JSScrollBehavior.h */; };
2348
		834476EF1DA5BC5E002B6EC1 /* JSScrollOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFE8E5 /* JSScrollOptions.h */; };
2347
		834476EF1DA5BC5E002B6ED2 /* JSScrollToOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFE8F6 /* JSScrollToOptions.h */; };
2349
		834476EF1DA5BC5E002B6ED2 /* JSScrollToOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E9B3011DA5A51E00FFE8F6 /* JSScrollToOptions.h */; };
2348
		8348BFAC1B85729800912F36 /* ClassCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 8348BFAA1B85729500912F36 /* ClassCollection.h */; };
2350
		8348BFAC1B85729800912F36 /* ClassCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 8348BFAA1B85729500912F36 /* ClassCollection.h */; };
2349
		834DFAD01F7DAE5D00C2725B /* SharedStringHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 834DFACC1F7DAE5600C2725B /* SharedStringHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
2351
		834DFAD01F7DAE5D00C2725B /* SharedStringHash.h in Headers */ = {isa = PBXBuildFile; fileRef = 834DFACC1F7DAE5600C2725B /* SharedStringHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
Lines 2418-2423 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec2
2418
		83C45B8E1DC2B68A008871BA /* ValidationBubble.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C45B8D1DC2B67C008871BA /* ValidationBubble.h */; settings = {ATTRIBUTES = (Private, ); }; };
2420
		83C45B8E1DC2B68A008871BA /* ValidationBubble.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C45B8D1DC2B67C008871BA /* ValidationBubble.h */; settings = {ATTRIBUTES = (Private, ); }; };
2419
		83C5795D1DA5C301006F9C86 /* ScrollLogicalPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200355424 /* ScrollLogicalPosition.h */; settings = {ATTRIBUTES = (Private, ); }; };
2421
		83C5795D1DA5C301006F9C86 /* ScrollLogicalPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200355424 /* ScrollLogicalPosition.h */; settings = {ATTRIBUTES = (Private, ); }; };
2420
		83C5795D1DA5C301006F9C97 /* ScrollIntoViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200355435 /* ScrollIntoViewOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
2422
		83C5795D1DA5C301006F9C97 /* ScrollIntoViewOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200355435 /* ScrollIntoViewOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
2423
		83C5795D1DA5C301006FAC86 /* ScrollBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200356424 /* ScrollBehavior.h */; settings = {ATTRIBUTES = (Private, ); }; };
2424
		83C5795D1DA5C301006FAC97 /* ScrollOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200356435 /* ScrollOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
2421
		83C5795D1DA5C301006FACA8 /* ScrollToOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200356446 /* ScrollToOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
2425
		83C5795D1DA5C301006FACA8 /* ScrollToOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 8350C3E71DA59B6200356446 /* ScrollToOptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
2422
		83D35AEC1C7187FA00F70D5A /* XMLHttpRequestEventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D35AEA1C7187ED00F70D5A /* XMLHttpRequestEventTarget.h */; };
2426
		83D35AEC1C7187FA00F70D5A /* XMLHttpRequestEventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D35AEA1C7187ED00F70D5A /* XMLHttpRequestEventTarget.h */; };
2423
		83D35AF21C718D9000F70D5A /* JSXMLHttpRequestEventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D35AF01C718D8400F70D5A /* JSXMLHttpRequestEventTarget.h */; };
2427
		83D35AF21C718D9000F70D5A /* JSXMLHttpRequestEventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 83D35AF01C718D8400F70D5A /* JSXMLHttpRequestEventTarget.h */; };
Lines 9848-9853 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec3
9848
		834DFACE1F7DAE5700C2725B /* SharedStringHash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedStringHash.cpp; sourceTree = "<group>"; };
9852
		834DFACE1F7DAE5700C2725B /* SharedStringHash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedStringHash.cpp; sourceTree = "<group>"; };
9849
		8350C3E71DA59B6200355424 /* ScrollLogicalPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollLogicalPosition.h; sourceTree = "<group>"; };
9853
		8350C3E71DA59B6200355424 /* ScrollLogicalPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollLogicalPosition.h; sourceTree = "<group>"; };
9850
		8350C3E71DA59B6200355435 /* ScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollIntoViewOptions.h; sourceTree = "<group>"; };
9854
		8350C3E71DA59B6200355435 /* ScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollIntoViewOptions.h; sourceTree = "<group>"; };
9855
		8350C3E81DA59B6200355435 /* ScrollIntoViewOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollIntoViewOptions.idl; sourceTree = "<group>"; };
9856
		8350C3E71DA59B6200356424 /* ScrollBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollBehavior.h; sourceTree = "<group>"; };
9857
		8350C3E71DA59B6200356434 /* ScrollBehavior.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollBehavior.cpp; sourceTree = "<group>"; };
9858
		8350C3E81DA59B6200356424 /* ScrollBehavior.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollBehavior.idl; sourceTree = "<group>"; };
9859
		8350C3E71DA59B6200356435 /* ScrollOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollOptions.h; sourceTree = "<group>"; };
9860
		8350C3E81DA59B6200356435 /* ScrollOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollOptions.idl; sourceTree = "<group>"; };
9851
		8350C3E71DA59B6200356446 /* ScrollToOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollToOptions.h; sourceTree = "<group>"; };
9861
		8350C3E71DA59B6200356446 /* ScrollToOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollToOptions.h; sourceTree = "<group>"; };
9852
		8350C3E81DA59B6200355424 /* ScrollLogicalPosition.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollLogicalPosition.idl; sourceTree = "<group>"; };
9862
		8350C3E81DA59B6200355424 /* ScrollLogicalPosition.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollLogicalPosition.idl; sourceTree = "<group>"; };
9853
		8350C3E81DA59B6200355435 /* ScrollIntoViewOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollIntoViewOptions.idl; sourceTree = "<group>"; };
9863
		8350C3E81DA59B6200355435 /* ScrollIntoViewOptions.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ScrollIntoViewOptions.idl; sourceTree = "<group>"; };
Lines 9989-9994 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec4
9989
		83E959E11B8BC22B004D9385 /* NativeNodeFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeNodeFilter.h; sourceTree = "<group>"; };
9999
		83E959E11B8BC22B004D9385 /* NativeNodeFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeNodeFilter.h; sourceTree = "<group>"; };
9990
		83E9B3001DA5A51E00FFD8D4 /* JSScrollLogicalPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollLogicalPosition.cpp; sourceTree = "<group>"; };
10000
		83E9B3001DA5A51E00FFD8D4 /* JSScrollLogicalPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollLogicalPosition.cpp; sourceTree = "<group>"; };
9991
		83E9B3001DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollIntoViewOptions.cpp; sourceTree = "<group>"; };
10001
		83E9B3001DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollIntoViewOptions.cpp; sourceTree = "<group>"; };
10002
		83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollIntoViewOptions.h; sourceTree = "<group>"; };
10003
		83E9B3001DA5A51E00FFE8D4 /* JSScrollBehavior.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollBehavior.cpp; sourceTree = "<group>"; };
10004
		83E9B3011DA5A51E00FFE8D4 /* JSScrollBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollBehavior.h; sourceTree = "<group>"; };
10005
		83E9B3001DA5A51E00FFE8E5 /* JSScrollOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollOptions.cpp; sourceTree = "<group>"; };
10006
		83E9B3011DA5A51E00FFE8E5 /* JSScrollOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollOptions.h; sourceTree = "<group>"; };
9992
		83E9B3001DA5A51E00FFE8F6 /* JSScrollToOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollToOptions.cpp; sourceTree = "<group>"; };
10007
		83E9B3001DA5A51E00FFE8F6 /* JSScrollToOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScrollToOptions.cpp; sourceTree = "<group>"; };
9993
		83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollLogicalPosition.h; sourceTree = "<group>"; };
10008
		83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollLogicalPosition.h; sourceTree = "<group>"; };
9994
		83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollIntoViewOptions.h; sourceTree = "<group>"; };
10009
		83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScrollIntoViewOptions.h; sourceTree = "<group>"; };
Lines 19511-19520 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec5
19511
				BCEC01BA0C274DAC009F4EC9 /* Screen.cpp */,
19526
				BCEC01BA0C274DAC009F4EC9 /* Screen.cpp */,
19512
				BCEC01BB0C274DAC009F4EC9 /* Screen.h */,
19527
				BCEC01BB0C274DAC009F4EC9 /* Screen.h */,
19513
				BCEC01BC0C274DAC009F4EC9 /* Screen.idl */,
19528
				BCEC01BC0C274DAC009F4EC9 /* Screen.idl */,
19529
				8350C3E71DA59B6200356434 /* ScrollBehavior.cpp */,
19530
				8350C3E71DA59B6200356424 /* ScrollBehavior.h */,
19531
				8350C3E81DA59B6200356424 /* ScrollBehavior.idl */,
19514
				8350C3E71DA59B6200355435 /* ScrollIntoViewOptions.h */,
19532
				8350C3E71DA59B6200355435 /* ScrollIntoViewOptions.h */,
19515
				8350C3E81DA59B6200355435 /* ScrollIntoViewOptions.idl */,
19533
				8350C3E81DA59B6200355435 /* ScrollIntoViewOptions.idl */,
19516
				8350C3E71DA59B6200355424 /* ScrollLogicalPosition.h */,
19534
				8350C3E71DA59B6200355424 /* ScrollLogicalPosition.h */,
19517
				8350C3E81DA59B6200355424 /* ScrollLogicalPosition.idl */,
19535
				8350C3E81DA59B6200355424 /* ScrollLogicalPosition.idl */,
19536
				8350C3E71DA59B6200356435 /* ScrollOptions.h */,
19537
				8350C3E81DA59B6200356435 /* ScrollOptions.idl */,
19518
				8350C3E71DA59B6200356446 /* ScrollToOptions.h */,
19538
				8350C3E71DA59B6200356446 /* ScrollToOptions.h */,
19519
				8350C3E81DA59B6200356446 /* ScrollToOptions.idl */,
19539
				8350C3E81DA59B6200356446 /* ScrollToOptions.idl */,
19520
				BCD0E0F70E972C3500265DEA /* SecurityOrigin.cpp */,
19540
				BCD0E0F70E972C3500265DEA /* SecurityOrigin.cpp */,
Lines 24264-24273 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec6
24264
				46C376612085176D00C73829 /* JSRemoteDOMWindow.h */,
24284
				46C376612085176D00C73829 /* JSRemoteDOMWindow.h */,
24265
				BCEC01C00C274DDD009F4EC9 /* JSScreen.cpp */,
24285
				BCEC01C00C274DDD009F4EC9 /* JSScreen.cpp */,
24266
				BCEC01C10C274DDD009F4EC9 /* JSScreen.h */,
24286
				BCEC01C10C274DDD009F4EC9 /* JSScreen.h */,
24287
				83E9B3001DA5A51E00FFE8D4 /* JSScrollBehavior.cpp */,
24288
				83E9B3011DA5A51E00FFE8D4 /* JSScrollBehavior.h */,
24267
				83E9B3001DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.cpp */,
24289
				83E9B3001DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.cpp */,
24268
				83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */,
24290
				83E9B3011DA5A51E00FFD8E5 /* JSScrollIntoViewOptions.h */,
24269
				83E9B3001DA5A51E00FFD8D4 /* JSScrollLogicalPosition.cpp */,
24291
				83E9B3001DA5A51E00FFD8D4 /* JSScrollLogicalPosition.cpp */,
24270
				83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */,
24292
				83E9B3011DA5A51E00FFD8D4 /* JSScrollLogicalPosition.h */,
24293
				83E9B3001DA5A51E00FFE8E5 /* JSScrollOptions.cpp */,
24294
				83E9B3011DA5A51E00FFE8E5 /* JSScrollOptions.h */,
24271
				83E9B3001DA5A51E00FFE8F6 /* JSScrollToOptions.cpp */,
24295
				83E9B3001DA5A51E00FFE8F6 /* JSScrollToOptions.cpp */,
24272
				83E9B3011DA5A51E00FFE8F6 /* JSScrollToOptions.h */,
24296
				83E9B3011DA5A51E00FFE8F6 /* JSScrollToOptions.h */,
24273
				7C73FB0F191EF6F4007DE061 /* JSUserMessageHandler.cpp */,
24297
				7C73FB0F191EF6F4007DE061 /* JSUserMessageHandler.cpp */,
Lines 29055-29062 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec7
29055
				5E2C436C1BCF071E0001E2BC /* JSRTCTrackEvent.h in Headers */,
29079
				5E2C436C1BCF071E0001E2BC /* JSRTCTrackEvent.h in Headers */,
29056
				BCEC01C30C274DDD009F4EC9 /* JSScreen.h in Headers */,
29080
				BCEC01C30C274DDD009F4EC9 /* JSScreen.h in Headers */,
29057
				FDA15ECE12B03F61003A583A /* JSScriptProcessorNode.h in Headers */,
29081
				FDA15ECE12B03F61003A583A /* JSScriptProcessorNode.h in Headers */,
29082
				834476EF1DA5BC5E002B6EB0 /* JSScrollBehavior.h in Headers */,
29058
				834476EF1DA5BC5E002B5EC1 /* JSScrollIntoViewOptions.h in Headers */,
29083
				834476EF1DA5BC5E002B5EC1 /* JSScrollIntoViewOptions.h in Headers */,
29059
				834476EF1DA5BC5E002B5EB0 /* JSScrollLogicalPosition.h in Headers */,
29084
				834476EF1DA5BC5E002B5EB0 /* JSScrollLogicalPosition.h in Headers */,
29085
				834476EF1DA5BC5E002B6EC1 /* JSScrollOptions.h in Headers */,
29060
				834476EF1DA5BC5E002B6ED2 /* JSScrollToOptions.h in Headers */,
29086
				834476EF1DA5BC5E002B6ED2 /* JSScrollToOptions.h in Headers */,
29061
				CED06AD11C77754800FDFAF1 /* JSSecurityPolicyViolationEvent.h in Headers */,
29087
				CED06AD11C77754800FDFAF1 /* JSSecurityPolicyViolationEvent.h in Headers */,
29062
				5182C2561F3143CD0059BA7C /* JSServiceWorker.h in Headers */,
29088
				5182C2561F3143CD0059BA7C /* JSServiceWorker.h in Headers */,
Lines 30216-30221 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec8
30216
				44C991860F3D1EBE00586670 /* ScrollbarThemeIOS.h in Headers */,
30242
				44C991860F3D1EBE00586670 /* ScrollbarThemeIOS.h in Headers */,
30217
				BC8B853E0E7C7F1100AB6984 /* ScrollbarThemeMac.h in Headers */,
30243
				BC8B853E0E7C7F1100AB6984 /* ScrollbarThemeMac.h in Headers */,
30218
				0FE71406142170B800DB33BA /* ScrollbarThemeMock.h in Headers */,
30244
				0FE71406142170B800DB33BA /* ScrollbarThemeMock.h in Headers */,
30245
				83C5795D1DA5C301006FAC86 /* ScrollBehavior.h in Headers */,
30219
				1AA84F05143BA7BD0051D153 /* ScrollController.h in Headers */,
30246
				1AA84F05143BA7BD0051D153 /* ScrollController.h in Headers */,
30220
				0F605AED15F94848004DF0C0 /* ScrollingConstraints.h in Headers */,
30247
				0F605AED15F94848004DF0C0 /* ScrollingConstraints.h in Headers */,
30221
				1AF62EE814DA22A70041556C /* ScrollingCoordinator.h in Headers */,
30248
				1AF62EE814DA22A70041556C /* ScrollingCoordinator.h in Headers */,
Lines 30246-30251 a/Source/WebCore/WebCore.xcodeproj/project.pbxproj_sec9
30246
				83C5795D1DA5C301006F9C97 /* ScrollIntoViewOptions.h in Headers */,
30273
				83C5795D1DA5C301006F9C97 /* ScrollIntoViewOptions.h in Headers */,
30247
				7AAFE8D019CB8672000F56D8 /* ScrollLatchingState.h in Headers */,
30274
				7AAFE8D019CB8672000F56D8 /* ScrollLatchingState.h in Headers */,
30248
				83C5795D1DA5C301006F9C86 /* ScrollLogicalPosition.h in Headers */,
30275
				83C5795D1DA5C301006F9C86 /* ScrollLogicalPosition.h in Headers */,
30276
				83C5795D1DA5C301006FAC97 /* ScrollOptions.h in Headers */,
30249
				F478755419983AFF0024A287 /* ScrollSnapAnimatorState.h in Headers */,
30277
				F478755419983AFF0024A287 /* ScrollSnapAnimatorState.h in Headers */,
30250
				F46729281E0DE68500ACC3D8 /* ScrollSnapOffsetsInfo.h in Headers */,
30278
				F46729281E0DE68500ACC3D8 /* ScrollSnapOffsetsInfo.h in Headers */,
30251
				83C5795D1DA5C301006FACA8 /* ScrollToOptions.h in Headers */,
30279
				83C5795D1DA5C301006FACA8 /* ScrollToOptions.h in Headers */,
- a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp +9 lines
Lines 389-394 static const CSSPropertyID computedProperties[] = { a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec1
389
    CSSPropertyOrder,
389
    CSSPropertyOrder,
390
#if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
390
#if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
391
    CSSPropertyWebkitOverflowScrolling,
391
    CSSPropertyWebkitOverflowScrolling,
392
#endif
393
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
394
    CSSPropertyScrollBehavior,
392
#endif
395
#endif
393
    CSSPropertyPerspective,
396
    CSSPropertyPerspective,
394
    CSSPropertyPerspectiveOrigin,
397
    CSSPropertyPerspectiveOrigin,
Lines 3681-3686 RefPtr<CSSValue> ComputedStyleExtractor::valueForPropertyinStyle(const RenderSty a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp_sec2
3681
            if (!style.useTouchOverflowScrolling())
3684
            if (!style.useTouchOverflowScrolling())
3682
                return cssValuePool.createIdentifierValue(CSSValueAuto);
3685
                return cssValuePool.createIdentifierValue(CSSValueAuto);
3683
            return cssValuePool.createIdentifierValue(CSSValueTouch);
3686
            return cssValuePool.createIdentifierValue(CSSValueTouch);
3687
#endif
3688
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
3689
        case CSSPropertyScrollBehavior:
3690
            if (!style.useSmoothScrolling())
3691
                return cssValuePool.createIdentifierValue(CSSValueAuto);
3692
            return cssValuePool.createIdentifierValue(CSSValueSmooth);
3684
#endif
3693
#endif
3685
        case CSSPropertyPerspective:
3694
        case CSSPropertyPerspective:
3686
            if (!style.hasPerspective())
3695
            if (!style.hasPerspective())
- a/Source/WebCore/css/CSSProperties.json +17 lines
Lines 6211-6216 a/Source/WebCore/css/CSSProperties.json_sec1
6211
                "url": "https://www.w3.org/TR/css-ui-4/#propdef-user-select"
6211
                "url": "https://www.w3.org/TR/css-ui-4/#propdef-user-select"
6212
            }
6212
            }
6213
        },
6213
        },
6214
        "scroll-behavior": {
6215
            "values": [
6216
                "auto",
6217
                "smooth"
6218
            ],
6219
            "codegen-properties": {
6220
                "converter": "SmoothScrolling",
6221
                "enable-if": "ENABLE_CSSOM_SMOOTH_SCROLLING",
6222
                "name-for-methods": "UseSmoothScrolling"
6223
            },
6224
            "status": {
6225
                "status": "in development"
6226
            },
6227
            "specification": {
6228
                "url": "https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior"
6229
            }
6230
        },
6214
        "scroll-padding": {
6231
        "scroll-padding": {
6215
            "codegen-properties": {
6232
            "codegen-properties": {
6216
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
6233
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
- a/Source/WebCore/css/CSSValueKeywords.in +5 lines
Lines 1357-1362 scroll-position a/Source/WebCore/css/CSSValueKeywords.in_sec1
1357
manipulation
1357
manipulation
1358
#endif
1358
#endif
1359
1359
1360
#if defined(ENABLE_CSSOM_SMOOTH_SCROLLING) && ENABLE_CSSOM_SMOOTH_SCROLLING
1361
// scroll-behavior
1362
smooth
1363
#endif
1364
1360
// hanging-punctuation
1365
// hanging-punctuation
1361
allow-end
1366
allow-end
1362
first
1367
first
- a/Source/WebCore/css/StyleBuilderConverter.h +10 lines
Lines 114-119 public: a/Source/WebCore/css/StyleBuilderConverter.h_sec1
114
#endif
114
#endif
115
#if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
115
#if ENABLE(ACCELERATED_OVERFLOW_SCROLLING)
116
    static bool convertOverflowScrolling(StyleResolver&, const CSSValue&);
116
    static bool convertOverflowScrolling(StyleResolver&, const CSSValue&);
117
#endif
118
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
119
    static bool convertSmoothScrolling(StyleResolver&, const CSSValue&);
117
#endif
120
#endif
118
    static FontFeatureSettings convertFontFeatureSettings(StyleResolver&, const CSSValue&);
121
    static FontFeatureSettings convertFontFeatureSettings(StyleResolver&, const CSSValue&);
119
    static FontSelectionValue convertFontWeightFromValue(const CSSValue&);
122
    static FontSelectionValue convertFontWeightFromValue(const CSSValue&);
Lines 1276-1281 inline bool StyleBuilderConverter::convertOverflowScrolling(StyleResolver&, cons a/Source/WebCore/css/StyleBuilderConverter.h_sec2
1276
}
1279
}
1277
#endif
1280
#endif
1278
1281
1282
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
1283
inline bool StyleBuilderConverter::convertSmoothScrolling(StyleResolver&, const CSSValue& value)
1284
{
1285
    return downcast<CSSPrimitiveValue>(value).valueID() == CSSValueSmooth;
1286
}
1287
#endif
1288
1279
inline SVGLengthValue StyleBuilderConverter::convertSVGLengthValue(StyleResolver&, const CSSValue& value)
1289
inline SVGLengthValue StyleBuilderConverter::convertSVGLengthValue(StyleResolver&, const CSSValue& value)
1280
{
1290
{
1281
    return SVGLengthValue::fromCSSPrimitiveValue(downcast<CSSPrimitiveValue>(value));
1291
    return SVGLengthValue::fromCSSPrimitiveValue(downcast<CSSPrimitiveValue>(value));
- a/Source/WebCore/css/parser/CSSParserFastPaths.cpp -5 / +7 lines
Lines 621-630 bool CSSParserFastPaths::isValidKeywordPropertyAndValue(CSSPropertyID propertyId a/Source/WebCore/css/parser/CSSParserFastPaths.cpp_sec1
621
        return valueID == CSSValueStatic || valueID == CSSValueRelative || valueID == CSSValueAbsolute || valueID == CSSValueFixed || valueID == CSSValueWebkitSticky;
621
        return valueID == CSSValueStatic || valueID == CSSValueRelative || valueID == CSSValueAbsolute || valueID == CSSValueFixed || valueID == CSSValueWebkitSticky;
622
    case CSSPropertyResize: // none | both | horizontal | vertical | auto
622
    case CSSPropertyResize: // none | both | horizontal | vertical | auto
623
        return valueID == CSSValueNone || valueID == CSSValueBoth || valueID == CSSValueHorizontal || valueID == CSSValueVertical || valueID == CSSValueAuto;
623
        return valueID == CSSValueNone || valueID == CSSValueBoth || valueID == CSSValueHorizontal || valueID == CSSValueVertical || valueID == CSSValueAuto;
624
    // FIXME-NEWPARSER: Investigate this property.
624
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
625
    // case CSSPropertyScrollBehavior: // auto | smooth
625
    case CSSPropertyScrollBehavior: // auto | smooth
626
    //     ASSERT(RuntimeEnabledFeatures::cssomSmoothScrollEnabled());
626
        return valueID == CSSValueAuto || valueID == CSSValueSmooth;
627
    //   return valueID == CSSValueAuto || valueID == CSSValueSmooth;
627
#endif
628
    case CSSPropertyShapeRendering:
628
    case CSSPropertyShapeRendering:
629
        return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || valueID == CSSValueCrispedges || valueID == CSSValueGeometricPrecision;
629
        return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || valueID == CSSValueCrispedges || valueID == CSSValueGeometricPrecision;
630
    case CSSPropertyStrokeLinejoin:
630
    case CSSPropertyStrokeLinejoin:
Lines 925-931 bool CSSParserFastPaths::isKeywordPropertyID(CSSPropertyID propertyId) a/Source/WebCore/css/parser/CSSParserFastPaths.cpp_sec2
925
    // case CSSPropertyFontKerning:
925
    // case CSSPropertyFontKerning:
926
    // case CSSPropertyHyphens:
926
    // case CSSPropertyHyphens:
927
    // case CSSPropertyOverflowAnchor:
927
    // case CSSPropertyOverflowAnchor:
928
    // case CSSPropertyScrollBehavior:
928
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
929
    case CSSPropertyScrollBehavior:
930
#endif
929
    // case CSSPropertyScrollSnapType:
931
    // case CSSPropertyScrollSnapType:
930
    // case CSSPropertyTextAlignLast:
932
    // case CSSPropertyTextAlignLast:
931
    // case CSSPropertyTextCombineUpright:
933
    // case CSSPropertyTextCombineUpright:
- a/Source/WebCore/dom/Element.cpp -8 / +26 lines
Lines 681-687 void Element::scrollIntoView(std::optional<Variant<bool, ScrollIntoViewOptions>> a/Source/WebCore/dom/Element.cpp_sec1
681
    bool insideFixed;
681
    bool insideFixed;
682
    LayoutRect absoluteBounds = renderer()->absoluteAnchorRect(&insideFixed);
682
    LayoutRect absoluteBounds = renderer()->absoluteAnchorRect(&insideFixed);
683
683
684
    // FIXME(webkit.org/b/188043): Support ScrollBehavior.
685
    ScrollIntoViewOptions options;
684
    ScrollIntoViewOptions options;
686
    if (arg) {
685
    if (arg) {
687
        auto value = arg.value();
686
        auto value = arg.value();
Lines 691-699 void Element::scrollIntoView(std::optional<Variant<bool, ScrollIntoViewOptions>> a/Source/WebCore/dom/Element.cpp_sec2
691
            options.blockPosition = ScrollLogicalPosition::End;
690
            options.blockPosition = ScrollLogicalPosition::End;
692
    }
691
    }
693
692
694
    ScrollAlignment alignX = toScrollAlignment(options.inlinePosition, false);
693
    ScrollRectToVisibleOptions scrollRectToVisibleOptions {
695
    ScrollAlignment alignY = toScrollAlignment(options.blockPosition, true);
694
        SelectionRevealMode::Reveal,
696
    renderer()->scrollRectToVisible(absoluteBounds, insideFixed, { SelectionRevealMode::Reveal, alignX, alignY, ShouldAllowCrossOriginScrolling::No });
695
        toScrollAlignment(options.inlinePosition, false),
696
        toScrollAlignment(options.blockPosition, true),
697
        ShouldAllowCrossOriginScrolling::No
698
    };
699
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
700
    if (options.behavior)
701
        scrollRectToVisibleOptions.behavior = options.behavior.value();
702
#endif
703
    renderer()->scrollRectToVisible(absoluteBounds, insideFixed, scrollRectToVisibleOptions);
697
}
704
}
698
705
699
void Element::scrollIntoView(bool alignToTop) 
706
void Element::scrollIntoView(bool alignToTop) 
Lines 752-758 void Element::scrollBy(const ScrollToOptions& options) a/Source/WebCore/dom/Element.cpp_sec3
752
759
753
void Element::scrollBy(double x, double y)
760
void Element::scrollBy(double x, double y)
754
{
761
{
755
    scrollBy({ x, y });
762
    scrollBy(fromCoordinates(x, y));
756
}
763
}
757
764
758
void Element::scrollTo(const ScrollToOptions& options, ScrollClamping clamping)
765
void Element::scrollTo(const ScrollToOptions& options, ScrollClamping clamping)
Lines 788-800 void Element::scrollTo(const ScrollToOptions& options, ScrollClamping clamping) a/Source/WebCore/dom/Element.cpp_sec4
788
        adjustForAbsoluteZoom(renderer->scrollLeft(), *renderer),
795
        adjustForAbsoluteZoom(renderer->scrollLeft(), *renderer),
789
        adjustForAbsoluteZoom(renderer->scrollTop(), *renderer)
796
        adjustForAbsoluteZoom(renderer->scrollTop(), *renderer)
790
    );
797
    );
791
    renderer->setScrollLeft(clampToInteger(scrollToOptions.left.value() * renderer->style().effectiveZoom()), clamping);
798
792
    renderer->setScrollTop(clampToInteger(scrollToOptions.top.value() * renderer->style().effectiveZoom()), clamping);
799
    IntPoint scrollPosition(
800
        clampToInteger(scrollToOptions.left.value() * renderer->style().effectiveZoom()),
801
        clampToInteger(scrollToOptions.top.value() * renderer->style().effectiveZoom())
802
    );
803
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
804
    if (useSmoothScrolling(scrollToOptions.behavior.value_or(ScrollBehavior::Auto), *this)) {
805
        renderer->scrollToPositionWithAnimation(scrollPosition, clamping);
806
        return;
807
    }
808
#endif
809
    renderer->setScrollLeft(scrollPosition.x(), clamping);
810
    renderer->setScrollTop(scrollPosition.y(), clamping);
793
}
811
}
794
812
795
void Element::scrollTo(double x, double y)
813
void Element::scrollTo(double x, double y)
796
{
814
{
797
    scrollTo({ x, y });
815
    scrollTo(fromCoordinates(x, y));
798
}
816
}
799
817
800
void Element::scrollByUnits(int units, ScrollGranularity granularity)
818
void Element::scrollByUnits(int units, ScrollGranularity granularity)
- a/Source/WebCore/page/DOMWindow.cpp -4 / +14 lines
Lines 1574-1580 double DOMWindow::devicePixelRatio() const a/Source/WebCore/page/DOMWindow.cpp_sec1
1574
1574
1575
void DOMWindow::scrollBy(double x, double y) const
1575
void DOMWindow::scrollBy(double x, double y) const
1576
{
1576
{
1577
    scrollBy({ x, y });
1577
    return scrollBy(fromCoordinates(x, y));
1578
}
1578
}
1579
1579
1580
void DOMWindow::scrollBy(const ScrollToOptions& options) const
1580
void DOMWindow::scrollBy(const ScrollToOptions& options) const
Lines 1596-1605 void DOMWindow::scrollBy(const ScrollToOptions& options) const a/Source/WebCore/page/DOMWindow.cpp_sec2
1596
1596
1597
void DOMWindow::scrollTo(double x, double y, ScrollClamping clamping) const
1597
void DOMWindow::scrollTo(double x, double y, ScrollClamping clamping) const
1598
{
1598
{
1599
    scrollTo({ x, y }, clamping);
1599
    return scrollTo(fromCoordinates(x, y), clamping);
1600
}
1600
}
1601
1601
1602
void DOMWindow::scrollTo(const ScrollToOptions& options, ScrollClamping) const
1602
void DOMWindow::scrollTo(const ScrollToOptions& options, ScrollClamping clamping) const
1603
{
1603
{
1604
    if (!isCurrentlyDisplayedInFrame())
1604
    if (!isCurrentlyDisplayedInFrame())
1605
        return;
1605
        return;
Lines 1612-1623 void DOMWindow::scrollTo(const ScrollToOptions& options, ScrollClamping) const a/Source/WebCore/page/DOMWindow.cpp_sec3
1612
        view->contentsScrollPosition().x(), view->contentsScrollPosition().y()
1612
        view->contentsScrollPosition().x(), view->contentsScrollPosition().y()
1613
    );
1613
    );
1614
1614
1615
    if (!scrollToOptions.left.value() && !scrollToOptions.top.value() && view->contentsScrollPosition() == IntPoint(0, 0))
1615
    if (!view->isScrollInProgress() && !scrollToOptions.left.value() && !scrollToOptions.top.value() && view->contentsScrollPosition() == IntPoint(0, 0))
1616
        return;
1616
        return;
1617
1617
1618
    document()->updateLayoutIgnorePendingStylesheets();
1618
    document()->updateLayoutIgnorePendingStylesheets();
1619
1619
1620
    IntPoint layoutPos(view->mapFromCSSToLayoutUnits(scrollToOptions.left.value()), view->mapFromCSSToLayoutUnits(scrollToOptions.top.value()));
1620
    IntPoint layoutPos(view->mapFromCSSToLayoutUnits(scrollToOptions.left.value()), view->mapFromCSSToLayoutUnits(scrollToOptions.top.value()));
1621
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
1622
    // FIXME: Should we use document()->scrollingElement()?
1623
    // See https://github.com/w3c/csswg-drafts/issues/2977
1624
    if (document()->documentElement() && useSmoothScrolling(scrollToOptions.behavior.value_or(ScrollBehavior::Auto), *document()->documentElement())) {
1625
        view->scrollToOffsetWithAnimation(layoutPos, clamping);
1626
        return;
1627
    }
1628
#else
1629
    ASSERT_UNUSED(clamping);
1630
#endif
1621
    view->setContentsScrollPosition(layoutPos);
1631
    view->setContentsScrollPosition(layoutPos);
1622
}
1632
}
1623
1633
- a/Source/WebCore/page/ScrollBehavior.cpp +52 lines
Line 0 a/Source/WebCore/page/ScrollBehavior.cpp_sec1
1
/*
2
 * Copyright (C) 2018 Igalia S.L.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
#include "config.h"
21
#include "ScrollBehavior.h"
22
23
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
24
25
#include "Element.h"
26
#include "RenderElement.h"
27
#include "RenderStyle.h"
28
#include "Settings.h"
29
30
namespace WebCore {
31
32
bool useSmoothScrolling(ScrollBehavior behavior, Element& associatedElement)
33
{
34
    if (!associatedElement.document().settings().cssomSmoothScrollingEnabled() || !associatedElement.renderer())
35
        return false;
36
37
    // https://drafts.csswg.org/cssom-view/#scrolling
38
    switch (behavior) {
39
    case ScrollBehavior::Auto:
40
        return associatedElement.renderer()->style().useSmoothScrolling();
41
    case ScrollBehavior::Instant:
42
        return false;
43
    case ScrollBehavior::Smooth:
44
        return true;
45
    }
46
    ASSERT_NOT_REACHED();
47
    return false;
48
}
49
50
} // namespace WebCore
51
52
#endif // ENABLE(CSSOM_SMOOTH_SCROLLING)
- a/Source/WebCore/page/ScrollBehavior.h +38 lines
Line 0 a/Source/WebCore/page/ScrollBehavior.h_sec1
1
/*
2
 * Copyright (C) 2018 Igalia S.L.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
#pragma once
21
22
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
23
24
namespace WebCore {
25
26
class Element;
27
28
enum class ScrollBehavior : uint8_t {
29
    Auto = 0,
30
    Instant,
31
    Smooth
32
};
33
34
bool useSmoothScrolling(ScrollBehavior, Element& associatedElement);
35
36
} // namespace WebCore
37
38
#endif // ENABLE(CSSOM_SMOOTH_SCROLLING)
- a/Source/WebCore/page/ScrollBehavior.idl +20 lines
Line 0 a/Source/WebCore/page/ScrollBehavior.idl_sec1
1
/*
2
 * Copyright (C) 2018 Igalia S.L.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
enum ScrollBehavior { "auto", "instant", "smooth" };
- a/Source/WebCore/page/ScrollIntoViewOptions.h -2 / +8 lines
Lines 21-31 a/Source/WebCore/page/ScrollIntoViewOptions.h_sec1
21
21
22
#include "ScrollLogicalPosition.h"
22
#include "ScrollLogicalPosition.h"
23
23
24
namespace WebCore {
24
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
25
#include "ScrollOptions.h"
26
#endif
25
27
26
class Element;
28
namespace WebCore {
27
29
30
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
31
struct ScrollIntoViewOptions : ScrollOptions {
32
#else
28
struct ScrollIntoViewOptions {
33
struct ScrollIntoViewOptions {
34
#endif
29
    std::optional<ScrollLogicalPosition> blockPosition { ScrollLogicalPosition::Start };
35
    std::optional<ScrollLogicalPosition> blockPosition { ScrollLogicalPosition::Start };
30
    std::optional<ScrollLogicalPosition> inlinePosition { ScrollLogicalPosition::Nearest };
36
    std::optional<ScrollLogicalPosition> inlinePosition { ScrollLogicalPosition::Nearest };
31
};
37
};
- a/Source/WebCore/page/ScrollIntoViewOptions.idl -1 / +4 lines
Lines 17-24 a/Source/WebCore/page/ScrollIntoViewOptions.idl_sec1
17
 * Boston, MA 02110-1301, USA.
17
 * Boston, MA 02110-1301, USA.
18
 */
18
 */
19
19
20
// FIXME(webkit.org/b/188043): Support ScrollBehavior.
20
#if defined(ENABLE_CSSOM_SMOOTH_SCROLLING) && ENABLE_CSSOM_SMOOTH_SCROLLING
21
dictionary ScrollIntoViewOptions : ScrollOptions {
22
#else
21
dictionary ScrollIntoViewOptions {
23
dictionary ScrollIntoViewOptions {
24
#endif
22
    [ImplementedAs=blockPosition] ScrollLogicalPosition block = "start";
25
    [ImplementedAs=blockPosition] ScrollLogicalPosition block = "start";
23
    [ImplementedAs=inlinePosition] ScrollLogicalPosition inline = "nearest";
26
    [ImplementedAs=inlinePosition] ScrollLogicalPosition inline = "nearest";
24
};
27
};
- a/Source/WebCore/page/ScrollOptions.h +34 lines
Line 0 a/Source/WebCore/page/ScrollOptions.h_sec1
1
/*
2
 * Copyright (C) 2018 Igalia S.L.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
#pragma once
21
22
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
23
24
#include "ScrollBehavior.h"
25
26
namespace WebCore {
27
28
struct ScrollOptions {
29
    std::optional<ScrollBehavior> behavior { ScrollBehavior::Auto };
30
};
31
32
} // namespace WebCore
33
34
#endif // ENABLE(CSSOM_SMOOTH_SCROLLING)
- a/Source/WebCore/page/ScrollOptions.idl +22 lines
Line 0 a/Source/WebCore/page/ScrollOptions.idl_sec1
1
/*
2
 * Copyright (C) 2018 Igalia S.L.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Library General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Library General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Library General Public License
15
 * along with this library; see the file COPYING.LIB.  If not, write to
16
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
 * Boston, MA 02110-1301, USA.
18
 */
19
20
dictionary ScrollOptions {
21
    ScrollBehavior behavior = "auto";
22
};
- a/Source/WebCore/page/ScrollToOptions.h -1 / +17 lines
Lines 31-43 a/Source/WebCore/page/ScrollToOptions.h_sec1
31
#include <cmath>
31
#include <cmath>
32
#include <wtf/Optional.h>
32
#include <wtf/Optional.h>
33
33
34
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
35
#include "ScrollOptions.h"
36
#endif
37
34
namespace WebCore {
38
namespace WebCore {
35
39
40
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
41
struct ScrollToOptions : ScrollOptions {
42
#else
36
struct ScrollToOptions {
43
struct ScrollToOptions {
44
#endif
37
    std::optional<double> left;
45
    std::optional<double> left;
38
    std::optional<double> top;
46
    std::optional<double> top;
39
};
47
};
40
48
49
inline ScrollToOptions fromCoordinates(double x, double y)
50
{
51
    ScrollToOptions options;
52
    options.left = x;
53
    options.top = y;
54
    return options;
55
};
56
41
inline double normalizeNonFiniteValueOrFallBackTo(std::optional<double> value, double fallbackValue)
57
inline double normalizeNonFiniteValueOrFallBackTo(std::optional<double> value, double fallbackValue)
42
{
58
{
43
    // Normalize non-finite values (https://drafts.csswg.org/cssom-view/#normalize-non-finite-values).
59
    // Normalize non-finite values (https://drafts.csswg.org/cssom-view/#normalize-non-finite-values).
Lines 47-53 inline double normalizeNonFiniteValueOrFallBackTo(std::optional<double> value, d a/Source/WebCore/page/ScrollToOptions.h_sec2
47
// FIXME(https://webkit.org/b/88339): Consider using FloatPoint or DoublePoint for fallback and return values.
63
// FIXME(https://webkit.org/b/88339): Consider using FloatPoint or DoublePoint for fallback and return values.
48
inline ScrollToOptions normalizeNonFiniteCoordinatesOrFallBackTo(const ScrollToOptions& value, double x, double y)
64
inline ScrollToOptions normalizeNonFiniteCoordinatesOrFallBackTo(const ScrollToOptions& value, double x, double y)
49
{
65
{
50
    ScrollToOptions options;
66
    ScrollToOptions options = value;
51
    options.left = normalizeNonFiniteValueOrFallBackTo(value.left, x);
67
    options.left = normalizeNonFiniteValueOrFallBackTo(value.left, x);
52
    options.top = normalizeNonFiniteValueOrFallBackTo(value.top, y);
68
    options.top = normalizeNonFiniteValueOrFallBackTo(value.top, y);
53
    return options;
69
    return options;
- a/Source/WebCore/page/ScrollToOptions.idl -1 / +4 lines
Lines 26-33 a/Source/WebCore/page/ScrollToOptions.idl_sec1
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
 */
27
 */
28
28
29
// FIXME(webkit.org/b/188043): Support ScrollBehavior.
29
#if defined(ENABLE_CSSOM_SMOOTH_SCROLLING) && ENABLE_CSSOM_SMOOTH_SCROLLING
30
dictionary ScrollToOptions : ScrollOptions {
31
#else
30
dictionary ScrollToOptions {
32
dictionary ScrollToOptions {
33
#endif
31
    unrestricted double left;
34
    unrestricted double left;
32
    unrestricted double top;
35
    unrestricted double top;
33
};
36
};
- a/Source/WebCore/page/Settings.yaml +3 lines
Lines 364-369 frameFlattening: a/Source/WebCore/page/Settings.yaml_sec1
364
asyncFrameScrollingEnabled:
364
asyncFrameScrollingEnabled:
365
  initial: false
365
  initial: false
366
  onChange: setNeedsRelayoutAllFrames
366
  onChange: setNeedsRelayoutAllFrames
367
cssomSmoothScrollingEnabled:
368
  type: bool
369
  initial: false
367
370
368
webSecurityEnabled:
371
webSecurityEnabled:
369
  initial: true
372
  initial: true
- a/Source/WebCore/platform/ScrollAnimation.h +3 lines
Lines 32-46 namespace WebCore { a/Source/WebCore/platform/ScrollAnimation.h_sec1
32
32
33
class FloatPoint;
33
class FloatPoint;
34
class ScrollableArea;
34
class ScrollableArea;
35
enum class ScrollClamping;
35
36
36
class ScrollAnimation {
37
class ScrollAnimation {
37
public:
38
public:
38
    virtual ~ScrollAnimation() { };
39
    virtual ~ScrollAnimation() { };
39
    virtual bool scroll(ScrollbarOrientation, ScrollGranularity, float /* step */, float /* multiplier */) { return true; };
40
    virtual bool scroll(ScrollbarOrientation, ScrollGranularity, float /* step */, float /* multiplier */) { return true; };
41
    virtual void scroll(const FloatPoint&, ScrollClamping) { };
40
    virtual void stop() = 0;
42
    virtual void stop() = 0;
41
    virtual void updateVisibleLengths() { };
43
    virtual void updateVisibleLengths() { };
42
    virtual void setCurrentPosition(const FloatPoint&) { };
44
    virtual void setCurrentPosition(const FloatPoint&) { };
43
    virtual void serviceAnimation() { };
45
    virtual void serviceAnimation() { };
46
    virtual bool isScrollInProgress() const { return false; }
44
47
45
protected:
48
protected:
46
    ScrollAnimation(ScrollableArea& scrollableArea)
49
    ScrollAnimation(ScrollableArea& scrollableArea)
- a/Source/WebCore/platform/ScrollAnimationKinetic.cpp +5 lines
Lines 163-166 void ScrollAnimationKinetic::animationTimerFired() a/Source/WebCore/platform/ScrollAnimationKinetic.cpp_sec1
163
    m_notifyPositionChangedFunction(FloatPoint(m_position));
163
    m_notifyPositionChangedFunction(FloatPoint(m_position));
164
}
164
}
165
165
166
bool ScrollAnimationKinetic::isScrollInProgress() const
167
{
168
    return m_animationTimer.isActive();
169
}
170
166
} // namespace WebCore
171
} // namespace WebCore
- a/Source/WebCore/platform/ScrollAnimationKinetic.h +1 lines
Lines 66-71 public: a/Source/WebCore/platform/ScrollAnimationKinetic.h_sec1
66
private:
66
private:
67
    void stop() override;
67
    void stop() override;
68
    void animationTimerFired();
68
    void animationTimerFired();
69
    bool isScrollInProgress() const override;
69
70
70
    std::function<void(FloatPoint&&)> m_notifyPositionChangedFunction;
71
    std::function<void(FloatPoint&&)> m_notifyPositionChangedFunction;
71
72
- a/Source/WebCore/platform/ScrollAnimationSmooth.cpp -3 / +23 lines
Lines 28-34 a/Source/WebCore/platform/ScrollAnimationSmooth.cpp_sec1
28
#include "config.h"
28
#include "config.h"
29
#include "ScrollAnimationSmooth.h"
29
#include "ScrollAnimationSmooth.h"
30
30
31
#if ENABLE(SMOOTH_SCROLLING)
31
#if ENABLE(SMOOTH_SCROLLING) || ENABLE(CSSOM_SMOOTH_SCROLLING)
32
32
33
#include "FloatPoint.h"
33
#include "FloatPoint.h"
34
#include "ScrollableArea.h"
34
#include "ScrollableArea.h"
Lines 38-43 namespace WebCore { a/Source/WebCore/platform/ScrollAnimationSmooth.cpp_sec2
38
static const double frameRate = 60;
38
static const double frameRate = 60;
39
static const Seconds tickTime = 1_s / frameRate;
39
static const Seconds tickTime = 1_s / frameRate;
40
static const Seconds minimumTimerInterval { 1_ms };
40
static const Seconds minimumTimerInterval { 1_ms };
41
static const double smoothFactorForProgrammaticScroll = 5;
41
42
42
ScrollAnimationSmooth::ScrollAnimationSmooth(ScrollableArea& scrollableArea, const FloatPoint& position, WTF::Function<void (FloatPoint&&)>&& notifyPositionChangedFunction)
43
ScrollAnimationSmooth::ScrollAnimationSmooth(ScrollableArea& scrollableArea, const FloatPoint& position, WTF::Function<void (FloatPoint&&)>&& notifyPositionChangedFunction)
43
    : ScrollAnimation(scrollableArea)
44
    : ScrollAnimation(scrollableArea)
Lines 67-72 bool ScrollAnimationSmooth::scroll(ScrollbarOrientation orientation, ScrollGranu a/Source/WebCore/platform/ScrollAnimationSmooth.cpp_sec3
67
    return needToScroll;
68
    return needToScroll;
68
}
69
}
69
70
71
void ScrollAnimationSmooth::scroll(const FloatPoint& position, ScrollClamping)
72
{
73
    // FIXME: Consider clamping?
74
    ScrollGranularity granularity = ScrollByPage;
75
    bool needToScroll = updatePerAxisData(m_horizontalData, granularity, position.x() - m_horizontalData.currentPosition, m_scrollableArea.minimumScrollPosition().x(), m_scrollableArea.maximumScrollPosition().x(), smoothFactorForProgrammaticScroll);
76
    needToScroll |=
77
        updatePerAxisData(m_verticalData, granularity, position.y() - m_verticalData.currentPosition, m_scrollableArea.minimumScrollPosition().y(), m_scrollableArea.maximumScrollPosition().y(), smoothFactorForProgrammaticScroll);
78
    if (needToScroll && !animationTimerActive()) {
79
        m_startTime = m_horizontalData.startTime;
80
        animationTimerFired();
81
    }
82
};
83
70
void ScrollAnimationSmooth::stop()
84
void ScrollAnimationSmooth::stop()
71
{
85
{
72
    m_animationTimer.stop();
86
    m_animationTimer.stop();
Lines 247-253 static inline void getAnimationParametersForGranularity(ScrollGranularity granul a/Source/WebCore/platform/ScrollAnimationSmooth.cpp_sec4
247
    }
261
    }
248
}
262
}
249
263
250
bool ScrollAnimationSmooth::updatePerAxisData(PerAxisData& data, ScrollGranularity granularity, float delta, float minScrollPosition, float maxScrollPosition)
264
bool ScrollAnimationSmooth::updatePerAxisData(PerAxisData& data, ScrollGranularity granularity, float delta, float minScrollPosition, float maxScrollPosition, double smoothFactor)
251
{
265
{
252
    if (!data.startTime || !delta || (delta < 0) != (data.desiredPosition - data.currentPosition < 0)) {
266
    if (!data.startTime || !delta || (delta < 0) != (data.desiredPosition - data.currentPosition < 0)) {
253
        data.desiredPosition = data.currentPosition;
267
        data.desiredPosition = data.currentPosition;
Lines 264-269 bool ScrollAnimationSmooth::updatePerAxisData(PerAxisData& data, ScrollGranulari a/Source/WebCore/platform/ScrollAnimationSmooth.cpp_sec5
264
    Curve coastTimeCurve;
278
    Curve coastTimeCurve;
265
    getAnimationParametersForGranularity(granularity, animationTime, repeatMinimumSustainTime, attackTime, releaseTime, coastTimeCurve, maximumCoastTime);
279
    getAnimationParametersForGranularity(granularity, animationTime, repeatMinimumSustainTime, attackTime, releaseTime, coastTimeCurve, maximumCoastTime);
266
280
281
    animationTime *= smoothFactor;
282
    repeatMinimumSustainTime *= smoothFactor;
283
    attackTime *= smoothFactor;
284
    releaseTime *= smoothFactor;
285
    maximumCoastTime *= smoothFactor;
286
267
    data.desiredPosition = newPosition;
287
    data.desiredPosition = newPosition;
268
    if (!data.startTime)
288
    if (!data.startTime)
269
        data.attackTime = attackTime;
289
        data.attackTime = attackTime;
Lines 408-411 bool ScrollAnimationSmooth::animationTimerActive() const a/Source/WebCore/platform/ScrollAnimationSmooth.cpp_sec6
408
428
409
} // namespace WebCore
429
} // namespace WebCore
410
430
411
#endif // ENABLE(SMOOTH_SCROLLING)
431
#endif // ENABLE(SMOOTH_SCROLLING) || ENABLE(CSSOM_SMOOTH_SCROLLING)
- a/Source/WebCore/platform/ScrollAnimationSmooth.h -3 / +6 lines
Lines 27-33 a/Source/WebCore/platform/ScrollAnimationSmooth.h_sec1
27
27
28
#include "ScrollAnimation.h"
28
#include "ScrollAnimation.h"
29
29
30
#if ENABLE(SMOOTH_SCROLLING)
30
#if ENABLE(SMOOTH_SCROLLING) || ENABLE(CSSOM_SMOOTH_SCROLLING)
31
31
32
#include "Timer.h"
32
#include "Timer.h"
33
33
Lines 35-40 namespace WebCore { a/Source/WebCore/platform/ScrollAnimationSmooth.h_sec2
35
35
36
class FloatPoint;
36
class FloatPoint;
37
class ScrollableArea;
37
class ScrollableArea;
38
enum class ScrollClamping;
38
39
39
class ScrollAnimationSmooth final: public ScrollAnimation {
40
class ScrollAnimationSmooth final: public ScrollAnimation {
40
public:
41
public:
Lines 51-59 public: a/Source/WebCore/platform/ScrollAnimationSmooth.h_sec3
51
52
52
private:
53
private:
53
    bool scroll(ScrollbarOrientation, ScrollGranularity, float step, float multiplier) override;
54
    bool scroll(ScrollbarOrientation, ScrollGranularity, float step, float multiplier) override;
55
    void scroll(const FloatPoint&, ScrollClamping) override;
54
    void stop() override;
56
    void stop() override;
55
    void updateVisibleLengths() override;
57
    void updateVisibleLengths() override;
56
    void setCurrentPosition(const FloatPoint&) override;
58
    void setCurrentPosition(const FloatPoint&) override;
59
    bool isScrollInProgress() const override { return animationTimerActive(); }
57
60
58
    struct PerAxisData {
61
    struct PerAxisData {
59
        PerAxisData() = delete;
62
        PerAxisData() = delete;
Lines 89-95 private: a/Source/WebCore/platform/ScrollAnimationSmooth.h_sec4
89
        int visibleLength { 0 };
92
        int visibleLength { 0 };
90
    };
93
    };
91
94
92
    bool updatePerAxisData(PerAxisData&, ScrollGranularity, float delta, float minScrollPosition, float maxScrollPosition);
95
    bool updatePerAxisData(PerAxisData&, ScrollGranularity, float delta, float minScrollPosition, float maxScrollPosition, double smoothFactor = 1);
93
    bool animateScroll(PerAxisData&, MonotonicTime currentTime);
96
    bool animateScroll(PerAxisData&, MonotonicTime currentTime);
94
97
95
    void requestAnimationTimerFired();
98
    void requestAnimationTimerFired();
Lines 108-111 private: a/Source/WebCore/platform/ScrollAnimationSmooth.h_sec5
108
111
109
} // namespace WebCore
112
} // namespace WebCore
110
113
111
#endif // ENABLE(SMOOTH_SCROLLING)
114
#endif // ENABLE(SMOOTH_SCROLLING) || ENABLE(CSSOM_SMOOTH_SCROLLING)
- a/Source/WebCore/platform/ScrollAnimator.cpp +61 lines
Lines 38-43 a/Source/WebCore/platform/ScrollAnimator.cpp_sec1
38
#include "ScrollableArea.h"
38
#include "ScrollableArea.h"
39
#include <algorithm>
39
#include <algorithm>
40
40
41
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
42
#include "ScrollAnimationSmooth.h"
43
#endif
44
41
namespace WebCore {
45
namespace WebCore {
42
46
43
#if !ENABLE(SMOOTH_SCROLLING) && !PLATFORM(IOS) && !PLATFORM(MAC)
47
#if !ENABLE(SMOOTH_SCROLLING) && !PLATFORM(IOS) && !PLATFORM(MAC)
Lines 52-62 ScrollAnimator::ScrollAnimator(ScrollableArea& scrollableArea) a/Source/WebCore/platform/ScrollAnimator.cpp_sec2
52
#if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)
56
#if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)
53
    , m_scrollController(*this)
57
    , m_scrollController(*this)
54
#endif
58
#endif
59
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
60
    , m_animationProgrammaticScroll(std::make_unique<ScrollAnimationSmooth>(scrollableArea, m_currentPosition, [this](FloatPoint&& position) {
61
        FloatSize delta = position - m_currentPosition;
62
        m_currentPosition = WTFMove(position);
63
        notifyPositionChanged(delta);
64
    }))
65
#endif
55
{
66
{
56
}
67
}
57
68
58
ScrollAnimator::~ScrollAnimator() = default;
69
ScrollAnimator::~ScrollAnimator() = default;
59
70
71
bool ScrollAnimator::isScrollInProgress() const
72
{
73
    // FIXME (TODO): This should also take into account animations in derived classes.
74
    return m_animationProgrammaticScroll->isScrollInProgress();
75
}
76
60
bool ScrollAnimator::scroll(ScrollbarOrientation orientation, ScrollGranularity, float step, float multiplier)
77
bool ScrollAnimator::scroll(ScrollbarOrientation orientation, ScrollGranularity, float step, float multiplier)
61
{
78
{
62
    FloatPoint currentPosition = this->currentPosition();
79
    FloatPoint currentPosition = this->currentPosition();
Lines 75-80 bool ScrollAnimator::scroll(ScrollbarOrientation orientation, ScrollGranularity, a/Source/WebCore/platform/ScrollAnimator.cpp_sec3
75
    return true;
92
    return true;
76
}
93
}
77
94
95
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
96
void ScrollAnimator::scrollToOffset(const FloatPoint& offset, ScrollClamping clamping)
97
{
98
    m_animationProgrammaticScroll->setCurrentPosition(m_currentPosition);
99
    auto newPosition = ScrollableArea::scrollPositionFromOffset(offset, toFloatSize(m_scrollableArea.scrollOrigin()));
100
    m_animationProgrammaticScroll->scroll(newPosition, clamping);
101
}
102
#endif
103
78
void ScrollAnimator::scrollToOffsetWithoutAnimation(const FloatPoint& offset, ScrollClamping)
104
void ScrollAnimator::scrollToOffsetWithoutAnimation(const FloatPoint& offset, ScrollClamping)
79
{
105
{
80
    FloatPoint newPositon = ScrollableArea::scrollPositionFromOffset(offset, toFloatSize(m_scrollableArea.scrollOrigin()));
106
    FloatPoint newPositon = ScrollableArea::scrollPositionFromOffset(offset, toFloatSize(m_scrollableArea.scrollOrigin()));
Lines 245-248 void ScrollAnimator::removeTestDeferralForReason(WheelEventTestTrigger::Scrollab a/Source/WebCore/platform/ScrollAnimator.cpp_sec4
245
}
271
}
246
#endif
272
#endif
247
273
274
void ScrollAnimator::cancelAnimations()
275
{
276
#if ENABLE(CSSOM_SMOOTH_SCROLLING) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
277
    m_animationProgrammaticScroll->stop();
278
#endif
279
}
280
281
void ScrollAnimator::serviceScrollAnimations()
282
{
283
#if ENABLE(CSSOM_SMOOTH_SCROLLING) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
284
    m_animationProgrammaticScroll->serviceAnimation();
285
#endif
286
}
287
288
void ScrollAnimator::willEndLiveResize()
289
{
290
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
291
    m_animationProgrammaticScroll->updateVisibleLengths();
292
#endif
293
}
294
295
void ScrollAnimator::didAddVerticalScrollbar(Scrollbar*)
296
{
297
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
298
    m_animationProgrammaticScroll->updateVisibleLengths();
299
#endif
300
}
301
302
void ScrollAnimator::didAddHorizontalScrollbar(Scrollbar*)
303
{
304
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
305
    m_animationProgrammaticScroll->updateVisibleLengths();
306
#endif
307
}
308
248
} // namespace WebCore
309
} // namespace WebCore
- a/Source/WebCore/platform/ScrollAnimator.h -5 / +17 lines
Lines 50-55 class ScrollableArea; a/Source/WebCore/platform/ScrollAnimator.h_sec1
50
class Scrollbar;
50
class Scrollbar;
51
class WheelEventTestTrigger;
51
class WheelEventTestTrigger;
52
52
53
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
54
class ScrollAnimation;
55
#endif
56
53
#if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)
57
#if ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)
54
class ScrollAnimator : private ScrollControllerClient {
58
class ScrollAnimator : private ScrollControllerClient {
55
#else
59
#else
Lines 68-73 public: a/Source/WebCore/platform/ScrollAnimator.h_sec2
68
    // The base class implementation always scrolls immediately, never animates.
72
    // The base class implementation always scrolls immediately, never animates.
69
    virtual bool scroll(ScrollbarOrientation, ScrollGranularity, float step, float multiplier);
73
    virtual bool scroll(ScrollbarOrientation, ScrollGranularity, float step, float multiplier);
70
74
75
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
76
    void scrollToOffset(const FloatPoint&, ScrollClamping = ScrollClamping::Clamped);
77
#endif
71
    virtual void scrollToOffsetWithoutAnimation(const FloatPoint&, ScrollClamping = ScrollClamping::Clamped);
78
    virtual void scrollToOffsetWithoutAnimation(const FloatPoint&, ScrollClamping = ScrollClamping::Clamped);
72
79
73
    ScrollableArea& scrollableArea() const { return m_scrollableArea; }
80
    ScrollableArea& scrollableArea() const { return m_scrollableArea; }
Lines 85-92 public: a/Source/WebCore/platform/ScrollAnimator.h_sec3
85
    void setCurrentPosition(const FloatPoint&);
92
    void setCurrentPosition(const FloatPoint&);
86
    const FloatPoint& currentPosition() const { return m_currentPosition; }
93
    const FloatPoint& currentPosition() const { return m_currentPosition; }
87
94
88
    virtual void cancelAnimations() { }
95
    virtual void cancelAnimations();
89
    virtual void serviceScrollAnimations() { }
96
    virtual void serviceScrollAnimations();
90
97
91
    virtual void contentAreaWillPaint() const { }
98
    virtual void contentAreaWillPaint() const { }
92
    virtual void mouseEnteredContentArea() { }
99
    virtual void mouseEnteredContentArea() { }
Lines 97-112 public: a/Source/WebCore/platform/ScrollAnimator.h_sec4
97
    virtual void mouseIsDownInScrollbar(Scrollbar*, bool) const { }
104
    virtual void mouseIsDownInScrollbar(Scrollbar*, bool) const { }
98
    virtual void willStartLiveResize() { }
105
    virtual void willStartLiveResize() { }
99
    virtual void contentsResized() const { }
106
    virtual void contentsResized() const { }
100
    virtual void willEndLiveResize() { }
107
    virtual void willEndLiveResize();
101
    virtual void contentAreaDidShow() { }
108
    virtual void contentAreaDidShow() { }
102
    virtual void contentAreaDidHide() { }
109
    virtual void contentAreaDidHide() { }
103
110
104
    virtual void lockOverlayScrollbarStateToHidden(bool) { }
111
    virtual void lockOverlayScrollbarStateToHidden(bool) { }
105
    virtual bool scrollbarsCanBeActive() const { return true; }
112
    virtual bool scrollbarsCanBeActive() const { return true; }
106
113
107
    virtual void didAddVerticalScrollbar(Scrollbar*) { }
114
    virtual void didAddVerticalScrollbar(Scrollbar*);
108
    virtual void willRemoveVerticalScrollbar(Scrollbar*) { }
115
    virtual void willRemoveVerticalScrollbar(Scrollbar*) { }
109
    virtual void didAddHorizontalScrollbar(Scrollbar*) { }
116
    virtual void didAddHorizontalScrollbar(Scrollbar*);
110
    virtual void willRemoveHorizontalScrollbar(Scrollbar*) { }
117
    virtual void willRemoveHorizontalScrollbar(Scrollbar*) { }
111
118
112
    virtual void invalidateScrollbarPartLayers(Scrollbar*) { }
119
    virtual void invalidateScrollbarPartLayers(Scrollbar*) { }
Lines 120-125 public: a/Source/WebCore/platform/ScrollAnimator.h_sec5
120
127
121
    virtual bool isRubberBandInProgress() const { return false; }
128
    virtual bool isRubberBandInProgress() const { return false; }
122
    virtual bool isScrollSnapInProgress() const { return false; }
129
    virtual bool isScrollSnapInProgress() const { return false; }
130
    bool isScrollInProgress() const;
123
131
124
    void setWheelEventTestTrigger(RefPtr<WheelEventTestTrigger>&& testTrigger) { m_wheelEventTestTrigger = testTrigger; }
132
    void setWheelEventTestTrigger(RefPtr<WheelEventTestTrigger>&& testTrigger) { m_wheelEventTestTrigger = testTrigger; }
125
#if (ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)) && PLATFORM(MAC)
133
#if (ENABLE(CSS_SCROLL_SNAP) || ENABLE(RUBBER_BANDING)) && PLATFORM(MAC)
Lines 150-155 protected: a/Source/WebCore/platform/ScrollAnimator.h_sec6
150
    ScrollController m_scrollController;
158
    ScrollController m_scrollController;
151
#endif
159
#endif
152
    FloatPoint m_currentPosition;
160
    FloatPoint m_currentPosition;
161
162
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
163
    std::unique_ptr<ScrollAnimation> m_animationProgrammaticScroll;
164
#endif
153
};
165
};
154
166
155
} // namespace WebCore
167
} // namespace WebCore
- a/Source/WebCore/platform/ScrollAnimatorSmooth.cpp -2 / +8 lines
Lines 63-68 bool ScrollAnimatorSmooth::scroll(ScrollbarOrientation orientation, ScrollGranul a/Source/WebCore/platform/ScrollAnimatorSmooth.cpp_sec1
63
    if (!m_scrollableArea.scrollAnimatorEnabled())
63
    if (!m_scrollableArea.scrollAnimatorEnabled())
64
        return ScrollAnimator::scroll(orientation, granularity, step, multiplier);
64
        return ScrollAnimator::scroll(orientation, granularity, step, multiplier);
65
65
66
    m_animation->setCurrentPosition(m_currentPosition);
66
    return m_animation->scroll(orientation, granularity, step, multiplier);
67
    return m_animation->scroll(orientation, granularity, step, multiplier);
67
}
68
}
68
69
Lines 79-105 void ScrollAnimatorSmooth::scrollToOffsetWithoutAnimation(const FloatPoint& offs a/Source/WebCore/platform/ScrollAnimatorSmooth.cpp_sec2
79
#if !USE(REQUEST_ANIMATION_FRAME_TIMER)
80
#if !USE(REQUEST_ANIMATION_FRAME_TIMER)
80
void ScrollAnimatorSmooth::cancelAnimations()
81
void ScrollAnimatorSmooth::cancelAnimations()
81
{
82
{
83
    ScrollAnimator::cancelAnimations();
82
    m_animation->stop();
84
    m_animation->stop();
83
}
85
}
84
86
85
void ScrollAnimatorSmooth::serviceScrollAnimations()
87
void ScrollAnimatorSmooth::serviceScrollAnimations()
86
{
88
{
89
    ScrollAnimator::serviceScrollAnimations();
87
    m_animation->serviceAnimation();
90
    m_animation->serviceAnimation();
88
}
91
}
89
#endif
92
#endif
90
93
91
void ScrollAnimatorSmooth::willEndLiveResize()
94
void ScrollAnimatorSmooth::willEndLiveResize()
92
{
95
{
96
    ScrollAnimator::willEndLiveResize();
93
    m_animation->updateVisibleLengths();
97
    m_animation->updateVisibleLengths();
94
}
98
}
95
99
96
void ScrollAnimatorSmooth::didAddVerticalScrollbar(Scrollbar*)
100
void ScrollAnimatorSmooth::didAddVerticalScrollbar(Scrollbar* scrollbar)
97
{
101
{
102
    ScrollAnimator::didAddVerticalScrollbar(scrollbar);
98
    m_animation->updateVisibleLengths();
103
    m_animation->updateVisibleLengths();
99
}
104
}
100
105
101
void ScrollAnimatorSmooth::didAddHorizontalScrollbar(Scrollbar*)
106
void ScrollAnimatorSmooth::didAddHorizontalScrollbar(Scrollbar* scrollbar)
102
{
107
{
108
    ScrollAnimator::didAddHorizontalScrollbar(scrollbar);
103
    m_animation->updateVisibleLengths();
109
    m_animation->updateVisibleLengths();
104
}
110
}
105
111
- a/Source/WebCore/platform/ScrollView.cpp -1 / +5 lines
Lines 501-509 void ScrollView::setScrollPosition(const ScrollPosition& scrollPosition) a/Source/WebCore/platform/ScrollView.cpp_sec1
501
501
502
    ScrollPosition newScrollPosition = !delegatesScrolling() ? adjustScrollPositionWithinRange(scrollPosition) : scrollPosition;
502
    ScrollPosition newScrollPosition = !delegatesScrolling() ? adjustScrollPositionWithinRange(scrollPosition) : scrollPosition;
503
503
504
    if ((!delegatesScrolling() || !inProgrammaticScroll()) && newScrollPosition == this->scrollPosition())
504
    bool scrollInProgress = isScrollInProgress();
505
    if ((!delegatesScrolling() || !inProgrammaticScroll()) && !scrollInProgress && newScrollPosition == this->scrollPosition())
505
        return;
506
        return;
506
507
508
    if (scrollInProgress)
509
        scrollAnimator().cancelAnimations();
510
507
    if (requestScrollPositionUpdate(newScrollPosition))
511
    if (requestScrollPositionUpdate(newScrollPosition))
508
        return;
512
        return;
509
513
- a/Source/WebCore/platform/ScrollableArea.cpp +13 lines
Lines 100-105 float ScrollableArea::adjustScrollStepForFixedContent(float step, ScrollbarOrien a/Source/WebCore/platform/ScrollableArea.cpp_sec1
100
    return step;
100
    return step;
101
}
101
}
102
102
103
bool ScrollableArea::isScrollInProgress() const
104
{
105
    return m_scrollAnimator && scrollAnimator().isScrollInProgress();
106
}
107
103
bool ScrollableArea::scroll(ScrollDirection direction, ScrollGranularity granularity, float multiplier)
108
bool ScrollableArea::scroll(ScrollDirection direction, ScrollGranularity granularity, float multiplier)
104
{
109
{
105
    ScrollbarOrientation orientation;
110
    ScrollbarOrientation orientation;
Lines 138-143 bool ScrollableArea::scroll(ScrollDirection direction, ScrollGranularity granula a/Source/WebCore/platform/ScrollableArea.cpp_sec2
138
    return scrollAnimator().scroll(orientation, granularity, step, multiplier);
143
    return scrollAnimator().scroll(orientation, granularity, step, multiplier);
139
}
144
}
140
145
146
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
147
void ScrollableArea::scrollToOffsetWithAnimation(const FloatPoint& offset, ScrollClamping clamping)
148
{
149
    LOG_WITH_STREAM(Scrolling, stream << "ScrollableArea " << this << " scrollToOffset " << offset);
150
    scrollAnimator().scrollToOffset(offset, clamping);
151
}
152
#endif
153
141
void ScrollableArea::scrollToOffsetWithoutAnimation(const FloatPoint& offset, ScrollClamping clamping)
154
void ScrollableArea::scrollToOffsetWithoutAnimation(const FloatPoint& offset, ScrollClamping clamping)
142
{
155
{
143
    LOG_WITH_STREAM(Scrolling, stream << "ScrollableArea " << this << " scrollToOffsetWithoutAnimation " << offset);
156
    LOG_WITH_STREAM(Scrolling, stream << "ScrollableArea " << this << " scrollToOffsetWithoutAnimation " << offset);
- a/Source/WebCore/platform/ScrollableArea.h +4 lines
Lines 50-56 typedef IntPoint ScrollOffset; a/Source/WebCore/platform/ScrollableArea.h_sec1
50
50
51
class ScrollableArea : public CanMakeWeakPtr<ScrollableArea> {
51
class ScrollableArea : public CanMakeWeakPtr<ScrollableArea> {
52
public:
52
public:
53
    WEBCORE_EXPORT bool isScrollInProgress() const;
53
    WEBCORE_EXPORT bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1);
54
    WEBCORE_EXPORT bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1);
55
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
56
    WEBCORE_EXPORT void scrollToOffsetWithAnimation(const FloatPoint&, ScrollClamping = ScrollClamping::Clamped);
57
#endif
54
    WEBCORE_EXPORT void scrollToOffsetWithoutAnimation(const FloatPoint&, ScrollClamping = ScrollClamping::Clamped);
58
    WEBCORE_EXPORT void scrollToOffsetWithoutAnimation(const FloatPoint&, ScrollClamping = ScrollClamping::Clamped);
55
    void scrollToOffsetWithoutAnimation(ScrollbarOrientation, float offset);
59
    void scrollToOffsetWithoutAnimation(ScrollbarOrientation, float offset);
56
60
- a/Source/WebCore/rendering/RenderBox.cpp +10 lines
Lines 586-591 void RenderBox::setScrollTop(int newTop, ScrollClamping clamping) a/Source/WebCore/rendering/RenderBox.cpp_sec1
586
    layer()->scrollToYPosition(newTop, clamping);
586
    layer()->scrollToYPosition(newTop, clamping);
587
}
587
}
588
588
589
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
590
void RenderBox::scrollToPositionWithAnimation(ScrollPosition scrollPosition, ScrollClamping clamping)
591
{
592
    if (!hasOverflowClip() || !layer())
593
        return;
594
    setupWheelEventTestTrigger(*layer());
595
    layer()->scrollToOffsetWithAnimation(scrollPosition, clamping);
596
}
597
#endif
598
589
void RenderBox::absoluteRects(Vector<IntRect>& rects, const LayoutPoint& accumulatedOffset) const
599
void RenderBox::absoluteRects(Vector<IntRect>& rects, const LayoutPoint& accumulatedOffset) const
590
{
600
{
591
    rects.append(snappedIntRect(accumulatedOffset, size()));
601
    rects.append(snappedIntRect(accumulatedOffset, size()));
- a/Source/WebCore/rendering/RenderBox.h +3 lines
Lines 245-250 public: a/Source/WebCore/rendering/RenderBox.h_sec1
245
    virtual int scrollHeight() const;
245
    virtual int scrollHeight() const;
246
    virtual void setScrollLeft(int, ScrollClamping = ScrollClamping::Clamped);
246
    virtual void setScrollLeft(int, ScrollClamping = ScrollClamping::Clamped);
247
    virtual void setScrollTop(int, ScrollClamping = ScrollClamping::Clamped);
247
    virtual void setScrollTop(int, ScrollClamping = ScrollClamping::Clamped);
248
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
249
    void scrollToPositionWithAnimation(ScrollPosition, ScrollClamping = ScrollClamping::Clamped);
250
#endif
248
251
249
    LayoutUnit marginTop() const override { return m_marginBox.top(); }
252
    LayoutUnit marginTop() const override { return m_marginBox.top(); }
250
    LayoutUnit marginBottom() const override { return m_marginBox.bottom(); }
253
    LayoutUnit marginBottom() const override { return m_marginBox.bottom(); }
- a/Source/WebCore/rendering/RenderLayer.cpp -5 / +46 lines
Lines 131-136 a/Source/WebCore/rendering/RenderLayer.cpp_sec1
131
#include <wtf/text/CString.h>
131
#include <wtf/text/CString.h>
132
#include <wtf/text/TextStream.h>
132
#include <wtf/text/TextStream.h>
133
133
134
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
135
#include "ScrollBehavior.h"
136
#endif
137
134
#if ENABLE(CSS_SCROLL_SNAP)
138
#if ENABLE(CSS_SCROLL_SNAP)
135
#include "AxisScrollSnapOffsets.h"
139
#include "AxisScrollSnapOffsets.h"
136
#endif
140
#endif
Lines 2361-2370 ScrollOffset RenderLayer::clampScrollOffset(const ScrollOffset& scrollOffset) co a/Source/WebCore/rendering/RenderLayer.cpp_sec2
2361
void RenderLayer::scrollToOffset(const ScrollOffset& scrollOffset, ScrollClamping clamping)
2365
void RenderLayer::scrollToOffset(const ScrollOffset& scrollOffset, ScrollClamping clamping)
2362
{
2366
{
2363
    ScrollOffset newScrollOffset = clamping == ScrollClamping::Clamped ? clampScrollOffset(scrollOffset) : scrollOffset;
2367
    ScrollOffset newScrollOffset = clamping == ScrollClamping::Clamped ? clampScrollOffset(scrollOffset) : scrollOffset;
2364
    if (newScrollOffset != this->scrollOffset())
2368
    bool scrollInProgress = isScrollInProgress();
2369
    if (scrollInProgress)
2370
        scrollAnimator().cancelAnimations();
2371
    if (scrollInProgress || newScrollOffset != this->scrollOffset())
2365
        scrollToOffsetWithoutAnimation(newScrollOffset, clamping);
2372
        scrollToOffsetWithoutAnimation(newScrollOffset, clamping);
2366
}
2373
}
2367
2374
2375
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
2376
void RenderLayer::scrollToOffsetWithAnimation(const ScrollOffset& scrollOffset, ScrollClamping clamping)
2377
{
2378
    ScrollOffset newScrollOffset = clamping == ScrollClamping::Clamped ? clampScrollOffset(scrollOffset) : scrollOffset;
2379
    bool scrollInProgress = isScrollInProgress();
2380
    if (scrollInProgress)
2381
        scrollAnimator().cancelAnimations();
2382
    if (scrollInProgress || newScrollOffset != this->scrollOffset())
2383
        ScrollableArea::scrollToOffsetWithAnimation(newScrollOffset, clamping);
2384
}
2385
#endif
2386
2368
void RenderLayer::scrollTo(const ScrollPosition& position)
2387
void RenderLayer::scrollTo(const ScrollPosition& position)
2369
{
2388
{
2370
    RenderBox* box = renderBox();
2389
    RenderBox* box = renderBox();
Lines 2504-2509 bool RenderLayer::allowsCurrentScroll() const a/Source/WebCore/rendering/RenderLayer.cpp_sec3
2504
2523
2505
void RenderLayer::scrollRectToVisible(const LayoutRect& absoluteRect, bool insideFixed, const ScrollRectToVisibleOptions& options)
2524
void RenderLayer::scrollRectToVisible(const LayoutRect& absoluteRect, bool insideFixed, const ScrollRectToVisibleOptions& options)
2506
{
2525
{
2526
    // FIXME (TODO): Make this work for nested scrollable boxes when a smooth scrolling must be performed.
2527
    // See https://github.com/w3c/csswg-drafts/issues/3127 for proposed algorithms.
2507
    LOG_WITH_STREAM(Scrolling, stream << "Layer " << this << " scrollRectToVisible " << absoluteRect);
2528
    LOG_WITH_STREAM(Scrolling, stream << "Layer " << this << " scrollRectToVisible " << absoluteRect);
2508
2529
2509
    RenderLayer* parentLayer = nullptr;
2530
    RenderLayer* parentLayer = nullptr;
Lines 2526-2534 void RenderLayer::scrollRectToVisible(const LayoutRect& absoluteRect, bool insid a/Source/WebCore/rendering/RenderLayer.cpp_sec4
2526
        LayoutRect revealRect = getRectToExpose(layerBounds, localExposeRect, insideFixed, options.alignX, options.alignY);
2547
        LayoutRect revealRect = getRectToExpose(layerBounds, localExposeRect, insideFixed, options.alignX, options.alignY);
2527
2548
2528
        ScrollOffset clampedScrollOffset = clampScrollOffset(scrollOffset() + toIntSize(roundedIntRect(revealRect).location()));
2549
        ScrollOffset clampedScrollOffset = clampScrollOffset(scrollOffset() + toIntSize(roundedIntRect(revealRect).location()));
2529
        if (clampedScrollOffset != scrollOffset()) {
2550
        if (isScrollInProgress() || clampedScrollOffset != scrollOffset()) {
2530
            ScrollOffset oldScrollOffset = scrollOffset();
2551
            ScrollOffset oldScrollOffset = scrollOffset();
2531
            scrollToOffset(clampedScrollOffset);
2552
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
2553
            if (box->element() && useSmoothScrolling(options.behavior, *box->element()))
2554
                scrollToOffsetWithAnimation(clampedScrollOffset);
2555
            else
2556
#endif
2557
                scrollToOffset(clampedScrollOffset);
2532
            IntSize scrollOffsetDifference = scrollOffset() - oldScrollOffset;
2558
            IntSize scrollOffsetDifference = scrollOffset() - oldScrollOffset;
2533
            localExposeRect.move(-scrollOffsetDifference);
2559
            localExposeRect.move(-scrollOffsetDifference);
2534
            newRect = LayoutRect(box->localToAbsoluteQuad(FloatQuad(FloatRect(localExposeRect)), UseTransforms).boundingBox());
2560
            newRect = LayoutRect(box->localToAbsoluteQuad(FloatQuad(FloatRect(localExposeRect)), UseTransforms).boundingBox());
Lines 2552-2558 void RenderLayer::scrollRectToVisible(const LayoutRect& absoluteRect, bool insid a/Source/WebCore/rendering/RenderLayer.cpp_sec5
2552
                IntPoint scrollOffset(roundedIntPoint(exposeRect.location()));
2578
                IntPoint scrollOffset(roundedIntPoint(exposeRect.location()));
2553
                // Adjust offsets if they're outside of the allowable range.
2579
                // Adjust offsets if they're outside of the allowable range.
2554
                scrollOffset = scrollOffset.constrainedBetween(IntPoint(), IntPoint(frameView.contentsSize()));
2580
                scrollOffset = scrollOffset.constrainedBetween(IntPoint(), IntPoint(frameView.contentsSize()));
2555
                frameView.setScrollPosition(scrollOffset);
2581
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
2582
                // FIXME: Should we use contentDocument()->scrollingElement()?
2583
                // See https://github.com/w3c/csswg-drafts/issues/2977
2584
                if (ownerElement->contentDocument() && ownerElement->contentDocument()->documentElement() && useSmoothScrolling(options.behavior, *ownerElement->contentDocument()->documentElement()))
2585
                    frameView.scrollToOffsetWithAnimation(scrollOffset);
2586
                else
2587
#endif
2588
                    frameView.setScrollPosition(scrollOffset);
2556
2589
2557
                if (options.shouldAllowCrossOriginScrolling == ShouldAllowCrossOriginScrolling::Yes || frameView.safeToPropagateScrollToParent()) {
2590
                if (options.shouldAllowCrossOriginScrolling == ShouldAllowCrossOriginScrolling::Yes || frameView.safeToPropagateScrollToParent()) {
2558
                    parentLayer = ownerElement->renderer()->enclosingLayer();
2591
                    parentLayer = ownerElement->renderer()->enclosingLayer();
Lines 2577-2583 void RenderLayer::scrollRectToVisible(const LayoutRect& absoluteRect, bool insid a/Source/WebCore/rendering/RenderLayer.cpp_sec6
2577
2610
2578
            LayoutRect revealRect = getRectToExpose(viewRect, targetRect, insideFixed, options.alignX, options.alignY);
2611
            LayoutRect revealRect = getRectToExpose(viewRect, targetRect, insideFixed, options.alignX, options.alignY);
2579
            
2612
            
2580
            frameView.setScrollPosition(roundedIntPoint(revealRect.location()));
2613
            IntPoint scrollOffset(roundedIntPoint(revealRect.location()));
2614
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
2615
            // FIXME: Should we use document()->scrollingElement()?
2616
            // See https://github.com/w3c/csswg-drafts/issues/2977
2617
            if (renderer().document().documentElement() && useSmoothScrolling(options.behavior, *renderer().document().documentElement()))
2618
                frameView.scrollToOffsetWithAnimation(scrollOffset);
2619
            else
2620
#endif
2621
                frameView.setScrollPosition(scrollOffset);
2581
2622
2582
            // This is the outermost view of a web page, so after scrolling this view we
2623
            // This is the outermost view of a web page, so after scrolling this view we
2583
            // scroll its container by calling Page::scrollRectIntoView.
2624
            // scroll its container by calling Page::scrollRectIntoView.
- a/Source/WebCore/rendering/RenderLayer.h +10 lines
Lines 54-59 a/Source/WebCore/rendering/RenderLayer.h_sec1
54
#include <memory>
54
#include <memory>
55
#include <wtf/WeakPtr.h>
55
#include <wtf/WeakPtr.h>
56
56
57
#if ENABLE(CSSOM_SCROLL_BEHAVIOR)
58
#include "ScrollBehavior.h"
59
#endif
60
57
namespace WTF {
61
namespace WTF {
58
class TextStream;
62
class TextStream;
59
}
63
}
Lines 125-130 struct ScrollRectToVisibleOptions { a/Source/WebCore/rendering/RenderLayer.h_sec2
125
    const ScrollAlignment& alignX { ScrollAlignment::alignCenterIfNeeded };
129
    const ScrollAlignment& alignX { ScrollAlignment::alignCenterIfNeeded };
126
    const ScrollAlignment& alignY { ScrollAlignment::alignCenterIfNeeded };
130
    const ScrollAlignment& alignY { ScrollAlignment::alignCenterIfNeeded };
127
    ShouldAllowCrossOriginScrolling shouldAllowCrossOriginScrolling { ShouldAllowCrossOriginScrolling::No };
131
    ShouldAllowCrossOriginScrolling shouldAllowCrossOriginScrolling { ShouldAllowCrossOriginScrolling::No };
132
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
133
    ScrollBehavior behavior { ScrollBehavior::Auto };
134
#endif
128
};
135
};
129
136
130
class RenderLayer final : public ScrollableArea {
137
class RenderLayer final : public ScrollableArea {
Lines 210-215 public: a/Source/WebCore/rendering/RenderLayer.h_sec3
210
    void scrollByRecursively(const IntSize& delta, ScrollableArea** scrolledArea = nullptr);
217
    void scrollByRecursively(const IntSize& delta, ScrollableArea** scrolledArea = nullptr);
211
218
212
    WEBCORE_EXPORT void scrollToOffset(const ScrollOffset&, ScrollClamping = ScrollClamping::Clamped);
219
    WEBCORE_EXPORT void scrollToOffset(const ScrollOffset&, ScrollClamping = ScrollClamping::Clamped);
220
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
221
    WEBCORE_EXPORT void scrollToOffsetWithAnimation(const ScrollOffset&, ScrollClamping = ScrollClamping::Clamped);
222
#endif
213
    void scrollToXOffset(int x, ScrollClamping clamping = ScrollClamping::Clamped) { scrollToOffset(ScrollOffset(x, scrollOffset().y()), clamping); }
223
    void scrollToXOffset(int x, ScrollClamping clamping = ScrollClamping::Clamped) { scrollToOffset(ScrollOffset(x, scrollOffset().y()), clamping); }
214
    void scrollToYOffset(int y, ScrollClamping clamping = ScrollClamping::Clamped) { scrollToOffset(ScrollOffset(scrollOffset().x(), y), clamping); }
224
    void scrollToYOffset(int y, ScrollClamping clamping = ScrollClamping::Clamped) { scrollToOffset(ScrollOffset(scrollOffset().x(), y), clamping); }
215
225
- a/Source/WebCore/rendering/style/RenderStyle.h +12 lines
Lines 724-729 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec1
724
    bool useTouchOverflowScrolling() const { return m_rareInheritedData->useTouchOverflowScrolling; }
724
    bool useTouchOverflowScrolling() const { return m_rareInheritedData->useTouchOverflowScrolling; }
725
#endif
725
#endif
726
726
727
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
728
    bool useSmoothScrolling() const { return m_rareNonInheritedData->useSmoothScrolling; }
729
#endif
730
727
#if ENABLE(TEXT_AUTOSIZING)
731
#if ENABLE(TEXT_AUTOSIZING)
728
    TextSizeAdjustment textSizeAdjust() const { return m_rareInheritedData->textSizeAdjust; }
732
    TextSizeAdjustment textSizeAdjust() const { return m_rareInheritedData->textSizeAdjust; }
729
#endif
733
#endif
Lines 1233-1238 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec2
1233
    void setUseTouchOverflowScrolling(bool v) { SET_VAR(m_rareInheritedData, useTouchOverflowScrolling, v); }
1237
    void setUseTouchOverflowScrolling(bool v) { SET_VAR(m_rareInheritedData, useTouchOverflowScrolling, v); }
1234
#endif
1238
#endif
1235
1239
1240
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
1241
    void setUseSmoothScrolling(bool v) { SET_VAR(m_rareNonInheritedData, useSmoothScrolling, v); }
1242
#endif
1243
1236
#if ENABLE(TEXT_AUTOSIZING)
1244
#if ENABLE(TEXT_AUTOSIZING)
1237
    void setTextSizeAdjust(TextSizeAdjustment adjustment) { SET_VAR(m_rareInheritedData, textSizeAdjust, adjustment); }
1245
    void setTextSizeAdjust(TextSizeAdjustment adjustment) { SET_VAR(m_rareInheritedData, textSizeAdjust, adjustment); }
1238
#endif
1246
#endif
Lines 1659-1664 public: a/Source/WebCore/rendering/style/RenderStyle.h_sec3
1659
    static bool initialUseTouchOverflowScrolling() { return false; }
1667
    static bool initialUseTouchOverflowScrolling() { return false; }
1660
#endif
1668
#endif
1661
1669
1670
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
1671
    static bool initialUseSmoothScrolling() { return false; }
1672
#endif
1673
1662
#if ENABLE(DASHBOARD_SUPPORT)
1674
#if ENABLE(DASHBOARD_SUPPORT)
1663
    static const Vector<StyleDashboardRegion>& initialDashboardRegions();
1675
    static const Vector<StyleDashboardRegion>& initialDashboardRegions();
1664
    static const Vector<StyleDashboardRegion>& noneDashboardRegions();
1676
    static const Vector<StyleDashboardRegion>& noneDashboardRegions();
- a/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp +9 lines
Lines 77-82 StyleRareNonInheritedData::StyleRareNonInheritedData() a/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp_sec1
77
    , justifySelf(RenderStyle::initialSelfAlignment())
77
    , justifySelf(RenderStyle::initialSelfAlignment())
78
#if ENABLE(TOUCH_EVENTS)
78
#if ENABLE(TOUCH_EVENTS)
79
    , touchAction(static_cast<unsigned>(RenderStyle::initialTouchAction()))
79
    , touchAction(static_cast<unsigned>(RenderStyle::initialTouchAction()))
80
#endif
81
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
82
    , useSmoothScrolling(static_cast<unsigned>(RenderStyle::initialUseSmoothScrolling()))
80
#endif
83
#endif
81
    , pageSizeType(PAGE_SIZE_AUTO)
84
    , pageSizeType(PAGE_SIZE_AUTO)
82
    , transformStyle3D(static_cast<unsigned>(RenderStyle::initialTransformStyle3D()))
85
    , transformStyle3D(static_cast<unsigned>(RenderStyle::initialTransformStyle3D()))
Lines 169-174 inline StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonIn a/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp_sec2
169
    , justifySelf(o.justifySelf)
172
    , justifySelf(o.justifySelf)
170
#if ENABLE(TOUCH_EVENTS)
173
#if ENABLE(TOUCH_EVENTS)
171
    , touchAction(o.touchAction)
174
    , touchAction(o.touchAction)
175
#endif
176
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
177
    , useSmoothScrolling(o.useSmoothScrolling)
172
#endif
178
#endif
173
    , pageSizeType(o.pageSizeType)
179
    , pageSizeType(o.pageSizeType)
174
    , transformStyle3D(o.transformStyle3D)
180
    , transformStyle3D(o.transformStyle3D)
Lines 282-287 bool StyleRareNonInheritedData::operator==(const StyleRareNonInheritedData& o) c a/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp_sec3
282
#if ENABLE(TOUCH_EVENTS)
288
#if ENABLE(TOUCH_EVENTS)
283
        && touchAction == o.touchAction
289
        && touchAction == o.touchAction
284
#endif
290
#endif
291
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
292
        && useSmoothScrolling == o.useSmoothScrolling
293
#endif
285
#if ENABLE(CSS_COMPOSITING)
294
#if ENABLE(CSS_COMPOSITING)
286
        && effectiveBlendMode == o.effectiveBlendMode
295
        && effectiveBlendMode == o.effectiveBlendMode
287
        && isolation == o.isolation
296
        && isolation == o.isolation
- a/Source/WebCore/rendering/style/StyleRareNonInheritedData.h +4 lines
Lines 175-180 public: a/Source/WebCore/rendering/style/StyleRareNonInheritedData.h_sec1
175
    unsigned touchAction : 1; // TouchAction
175
    unsigned touchAction : 1; // TouchAction
176
#endif
176
#endif
177
177
178
#if ENABLE(CSSOM_SMOOTH_SCROLLING)
179
    unsigned useSmoothScrolling : 1; // ScrollBehavior
180
#endif
181
178
    unsigned pageSizeType : 2; // PageSizeType
182
    unsigned pageSizeType : 2; // PageSizeType
179
    unsigned transformStyle3D : 1; // TransformStyle3D
183
    unsigned transformStyle3D : 1; // TransformStyle3D
180
    unsigned backfaceVisibility : 1; // BackfaceVisibility
184
    unsigned backfaceVisibility : 1; // BackfaceVisibility
- a/Source/WebCore/testing/Internals.cpp -1 / +1 lines
Lines 1645-1651 ExceptionOr<void> Internals::unconstrainedScrollTo(Element& element, double x, d a/Source/WebCore/testing/Internals.cpp_sec1
1645
    if (!document || !document->view())
1645
    if (!document || !document->view())
1646
        return Exception { InvalidAccessError };
1646
        return Exception { InvalidAccessError };
1647
1647
1648
    element.scrollTo({ x, y }, ScrollClamping::Unclamped);
1648
    element.scrollTo(fromCoordinates(x, y), ScrollClamping::Unclamped);
1649
    return { };
1649
    return { };
1650
}
1650
}
1651
1651
- a/Source/WebKit/Configurations/FeatureDefines.xcconfig -1 / +3 lines
Lines 40-45 ENABLE_ACCELERATED_2D_CANVAS = ; a/Source/WebKit/Configurations/FeatureDefines.xcconfig_sec1
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
42
42
43
ENABLE_CSSOM_SMOOTH_SCROLLING = ENABLE_CSSOM_SMOOTH_SCROLLING;
44
43
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
45
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
44
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
46
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
45
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
47
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
Lines 374-377 ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE_WIRELESS_PLAYBACK_TARGET; a/Source/WebKit/Configurations/FeatureDefines.xcconfig_sec2
374
376
375
ENABLE_XSLT = ENABLE_XSLT;
377
ENABLE_XSLT = ENABLE_XSLT;
376
378
377
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
379
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_CSSOM_SMOOTH_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
- a/Source/WebKit/Shared/WebPreferences.yaml +7 lines
Lines 1139-1144 SourceBufferChangeTypeEnabled: a/Source/WebKit/Shared/WebPreferences.yaml_sec1
1139
#   wider testing).
1139
#   wider testing).
1140
1140
1141
1141
1142
CSSomSmoothScrollingEnabled:
1143
  type: bool
1144
  defaultValue: false
1145
  humanReadableName: "CSSOM Smooth Scrolling"
1146
  humanReadableDescription: "Enable DOM API and CSS property for 'smooth' scroll behavior"
1147
  category: experimental
1148
1142
SpringTimingFunctionEnabled:
1149
SpringTimingFunctionEnabled:
1143
  type: bool
1150
  type: bool
1144
  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
1151
  defaultValue: DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
- a/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig -1 / +3 lines
Lines 40-45 ENABLE_ACCELERATED_2D_CANVAS = ; a/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig_sec1
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
42
42
43
ENABLE_CSSOM_SMOOTH_SCROLLING = ENABLE_CSSOM_SMOOTH_SCROLLING;
44
43
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
45
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
44
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
46
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
45
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
47
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
Lines 374-377 ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE_WIRELESS_PLAYBACK_TARGET; a/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig_sec2
374
376
375
ENABLE_XSLT = ENABLE_XSLT;
377
ENABLE_XSLT = ENABLE_XSLT;
376
378
377
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
379
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_CSSOM_SMOOTH_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
- a/Source/cmake/WebKitFeatures.cmake +1 lines
Lines 162-167 macro(WEBKIT_OPTION_BEGIN) a/Source/cmake/WebKitFeatures.cmake_sec1
162
    WEBKIT_OPTION_DEFINE(ENABLE_SERVICE_CONTROLS "Toggle service controls support" PRIVATE OFF)
162
    WEBKIT_OPTION_DEFINE(ENABLE_SERVICE_CONTROLS "Toggle service controls support" PRIVATE OFF)
163
    WEBKIT_OPTION_DEFINE(ENABLE_SERVICE_WORKER "Toggle ServiceWorker support" PRIVATE OFF)
163
    WEBKIT_OPTION_DEFINE(ENABLE_SERVICE_WORKER "Toggle ServiceWorker support" PRIVATE OFF)
164
    WEBKIT_OPTION_DEFINE(ENABLE_SMOOTH_SCROLLING "Toggle smooth scrolling" PRIVATE ON)
164
    WEBKIT_OPTION_DEFINE(ENABLE_SMOOTH_SCROLLING "Toggle smooth scrolling" PRIVATE ON)
165
    WEBKIT_OPTION_DEFINE(ENABLE_CSSOM_SMOOTH_SCROLLING "Toggle CSSOM smooth scrolling support" PRIVATE ON)
165
    WEBKIT_OPTION_DEFINE(ENABLE_SPEECH_SYNTHESIS "Toggle Speech Synthesis API support" PRIVATE OFF)
166
    WEBKIT_OPTION_DEFINE(ENABLE_SPEECH_SYNTHESIS "Toggle Speech Synthesis API support" PRIVATE OFF)
166
    WEBKIT_OPTION_DEFINE(ENABLE_SPELLCHECK "Toggle Spellchecking support (requires Enchant)" PRIVATE OFF)
167
    WEBKIT_OPTION_DEFINE(ENABLE_SPELLCHECK "Toggle Spellchecking support (requires Enchant)" PRIVATE OFF)
167
    WEBKIT_OPTION_DEFINE(ENABLE_STREAMS_API "Toggle Streams API support" PRIVATE ON)
168
    WEBKIT_OPTION_DEFINE(ENABLE_STREAMS_API "Toggle Streams API support" PRIVATE ON)
- a/Source/cmake/tools/vsprops/FeatureDefines.props -1 / +6 lines
Lines 4-9 a/Source/cmake/tools/vsprops/FeatureDefines.props_sec1
4
    <ENABLE_3D_TRANSFORMS>ENABLE_3D_TRANSFORMS</ENABLE_3D_TRANSFORMS>
4
    <ENABLE_3D_TRANSFORMS>ENABLE_3D_TRANSFORMS</ENABLE_3D_TRANSFORMS>
5
    <ENABLE_ACCELERATED_2D_CANVAS />
5
    <ENABLE_ACCELERATED_2D_CANVAS />
6
    <ENABLE_ACCELERATED_OVERFLOW_SCROLLING />
6
    <ENABLE_ACCELERATED_OVERFLOW_SCROLLING />
7
    <ENABLE_CSSOM_SMOOTH_SCROLLING>ENABLE_CSSOM_SMOOTH_SCROLLING</ENABLE_CSSOM_SMOOTH_SCROLLING>
7
    <ENABLE_ATTACHMENT_ELEMENT>ENABLE_ATTACHMENT_ELEMENT</ENABLE_ATTACHMENT_ELEMENT>
8
    <ENABLE_ATTACHMENT_ELEMENT>ENABLE_ATTACHMENT_ELEMENT</ENABLE_ATTACHMENT_ELEMENT>
8
    <ENABLE_CHANNEL_MESSAGING>ENABLE_CHANNEL_MESSAGING</ENABLE_CHANNEL_MESSAGING>
9
    <ENABLE_CHANNEL_MESSAGING>ENABLE_CHANNEL_MESSAGING</ENABLE_CHANNEL_MESSAGING>
9
    <ENABLE_CSS3_CONDITIONAL_RULES>ENABLE_CSS3_CONDITIONAL_RULES</ENABLE_CSS3_CONDITIONAL_RULES>
10
    <ENABLE_CSS3_CONDITIONAL_RULES>ENABLE_CSS3_CONDITIONAL_RULES</ENABLE_CSS3_CONDITIONAL_RULES>
Lines 76-82 a/Source/cmake/tools/vsprops/FeatureDefines.props_sec2
76
  </PropertyGroup>
77
  </PropertyGroup>
77
  <ItemDefinitionGroup>
78
  <ItemDefinitionGroup>
78
    <ClCompile>
79
    <ClCompile>
79
      <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_STREAMS_API);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_WEB_AUDIO);$(ENABLE_WEBGL);$(ENABLE_WEBGPU);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
80
      <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_CSSOM_SMOOTH_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_STREAMS_API);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_WEB_AUDIO);$(ENABLE_WEBGL);$(ENABLE_WEBGPU);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
80
    </ClCompile>
81
    </ClCompile>
81
  </ItemDefinitionGroup>
82
  </ItemDefinitionGroup>
82
  <ItemGroup>
83
  <ItemGroup>
Lines 92-97 a/Source/cmake/tools/vsprops/FeatureDefines.props_sec3
92
      <Value>$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)</Value>
93
      <Value>$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)</Value>
93
      <EnvironmentVariable>true</EnvironmentVariable>
94
      <EnvironmentVariable>true</EnvironmentVariable>
94
    </BuildMacro>
95
    </BuildMacro>
96
    <BuildMacro Include="ENABLE_CSSOM_SMOOTH_SCROLLING">
97
      <Value>$(ENABLE_CSSOM_SMOOTH_SCROLLING)</Value>
98
      <EnvironmentVariable>true</EnvironmentVariable>
99
    </BuildMacro>
95
    <BuildMacro Include="ENABLE_ATTACHMENT_ELEMENT">
100
    <BuildMacro Include="ENABLE_ATTACHMENT_ELEMENT">
96
      <Value>$(ENABLE_ATTACHMENT_ELEMENT)</Value>
101
      <Value>$(ENABLE_ATTACHMENT_ELEMENT)</Value>
97
      <EnvironmentVariable>true</EnvironmentVariable>
102
      <EnvironmentVariable>true</EnvironmentVariable>
- a/Source/cmake/tools/vsprops/FeatureDefinesCairo.props -1 / +6 lines
Lines 4-9 a/Source/cmake/tools/vsprops/FeatureDefinesCairo.props_sec1
4
    <ENABLE_3D_TRANSFORMS>ENABLE_3D_TRANSFORMS</ENABLE_3D_TRANSFORMS>
4
    <ENABLE_3D_TRANSFORMS>ENABLE_3D_TRANSFORMS</ENABLE_3D_TRANSFORMS>
5
    <ENABLE_ACCELERATED_2D_CANVAS />
5
    <ENABLE_ACCELERATED_2D_CANVAS />
6
    <ENABLE_ACCELERATED_OVERFLOW_SCROLLING />
6
    <ENABLE_ACCELERATED_OVERFLOW_SCROLLING />
7
    <ENABLE_CSSOM_SMOOTH_SCROLLING>ENABLE_CSSOM_SMOOTH_SCROLLING</ENABLE_CSSOM_SMOOTH_SCROLLING>
7
    <ENABLE_ATTACHMENT_ELEMENT>ENABLE_ATTACHMENT_ELEMENT</ENABLE_ATTACHMENT_ELEMENT>
8
    <ENABLE_ATTACHMENT_ELEMENT>ENABLE_ATTACHMENT_ELEMENT</ENABLE_ATTACHMENT_ELEMENT>
8
    <ENABLE_CHANNEL_MESSAGING>ENABLE_CHANNEL_MESSAGING</ENABLE_CHANNEL_MESSAGING>
9
    <ENABLE_CHANNEL_MESSAGING>ENABLE_CHANNEL_MESSAGING</ENABLE_CHANNEL_MESSAGING>
9
    <ENABLE_CSS3_CONDITIONAL_RULES>ENABLE_CSS3_CONDITIONAL_RULES</ENABLE_CSS3_CONDITIONAL_RULES>
10
    <ENABLE_CSS3_CONDITIONAL_RULES>ENABLE_CSS3_CONDITIONAL_RULES</ENABLE_CSS3_CONDITIONAL_RULES>
Lines 75-81 a/Source/cmake/tools/vsprops/FeatureDefinesCairo.props_sec2
75
  </PropertyGroup>
76
  </PropertyGroup>
76
  <ItemDefinitionGroup>
77
  <ItemDefinitionGroup>
77
    <ClCompile>
78
    <ClCompile>
78
      <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_WEB_AUDIO);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
79
      <PreprocessorDefinitions>$(ENABLE_3D_TRANSFORMS);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING);$(ENABLE_CSSOM_SMOOTH_SCROLLING);$(ENABLE_ATTACHMENT_ELEMENT);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CSS3_CONDITIONAL_RULES);$(ENABLE_CSS_IMAGE_SET);$(ENABLE_CSS3_TEXT);$(ENABLE_CSS_BOX_DECORATION_BREAK);$(ENABLE_CSS_SHADERS);$(ENABLE_CSS_COMPOSITING);$(ENABLE_CSS_SELECTORS_LEVEL4);$(ENABLE_CSS_SHAPE_INSIDE);$(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED);$(ENABLE_CURSOR_VISIBILITY);$(ENABLE_CUSTOM_SCHEME_HANDLER);$(ENABLE_DATAGRID);$(ENABLE_DATALIST_ELEMENT);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_ENCRYPTED_MEDIA);$(ENABLE_FETCH_API);$(ENABLE_FILE_SYSTEM);$(ENABLE_FULLSCREEN_API);$(ENABLE_GAMEPAD);$(ENABLE_GEOLOCATION);$(ENABLE_HIGH_DPI_CANVAS);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_TYPE_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_INPUT_TYPE_DATE);$(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE);$(ENABLE_INPUT_TYPE_DATETIMELOCAL);$(ENABLE_INPUT_TYPE_MONTH);$(ENABLE_INPUT_TYPE_TIME);$(ENABLE_INPUT_TYPE_WEEK);$(ENABLE_INTL);$(ENABLE_LEGACY_CSS_VENDOR_PREFIXES);$(ENABLE_LEGACY_ENCRYPTED_MEDIA);$(ENABLE_LINK_PRERENDER);$(ENABLE_MATHML);$(ENABLE_METER_ELEMENT);$(ENABLE_MICRODATA);$(ENABLE_MOUSE_CURSOR_SCALE);$(ENABLE_NOTIFICATIONS);$(ENABLE_QUOTA);$(ENABLE_NAVIGATOR_CONTENT_UTILS);$(ENABLE_SCRIPTED_SPEECH);$(ENABLE_SHARED_WORKERS);$(ENABLE_MEDIA_CONTROLS_SCRIPT);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_SQL_DATABASE);$(ENABLE_STYLE_SCOPED);$(ENABLE_SUBPIXEL_LAYOUT);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_VIDEO);$(ENABLE_VIDEO_TRACK);$(ENABLE_WEB_AUDIO);$(ENABLE_WEBGL);$(ENABLE_WEBVTT_REGIONS);$(ENABLE_XHR_TIMEOUT);$(ENABLE_XSLT);%(PreprocessorDefinitions)</PreprocessorDefinitions>
79
    </ClCompile>
80
    </ClCompile>
80
  </ItemDefinitionGroup>
81
  </ItemDefinitionGroup>
81
  <ItemGroup>
82
  <ItemGroup>
Lines 91-96 a/Source/cmake/tools/vsprops/FeatureDefinesCairo.props_sec3
91
      <Value>$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)</Value>
92
      <Value>$(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)</Value>
92
      <EnvironmentVariable>true</EnvironmentVariable>
93
      <EnvironmentVariable>true</EnvironmentVariable>
93
    </BuildMacro>
94
    </BuildMacro>
95
    <BuildMacro Include="ENABLE_CSSOM_SMOOTH_SCROLLING">
96
      <Value>$(ENABLE_CSSOM_SMOOTH_SCROLLING)</Value>
97
      <EnvironmentVariable>true</EnvironmentVariable>
98
    </BuildMacro>
94
    <BuildMacro Include="ENABLE_ATTACHMENT_ELEMENT">
99
    <BuildMacro Include="ENABLE_ATTACHMENT_ELEMENT">
95
      <Value>$(ENABLE_ATTACHMENT_ELEMENT)</Value>
100
      <Value>$(ENABLE_ATTACHMENT_ELEMENT)</Value>
96
      <EnvironmentVariable>true</EnvironmentVariable>
101
      <EnvironmentVariable>true</EnvironmentVariable>
- a/Tools/Scripts/webkitperl/FeatureList.pm +4 lines
Lines 118-123 my ( a/Tools/Scripts/webkitperl/FeatureList.pm_sec1
118
    $resolutionMediaQuerySupport,
118
    $resolutionMediaQuerySupport,
119
    $scriptedSpeechSupport,
119
    $scriptedSpeechSupport,
120
    $serviceWorkerSupport,
120
    $serviceWorkerSupport,
121
    $cssomSmoothScrollingSupport,
121
    $subtleCrypto,
122
    $subtleCrypto,
122
    $svgFontsSupport,
123
    $svgFontsSupport,
123
    $systemMallocSupport,
124
    $systemMallocSupport,
Lines 337-342 my @features = ( a/Tools/Scripts/webkitperl/FeatureList.pm_sec2
337
    { option => "service-worker", desc => "Toggle Service Worker support",
338
    { option => "service-worker", desc => "Toggle Service Worker support",
338
      define => "ENABLE_SERVICE_WORKER", value => \$serviceWorkerSupport },
339
      define => "ENABLE_SERVICE_WORKER", value => \$serviceWorkerSupport },
339
340
341
    { option => "cssom-smooth-scrolling", desc => "Toggle CSSOM Smooth Scroling support",
342
      define => "ENABLE_CSSOM_SMOOTH_SCROLLING", value => \$cssomSmoothScrollingSupport },
343
340
    { option => "subtle-crypto", desc => "Toggle WebCrypto Subtle-Crypto support",
344
    { option => "subtle-crypto", desc => "Toggle WebCrypto Subtle-Crypto support",
341
      define => "ENABLE_SUBTLE_CRYPTO", value => \$subtleCrypto },
345
      define => "ENABLE_SUBTLE_CRYPTO", value => \$subtleCrypto },
342
346
- a/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig -2 / +3 lines
Lines 40-45 ENABLE_ACCELERATED_2D_CANVAS = ; a/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig_sec1
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
40
ENABLE_ACCELERATED_OVERFLOW_SCROLLING = $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING_$(WK_COCOA_TOUCH));
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
41
ENABLE_ACCELERATED_OVERFLOW_SCROLLING_cocoatouch = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
42
42
43
ENABLE_CSSOM_SMOOTH_SCROLLING = ENABLE_CSSOM_SMOOTH_SCROLLING;
44
43
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
45
ENABLE_APPLE_PAY = $(ENABLE_APPLE_PAY_$(WK_PLATFORM_NAME));
44
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
46
ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
45
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
47
ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
Lines 374-377 ENABLE_WIRELESS_PLAYBACK_TARGET = ENABLE_WIRELESS_PLAYBACK_TARGET; a/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig_sec2
374
376
375
ENABLE_XSLT = ENABLE_XSLT;
377
ENABLE_XSLT = ENABLE_XSLT;
376
378
377
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
379
FEATURE_DEFINES = $(ENABLE_3D_TRANSFORMS) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) $(ENABLE_CSSOM_SMOOTH_SCROLLING) $(ENABLE_APPLE_PAY) $(ENABLE_APPLE_PAY_SESSION_V3) $(ENABLE_APPLE_PAY_SESSION_V4) $(ENABLE_APPLICATION_MANIFEST) $(ENABLE_ATTACHMENT_ELEMENT) $(ENABLE_AVF_CAPTIONS) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CONTENT_FILTERING) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS_ANIMATIONS_LEVEL_2) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_SCROLL_SNAP) $(ENABLE_CSS_SELECTORS_LEVEL4) $(ENABLE_CSS_TRAILING_WORD) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATA_INTERACTION) $(ENABLE_DATACUE_VALUE) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DRAG_SUPPORT) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_EXPERIMENTAL_FEATURES) $(ENABLE_FAST_JIT_PERMISSIONS) $(ENABLE_FILTERS_LEVEL_2) $(ENABLE_FTL_JIT) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INDEXED_DATABASE_IN_WORKERS) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_INTERSECTION_OBSERVER) $(ENABLE_INTL) $(ENABLE_IOS_GESTURE_EVENTS) $(ENABLE_IOS_TOUCH_EVENTS) $(ENABLE_JIT) $(ENABLE_JS_ASYNC_ITERATION) $(ENABLE_KEYBOARD_CODE_ATTRIBUTE) $(ENABLE_KEYBOARD_KEY_ATTRIBUTE) $(ENABLE_LAYOUT_FORMATTING_CONTEXT) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER) $(ENABLE_LEGACY_ENCRYPTED_MEDIA) $(ENABLE_LETTERPRESS) $(ENABLE_MAC_GESTURE_EVENTS) $(ENABLE_MAC_VIDEO_TOOLBOX) $(ENABLE_MATHML) $(ENABLE_MEDIA_CAPTURE) $(ENABLE_MEDIA_CONTROLS_SCRIPT) $(ENABLE_MEDIA_SESSION) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_MEDIA_STREAM) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NAVIGATOR_STANDALONE) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAYMENT_REQUEST) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_POINTER_LOCK) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REMOTE_INSPECTOR) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_RESOURCE_USAGE) $(ENABLE_RUBBER_BANDING) $(ENABLE_SERVICE_CONTROLS) $(ENABLE_SERVICE_WORKER) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_STREAMS_API) $(ENABLE_SUBTLE_CRYPTO) $(ENABLE_SVG_FONTS) $(ENABLE_TELEPHONE_NUMBER_DETECTION) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TOUCH_EVENTS) $(ENABLE_USER_MESSAGE_HANDLERS) $(ENABLE_USERSELECT_ALL) $(ENABLE_VARIATION_FONTS) $(ENABLE_VIDEO) $(ENABLE_VIDEO_PRESENTATION_MODE) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_AUTHN) $(ENABLE_WEB_RTC) $(ENABLE_WEBASSEMBLY) $(ENABLE_WEBASSEMBLY_STREAMING_API) $(ENABLE_WEBGL) $(ENABLE_WEBGL2) $(ENABLE_WEBGPU) $(ENABLE_WIRELESS_PLAYBACK_TARGET) $(ENABLE_XSLT);
378
- 

Return to Bug 188043