Title: [117117] branches/safari-536-branch/Source

Diff

Modified: branches/safari-536-branch/Source/WebCore/ChangeLog (117116 => 117117)


--- branches/safari-536-branch/Source/WebCore/ChangeLog	2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebCore/ChangeLog	2012-05-15 19:41:33 UTC (rev 117117)
@@ -1,5 +1,25 @@
 2012-05-15  Lucas Forschler  <[email protected]>
 
+    Merge 116449
+
+    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-15  Lucas Forschler  <[email protected]>
+
     Merge 116427
 
     2012-05-08  Stephen Chenney  <[email protected]>

Modified: branches/safari-536-branch/Source/WebCore/platform/mac/SoftLinking.h (117116 => 117117)


--- branches/safari-536-branch/Source/WebCore/platform/mac/SoftLinking.h	2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebCore/platform/mac/SoftLinking.h	2012-05-15 19:41:33 UTC (rev 117117)
@@ -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: branches/safari-536-branch/Source/WebKit/mac/ChangeLog (117116 => 117117)


--- branches/safari-536-branch/Source/WebKit/mac/ChangeLog	2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit/mac/ChangeLog	2012-05-15 19:41:33 UTC (rev 117117)
@@ -1,5 +1,19 @@
 2012-05-15  Lucas Forschler  <[email protected]>
 
+    Merge 116449
+
+    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-15  Lucas Forschler  <[email protected]>
+
     Merge 116367
 
     2012-05-07  Andy Estes  <[email protected]>

Modified: branches/safari-536-branch/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm (117116 => 117117)


--- branches/safari-536-branch/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm	2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm	2012-05-15 19:41:33 UTC (rev 117117)
@@ -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: branches/safari-536-branch/Source/WebKit2/ChangeLog (117116 => 117117)


--- branches/safari-536-branch/Source/WebKit2/ChangeLog	2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit2/ChangeLog	2012-05-15 19:41:33 UTC (rev 117117)
@@ -1,5 +1,20 @@
 2012-05-15  Lucas Forschler  <[email protected]>
 
+    Merge 116449
+
+    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-15  Lucas Forschler  <[email protected]>
+
     Merge 116367
 
     2012-05-07  Andy Estes  <[email protected]>

Modified: branches/safari-536-branch/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm (117116 => 117117)


--- branches/safari-536-branch/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm	2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm	2012-05-15 19:41:33 UTC (rev 117117)
@@ -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: branches/safari-536-branch/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm (117116 => 117117)


--- branches/safari-536-branch/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm	2012-05-15 19:25:23 UTC (rev 117116)
+++ branches/safari-536-branch/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm	2012-05-15 19:41:33 UTC (rev 117117)
@@ -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 {
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to