Accessibility: Chromium needs methods to scroll an object into view or to a specific...
authordmazzoni@google.com <dmazzoni@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jan 2012 18:46:41 +0000 (18:46 +0000)
committerdmazzoni@google.com <dmazzoni@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jan 2012 18:46:41 +0000 (18:46 +0000)
commit965513e87e84510134e54f9ed881b8ad7a8fbda4
tree6056e8d587d04ffad9360c67d73b8a77c245593c
parent212dc9f5b6545967f33d1021a388cb9db5a7574b
Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
https://bugs.webkit.org/show_bug.cgi?id=73460

Reviewed by Chris Fleizach.

Source/WebCore:

Tests: platform/chromium/accessibility/scroll-to-global-point-main-window.html
       platform/chromium/accessibility/scroll-to-global-point-nested.html
       platform/chromium/accessibility/scroll-to-global-point-iframe.html
       platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html
       platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html
       platform/chromium/accessibility/scroll-to-make-visible-iframe.html
       platform/chromium/accessibility/scroll-to-make-visible-main-window.html
       platform/chromium/accessibility/scroll-to-make-visible-nested.html
       platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html

* accessibility/AccessibilityObject.cpp:
(WebCore::computeBestScrollOffset):
(WebCore::AccessibilityObject::scrollToMakeVisible):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebCore::AccessibilityObject::scrollToGlobalPoint):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityObject::scrollTo):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityRenderObject::scrollTo):
* accessibility/AccessibilityRenderObject.h:
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
(WebCore::AccessibilityScrollView::scrollTo):
* accessibility/AccessibilityScrollView.h:

Source/WebKit/chromium:

* public/WebAccessibilityObject.h:
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::scrollToMakeVisible):
(WebKit::WebAccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebKit::WebAccessibilityObject::scrollToGlobalPoint):

Tools:

* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/chromium/AccessibilityUIElement.cpp:
(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::scrollToMakeVisibleCallback):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocusCallback):
(AccessibilityUIElement::scrollToGlobalPointCallback):
* DumpRenderTree/chromium/AccessibilityUIElement.h:
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::scrollToMakeVisible):
(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

LayoutTests:

* platform/chromium/accessibility/scroll-to-global-point-iframe-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-global-point-iframe.html: Added.
* platform/chromium/accessibility/scroll-to-global-point-iframe-nested-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html: Added.
* platform/chromium/accessibility/scroll-to-global-point-main-window-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-global-point-main-window.html: Added.
* platform/chromium/accessibility/scroll-to-global-point-nested-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-global-point-nested.html: Added.
* platform/chromium/accessibility/scroll-to-make-visible-div-overflow-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html: Added.
* platform/chromium/accessibility/scroll-to-make-visible-iframe-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-make-visible-iframe.html: Added.
* platform/chromium/accessibility/scroll-to-make-visible-main-window-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-make-visible-main-window.html: Added.
* platform/chromium/accessibility/scroll-to-make-visible-nested-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-make-visible-nested.html: Added.
* platform/chromium/accessibility/scroll-to-make-visible-with-subfocus-expected.txt: Added.
* platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@105295 268f45cc-cd09-0410-ab3c-d52691b4dbfc
36 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-iframe-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-iframe-nested-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-iframe.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-main-window-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-main-window.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-nested-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-global-point-nested.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-div-overflow-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-iframe-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-iframe.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-main-window-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-main-window.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-nested-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-nested.html [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-with-subfocus-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/accessibility/AccessibilityObject.cpp
Source/WebCore/accessibility/AccessibilityObject.h
Source/WebCore/accessibility/AccessibilityRenderObject.cpp
Source/WebCore/accessibility/AccessibilityRenderObject.h
Source/WebCore/accessibility/AccessibilityScrollView.cpp
Source/WebCore/accessibility/AccessibilityScrollView.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/public/WebAccessibilityObject.h
Source/WebKit/chromium/src/WebAccessibilityObject.cpp
Tools/ChangeLog
Tools/DumpRenderTree/AccessibilityUIElement.h
Tools/DumpRenderTree/chromium/AccessibilityUIElement.cpp
Tools/DumpRenderTree/chromium/AccessibilityUIElement.h
Tools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp