WebKit Bugzilla
Attachment 356563 Details for
Bug 192373
: AX: Support keyboard access preference for iOS in WebKit
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
patch (text/plain), 4.42 KB, created by
chris fleizach
on 2018-12-04 17:50:39 PST
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
chris fleizach
Created:
2018-12-04 17:50:39 PST
Size:
4.42 KB
patch
obsolete
>Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 238872) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,17 @@ >+2018-12-04 chris fleizach <cfleizach@apple.com> >+ >+ AX: Support keyboard access preference for iOS in WebKit >+ https://bugs.webkit.org/show_bug.cgi?id=192373 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UIProcess/ios/WebProcessProxyIOS.mm: >+ (WebKit::WebProcessProxy::fullKeyboardAccessEnabled): >+ * UIProcess/mac/WKFullKeyboardAccessWatcher.h: >+ * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: >+ (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): >+ (-[WKFullKeyboardAccessWatcher init]): >+ > 2018-12-04 Chris Dumez <cdumez@apple.com> > > Regression(r238817) PSON Page Cache API tests are failing >Index: Source/WebKit/UIProcess/ios/WebProcessProxyIOS.mm >=================================================================== >--- Source/WebKit/UIProcess/ios/WebProcessProxyIOS.mm (revision 238856) >+++ Source/WebKit/UIProcess/ios/WebProcessProxyIOS.mm (working copy) >@@ -28,8 +28,7 @@ > > #if PLATFORM(IOS_FAMILY) > >-#import <WebCore/NotImplemented.h> >- >+#import "WKFullKeyboardAccessWatcher.h" > #import "WebProcessMessages.h" > > namespace WebKit { >@@ -36,8 +35,7 @@ > > bool WebProcessProxy::fullKeyboardAccessEnabled() > { >- notImplemented(); >- return false; >+ return [WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]; > } > > } // namespace WebKit >Index: Source/WebKit/UIProcess/mac/WKFullKeyboardAccessWatcher.h >=================================================================== >--- Source/WebKit/UIProcess/mac/WKFullKeyboardAccessWatcher.h (revision 238856) >+++ Source/WebKit/UIProcess/mac/WKFullKeyboardAccessWatcher.h (working copy) >@@ -26,7 +26,7 @@ > #ifndef WKFullKeyboardAccessWatcher_h > #define WKFullKeyboardAccessWatcher_h > >-#if PLATFORM(MAC) >+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY) > > @interface WKFullKeyboardAccessWatcher : NSObject { > @private >@@ -37,6 +37,6 @@ > > @end; > >-#endif // PLATFORM(MAC) >+#endif // PLATFORM(MAC) || PLATFORM(IOS_FAMILY) > > #endif // WKFullKeyboardAccessWatcher_h >Index: Source/WebKit/UIProcess/mac/WKFullKeyboardAccessWatcher.mm >=================================================================== >--- Source/WebKit/UIProcess/mac/WKFullKeyboardAccessWatcher.mm (revision 238856) >+++ Source/WebKit/UIProcess/mac/WKFullKeyboardAccessWatcher.mm (working copy) >@@ -26,12 +26,23 @@ > #import "config.h" > #import "WKFullKeyboardAccessWatcher.h" > >-#if PLATFORM(MAC) >+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY) > > #import "WebProcessPool.h" > >+#if PLATFORM(MAC) > NSString * const KeyboardUIModeDidChangeNotification = @"com.apple.KeyboardUIModeDidChange"; > const CFStringRef AppleKeyboardUIMode = CFSTR("AppleKeyboardUIMode"); >+#elif PLATFORM(IOS_FAMILY) >+#if __has_include(<AccessibilitySupport.h>) >+#include <AccessibilitySupport.h> >+#else >+extern "C" { >+ CFStringRef kAXSFullKeyboardAccessEnabledNotification; >+ Boolean _AXSFullKeyboardAccessEnabled(); >+} >+#endif >+#endif > > @implementation WKFullKeyboardAccessWatcher > >@@ -45,6 +56,7 @@ > { > BOOL oldValue = fullKeyboardAccessEnabled; > >+#if PLATFORM(MAC) > CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication); > > Boolean keyExistsAndHasValidFormat; >@@ -55,7 +67,10 @@ > // Bit 1 is set if controls other than text fields are included in the tab order (WebKit also always includes lists). > fullKeyboardAccessEnabled = (mode & 0x2); > } >- >+#elif PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 >+ fullKeyboardAccessEnabled = _AXSFullKeyboardAccessEnabled(); >+#endif >+ > if (fullKeyboardAccessEnabled != oldValue) > [self notifyAllProcessPools]; > } >@@ -68,10 +83,15 @@ > > [self retrieveKeyboardUIModeFromPreferences:nil]; > >- [[NSDistributedNotificationCenter defaultCenter] >+#if PLATFORM(MAC) >+ [[NSDistributedNotificationCenter defaultCenter] > addObserver:self selector:@selector(retrieveKeyboardUIModeFromPreferences:) > name:KeyboardUIModeDidChangeNotification object:nil]; >- >+#elif PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 >+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(retrieveKeyboardUIModeFromPreferences:) >+ name:(NSString *)kAXSFullKeyboardAccessEnabledNotification object:nil]; >+#endif >+ > return self; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
thorton
:
review+
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192373
:
356563
|
356573
|
356574
|
356663
|
356664
|
356666
|
356675
|
356688
|
356766
|
356786
|
356787
|
356809
|
356833
|
356849
|
356852
|
356975
|
356986
|
357037
|
357421