Title: [238461] trunk
Revision
238461
Author
wenson_hs...@apple.com
Date
2018-11-23 10:18:01 -0800 (Fri, 23 Nov 2018)

Log Message

Enable drag and drop support for iOSMac
https://bugs.webkit.org/show_bug.cgi?id=191818
<rdar://problem/43907454>

Reviewed by Dean Jackson.

Source/_javascript_Core:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enables drag and drop by default on iOSMac by switching on ENABLE_DATA_INTERACTION and ENABLE_DRAG_SUPPORT. This
enables support for dragging links, text selections, and images, though many advanced features (e.g. custom
pasteboard data) will require additional support from the platform.

* Configurations/FeatureDefines.xcconfig:
* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::informationForItemAtIndex):
(WebCore::registerItemToPasteboard):
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
* platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderLoadResult canBeRepresentedAsFileUpload]):
(-[WebItemProviderPasteboard numberOfFiles]):

Disable codepaths which attempt to access or set `teamData` or `preferredPresentationStyle` on `NSItemProvider`
in iOSMac, since these are currently unimplemented.

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferencesDefaultValues.cpp:
(defaultCustomPasteboardDataEnabled):

Enable custom pasteboard data by default on iOSMac. While writing and reading custom pasteboard data is
currently broken in iOSMac due to the lack of `teamData` and `preferredPresentationStyle`, opting into custom
pasteboard data at least allows us to avoid writing unsanitized data types to the pasteboard.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformEditorState const):

Fix a regression from <https://trac.webkit.org/r236619> wherein the web process crashes when attempting to edit
a text field. This happens because the call to `-[UIKeyboard isInHardwareKeyboardMode]` on the iOSMac platform
attempts to initialize a `UHASWorkspace` from the web process, which then attempts to connect to the UIKit host
application. Instead, we can skip this call altogether on iOSMac, where the platform never considers a hardware
keyboard to be "connected", even when typing.

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (238460 => 238461)


--- trunk/Source/_javascript_Core/ChangeLog	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-11-23 18:18:01 UTC (rev 238461)
@@ -1,3 +1,13 @@
+2018-11-23  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        Enable drag and drop support for iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=191818
+        <rdar://problem/43907454>
+
+        Reviewed by Dean Jackson.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2018-11-22  Mark Lam  <mark....@apple.com>
 
         Make the jsc shell's dumpException() more robust against long exception strings.

Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (238460 => 238461)


--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-11-23 18:18:01 UTC (rev 238461)
@@ -124,6 +124,7 @@
 ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME));
 ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION;
 ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION;
+ENABLE_DATA_INTERACTION_iosmac = ENABLE_DATA_INTERACTION;
 
 ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME));
 ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
@@ -136,6 +137,7 @@
 ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;
 ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT;
+ENABLE_DRAG_SUPPORT_iosmac = ENABLE_DRAG_SUPPORT;
 
 ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
 ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA;

Modified: trunk/Source/WebCore/ChangeLog (238460 => 238461)


--- trunk/Source/WebCore/ChangeLog	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebCore/ChangeLog	2018-11-23 18:18:01 UTC (rev 238461)
@@ -1,3 +1,27 @@
+2018-11-23  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        Enable drag and drop support for iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=191818
+        <rdar://problem/43907454>
+
+        Reviewed by Dean Jackson.
+
+        Enables drag and drop by default on iOSMac by switching on ENABLE_DATA_INTERACTION and ENABLE_DRAG_SUPPORT. This
+        enables support for dragging links, text selections, and images, though many advanced features (e.g. custom
+        pasteboard data) will require additional support from the platform.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * platform/ios/PlatformPasteboardIOS.mm:
+        (WebCore::PlatformPasteboard::informationForItemAtIndex):
+        (WebCore::registerItemToPasteboard):
+        (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):
+        * platform/ios/WebItemProviderPasteboard.mm:
+        (-[WebItemProviderLoadResult canBeRepresentedAsFileUpload]):
+        (-[WebItemProviderPasteboard numberOfFiles]):
+
+        Disable codepaths which attempt to access or set `teamData` or `preferredPresentationStyle` on `NSItemProvider`
+        in iOSMac, since these are currently unimplemented.
+
 2018-11-23  Zalan Butjas  <za...@apple.com>
 
         [LFC][IFC] Add support for variable height runs.

Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (238460 => 238461)


--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-11-23 18:18:01 UTC (rev 238461)
@@ -124,6 +124,7 @@
 ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME));
 ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION;
 ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION;
+ENABLE_DATA_INTERACTION_iosmac = ENABLE_DATA_INTERACTION;
 
 ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME));
 ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
@@ -136,6 +137,7 @@
 ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;
 ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT;
