Title: [102053] trunk/Source/WebKit2
- Revision
- 102053
- Author
- [email protected]
- Date
- 2011-12-05 15:34:41 -0800 (Mon, 05 Dec 2011)
Log Message
AX: WK2: AX hierarchy is not restored after web process crash
https://bugs.webkit.org/show_bug.cgi?id=73870
The accessibility tokens that need to be sent between UI and Web process
were not being sent by the UI process -> the web process when the web
process crashed.
Reviewed by Darin Adler.
* UIProcess/API/mac/WKView.mm:
(-[WKView viewDidMoveToWindow]):
(-[WKView _accessibilityRegisterUIProcessTokens]):
(-[WKView _didRelaunchProcess]):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (102052 => 102053)
--- trunk/Source/WebKit2/ChangeLog 2011-12-05 23:02:34 UTC (rev 102052)
+++ trunk/Source/WebKit2/ChangeLog 2011-12-05 23:34:41 UTC (rev 102053)
@@ -1,3 +1,19 @@
+2011-12-05 Chris Fleizach <[email protected]>
+
+ AX: WK2: AX hierarchy is not restored after web process crash
+ https://bugs.webkit.org/show_bug.cgi?id=73870
+
+ The accessibility tokens that need to be sent between UI and Web process
+ were not being sent by the UI process -> the web process when the web
+ process crashed.
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView _accessibilityRegisterUIProcessTokens]):
+ (-[WKView _didRelaunchProcess]):
+
2011-12-05 Alexey Proskuryakov <[email protected]>
REGRESSION: Full keyboard access doesn't work if enabled before Safari started
Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (102052 => 102053)
--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm 2011-12-05 23:02:34 UTC (rev 102052)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm 2011-12-05 23:34:41 UTC (rev 102053)
@@ -123,6 +123,7 @@
- (void)_setPluginComplexTextInputState:(PluginComplexTextInputState)pluginComplexTextInputState;
- (void)_disableComplexTextInputIfNecessary;
- (BOOL)_shouldUseTiledDrawingArea;
+- (void)_accessibilityRegisterUIProcessTokens;
@end
@interface WKViewData : NSObject {
@@ -1818,13 +1819,7 @@
[self _updateWindowVisibility];
[self _updateWindowAndViewFrames];
- // Initialize remote accessibility when the window connection has been established.
- NSData *remoteElementToken = WKAXRemoteTokenForElement(self);
- NSData *remoteWindowToken = WKAXRemoteTokenForElement([self accessibilityAttributeValue:NSAccessibilityWindowAttribute]);
- CoreIPC::DataReference elementToken = CoreIPC::DataReference(reinterpret_cast<const uint8_t*>([remoteElementToken bytes]), [remoteElementToken length]);
- CoreIPC::DataReference windowToken = CoreIPC::DataReference(reinterpret_cast<const uint8_t*>([remoteWindowToken bytes]), [remoteWindowToken length]);
- _data->_page->registerUIProcessAccessibilityTokens(elementToken, windowToken);
-
+ [self _accessibilityRegisterUIProcessTokens];
} else {
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
_data->_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive | WebPageProxy::ViewIsInWindow);
@@ -1988,6 +1983,16 @@
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
}
+- (void)_accessibilityRegisterUIProcessTokens
+{
+ // Initialize remote accessibility when the window connection has been established.
+ NSData *remoteElementToken = WKAXRemoteTokenForElement(self);
+ NSData *remoteWindowToken = WKAXRemoteTokenForElement([self accessibilityAttributeValue:NSAccessibilityWindowAttribute]);
+ CoreIPC::DataReference elementToken = CoreIPC::DataReference(reinterpret_cast<const uint8_t*>([remoteElementToken bytes]), [remoteElementToken length]);
+ CoreIPC::DataReference windowToken = CoreIPC::DataReference(reinterpret_cast<const uint8_t*>([remoteWindowToken bytes]), [remoteWindowToken length]);
+ _data->_page->registerUIProcessAccessibilityTokens(elementToken, windowToken);
+}
+
- (void)_updateRemoteAccessibilityRegistration:(BOOL)registerProcess
{
// When the tree is connected/disconnected, the remote accessibility registration
@@ -2126,6 +2131,7 @@
- (void)_didRelaunchProcess
{
+ [self _accessibilityRegisterUIProcessTokens];
}
- (void)_setCursor:(NSCursor *)cursor
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes