WebKit Bugzilla
Attachment 360174 Details for
Bug 193849
: Add a scrolling tree test that toggles scrollability on an intermediate iframe
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193849-20190125152333.patch (text/plain), 11.79 KB, created by
Simon Fraser (smfr)
on 2019-01-25 15:23:34 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Fraser (smfr)
Created:
2019-01-25 15:23:34 PST
Size:
11.79 KB
patch
obsolete
>Subversion Revision: 240505 >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index a9285706bea1a8874ce0c8f9a72027bfa27b9f67..1ba1e90cdb6e320b9bed4b1b30b8f3156c52813a 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,15 @@ >+2019-01-25 Simon Fraser <simon.fraser@apple.com> >+ >+ Add a scrolling tree test that toggles scrollability on an intermediate iframe >+ https://bugs.webkit.org/show_bug.cgi?id=193849 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * platform/ios-wk2/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt: Added. >+ * scrollingcoordinator/scrolling-tree/resources/scroll-toggling-frame.html: Added. >+ * scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt: Added. >+ * scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling.html: Added. >+ > 2019-01-25 Simon Fraser <simon.fraser@apple.com> > > Move more scrolling tree tests into scrollingcoordinator/scrolling-tree >diff --git a/LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt b/LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..69475242e43eae0b23338af07462676ef5699f39 >--- /dev/null >+++ b/LayoutTests/platform/ios-wk2/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt >@@ -0,0 +1,102 @@ >+ >+Scrolling tree on non-scrollable >+ >+ >+(Frame scrolling node >+ (scrollable area size 800 600) >+ (contents size 800 645) >+ (scrollable area parameters >+ (horizontal scroll elasticity 1) >+ (vertical scroll elasticity 1) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 800x600) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,45)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 600 500) >+ (contents size 600 1024) >+ (scrollable area parameters >+ (horizontal scroll elasticity 1) >+ (vertical scroll elasticity 1) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 600x500) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,524)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 500 400) >+ (contents size 500 1024) >+ (scrollable area parameters >+ (horizontal scroll elasticity 1) >+ (vertical scroll elasticity 1) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 500x400) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,624)) >+ (behavior for fixed 0) >+ ) >+ ) >+ ) >+ ) >+) >+ >+Scrolling tree on scrollable >+ >+ >+(Frame scrolling node >+ (scrollable area size 800 600) >+ (contents size 800 1333) >+ (scrollable area parameters >+ (horizontal scroll elasticity 1) >+ (vertical scroll elasticity 1) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 800x600) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,733)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 600 500) >+ (contents size 600 500) >+ (scrollable area parameters >+ (horizontal scroll elasticity 1) >+ (vertical scroll elasticity 1) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 600x500) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,0)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 500 400) >+ (contents size 500 1024) >+ (scrollable area parameters >+ (horizontal scroll elasticity 1) >+ (vertical scroll elasticity 1) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 500x400) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,624)) >+ (behavior for fixed 0) >+ ) >+ ) >+ ) >+ ) >+) >+ >+ >diff --git a/LayoutTests/scrollingcoordinator/scrolling-tree/resources/scroll-toggling-frame.html b/LayoutTests/scrollingcoordinator/scrolling-tree/resources/scroll-toggling-frame.html >new file mode 100644 >index 0000000000000000000000000000000000000000..e55a98f252d219a514628f640e257202f536dc72 >--- /dev/null >+++ b/LayoutTests/scrollingcoordinator/scrolling-tree/resources/scroll-toggling-frame.html >@@ -0,0 +1,50 @@ >+<!DOCTYPE html> >+<html> >+<head> >+ <style> >+ body { >+ height: 1000px; >+ } >+ body.changed { >+ height: auto; >+ } >+ iframe { >+ width: 500px; >+ height: 400px; >+ background-color: #FFFFC1; >+ box-shadow: 0 0 10px black; >+ border: 2px solid black; >+ } >+ </style> >+ <script> >+ window.addEventListener('load', () => { >+ requestAnimationFrame(() => { >+ document.body.classList.add('changed'); >+ parent.subFrameBecameNonScrollable(); >+ >+ requestAnimationFrame(() => { >+ document.body.classList.remove('changed'); >+ parent.subFrameBecameScrollable(); >+ }); >+ }); >+ }, false); >+ </script> >+</head> >+<body> >+ <p>Middle frame</p> >+ <iframe srcdoc=" >+ <style> >+ body { >+ height: 1000px; >+ } >+ iframe { >+ width: 400px; >+ height: 300px; >+ box-shadow: 0 0 10px black; >+ border: 2px solid black; >+ } >+ </style> >+ <p>Inner frame</p>"> >+ </iframe> >+</body> >+</html> >diff --git a/LayoutTests/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt b/LayoutTests/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..cf7178d9ed1a65f92ce885e5380fbbadefe1d3c7 >--- /dev/null >+++ b/LayoutTests/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling-expected.txt >@@ -0,0 +1,107 @@ >+ >+Scrolling tree on non-scrollable >+ >+ >+(Frame scrolling node >+ (scrollable area size 785 600) >+ (contents size 785 640) >+ (scrollable area parameters >+ (horizontal scroll elasticity 2) >+ (vertical scroll elasticity 2) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0) >+ (has enabled vertical scrollbar 1)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 785x600) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,40)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 585 500) >+ (contents size 585 1024) >+ (scrollable area parameters >+ (horizontal scroll elasticity 0) >+ (vertical scroll elasticity 0) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0) >+ (has enabled vertical scrollbar 1)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 585x500) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,524)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 485 400) >+ (contents size 485 1024) >+ (scrollable area parameters >+ (horizontal scroll elasticity 0) >+ (vertical scroll elasticity 0) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0) >+ (has enabled vertical scrollbar 1)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 485x400) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,624)) >+ (behavior for fixed 0) >+ ) >+ ) >+ ) >+ ) >+) >+ >+Scrolling tree on scrollable >+ >+ >+(Frame scrolling node >+ (scrollable area size 785 600) >+ (contents size 785 1421) >+ (scrollable area parameters >+ (horizontal scroll elasticity 2) >+ (vertical scroll elasticity 2) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0) >+ (has enabled vertical scrollbar 1)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 785x600) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,821)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 600 500) >+ (contents size 600 500) >+ (scrollable area parameters >+ (horizontal scroll elasticity 0) >+ (vertical scroll elasticity 0) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 600x500) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,0)) >+ (behavior for fixed 0) >+ (children 1 >+ (Frame scrolling node >+ (scrollable area size 485 400) >+ (contents size 485 1024) >+ (scrollable area parameters >+ (horizontal scroll elasticity 0) >+ (vertical scroll elasticity 0) >+ (horizontal scrollbar mode 0) >+ (vertical scrollbar mode 0) >+ (has enabled vertical scrollbar 1)) >+ (visual viewport enabled 1) >+ (layout viewport at (0,0) size 485x400) >+ (min layout viewport origin (0,0)) >+ (max layout viewport origin (0,624)) >+ (behavior for fixed 0) >+ ) >+ ) >+ ) >+ ) >+) >+ >+ >diff --git a/LayoutTests/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling.html b/LayoutTests/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling.html >new file mode 100644 >index 0000000000000000000000000000000000000000..d043bb39fd2ebe2ec130becec3762dfa2f9fe6d4 >--- /dev/null >+++ b/LayoutTests/scrollingcoordinator/scrolling-tree/toggle-coordinated-frame-scrolling.html >@@ -0,0 +1,48 @@ >+<!DOCTYPE html> >+<html> >+ <head> >+ <title>Checks the scrolling tree afterr an intermediate frame becomes non-scrollable.</title> >+ <script> >+ if (window.testRunner) { >+ testRunner.dumpAsText(); >+ testRunner.waitUntilDone(); >+ } >+ >+ if (window.internals) >+ window.internals.settings.setAsyncFrameScrollingEnabled(true); >+ >+ function subFrameBecameNonScrollable() >+ { >+ if (window.internals) >+ document.getElementById('scrollingTree1').innerText = window.internals.scrollingStateTreeAsText() + "\n"; >+ } >+ >+ function subFrameBecameScrollable() >+ { >+ if (window.internals) >+ document.getElementById('scrollingTree2').innerText = window.internals.scrollingStateTreeAsText() + "\n"; >+ >+ if (window.testRunner) >+ testRunner.notifyDone(); >+ } >+ </script> >+ <style> >+ iframe { >+ margin: 20px; >+ width: 600px; >+ height: 500px; >+ background-color: silver; >+ box-shadow: 0 0 10px black; >+ border: 2px solid black; >+ } >+ </style> >+ </head> >+ <body> >+ <iframe src="resources/scroll-toggling-frame.html"> >+ </iframe> >+ <p>Scrolling tree on non-scrollable</p> >+<pre id="scrollingTree1"></pre> >+ <p>Scrolling tree on scrollable</p> >+<pre id="scrollingTree2"></pre> >+ </body> >+</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
dino
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193849
: 360174