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 06:41:51 +0000 (06:41 +0000)
committerdmazzoni@google.com <dmazzoni@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jan 2012 06:41:51 +0000 (06:41 +0000)
commit1aa5640e27d625ad6248f79196bb4c67ed3898e6
tree1ace0dadc466647d98c07fbfe7b5f40dfe3b3bc0
parent8b4861656459f2be0f98545181fcfc99e8c3ce49
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-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: http://svn.webkit.org/repository/webkit/trunk@105244 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