+ENABLE_DRAG_SUPPORT_iosmac = ENABLE_DRAG_SUPPORT;
 
 ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
 ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA;

Modified: trunk/Source/WebCore/PAL/ChangeLog (238460 => 238461)


--- trunk/Source/WebCore/PAL/ChangeLog	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebCore/PAL/ChangeLog	2018-11-23 18:18:01 UTC (rev 238461)
@@ -1,3 +1,13 @@
+2018-11-23  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        Enable drag and drop support for iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=191818
+        <rdar://problem/43907454>
+
+        Reviewed by Dean Jackson.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2018-11-21  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [Cocoa] [WebKit2] Add support for replacing find-in-page text matches

Modified: trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig (238460 => 238461)


--- trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2018-11-23 18:18:01 UTC (rev 238461)
@@ -124,6 +124,7 @@
 ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME));
 ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION;
 ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION;
+ENABLE_DATA_INTERACTION_iosmac = ENABLE_DATA_INTERACTION;
 
 ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME));
 ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
@@ -136,6 +137,7 @@
 ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;
 ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT;
+ENABLE_DRAG_SUPPORT_iosmac = ENABLE_DRAG_SUPPORT;
 
 ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
 ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA;

Modified: trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm (238460 => 238461)


--- trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm	2018-11-23 18:18:01 UTC (rev 238461)
@@ -47,6 +47,7 @@
 #import <wtf/text/StringHash.h>
 
 #define PASTEBOARD_SUPPORTS_ITEM_PROVIDERS (PLATFORM(IOS_FAMILY) && !(PLATFORM(WATCHOS) || PLATFORM(APPLETV)))
+#define PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA (PASTEBOARD_SUPPORTS_ITEM_PROVIDERS && !PLATFORM(IOSMAC))
 #define NSURL_SUPPORTS_TITLE (!PLATFORM(IOSMAC))
 
 SOFT_LINK_FRAMEWORK(UIKit)
@@ -110,6 +111,8 @@
 
 #if PASTEBOARD_SUPPORTS_ITEM_PROVIDERS
 
+#if PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA
+
 static PasteboardItemPresentationStyle pasteboardItemPresentationStyle(UIPreferredPresentationStyle style)
 {
     switch (style) {
@@ -125,6 +128,8 @@
     }
 }
 
+#endif // PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA
+
 Vector<PasteboardItemInfo> PlatformPasteboard::allPasteboardItemInfo()
 {
     Vector<PasteboardItemInfo> itemInfo;
@@ -146,7 +151,9 @@
     }
 
     NSItemProvider *itemProvider = [[m_pasteboard itemProviders] objectAtIndex:index];
+#if PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA
     info.preferredPresentationStyle = pasteboardItemPresentationStyle(itemProvider.preferredPresentationStyle);
