Title: [112312] trunk/Source
- Revision
- 112312
- Author
- [email protected]
- Date
- 2012-03-27 13:44:18 -0700 (Tue, 27 Mar 2012)
Log Message
Make WebKit properly load a staged framework when soft linking.
https://webkit.org/b/82371
rdar://problem/11125989
Reviewed by Dan Bernstein.
Source/WebCore:
* platform/mac/SoftLinking.h: Replaced SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL with
SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL and made it use the StagedFrameworks path
if the first dlopen failed.
Source/WebKit/mac:
* WebCoreSupport/WebInspectorClient.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
load the WebInspector framework.
Source/WebKit2:
* UIProcess/mac/WebInspectorProxyMac.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
load the WebInspector framework.
* WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (112311 => 112312)
--- trunk/Source/WebCore/ChangeLog 2012-03-27 20:33:31 UTC (rev 112311)
+++ trunk/Source/WebCore/ChangeLog 2012-03-27 20:44:18 UTC (rev 112312)
@@ -1,3 +1,16 @@
+2012-03-27 Timothy Hatcher <[email protected]>
+
+ Make WebKit properly load a staged framework when soft linking.
+
+ https://webkit.org/b/82371
+ rdar://problem/11125989
+
+ Reviewed by Dan Bernstein.
+
+ * platform/mac/SoftLinking.h: Replaced SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL with
+ SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL and made it use the StagedFrameworks path
+ if the first dlopen failed.
+
2012-03-26 Dirk Schulze <[email protected]>
Use enumeration for CSS parser mode
Modified: trunk/Source/WebCore/platform/mac/SoftLinking.h (112311 => 112312)
--- trunk/Source/WebCore/platform/mac/SoftLinking.h 2012-03-27 20:33:31 UTC (rev 112311)
+++ trunk/Source/WebCore/platform/mac/SoftLinking.h 2012-03-27 20:44:18 UTC (rev 112312)
@@ -52,10 +52,15 @@
return frameworkLibrary; \
}
-#define SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(framework) \
+#define SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(framework, unstagedLocation) \
static void* framework##Library() \
{ \
- static void* frameworkLibrary = dlopen("/System/Library/PrivateFrameworks/" #framework ".framework/" #framework, RTLD_NOW); \
+ static void* frameworkLibrary = ^{ \
+ void* result = dlopen("/System/Library/" #unstagedLocation "/" #framework ".framework/" #framework, RTLD_LAZY); \
+ if (!result) \
+ result = dlopen("/System/Library/StagedFrameworks/Safari/" #framework ".framework/" #framework, RTLD_LAZY); \
+ return result; \
+ }; \
return frameworkLibrary; \
}
Modified: trunk/Source/WebKit/mac/ChangeLog (112311 => 112312)
--- trunk/Source/WebKit/mac/ChangeLog 2012-03-27 20:33:31 UTC (rev 112311)
+++ trunk/Source/WebKit/mac/ChangeLog 2012-03-27 20:44:18 UTC (rev 112312)
@@ -1,3 +1,15 @@
+2012-03-27 Timothy Hatcher <[email protected]>
+
+ Make WebKit properly load a staged framework when soft linking.
+
+ https://webkit.org/b/82371
+ rdar://problem/11125989
+
+ Reviewed by Dan Bernstein.
+
+ * WebCoreSupport/WebInspectorClient.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
+ load the WebInspector framework.
+
2012-03-26 Adam Barth <[email protected]>
FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm (112311 => 112312)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm 2012-03-27 20:33:31 UTC (rev 112311)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm 2012-03-27 20:44:18 UTC (rev 112312)
@@ -46,7 +46,7 @@
#import <WebKitSystemInterface.h>
#import <wtf/PassOwnPtr.h>
-SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(WebInspector)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
using namespace WebCore;
Modified: trunk/Source/WebKit2/ChangeLog (112311 => 112312)
--- trunk/Source/WebKit2/ChangeLog 2012-03-27 20:33:31 UTC (rev 112311)
+++ trunk/Source/WebKit2/ChangeLog 2012-03-27 20:44:18 UTC (rev 112312)
@@ -1,3 +1,16 @@
+2012-03-27 Timothy Hatcher <[email protected]>
+
+ Make WebKit properly load a staged framework when soft linking.
+
+ https://webkit.org/b/82371
+ rdar://problem/11125989
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
+ load the WebInspector framework.
+ * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
+
2012-03-27 Anders Carlsson <[email protected]>
Don't update the layer hosting state unless the WKView is added to a window
Modified: trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm (112311 => 112312)
--- trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm 2012-03-27 20:33:31 UTC (rev 112311)
+++ trunk/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm 2012-03-27 20:44:18 UTC (rev 112312)
@@ -42,7 +42,7 @@
#import <WebCore/SoftLinking.h>
#import <wtf/text/WTFString.h>
-SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(WebInspector)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
using namespace WebCore;
using namespace WebKit;
Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm (112311 => 112312)
--- trunk/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm 2012-03-27 20:33:31 UTC (rev 112311)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/WebInspectorMac.mm 2012-03-27 20:44:18 UTC (rev 112312)
@@ -28,7 +28,7 @@
#import <WebCore/SoftLinking.h>
-SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(WebInspector)
+SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL(WebInspector, PrivateFrameworks)
namespace WebKit {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes