Changeset 226255 in webkit


Ignore:
Timestamp:
Dec 21, 2017 7:23:18 PM (6 years ago)
Author:
mitz@apple.com
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.
Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r226243 r226255  
     12017-12-21  Dan Bernstein  <mitz@apple.com>
     2
     3        WKPreferences doesn’t expose editable link behavior
     4        https://bugs.webkit.org/show_bug.cgi?id=181111
     5
     6        Reviewed by Tim Horton.
     7
     8        * UIProcess/API/Cocoa/WKPreferences.mm:
     9        (toAPI): Added. Converts WebCore::EditableLinkBehavior to _WKEditableLinkBehavior.
     10        (toEditableLinkBehavior): Added. Converts the other way.
     11        (-[WKPreferences _editableLinkBehavior]): Added this getter.
     12        (-[WKPreferences _setEditableLinkBehavior:]): Ditto.
     13        * UIProcess/API/Cocoa/WKPreferencesPrivate.h: Declared new property.
     14
    1152017-12-21  Andy Estes  <aestes@apple.com>
    216
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm

    r226211 r226255  
    3535#import "_WKExperimentalFeatureInternal.h"
    3636#import <WebCore/SecurityOrigin.h>
     37#import <WebCore/Settings.h>
    3738#import <wtf/RetainPtr.h>
    3839
     
    678679}
    679680
     681static _WKEditableLinkBehavior toAPI(WebCore::EditableLinkBehavior behavior)
     682{
     683    switch (behavior) {
     684    case WebCore::EditableLinkDefaultBehavior:
     685        return _WKEditableLinkBehaviorDefault;
     686    case WebCore::EditableLinkAlwaysLive:
     687        return _WKEditableLinkBehaviorAlwaysLive;
     688    case WebCore::EditableLinkOnlyLiveWithShiftKey:
     689        return _WKEditableLinkBehaviorOnlyLiveWithShiftKey;
     690    case WebCore::EditableLinkLiveWhenNotFocused:
     691        return _WKEditableLinkBehaviorLiveWhenNotFocused;
     692    case WebCore::EditableLinkNeverLive:
     693        return _WKEditableLinkBehaviorNeverLive;
     694    }
     695   
     696    ASSERT_NOT_REACHED();
     697    return _WKEditableLinkBehaviorNeverLive;
     698}
     699
     700static WebCore::EditableLinkBehavior toEditableLinkBehavior(_WKEditableLinkBehavior wkBehavior)
     701{
     702    switch (wkBehavior) {
     703    case _WKEditableLinkBehaviorDefault:
     704        return WebCore::EditableLinkDefaultBehavior;
     705    case _WKEditableLinkBehaviorAlwaysLive:
     706        return WebCore::EditableLinkAlwaysLive;
     707    case _WKEditableLinkBehaviorOnlyLiveWithShiftKey:
     708        return WebCore::EditableLinkOnlyLiveWithShiftKey;
     709    case _WKEditableLinkBehaviorLiveWhenNotFocused:
     710        return WebCore::EditableLinkLiveWhenNotFocused;
     711    case _WKEditableLinkBehaviorNeverLive:
     712        return WebCore::EditableLinkNeverLive;
     713    }
     714   
     715    ASSERT_NOT_REACHED();
     716    return WebCore::EditableLinkNeverLive;
     717}
     718
     719- (_WKEditableLinkBehavior)_editableLinkBehavior
     720{
     721    return toAPI(static_cast<WebCore::EditableLinkBehavior>(_preferences->editableLinkBehavior()));
     722}
     723
     724- (void)_setEditableLinkBehavior:(_WKEditableLinkBehavior)editableLinkBehavior
     725{
     726    _preferences->setEditableLinkBehavior(toEditableLinkBehavior(editableLinkBehavior));
     727}
     728
    680729#if PLATFORM(MAC)
    681730- (void)_setJavaEnabledForLocalFiles:(BOOL)enabled
  • trunk/Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h

    r226211 r226255  
    4646    _WKJavaScriptRuntimeFlagsAllEnabled = 0
    4747} WK_API_AVAILABLE(macosx(10.11), ios(9.0));
     48
     49typedef NS_ENUM(NSInteger, _WKEditableLinkBehavior) {
     50    _WKEditableLinkBehaviorDefault,
     51    _WKEditableLinkBehaviorAlwaysLive,
     52    _WKEditableLinkBehaviorOnlyLiveWithShiftKey,
     53    _WKEditableLinkBehaviorLiveWhenNotFocused,
     54    _WKEditableLinkBehaviorNeverLive,
     55} WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
    4856
    4957@class _WKExperimentalFeature;
     
    119127@property (nonatomic, setter=_setShouldAllowUserInstalledFonts:) BOOL _shouldAllowUserInstalledFonts WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
    120128
     129@property (nonatomic, setter=_setEditableLinkBehavior:) _WKEditableLinkBehavior _editableLinkBehavior WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
     130
    121131+ (NSArray<_WKExperimentalFeature *> *)_experimentalFeatures WK_API_AVAILABLE(macosx(10.12), ios(10.0));
    122132- (BOOL)_isEnabledForFeature:(_WKExperimentalFeature *)feature WK_API_AVAILABLE(macosx(10.12), ios(10.0));
Note: See TracChangeset for help on using the changeset viewer.