+#endif
     info.suggestedFileName = itemProvider.suggestedName;
     for (NSString *typeIdentifier in itemProvider.registeredTypeIdentifiers) {
         CFStringRef cfTypeIdentifier = (CFStringRef)typeIdentifier;
@@ -285,13 +292,19 @@
 static void registerItemToPasteboard(WebItemProviderRegistrationInfoList *representationsToRegister, id <AbstractPasteboard> pasteboard)
 {
 #if PLATFORM(IOSMAC)
-    auto itemDictionary = adoptNS([[NSMutableDictionary alloc] init]);
-    [representationsToRegister enumerateItems:[itemDictionary] (id <WebItemProviderRegistrar> item, NSUInteger) {
-        if ([item respondsToSelector:@selector(typeIdentifierForClient)] && [item respondsToSelector:@selector(dataForClient)])
-            [itemDictionary setObject:item.dataForClient forKey:item.typeIdentifierForClient];
-    }];
-    [pasteboard setItems:@[ itemDictionary.get() ]];
-#else
+    // In iOSMac, -[UIPasteboard setItemProviders:] is not yet supported, so we fall back to setting an item dictionary when
+    // populating the pasteboard upon copy.
+    if ([pasteboard isKindOfClass:getUIPasteboardClass()]) {
+        auto itemDictionary = adoptNS([[NSMutableDictionary alloc] init]);
+        [representationsToRegister enumerateItems:[itemDictionary] (id <WebItemProviderRegistrar> item, NSUInteger) {
+            if ([item respondsToSelector:@selector(typeIdentifierForClient)] && [item respondsToSelector:@selector(dataForClient)])
+                [itemDictionary setObject:item.dataForClient forKey:item.typeIdentifierForClient];
+        }];
+        [pasteboard setItems:@[ itemDictionary.get() ]];
+        return;
+    }
+#endif // PLATFORM(IOSMAC)
+
     if (NSItemProvider *itemProvider = representationsToRegister.itemProvider)
         [pasteboard setItemProviders:@[ itemProvider ]];
     else
@@ -299,8 +312,6 @@
 
     if ([pasteboard respondsToSelector:@selector(stageRegistrationList:)])
         [pasteboard stageRegistrationList:representationsToRegister];
-#endif
-    
 }
 
 long PlatformPasteboard::setColor(const Color& color)
@@ -466,6 +477,7 @@
 Vector<String> PlatformPasteboard::typesSafeForDOMToReadAndWrite(const String& origin) const
 {
     ListHashSet<String> domPasteboardTypes;
+#if PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA
     for (NSItemProvider *provider in [m_pasteboard itemProviders]) {
         if (!provider.teamData.length)
             continue;
@@ -487,6 +499,7 @@
         for (NSString *type in customTypes)
             domPasteboardTypes.add(type);
     }
+#endif // PASTEBOARD_SUPPORTS_PRESENTATION_STYLE_AND_TEAM_DATA
 
     if (NSData *serializedCustomData = [m_pasteboard dataForPasteboardType:@(PasteboardCustomData::cocoaType())]) {
         auto data = ""

Modified: trunk/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm (238460 => 238461)


--- trunk/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebCore/platform/ios/WebItemProviderPasteboard.mm	2018-11-23 18:18:01 UTC (rev 238461)
@@ -26,7 +26,7 @@
 #include "config.h"
 #import "WebItemProviderPasteboard.h"
 
-#if ENABLE(DATA_INTERACTION) || PLATFORM(IOSMAC)
+#if ENABLE(DATA_INTERACTION)
 
 #import <Foundation/NSItemProvider.h>
 #import <Foundation/NSProgress.h>
@@ -342,7 +342,11 @@
 
 - (BOOL)canBeRepresentedAsFileUpload
 {
+#if PLATFORM(IOSMAC)
+    return false;
+#else
     return [_itemProvider preferredPresentationStyle] != UIPreferredPresentationStyleInline;
+#endif
 }
 
 - (NSArray<NSString *> *)typesToLoad
@@ -643,8 +647,10 @@
     NSArray *supportedFileTypes = Pasteboard::supportedFileUploadPasteboardTypes();
     NSInteger numberOfFiles = 0;
     for (NSItemProvider *itemProvider in _itemProviders.get()) {
+#if !PLATFORM(IOSMAC)
         if (itemProvider.preferredPresentationStyle == UIPreferredPresentationStyleInline)
             continue;
+#endif
 
         for (NSString *identifier in itemProvider.registeredTypeIdentifiers) {
             if (!typeConformsToTypes(identifier, supportedFileTypes))
@@ -829,4 +835,4 @@
 
 @end
 
-#endif // ENABLE(DATA_INTERACTION) || PLATFORM(IOSMAC)
+#endif // ENABLE(DATA_INTERACTION)

Modified: trunk/Source/WebKit/ChangeLog (238460 => 238461)


--- trunk/Source/WebKit/ChangeLog	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebKit/ChangeLog	2018-11-23 18:18:01 UTC (rev 238461)
@@ -1,3 +1,28 @@
+2018-11-23  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        Enable drag and drop support for iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=191818
+        <rdar://problem/43907454>
+
+        Reviewed by Dean Jackson.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * Shared/WebPreferencesDefaultValues.cpp:
+        (defaultCustomPasteboardDataEnabled):
+
+        Enable custom pasteboard data by default on iOSMac. While writing and reading custom pasteboard data is
+        currently broken in iOSMac due to the lack of `teamData` and `preferredPresentationStyle`, opting into custom
+        pasteboard data at least allows us to avoid writing unsanitized data types to the pasteboard.
+
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::platformEditorState const):
+
+        Fix a regression from <https://trac.webkit.org/r236619> wherein the web process crashes when attempting to edit
+        a text field. This happens because the call to `-[UIKeyboard isInHardwareKeyboardMode]` on the iOSMac platform
+        attempts to initialize a `UHASWorkspace` from the web process, which then attempts to connect to the UIKit host
+        application. Instead, we can skip this call altogether on iOSMac, where the platform never considers a hardware
+        keyboard to be "connected", even when typing.
+
 2018-11-23  Antti Koivisto  <an...@apple.com>
 
         UI side compositing doesn't paint on Mac

Modified: trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig (238460 => 238461)


--- trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2018-11-23 18:18:01 UTC (rev 238461)
@@ -124,6 +124,7 @@
 ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME));
 ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION;
 ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION;
+ENABLE_DATA_INTERACTION_iosmac = ENABLE_DATA_INTERACTION;
 
 ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME));
 ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
@@ -136,6 +137,7 @@
 ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;
 ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT;
