Title: [226255] trunk/Source/WebKit
- Revision
- 226255
- Author
- m...@apple.com
- Date
- 2017-12-21 19:23:18 -0800 (Thu, 21 Dec 2017)
Log Message
WKPreferences doesn’t expose editable link behavior
https://bugs.webkit.org/show_bug.cgi?id=181111
Reviewed by Tim Horton.
* UIProcess/API/Cocoa/WKPreferences.mm:
(toAPI): Added. Converts WebCore::EditableLinkBehavior to _WKEditableLinkBehavior.
(toEditableLinkBehavior): Added. Converts the other way.
(-[WKPreferences _editableLinkBehavior]): Added this getter.
(-[WKPreferences _setEditableLinkBehavior:]): Ditto.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h: Declared new property.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (226254 => 226255)
--- trunk/Source/WebKit/ChangeLog 2017-12-22 03:05:18 UTC (rev 226254)
+++ trunk/Source/WebKit/ChangeLog 2017-12-22 03:23:18 UTC (rev 226255)
@@ -1,3 +1,17 @@
+2017-12-21 Dan Bernstein <m...@apple.com>
+
+ WKPreferences doesn’t expose editable link behavior
+ https://bugs.webkit.org/show_bug.cgi?id=181111
+
+ Reviewed by Tim Horton.
+
+ * UIProcess/API/Cocoa/WKPreferences.mm:
+ (toAPI): Added. Converts WebCore::EditableLinkBehavior to _WKEditableLinkBehavior.
+ (toEditableLinkBehavior): Added. Converts the other way.
+ (-[WKPreferences _editableLinkBehavior]): Added this getter.
+ (-[WKPreferences _setEditableLinkBehavior:]): Ditto.
+ * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Declared new property.
+
2017-12-21 Andy Estes <aes...@apple.com>
Address additional review feedback after r226182.
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm (226254 => 226255)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2017-12-22 03:05:18 UTC (rev 226254)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm 2017-12-22 03:23:18 UTC (rev 226255)
@@ -34,6 +34,7 @@
#import "_WKExperimentalFeature.h"
#import "_WKExperimentalFeatureInternal.h"
#import <WebCore/SecurityOrigin.h>
+#import <WebCore/Settings.h>
#import <wtf/RetainPtr.h>
@implementation WKPreferences
@@ -677,6 +678,54 @@
_preferences->setShouldAllowUserInstalledFonts(_shouldAllowUserInstalledFonts);
}
+static _WKEditableLinkBehavior toAPI(WebCore::EditableLinkBehavior behavior)
+{
+ switch (behavior) {
+ case WebCore::EditableLinkDefaultBehavior:
+ return _WKEditableLinkBehaviorDefault;
+ case WebCore::EditableLinkAlwaysLive:
+ return _WKEditableLinkBehaviorAlwaysLive;
+ case WebCore::EditableLinkOnlyLiveWithShiftKey:
+ return _WKEditableLinkBehaviorOnlyLiveWithShiftKey;
+ case WebCore::EditableLinkLiveWhenNotFocused:
+ return _WKEditableLinkBehaviorLiveWhenNotFocused;
+ case WebCore::EditableLinkNeverLive:
+ return _WKEditableLinkBehaviorNeverLive;
+ }
+
+ ASSERT_NOT_REACHED();
+ return _WKEditableLinkBehaviorNeverLive;
+}
+
+static WebCore::EditableLinkBehavior toEditableLinkBehavior(_WKEditableLinkBehavior wkBehavior)
+{
+ switch (wkBehavior) {
+ case _WKEditableLinkBehaviorDefault:
+ return WebCore::EditableLinkDefaultBehavior;
+ case _WKEditableLinkBehaviorAlwaysLive:
+ return WebCore::EditableLinkAlwaysLive;
+ case _WKEditableLinkBehaviorOnlyLiveWithShiftKey:
+ return WebCore::EditableLinkOnlyLiveWithShiftKey;
+ case _WKEditableLinkBehaviorLiveWhenNotFocused:
+ return WebCore::EditableLinkLiveWhenNotFocused;
+ case _WKEditableLinkBehaviorNeverLive:
+ return WebCore::EditableLinkNeverLive;
+ }
+
+ ASSERT_NOT_REACHED();
+ return WebCore::EditableLinkNeverLive;
+}
+
+- (_WKEditableLinkBehavior)_editableLinkBehavior
+{
+ return toAPI(static_cast<WebCore::EditableLinkBehavior>(_preferences->editableLinkBehavior()));
+}
+
+- (void)_setEditableLinkBehavior:(_WKEditableLinkBehavior)editableLinkBehavior
+{
+ _preferences->setEditableLinkBehavior(toEditableLinkBehavior(editableLinkBehavior));
+}
+
#if PLATFORM(MAC)
- (void)_setJavaEnabledForLocalFiles:(BOOL)enabled
{
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h (226254 => 226255)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h 2017-12-22 03:05:18 UTC (rev 226254)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h 2017-12-22 03:23:18 UTC (rev 226255)
@@ -46,6 +46,14 @@
_WKJavaScriptRuntimeFlagsAllEnabled = 0
} WK_API_AVAILABLE(macosx(10.11), ios(9.0));
+typedef NS_ENUM(NSInteger, _WKEditableLinkBehavior) {
+ _WKEditableLinkBehaviorDefault,
+ _WKEditableLinkBehaviorAlwaysLive,
+ _WKEditableLinkBehaviorOnlyLiveWithShiftKey,
+ _WKEditableLinkBehaviorLiveWhenNotFocused,
+ _WKEditableLinkBehaviorNeverLive,
+} WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+
@class _WKExperimentalFeature;
@interface WKPreferences () <NSCopying>
@@ -118,6 +126,8 @@
@property (nonatomic, setter=_setShouldAllowUserInstalledFonts:) BOOL _shouldAllowUserInstalledFonts WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+@property (nonatomic, setter=_setEditableLinkBehavior:) _WKEditableLinkBehavior _editableLinkBehavior WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+
+ (NSArray<_WKExperimentalFeature *> *)_experimentalFeatures WK_API_AVAILABLE(macosx(10.12), ios(10.0));
- (BOOL)_isEnabledForFeature:(_WKExperimentalFeature *)feature WK_API_AVAILABLE(macosx(10.12), ios(10.0));
- (void)_setEnabled:(BOOL)value forFeature:(_WKExperimentalFeature *)feature WK_API_AVAILABLE(macosx(10.12), ios(10.0));
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes