Title: [154302] trunk/Source/WebKit2
Revision
154302
Author
[email protected]
Date
2013-08-19 14:54:48 -0700 (Mon, 19 Aug 2013)

Log Message

<https://webkit.org/b/120027> AXObjectCache's 
accessibilityEnhancedUserInterfaceEnabled should be initialized on process 
creation

Reviewed by Sam Weinig.

Right now we only call AXObjectCache::setEnhancedAccessibility() when AppKit sends 
us a notification indicating that the value has changed. We should not have to 
rely on that to properly initialize this value. It should be done with the 
WebProcessCreationParamters. 

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (154301 => 154302)


--- trunk/Source/WebKit2/ChangeLog	2013-08-19 21:54:29 UTC (rev 154301)
+++ trunk/Source/WebKit2/ChangeLog	2013-08-19 21:54:48 UTC (rev 154302)
@@ -1,3 +1,25 @@
+2013-08-19  Beth Dakin  <[email protected]>
+
+        <https://webkit.org/b/120027> AXObjectCache's 
+        accessibilityEnhancedUserInterfaceEnabled should be initialized on process 
+        creation
+
+        Reviewed by Sam Weinig.
+
+        Right now we only call AXObjectCache::setEnhancedAccessibility() when AppKit sends 
+        us a notification indicating that the value has changed. We should not have to 
+        rely on that to properly initialize this value. It should be done with the 
+        WebProcessCreationParamters. 
+
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode):
+        (WebKit::WebProcessCreationParameters::decode):
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/mac/WebContextMac.mm:
+        (WebKit::WebContext::platformInitializeWebProcess):
+        * WebProcess/mac/WebProcessMac.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess):
+
 2013-08-19  Pratik Solanki  <[email protected]>
 
         <https://webkit.org/b/119918> Frame::selection() should return a reference

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (154301 => 154302)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2013-08-19 21:54:29 UTC (rev 154301)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2013-08-19 21:54:48 UTC (rev 154302)
@@ -94,6 +94,7 @@
 #endif
 #if PLATFORM(MAC)
     encoder << presenterApplicationPid;
+    encoder << accessibilityEnhancedUserInterfaceEnabled;
     encoder << nsURLCacheMemoryCapacity;
     encoder << nsURLCacheDiskCapacity;
     encoder << acceleratedCompositingPort;
@@ -201,6 +202,8 @@
 #if PLATFORM(MAC)
     if (!decoder.decode(parameters.presenterApplicationPid))
         return false;
+    if (!decoder.decode(parameters.accessibilityEnhancedUserInterfaceEnabled))
+        return false;
     if (!decoder.decode(parameters.nsURLCacheMemoryCapacity))
         return false;
     if (!decoder.decode(parameters.nsURLCacheDiskCapacity))

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h (154301 => 154302)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2013-08-19 21:54:29 UTC (rev 154301)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2013-08-19 21:54:48 UTC (rev 154302)
@@ -114,6 +114,8 @@
 #if PLATFORM(MAC)
     pid_t presenterApplicationPid;
 
+    bool accessibilityEnhancedUserInterfaceEnabled;
+
     uint64_t nsURLCacheMemoryCapacity;
     uint64_t nsURLCacheDiskCapacity;
 

Modified: trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm (154301 => 154302)


--- trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm	2013-08-19 21:54:29 UTC (rev 154301)
+++ trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm	2013-08-19 21:54:48 UTC (rev 154302)
@@ -275,6 +275,8 @@
 {
     parameters.presenterApplicationPid = getpid();
 
+    parameters.accessibilityEnhancedUserInterfaceEnabled = [[NSApp accessibilityAttributeValue:@"AXEnhancedUserInterface"] boolValue];
+
     NSURLCache *urlCache = [NSURLCache sharedURLCache];
     parameters.nsURLCacheMemoryCapacity = [urlCache memoryCapacity];
     parameters.nsURLCacheDiskCapacity = [urlCache diskCapacity];

Modified: trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm (154301 => 154302)


--- trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm	2013-08-19 21:54:29 UTC (rev 154301)
+++ trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm	2013-08-19 21:54:48 UTC (rev 154302)
@@ -35,6 +35,7 @@
 #import "WebPage.h"
 #import "WebProcessCreationParameters.h"
 #import "WebProcessProxyMessages.h"
+#import <WebCore/AXObjectCache.h>
 #import <WebCore/FileSystem.h>
 #import <WebCore/Font.h>
 #import <WebCore/LocalizedStrings.h>
@@ -184,6 +185,8 @@
 
     m_presenterApplicationPid = parameters.presenterApplicationPid;
 
+    setEnhancedAccessibility(parameters.accessibilityEnhancedUserInterfaceEnabled);
+
     // rdar://9118639 accessibilityFocusedUIElement in NSApplication defaults to use the keyWindow. Since there's
     // no window in WK2, NSApplication needs to use the focused page's focused element.
     Method methodToPatch = class_getInstanceMethod([NSApplication class], @selector(accessibilityFocusedUIElement));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to