+ENABLE_DRAG_SUPPORT_iosmac = ENABLE_DRAG_SUPPORT;
 
 ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
 ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA;

Modified: trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp (238460 => 238461)


--- trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2018-11-23 18:18:01 UTC (rev 238461)
@@ -46,7 +46,9 @@
 
 bool defaultCustomPasteboardDataEnabled()
 {
-#if PLATFORM(IOS_FAMILY)
+#if PLATFORM(IOSMAC)
+    return true;
+#elif PLATFORM(IOS_FAMILY)
     return WebCore::IOSApplication::isMobileSafari() || dyld_get_program_sdk_version() >= DYLD_IOS_VERSION_11_3;
 #elif PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300
     return WebCore::MacApplication::isSafari() || dyld_get_program_sdk_version() > DYLD_MACOSX_VERSION_10_13;

Modified: trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm (238460 => 238461)


--- trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm	2018-11-23 18:18:01 UTC (rev 238461)
@@ -198,7 +198,11 @@
     // have a composition or are using a hardware keyboard then we send the full editor state
     // immediately so that the UIProcess can update UI, including the position of the caret.
     bool needsLayout = !frame.view() || frame.view()->needsLayout();
-    if (shouldIncludePostLayoutData == IncludePostLayoutDataHint::No && needsLayout && ![UIKeyboard isInHardwareKeyboardMode] && !frame.editor().hasComposition()) {
+    bool requiresPostLayoutData = frame.editor().hasComposition();
+#if !PLATFORM(IOSMAC)
+    requiresPostLayoutData |= [UIKeyboard isInHardwareKeyboardMode];
+#endif
+    if (shouldIncludePostLayoutData == IncludePostLayoutDataHint::No && needsLayout && !requiresPostLayoutData) {
         result.isMissingPostLayoutData = true;
         return;
     }

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (238460 => 238461)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-11-23 18:18:01 UTC (rev 238461)
@@ -1,3 +1,13 @@
+2018-11-23  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        Enable drag and drop support for iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=191818
+        <rdar://problem/43907454>
+
+        Reviewed by Dean Jackson.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2018-11-22  Wenson Hsieh  <wenson_hs...@apple.com>
 
         Address post-review feedback after r238438

Modified: trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig (238460 => 238461)


--- trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2018-11-23 18:18:01 UTC (rev 238461)
@@ -124,6 +124,7 @@
 ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME));
 ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION;
 ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION;
+ENABLE_DATA_INTERACTION_iosmac = ENABLE_DATA_INTERACTION;
 
 ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME));
 ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
@@ -136,6 +137,7 @@
 ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;
 ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT;
+ENABLE_DRAG_SUPPORT_iosmac = ENABLE_DRAG_SUPPORT;
 
 ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
 ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA;

Modified: trunk/Tools/ChangeLog (238460 => 238461)


--- trunk/Tools/ChangeLog	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Tools/ChangeLog	2018-11-23 18:18:01 UTC (rev 238461)
@@ -1,3 +1,13 @@
+2018-11-23  Wenson Hsieh  <wenson_hs...@apple.com>
+
+        Enable drag and drop support for iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=191818
+        <rdar://problem/43907454>
+
+        Reviewed by Dean Jackson.
+
+        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
+
 2018-11-23  Zalan Bujtas  <za...@apple.com>
 
         [LFC][IFC] Add support for variable height runs.

Modified: trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig (238460 => 238461)


--- trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2018-11-23 17:05:43 UTC (rev 238460)
+++ trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2018-11-23 18:18:01 UTC (rev 238461)
@@ -124,6 +124,7 @@
 ENABLE_DATA_INTERACTION = $(ENABLE_DATA_INTERACTION_$(WK_PLATFORM_NAME));
 ENABLE_DATA_INTERACTION_iphoneos = ENABLE_DATA_INTERACTION;
 ENABLE_DATA_INTERACTION_iphonesimulator = ENABLE_DATA_INTERACTION;
+ENABLE_DATA_INTERACTION_iosmac = ENABLE_DATA_INTERACTION;
 
 ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(WK_PLATFORM_NAME));
 ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
@@ -136,6 +137,7 @@
 ENABLE_DRAG_SUPPORT = $(ENABLE_DRAG_SUPPORT_$(WK_PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;
 ENABLE_DRAG_SUPPORT_iphonesimulator = ENABLE_DRAG_SUPPORT;
+ENABLE_DRAG_SUPPORT_iosmac = ENABLE_DRAG_SUPPORT;
 
 ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(WK_PLATFORM_NAME));
 ENABLE_ENCRYPTED_MEDIA_iphoneos = ENABLE_ENCRYPTED_MEDIA;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to