WebKit Bugzilla
Attachment 343409 Details for
Bug 186956
: AX: [iOS] VoiceOver scroll position is jumpy in frames
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
patch.txt (text/plain), 5.08 KB, created by
Nan Wang
on 2018-06-22 18:29:11 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Nan Wang
Created:
2018-06-22 18:29:11 PDT
Size:
5.08 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 233115) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,23 @@ >+2018-06-22 Nan Wang <n_wang@apple.com> >+ >+ AX: [iOS] VoiceOver scroll position is jumpy in frames >+ https://bugs.webkit.org/show_bug.cgi?id=186956 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ iOS is using delegate scrolling and we should not take into account >+ the scroll offset when converting rects. >+ >+ Also fixed a issue where we want to scroll the element into view even >+ if it's partially visible. >+ >+ Test: fast/scrolling/ios/iframe-scroll-into-view.html >+ >+ * accessibility/AccessibilityObject.cpp: >+ (WebCore::AccessibilityObject::scrollToMakeVisible const): >+ * platform/ScrollView.cpp: >+ (WebCore::ScrollView::contentsToContainingViewContents const): >+ > 2018-06-22 Tim Horton <timothy_horton@apple.com> > > Make it possible to add a border around loading or failed-to-load images >Index: Source/WebCore/accessibility/AccessibilityObject.cpp >=================================================================== >--- Source/WebCore/accessibility/AccessibilityObject.cpp (revision 233109) >+++ Source/WebCore/accessibility/AccessibilityObject.cpp (working copy) >@@ -2992,7 +2992,7 @@ void AccessibilityObject::scrollToMakeVi > parentObject()->scrollToMakeVisible(); > > if (auto* renderer = this->renderer()) >- renderer->scrollRectToVisible(SelectionRevealMode::Reveal, boundingBoxRect(), false, ScrollAlignment::alignCenterIfNotVisible, ScrollAlignment::alignCenterIfNotVisible, ShouldAllowCrossOriginScrolling::Yes); >+ renderer->scrollRectToVisible(SelectionRevealMode::Reveal, boundingBoxRect(), false, ScrollAlignment::alignCenterIfNeeded, ScrollAlignment::alignCenterIfNeeded, ShouldAllowCrossOriginScrolling::Yes); > } > > void AccessibilityObject::scrollToMakeVisibleWithSubFocus(const IntRect& subfocus) const >Index: Source/WebCore/platform/ScrollView.cpp >=================================================================== >--- Source/WebCore/platform/ScrollView.cpp (revision 233109) >+++ Source/WebCore/platform/ScrollView.cpp (working copy) >@@ -847,6 +847,9 @@ IntPoint ScrollView::contentsToContainin > > IntRect ScrollView::contentsToContainingViewContents(IntRect rect) const > { >+ if (delegatesScrolling()) >+ return convertToContainingView(contentsToView(rect)); >+ > if (const ScrollView* parentScrollView = parent()) { > IntRect rectInContainingView = convertToContainingView(contentsToView(rect)); > return parentScrollView->viewToContents(rectInContainingView); >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 233109) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,13 @@ >+2018-06-22 Nan Wang <n_wang@apple.com> >+ >+ AX: [iOS] VoiceOver scroll position is jumpy in frames >+ https://bugs.webkit.org/show_bug.cgi?id=186956 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * fast/scrolling/ios/iframe-scroll-into-view-expected.html: Added. >+ * fast/scrolling/ios/iframe-scroll-into-view.html: Added. >+ > 2018-06-22 Ross Kirsling <ross.kirsling@sony.com> > > [WinCairo] Unreviewed test gardening. >Index: LayoutTests/fast/scrolling/ios/iframe-scroll-into-view-expected.html >=================================================================== >--- LayoutTests/fast/scrolling/ios/iframe-scroll-into-view-expected.html (nonexistent) >+++ LayoutTests/fast/scrolling/ios/iframe-scroll-into-view-expected.html (working copy) >@@ -0,0 +1,19 @@ >+<!DOCTYPE html> >+<html> >+<head> >+<meta name="viewport" content="width=device-width, initial-scale=1"> >+<style> >+body { >+ margin: 0; >+} >+.frame { >+ height: 200px; >+ width: 200px; >+} >+</style> >+</head> >+ >+ <body> >+<div class="frame">This tests that the iframe should be scroll to the top of the page on iOS.</div> >+</body> >+</html> >\ No newline at end of file >Index: LayoutTests/fast/scrolling/ios/iframe-scroll-into-view.html >=================================================================== >--- LayoutTests/fast/scrolling/ios/iframe-scroll-into-view.html (nonexistent) >+++ LayoutTests/fast/scrolling/ios/iframe-scroll-into-view.html (working copy) >@@ -0,0 +1,34 @@ >+<!DOCTYPE html> >+<html> >+<head> >+<meta name="viewport" content="width=device-width, initial-scale=1"> >+<style> >+body { >+ margin: 0; >+} >+iframe { >+ border: 0; >+ height: 200px; >+ width: 200px; >+} >+</style> >+</head> >+ >+ <body> >+<div style="height: 2000px;"></div> >+<iframe srcdoc="<body style='margin: 0;'><div>This tests that the iframe should be scroll to the top of the page on iOS.</div></body>" onload="runTest()"></iframe> >+<div style="height: 2000px;"></div> >+</body> >+ >+<script> >+ if (window.testRunner) >+ testRunner.waitUntilDone(); >+ >+ function runTest() { >+ window.scrollTo(0, 200); >+ window.frames[0].document.body.scrollIntoView(); >+ if (window.testRunner) >+ testRunner.notifyDone(); >+ } >+ </script> >+</html> >\ No newline at end of file
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
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186956
: 343409