Diff
Modified: branches/safari-534-branch/Source/WebKit2/ChangeLog (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/ChangeLog 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/ChangeLog 2011-05-26 20:31:18 UTC (rev 87426)
@@ -1,97 +1,7 @@
-2011-05-26 Lucas Forschler <[email protected]>
+2011-05-24 Lucas Forschler <[email protected]>
- Merged r87221.
-
- 2011-05-24 Brady Eidson <[email protected]>
+ Rollout r87221.
- Reviewed by Darin Adler.
-
- Part of <rdar://problem/9434311> and https://bugs.webkit.org/show_bug.cgi?id=61334
- Should shim a few SecKeychainItem* methods on SnowLeopard
-
- Initialize the KeychainItem shim on SnowLeopard:
- * WebProcess/mac/WebProcessMac.mm:
- (WebKit::WebProcess::initializeShim):
-
- On SnowLeopard, shim the 4 SecKeychainItem methods:
- * WebProcess/mac/WebProcessShim.h:
- * WebProcess/mac/WebProcessShim.mm:
- (WebKit::shimSecKeychainItemCopyContent):
- (WebKit::shimSecKeychainItemCreateFromContent):
- (WebKit::shimSecKeychainItemModifyContent):
- (WebKit::shimSecKeychainItemFreeContent):
- (WebKit::WebKitWebProcessKeychainItemShimInitialize):
-
- * WebProcess/mac/KeychainItemShimMethods.h: Added.
- * WebProcess/mac/KeychainItemShimMethods.mm: Added.
- Manage a set of shim-controlled AttributeList data:
- (WebKit::shimManagedAttributeLists):
- (WebKit::freeAttributeListContents):
- (WebKit::allocateAttributeListContents):
-
- Manage a set of shim-controlled KeychainItem data:
- (WebKit::shimManagedKeychainItemContents):
- (WebKit::allocateKeychainItemContentData):
-
- Free any shim-controlled AttributeList or KeychainItem data:
- (WebKit::webFreeAttributeListContentOnMainThread):
- (WebKit::webFreeAttributeListContent):
- (WebKit::webFreeKeychainItemContentOnMainThread):
- (WebKit::webFreeKeychainItemContent):
-
- Marshall these 3 KeychainItem methods to the UIProcess:
- (WebKit::webSecKeychainItemCopyContentOnMainThread):
- (WebKit::webSecKeychainItemCopyContent):
- (WebKit::webSecKeychainItemCreateFromContentOnMainThread):
- (WebKit::webSecKeychainItemCreateFromContent):
- (WebKit::webSecKeychainItemModifyContentOnMainThread):
- (WebKit::webSecKeychainItemModifyContent):
- (WebKit::initializeKeychainItemShim):
-
- Container for an AttributeList entry that knows how to encode/decode:
- * Shared/mac/KeychainAttribute.cpp: Added.
- (WebKit::KeychainAttribute::KeychainAttribute):
- (CoreIPC::encode):
- (CoreIPC::decode):
- * Shared/mac/KeychainAttribute.h: Added.
-
- Container for the relevant arguments to the shimmed methods, to send to the UIProcess:
- * Shared/mac/SecKeychainItemRequestData.cpp: Added.
- (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData):
- (WebKit::SecKeychainItemRequestData::initializeWithAttributeList):
- (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData):
- (WebKit::SecKeychainItemRequestData::attributeList):
- (WebKit::SecKeychainItemRequestData::encode):
- (WebKit::SecKeychainItemRequestData::decode):
- * Shared/mac/SecKeychainItemRequestData.h: Added.
- (WebKit::SecKeychainItemRequestData::keychainItem):
- (WebKit::SecKeychainItemRequestData::itemClass):
- (WebKit::SecKeychainItemRequestData::length):
- (WebKit::SecKeychainItemRequestData::data):
-
- Container for the possible output from the shimmed methods, to send back to the WebProcess:
- * Shared/mac/SecKeychainItemResponseData.cpp: Added.
- (WebKit::SecKeychainItemResponseData::SecKeychainItemResponseData):
- (WebKit::SecKeychainItemResponseData::encode):
- (WebKit::SecKeychainItemResponseData::decode):
- * Shared/mac/SecKeychainItemResponseData.h: Added.
- (WebKit::SecKeychainItemResponseData::itemClass):
- (WebKit::SecKeychainItemResponseData::data):
- (WebKit::SecKeychainItemResponseData::resultCode):
- (WebKit::SecKeychainItemResponseData::attributes):
- (WebKit::SecKeychainItemResponseData::keychainItem):
-
- Actually implement the calls to the SecKeychainItem* methods in the UIProcess:
- * UIProcess/WebProcessProxy.h:
- * UIProcess/WebProcessProxy.messages.in:
- * UIProcess/mac/WebProcessProxyMac.mm:
- (WebKit::WebProcessProxy::secKeychainItemCopyContent):
- (WebKit::WebProcessProxy::secKeychainItemCreateFromContent):
- (WebKit::WebProcessProxy::secKeychainItemModifyContent):
-
- * WebKit2.xcodeproj/project.pbxproj: Project file stuff
- * Configurations/Shim.xcconfig:
-
2011-05-24 Lucas Forschler <[email protected]>
Merged r87179.
Modified: branches/safari-534-branch/Source/WebKit2/Configurations/Shim.xcconfig (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/Configurations/Shim.xcconfig 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/Configurations/Shim.xcconfig 2011-05-26 20:31:18 UTC (rev 87426)
@@ -24,5 +24,6 @@
#include "BaseTarget.xcconfig"
GCC_DYNAMIC_NO_PIC = NO;
+HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include;
SKIP_INSTALL = YES;
Modified: branches/safari-534-branch/Source/WebKit2/UIProcess/WebProcessProxy.h (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/UIProcess/WebProcessProxy.h 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/UIProcess/WebProcessProxy.h 2011-05-26 20:31:18 UTC (rev 87426)
@@ -134,9 +134,6 @@
void secItemAdd(const SecItemRequestData&, SecItemResponseData&);
void secItemUpdate(const SecItemRequestData&, SecItemResponseData&);
void secItemDelete(const SecItemRequestData&, SecItemResponseData&);
- void secKeychainItemCopyContent(const SecKeychainItemRequestData&, SecKeychainItemResponseData&);
- void secKeychainItemCreateFromContent(const SecKeychainItemRequestData&, SecKeychainItemResponseData&);
- void secKeychainItemModifyContent(const SecKeychainItemRequestData&, SecKeychainItemResponseData&);
#endif
// CoreIPC::Connection::Client
Modified: branches/safari-534-branch/Source/WebKit2/UIProcess/WebProcessProxy.messages.in (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/UIProcess/WebProcessProxy.messages.in 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/UIProcess/WebProcessProxy.messages.in 2011-05-26 20:31:18 UTC (rev 87426)
@@ -37,10 +37,6 @@
SecItemAdd(WebKit::SecItemRequestData query) -> (WebKit::SecItemResponseData result)
SecItemUpdate(WebKit::SecItemRequestData query) -> (WebKit::SecItemResponseData result)
SecItemDelete(WebKit::SecItemRequestData query) -> (WebKit::SecItemResponseData result)
-
- SecKeychainItemCopyContent(WebKit::SecKeychainItemRequestData query) -> (WebKit::SecKeychainItemResponseData result)
- SecKeychainItemCreateFromContent(WebKit::SecKeychainItemRequestData query) -> (WebKit::SecKeychainItemResponseData result)
- SecKeychainItemModifyContent(WebKit::SecKeychainItemRequestData query) -> (WebKit::SecKeychainItemResponseData result)
#endif
}
Modified: branches/safari-534-branch/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm 2011-05-26 20:31:18 UTC (rev 87426)
@@ -28,8 +28,6 @@
#import "SecItemRequestData.h"
#import "SecItemResponseData.h"
-#import "SecKeychainItemRequestData.h"
-#import "SecKeychainItemResponseData.h"
#import <Security/SecItem.h>
namespace WebKit {
@@ -77,36 +75,4 @@
result = SecItemResponseData(resultCode, 0);
}
-void WebProcessProxy::secKeychainItemCopyContent(const SecKeychainItemRequestData& request, SecKeychainItemResponseData& response)
-{
- SecKeychainItemRef item = request.keychainItem();
- SecItemClass itemClass;
- SecKeychainAttributeList* attrList = request.attributeList();
- UInt32 length;
- void* outData;
-
- OSStatus resultCode = SecKeychainItemCopyContent(item, &itemClass, attrList, &length, &outData);
-
- RetainPtr<CFDataRef> data(AdoptCF, CFDataCreate(0, static_cast<const UInt8*>(outData), length));
- response = SecKeychainItemResponseData(resultCode, itemClass, attrList, data.get());
-
- SecKeychainItemFreeContent(attrList, outData);
-}
-
-void WebProcessProxy::secKeychainItemCreateFromContent(const SecKeychainItemRequestData& request, SecKeychainItemResponseData& response)
-{
- SecKeychainItemRef keychainItem;
-
- OSStatus resultCode = SecKeychainItemCreateFromContent(request.itemClass(), request.attributeList(), request.length(), request.data(), 0, 0, &keychainItem);
-
- response = SecKeychainItemResponseData(resultCode, RetainPtr<SecKeychainItemRef>(AdoptCF, keychainItem));
-}
-
-void WebProcessProxy::secKeychainItemModifyContent(const SecKeychainItemRequestData& request, SecKeychainItemResponseData& response)
-{
- OSStatus resultCode = SecKeychainItemModifyContent(request.keychainItem(), request.attributeList(), request.length(), request.data());
-
- response = resultCode;
-}
-
} // namespace WebKit
Modified: branches/safari-534-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2011-05-26 20:31:18 UTC (rev 87426)
@@ -298,14 +298,6 @@
512935D81288D19400A4B695 /* WebContextMenuItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 512935D61288D19400A4B695 /* WebContextMenuItem.h */; };
512935E31288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512935E11288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp */; };
512935E41288D97800A4B695 /* InjectedBundlePageContextMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 512935E21288D97800A4B695 /* InjectedBundlePageContextMenuClient.h */; };
- 512DF6D8138C181A00A22FC6 /* KeychainItemShimMethods.h in Headers */ = {isa = PBXBuildFile; fileRef = 512DF6D6138C181A00A22FC6 /* KeychainItemShimMethods.h */; };
- 512DF6D9138C181A00A22FC6 /* KeychainItemShimMethods.mm in Sources */ = {isa = PBXBuildFile; fileRef = 512DF6D7138C181A00A22FC6 /* KeychainItemShimMethods.mm */; };
- 512DF6FE138C254600A22FC6 /* SecKeychainItemRequestData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5112CA4713858D4B0030867D /* SecKeychainItemRequestData.cpp */; };
- 512DF6FF138C254600A22FC6 /* SecKeychainItemRequestData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5112CA4813858D4B0030867D /* SecKeychainItemRequestData.h */; };
- 512DF700138C254600A22FC6 /* SecKeychainItemResponseData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5112CA4913858D4B0030867D /* SecKeychainItemResponseData.cpp */; };
- 512DF701138C254600A22FC6 /* SecKeychainItemResponseData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5112CA4A13858D4B0030867D /* SecKeychainItemResponseData.h */; };
- 512DF70A138C26C700A22FC6 /* KeychainAttribute.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5112CB071385B97B0030867D /* KeychainAttribute.cpp */; };
- 512DF70B138C26C700A22FC6 /* KeychainAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 5112CB051385B8D90030867D /* KeychainAttribute.h */; };
512E34E4130B4D0500ABD19A /* WKApplicationCacheManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517A33B3130B308C00F80CB5 /* WKApplicationCacheManager.cpp */; };
512E34E5130B4D0500ABD19A /* WKApplicationCacheManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 517A33B4130B308C00F80CB5 /* WKApplicationCacheManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
512E3524130B550600ABD19A /* WebApplicationCacheManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 512E3520130B550100ABD19A /* WebApplicationCacheManagerProxy.cpp */; };
@@ -1219,12 +1211,6 @@
510FBB991288C95E00AFFDF4 /* WebContextMenuItemData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuItemData.h; sourceTree = "<group>"; };
5110AE0A133C16CB0072717A /* WKIconDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKIconDatabase.cpp; sourceTree = "<group>"; };
5110AE0B133C16CB0072717A /* WKIconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKIconDatabase.h; sourceTree = "<group>"; };
- 5112CA4713858D4B0030867D /* SecKeychainItemRequestData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SecKeychainItemRequestData.cpp; sourceTree = "<group>"; };
- 5112CA4813858D4B0030867D /* SecKeychainItemRequestData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecKeychainItemRequestData.h; sourceTree = "<group>"; };
- 5112CA4913858D4B0030867D /* SecKeychainItemResponseData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SecKeychainItemResponseData.cpp; sourceTree = "<group>"; };
- 5112CA4A13858D4B0030867D /* SecKeychainItemResponseData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SecKeychainItemResponseData.h; sourceTree = "<group>"; };
- 5112CB051385B8D90030867D /* KeychainAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeychainAttribute.h; sourceTree = "<group>"; };
- 5112CB071385B97B0030867D /* KeychainAttribute.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeychainAttribute.cpp; sourceTree = "<group>"; };
511B24A4132E095700065A0C /* WebIconDatabaseProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebIconDatabaseProxy.cpp; path = IconDatabase/WebIconDatabaseProxy.cpp; sourceTree = "<group>"; };
511B24A5132E095700065A0C /* WebIconDatabaseProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebIconDatabaseProxy.h; path = IconDatabase/WebIconDatabaseProxy.h; sourceTree = "<group>"; };
511B24A8132E097200065A0C /* WebIconDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabase.cpp; sourceTree = "<group>"; };
@@ -1239,8 +1225,6 @@
512935D61288D19400A4B695 /* WebContextMenuItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuItem.h; sourceTree = "<group>"; };
512935E11288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundlePageContextMenuClient.cpp; sourceTree = "<group>"; };
512935E21288D97800A4B695 /* InjectedBundlePageContextMenuClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundlePageContextMenuClient.h; sourceTree = "<group>"; };
- 512DF6D6138C181A00A22FC6 /* KeychainItemShimMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeychainItemShimMethods.h; sourceTree = "<group>"; };
- 512DF6D7138C181A00A22FC6 /* KeychainItemShimMethods.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = KeychainItemShimMethods.mm; sourceTree = "<group>"; };
512E3520130B550100ABD19A /* WebApplicationCacheManagerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebApplicationCacheManagerProxy.cpp; sourceTree = "<group>"; };
512E3521130B550100ABD19A /* WebApplicationCacheManagerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebApplicationCacheManagerProxy.h; sourceTree = "<group>"; };
512E352B130B55AF00ABD19A /* WebApplicationCacheManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebApplicationCacheManager.cpp; path = ApplicationCache/WebApplicationCacheManager.cpp; sourceTree = "<group>"; };
@@ -2046,8 +2030,6 @@
children = (
E1BB1688132018BA00F49431 /* FullKeyboardAccessWatcher.h */,
E1BB1689132018BA00F49431 /* FullKeyboardAccessWatcher.mm */,
- 512DF6D6138C181A00A22FC6 /* KeychainItemShimMethods.h */,
- 512DF6D7138C181A00A22FC6 /* KeychainItemShimMethods.mm */,
511F8A7D138B46FE00A95F44 /* SecItemShimMethods.h */,
511F8A7E138B46FE00A95F44 /* SecItemShimMethods.mm */,
1A6FA01D11E1526300DB1371 /* WebProcessMainMac.mm */,
@@ -2905,8 +2887,6 @@
1A6F9FB611E1408500DB1371 /* CommandLineMac.cpp */,
1A9639F512F38ECD0078A062 /* CoreAnimationRenderer.h */,
1A9639F612F38ECD0078A062 /* CoreAnimationRenderer.mm */,
- 5112CB071385B97B0030867D /* KeychainAttribute.cpp */,
- 5112CB051385B8D90030867D /* KeychainAttribute.h */,
1A92DC1212F8BAB90017AF65 /* LayerTreeContextMac.mm */,
31EA25D0134F78B2005B1452 /* NativeWebMouseEventMac.mm */,
C02BFF1D1251502E009CCBEA /* NativeWebKeyboardEventMac.mm */,
@@ -2921,10 +2901,6 @@
51D130501382EAC000351EDD /* SecItemRequestData.h */,
51D130511382EAC000351EDD /* SecItemResponseData.cpp */,
51D130521382EAC000351EDD /* SecItemResponseData.h */,
- 5112CA4713858D4B0030867D /* SecKeychainItemRequestData.cpp */,
- 5112CA4813858D4B0030867D /* SecKeychainItemRequestData.h */,
- 5112CA4913858D4B0030867D /* SecKeychainItemResponseData.cpp */,
- 5112CA4A13858D4B0030867D /* SecKeychainItemResponseData.h */,
1A9636BA12F348490078A062 /* ShareableSurface.cpp */,
1A9636BB12F348490078A062 /* ShareableSurface.h */,
BC9E95D211449B0300870E71 /* UpdateChunk.cpp */,
@@ -3841,10 +3817,6 @@
51B15A8513843A3900321AD8 /* EnvironmentUtilities.h in Headers */,
511F8A7B138B460900A95F44 /* WebProcessShim.h in Headers */,
511F8A7F138B46FE00A95F44 /* SecItemShimMethods.h in Headers */,
- 512DF6D8138C181A00A22FC6 /* KeychainItemShimMethods.h in Headers */,
- 512DF6FF138C254600A22FC6 /* SecKeychainItemRequestData.h in Headers */,
- 512DF701138C254600A22FC6 /* SecKeychainItemResponseData.h in Headers */,
- 512DF70B138C26C700A22FC6 /* KeychainAttribute.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -4513,10 +4485,6 @@
51D130581382F10500351EDD /* WebProcessProxyMac.mm in Sources */,
51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */,
511F8A80138B46FE00A95F44 /* SecItemShimMethods.mm in Sources */,
- 512DF6D9138C181A00A22FC6 /* KeychainItemShimMethods.mm in Sources */,
- 512DF6FE138C254600A22FC6 /* SecKeychainItemRequestData.cpp in Sources */,
- 512DF700138C254600A22FC6 /* SecKeychainItemResponseData.cpp in Sources */,
- 512DF70A138C26C700A22FC6 /* KeychainAttribute.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessMac.mm (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessMac.mm 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessMac.mm 2011-05-26 20:31:18 UTC (rev 87426)
@@ -31,6 +31,7 @@
#import "WebPage.h"
#import "WebProcessCreationParameters.h"
#import "WebProcessProxyMessages.h"
+#import "SecItemShimMethods.h"
#import <WebCore/FileSystem.h>
#import <WebCore/LocalizedStrings.h>
#import <WebCore/MemoryCache.h>
@@ -43,12 +44,6 @@
#import <mach/mach_error.h>
#import <objc/runtime.h>
-#if defined(BUILDING_ON_SNOW_LEOPARD)
-#import "KeychainItemShimMethods.h"
-#else
-#import "SecItemShimMethods.h"
-#endif
-
#if ENABLE(WEB_PROCESS_SANDBOX)
#import <sandbox.h>
#import <stdlib.h>
@@ -247,9 +242,7 @@
void WebProcess::initializeShim()
{
-#if defined(BUILDING_ON_SNOW_LEOPARD)
- initializeKeychainItemShim();
-#else
+#if !defined(BUILDING_ON_SNOW_LEOPARD)
initializeSecItemShim();
#endif
}
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessShim.h (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessShim.h 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessShim.h 2011-05-26 20:31:18 UTC (rev 87426)
@@ -22,11 +22,14 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#ifndef WebProcessShim_h
#define WebProcessShim_h
namespace WebKit {
+#if !defined(BUILDING_ON_SNOW_LEOPARD)
+
struct WebProcessSecItemShimCallbacks {
OSStatus (*secItemCopyMatching)(CFDictionaryRef query, CFTypeRef *result);
OSStatus (*secItemAdd)(CFDictionaryRef attributes, CFTypeRef *result);
@@ -36,16 +39,8 @@
typedef void (*WebProcessSecItemShimInitializeFunc)(const WebProcessSecItemShimCallbacks& callbacks);
-struct WebProcessKeychainItemShimCallbacks {
- OSStatus (*secKeychainItemCopyContent)(SecKeychainItemRef, SecItemClass*, SecKeychainAttributeList*, UInt32* length, void** outData);
- OSStatus (*secKeychainItemCreateFromContent)(SecItemClass, SecKeychainAttributeList*, UInt32 length, const void* data, SecKeychainItemRef*);
- OSStatus (*secKeychainItemModifyContent)(SecKeychainItemRef, const SecKeychainAttributeList*, UInt32 length, const void* data);
- bool (*freeAttributeListContent)(SecKeychainAttributeList* attrList);
- bool (*freeKeychainItemContentData)(void* data);
-};
+#endif // BUILDING_ON_SNOW_LEOPARD
-typedef void (*WebProcessKeychainItemShimInitializeFunc)(const WebProcessKeychainItemShimCallbacks& callbacks);
+}
-} // namespace WebKit
-
#endif // WebProcessShim_h
Modified: branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessShim.mm (87425 => 87426)
--- branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessShim.mm 2011-05-26 20:30:32 UTC (rev 87425)
+++ branches/safari-534-branch/Source/WebKit2/WebProcess/mac/WebProcessShim.mm 2011-05-26 20:31:18 UTC (rev 87426)
@@ -22,10 +22,10 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#import "WebProcessShim.h"
#import <Security/SecItem.h>
-#import <wtf/Platform.h>
#define DYLD_INTERPOSE(_replacement,_replacee) \
__attribute__((used)) static struct{ const void* replacement; const void* replacee; } _interpose_##_replacee \
@@ -70,57 +70,6 @@
secItemShimCallbacks = callbacks;
}
-#endif // !defined(BUILDING_ON_SNOW_LEOPARD)
+#endif // BUILDING_ON_SNOW_LEOPARD
-#if defined(BUILDING_ON_SNOW_LEOPARD)
-
-extern "C" void WebKitWebProcessKeychainItemShimInitialize(const WebProcessKeychainItemShimCallbacks&);
-
-static WebProcessKeychainItemShimCallbacks keychainItemShimCallbacks;
-
-static OSStatus shimSecKeychainItemCopyContent(SecKeychainItemRef item, SecItemClass* itemClass, SecKeychainAttributeList* attrList, UInt32* length, void** outData)
-{
- return keychainItemShimCallbacks.secKeychainItemCopyContent(item, itemClass, attrList, length, outData);
-}
-
-static OSStatus shimSecKeychainItemCreateFromContent(SecItemClass itemClass, SecKeychainAttributeList* attrList, UInt32 length, const void* data,
- SecKeychainRef keychainRef, SecAccessRef initialAccess, SecKeychainItemRef *itemRef)
-{
- // We don't support shimming SecKeychainItemCreateFromContent with Keychain or Access arguments at this time
- if (keychainRef || initialAccess)
- return SecKeychainItemCreateFromContent(itemClass, attrList, length, data, keychainRef, initialAccess, itemRef);
- return keychainItemShimCallbacks.secKeychainItemCreateFromContent(itemClass, attrList, length, data, itemRef);
-}
-
-static OSStatus shimSecKeychainItemModifyContent(SecKeychainItemRef itemRef, const SecKeychainAttributeList* attrList, UInt32 length, const void* data)
-{
- return keychainItemShimCallbacks.secKeychainItemModifyContent(itemRef, attrList, length, data);
-}
-
-static OSStatus shimSecKeychainItemFreeContent(SecKeychainAttributeList* attrList, void* data)
-{
- bool attrListHandled = !attrList || keychainItemShimCallbacks.freeAttributeListContent(attrList);
- bool keychainItemContentHandled = !data || keychainItemShimCallbacks.freeKeychainItemContentData(data);
-
- // If both items were handled by the shim handlers, return now.
- if (attrListHandled && keychainItemContentHandled)
- return errSecSuccess;
-
- // Have the native function handle whichever item wasn't already handled.
- return SecKeychainItemFreeContent(attrListHandled ? attrList : NULL, keychainItemContentHandled ? data : NULL);
-}
-
-DYLD_INTERPOSE(shimSecKeychainItemCopyContent, SecKeychainItemCopyContent)
-DYLD_INTERPOSE(shimSecKeychainItemCreateFromContent, SecKeychainItemCreateFromContent)
-DYLD_INTERPOSE(shimSecKeychainItemModifyContent, SecKeychainItemModifyContent)
-DYLD_INTERPOSE(shimSecKeychainItemFreeContent, SecKeychainItemFreeContent)
-
-__attribute__((visibility("default")))
-void WebKitWebProcessKeychainItemShimInitialize(const WebProcessKeychainItemShimCallbacks& callbacks)
-{
- keychainItemShimCallbacks = callbacks;
-}
-
-#endif // defined(BUILDING_ON_SNOW_LEOPARD)
-
} // namespace WebKit