Title: [204843] trunk/Source/WebCore
- Revision
- 204843
- Author
- [email protected]
- Date
- 2016-08-23 11:36:44 -0700 (Tue, 23 Aug 2016)
Log Message
Add a workaround for iOS Frameworks that expect DOM bindings to be in WebCore
https://bugs.webkit.org/show_bug.cgi?id=161093
Reviewed by Dan Bernstein.
Create a text-based stub library that looks enough like WebKitLegacy that we can trick the linker
into creating a LC_REEXPORT_DYLIB load command in WebCore.
* Configurations/WebCore.xcconfig:
Link against this WebKitLegacyStub tbd file on iOS 9.0, 9.3 and 10.0.
* Configurations/WebKitLegacyStub.iOS.tbd:
Add new tbd file.
* WebCore.xcodeproj/project.pbxproj:
Add new files.
Modified Paths
Added Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (204842 => 204843)
--- trunk/Source/WebCore/ChangeLog 2016-08-23 18:14:30 UTC (rev 204842)
+++ trunk/Source/WebCore/ChangeLog 2016-08-23 18:36:44 UTC (rev 204843)
@@ -1,3 +1,22 @@
+2016-08-23 Anders Carlsson <[email protected]>
+
+ Add a workaround for iOS Frameworks that expect DOM bindings to be in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=161093
+
+ Reviewed by Dan Bernstein.
+
+ Create a text-based stub library that looks enough like WebKitLegacy that we can trick the linker
+ into creating a LC_REEXPORT_DYLIB load command in WebCore.
+
+ * Configurations/WebCore.xcconfig:
+ Link against this WebKitLegacyStub tbd file on iOS 9.0, 9.3 and 10.0.
+
+ * Configurations/WebKitLegacyStub.iOS.tbd:
+ Add new tbd file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Add new files.
+
2016-08-23 Chris Dumez <[email protected]>
CanvasRenderingContext2D should not have a CanvasRenderingContext parent interface
Modified: trunk/Source/WebCore/Configurations/WebCore.xcconfig (204842 => 204843)
--- trunk/Source/WebCore/Configurations/WebCore.xcconfig 2016-08-23 18:14:30 UTC (rev 204842)
+++ trunk/Source/WebCore/Configurations/WebCore.xcconfig 2016-08-23 18:36:44 UTC (rev 204843)
@@ -57,9 +57,17 @@
INSTALLHDRS_SCRIPT_PHASE = YES;
PRODUCT_NAME = WebCore;
UNEXPORTED_SYMBOLS_FILE = Configurations/WebCore.unexp;
+
+WK_PREFIXED_IPHONEOS_DEPLOYMENT_TARGET = V$(IPHONEOS_DEPLOYMENT_TARGET);
+
+WK_IOS_BINCOMPAT_LDFLAGS = $(WK_IOS_BINCOMPAT_LDFLAGS_$(WK_PREFIXED_IPHONEOS_DEPLOYMENT_TARGET:identifier));
+WK_IOS_BINCOMPAT_LDFLAGS_V9_0 = -Wl,-reexport_library,$(SRCROOT)/Configurations/WebKitLegacyStub.iOS.tbd;
+WK_IOS_BINCOMPAT_LDFLAGS_V9_3 = $(WK_IOS_BINCOMPAT_LDFLAGS_V9_0);
+WK_IOS_BINCOMPAT_LDFLAGS_V10_0 = $(WK_IOS_BINCOMPAT_LDFLAGS_V9_3);
+
OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_PLATFORM);
OTHER_LDFLAGS_BASE = -lsqlite3 -lobjc -lANGLE;
-OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework OpenGLES -lMobileGestalt;
+OTHER_LDFLAGS_BASE_ios = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreGraphics -framework CoreText -framework Foundation -framework ImageIO -framework OpenGLES -lMobileGestalt $(WK_IOS_BINCOMPAT_LDFLAGS);
OTHER_LDFLAGS_PLATFORM[sdk=iphoneos*] = $(OTHER_LDFLAGS_BASE_ios) -framework IOSurface;
OTHER_LDFLAGS_PLATFORM[sdk=iphonesimulator*] = $(OTHER_LDFLAGS_BASE_ios);
OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = $(OTHER_LDFLAGS_BASE) -sub_library libobjc -umbrella WebKit -allowable_client WebCoreTestSupport -allowable_client WebKit2 -allowable_client WebKitLegacy -framework ApplicationServices -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework DataDetectorsCore -framework IOSurface -framework OpenGL -framework SystemConfiguration;
Added: trunk/Source/WebCore/Configurations/WebKitLegacyStub.iOS.tbd (0 => 204843)
--- trunk/Source/WebCore/Configurations/WebKitLegacyStub.iOS.tbd (rev 0)
+++ trunk/Source/WebCore/Configurations/WebKitLegacyStub.iOS.tbd 2016-08-23 18:36:44 UTC (rev 204843)
@@ -0,0 +1,7 @@
+---
+archs: [ armv7, armv7s, arm64, i386, x86_64 ]
+platform: ios
+install-name: /System/Library/PrivateFrameworks/WebKitLegacy.framework/WebKitLegacy
+current-version: 603.1.3
+objc-constraint: none
+...
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (204842 => 204843)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2016-08-23 18:14:30 UTC (rev 204842)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2016-08-23 18:36:44 UTC (rev 204843)
@@ -7777,6 +7777,7 @@
1AE96A851D1A0A8000B86768 /* JSApplePayValidateMerchantEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSApplePayValidateMerchantEvent.h; sourceTree = "<group>"; };
1AE96A861D1A0CEB00B86768 /* PaymentAuthorizationStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaymentAuthorizationStatus.h; sourceTree = "<group>"; };
1AE96A871D1A0CEB00B86768 /* PaymentMerchantSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PaymentMerchantSession.h; sourceTree = "<group>"; };
+ 1AEA88FF1D6CBF5E00E5AD64 /* WebKitLegacyStub.iOS.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; path = WebKitLegacyStub.iOS.tbd; sourceTree = "<group>"; };
1AED3BD91D3D5F260099FD78 /* PassKitSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PassKitSPI.h; sourceTree = "<group>"; };
1AEF4E66170E160300AB2799 /* CachedFontClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedFontClient.h; sourceTree = "<group>"; };
1AEF4E68170E174800AB2799 /* CachedSVGDocumentClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedSVGDocumentClient.h; sourceTree = "<group>"; };
@@ -15459,6 +15460,7 @@
1CDD45E50BA9C84600F90147 /* WebCore.xcconfig */,
E1BA66F21742BDCC00C20251 /* WebCoreTestShim.xcconfig */,
4181707D1386EDF20057AAA4 /* WebCoreTestSupport.xcconfig */,
+ 1AEA88FF1D6CBF5E00E5AD64 /* WebKitLegacyStub.iOS.tbd */,
);
path = Configurations;
sourceTree = "<group>";
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes