Title: [215371] trunk
Revision
215371
Author
aes...@apple.com
Date
2017-04-14 13:29:25 -0700 (Fri, 14 Apr 2017)

Log Message

[ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
https://bugs.webkit.org/show_bug.cgi?id=161967

Reviewed by Alexey Proskuryakov.

Source/WebCore:

DataDetectorsCoreSPI.h defined DDQueryOffset as a struct of two CFIndexes, which is 16 bytes
on LP64, but the struct is actually defined as two CFIndex-typed 32-bit bitfields, which is
8 bytes on LP64. This breaks the ABI on Public SDK builds when calling functions that take
or return DDQueryOffsets.

* platform/spi/cocoa/DataDetectorsCoreSPI.h: Updated the DDQueryOffset definition for
Public SDK builds, and added a static_assert to detect future size changes at compile time.

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(TEST): Re-enabled WebKit2.DataDetectionReferenceDate.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (215370 => 215371)


--- trunk/Source/WebCore/ChangeLog	2017-04-14 19:50:24 UTC (rev 215370)
+++ trunk/Source/WebCore/ChangeLog	2017-04-14 20:29:25 UTC (rev 215371)
@@ -1,3 +1,18 @@
+2017-04-14  Andy Estes  <aes...@apple.com>
+
+        [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
+        https://bugs.webkit.org/show_bug.cgi?id=161967
+
+        Reviewed by Alexey Proskuryakov.
+
+        DataDetectorsCoreSPI.h defined DDQueryOffset as a struct of two CFIndexes, which is 16 bytes
+        on LP64, but the struct is actually defined as two CFIndex-typed 32-bit bitfields, which is
+        8 bytes on LP64. This breaks the ABI on Public SDK builds when calling functions that take
+        or return DDQueryOffsets.
+
+        * platform/spi/cocoa/DataDetectorsCoreSPI.h: Updated the DDQueryOffset definition for
+        Public SDK builds, and added a static_assert to detect future size changes at compile time.
+
 2017-04-14  Konstantin Tokarev  <annu...@yandex.ru>
 
         Removed unused and unimplemented methods from MediaPlayer

Modified: trunk/Source/WebCore/platform/spi/cocoa/DataDetectorsCoreSPI.h (215370 => 215371)


--- trunk/Source/WebCore/platform/spi/cocoa/DataDetectorsCoreSPI.h	2017-04-14 19:50:24 UTC (rev 215370)
+++ trunk/Source/WebCore/platform/spi/cocoa/DataDetectorsCoreSPI.h	2017-04-14 20:29:25 UTC (rev 215371)
@@ -105,10 +105,17 @@
 
 #define DDResultPropertyPassiveDisplay   (1 << 0)
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200
 typedef struct __DDQueryOffset {
     CFIndex queryIndex;
     CFIndex offset;
 } DDQueryOffset;
+#else
+typedef struct __DDQueryOffset {
+    CFIndex queryIndex:32;
+    CFIndex offset:32;
+} DDQueryOffset;
+#endif
 
 typedef struct __DDQueryRange {
     DDQueryOffset start;
@@ -117,6 +124,12 @@
 
 #endif // !USE(APPLE_INTERNAL_SDK)
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200
+static_assert(sizeof(DDQueryOffset) == sizeof(CFIndex) * 2, "DDQueryOffset is no longer the size of two CFIndexes. Update the definition of DDQueryOffset in this file to match the new size.");
+#else
+static_assert(sizeof(DDQueryOffset) == 8, "DDQueryOffset is no longer 8 bytes. Update the definition of DDQueryOffset in this file to match the new size.");
+#endif
+
 typedef struct __DDScanQuery *DDScanQueryRef;
 typedef struct __DDScanner *DDScannerRef;
 

Modified: trunk/Tools/ChangeLog (215370 => 215371)


--- trunk/Tools/ChangeLog	2017-04-14 19:50:24 UTC (rev 215370)
+++ trunk/Tools/ChangeLog	2017-04-14 20:29:25 UTC (rev 215371)
@@ -1,3 +1,13 @@
+2017-04-14  Andy Estes  <aes...@apple.com>
+
+        [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
+        https://bugs.webkit.org/show_bug.cgi?id=161967
+
+        Reviewed by Alexey Proskuryakov.
+
+        * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
+        (TEST): Re-enabled WebKit2.DataDetectionReferenceDate.
+
 2017-04-14  Ryan Haddad  <ryanhad...@apple.com>
 
         Unreviewed, rolling out r215363.

Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm (215370 => 215371)


--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm	2017-04-14 19:50:24 UTC (rev 215370)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm	2017-04-14 20:29:25 UTC (rev 215371)
@@ -69,7 +69,7 @@
     ranScript = false;
 }
 
-TEST(WebKit2, DISABLED_DataDetectionReferenceDate)
+TEST(WebKit2, DataDetectionReferenceDate)
 {
     RetainPtr<WKWebViewConfiguration> configuration = adoptNS([[WKWebViewConfiguration alloc] init]);
     [configuration setDataDetectorTypes:WKDataDetectorTypeCalendarEvent];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to