Diff
Modified: trunk/Source/WebCore/ChangeLog (116448 => 116449)
--- trunk/Source/WebCore/ChangeLog 2012-05-08 19:26:38 UTC (rev 116448)
+++ trunk/Source/WebCore/ChangeLog 2012-05-08 19:33:42 UTC (rev 116449)
@@ -1,3 +1,19 @@
+2012-05-08 Timothy Hatcher <[email protected]>
+
+ Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
+
+ dyld only considers libraries in the versioned framework path if their install name
+ matches the library that it is attempting to load. The path we were passing to
+ dlopen lacked the Versions/A component of the path so dyld did not recognize that
+ we wanted it to use the staged version if it is newer.
+
+ <rdar://problem/11406517>
+
+ Reviewed by Mark Rowe.
+
+ * platform/mac/SoftLinking.h: Have SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL take the
+ framework version as an argument and use it when constructing the path to dlopen.
+
2012-05-08 Rafael Brandao <[email protected]>
Build fix for Qt Snowleopard Release
Modified: trunk/Source/WebCore/platform/mac/SoftLinking.h (116448 => 116449)
--- trunk/Source/WebCore/platform/mac/SoftLinking.h 2012-05-08 19:26:38 UTC (rev 116448)
+++ trunk/Source/WebCore/platform/mac/SoftLinking.h 2012-05-08 19:33:42 UTC (rev 116449)
@@ -52,13 +52,13 @@
return frameworkLibrary; \
}
-#define SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(framework, unstagedLocation) \
+#define SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(framework, unstagedLocation, version) \
static void* framework##Library() \
{ \
static void* frameworkLibrary = ^{ \
- void* result = dlopen("/System/Library/" #unstagedLocation "/" #framework ".framework/" #framework, RTLD_LAZY); \
+ void* result = dlopen("/System/Library/" #unstagedLocation "/" #framework ".framework/Versions/" #version "/" #framework, RTLD_LAZY); \
if (!result) \
- result = dlopen("/System/Library/StagedFrameworks/Safari/" #framework ".framework/" #framework, RTLD_LAZY); \
+ result = dlopen("/System/Library/StagedFrameworks/Safari/" #framework ".framework/Versions/" #version "/" #framework, RTLD_LAZY); \
return result; \
}(); \
return frameworkLibrary; \
Modified: trunk/Source/WebKit/mac/ChangeLog (116448 => 116449)
--- trunk/Source/WebKit/mac/ChangeLog 2012-05-08 19:26:38 UTC (rev 116448)
+++ trunk/Source/WebKit/mac/ChangeLog 2012-05-08 19:33:42 UTC (rev 116449)
@@ -1,3 +1,13 @@
+2012-05-08 Timothy Hatcher <[email protected]>
+
+ Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
+
+ <rdar://problem/11406517>
+
+ Reviewed by Mark Rowe.
+
+ * WebCoreSupport/WebInspectorClient.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
+
2012-05-07 Andy Estes <[email protected]>
ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm (116448 => 116449)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm 2012-05-08 19:26:38 UTC (rev 116448)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm 2012-05-08 19:33:42 UTC (rev 116449)
@@ -47,7 +47,7 @@
#import <WebKitSystemInterface.h>
#import <wtf/PassOwnPtr.h>
-SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks, A)
using namespace WebCore;
Modified: trunk/Source/WebKit2/ChangeLog (116448 => 116449)
--- trunk/Source/WebKit2/ChangeLog 2012-05-08 19:26:38 UTC (rev 116448)
+++ trunk/Source/WebKit2/ChangeLog 2012-05-08 19:33:42 UTC (rev 116449)
@@ -1,3 +1,14 @@
+2012-05-08 Timothy Hatcher <[email protected]>
+
+ Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
+
+ <rdar://problem/11406517>
+
+ Reviewed by Mark Rowe.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
+ * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
+
2012-05-08 Jesus Sanchez-Palencia <[email protected]>
[WK2] Integrate Page Visibility state change and WK2 Suspend/Resume API
Modified: trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm (116448 => 116449)
--- trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm 2012-05-08 19:26:38 UTC (rev 116448)
+++ trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm 2012-05-08 19:33:42 UTC (rev 116449)
@@ -42,7 +42,7 @@
#import <WebCore/SoftLinking.h>
#import <wtf/text/WTFString.h>
-SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks, A)
using namespace WebCore;
using namespace WebKit;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm (116448 => 116449)
--- trunk/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm 2012-05-08 19:26:38 UTC (rev 116448)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm 2012-05-08 19:33:42 UTC (rev 116449)
@@ -28,7 +28,7 @@
#import <WebCore/SoftLinking.h>
-SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks, A)
namespace WebKit {