WK2: VoiceOver cannot move focus into a web area programmatically
authorcfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 May 2011 00:10:38 +0000 (00:10 +0000)
committercfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 May 2011 00:10:38 +0000 (00:10 +0000)
commit19979bd4cdf323619b8ae543c228b1924b9d2a2f
treea80a81f04d4ede34cac570811b8973733b124136
parente03e8505ad132d85606fa079abab41d611b8ba9f
WK2: VoiceOver cannot move focus into a web area programmatically
https://bugs.webkit.org/show_bug.cgi?id=60661

Reviewed by Maciej Stachowiak.

Source/WebCore:

Accessibility code relies on the ability to bring focus to the containing widget view.
In WK2, that message needs to be propagated to the UI process.

* page/ChromeClient.h:
(WebCore::ChromeClient::makeFirstResponder):
* page/mac/ChromeMac.mm:
(WebCore::Chrome::focusNSView):
* platform/mac/WidgetMac.mm:
(WebCore::Widget::setFocus):

Source/WebKit2:

Add a makeFirstResponder method that will bring focus to the widget view within the UI
process.

* UIProcess/API/mac/PageClientImpl.h:
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::makeFirstResponder):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::makeFirstResponder):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::makeFirstResponder):
* WebProcess/WebCoreSupport/WebChromeClient.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@86806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
Source/WebCore/ChangeLog
Source/WebCore/page/ChromeClient.h
Source/WebCore/page/mac/ChromeMac.mm
Source/WebCore/platform/mac/WidgetMac.mm
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
Source/WebKit2/UIProcess/PageClient.h
Source/WebKit2/UIProcess/WebPageProxy.h
Source/WebKit2/UIProcess/WebPageProxy.messages.in
Source/WebKit2/UIProcess/mac/WebPageProxyMac.mm
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h