WebKit Bugzilla
Attachment 341617 Details for
Bug 185526
: [macOS] WebProcess needs TCC entitlements for media capture (Take 2)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for landing
bug-185526-20180530162918.patch (text/plain), 23.19 KB, created by
Brent Fulgham
on 2018-05-30 16:29:18 PDT
(
hide
)
Description:
Patch for landing
Filename:
MIME Type:
Creator:
Brent Fulgham
Created:
2018-05-30 16:29:18 PDT
Size:
23.19 KB
patch
obsolete
>Subversion Revision: 232315 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 9e6520dd0af8126267da7dd8d0ece109fbf28132..5da8028e30ca556cab28ed078dec396d9ac572a4 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,53 @@ >+2018-05-30 Brent Fulgham <bfulgham@apple.com> >+ >+ [macOS] WebProcess needs TCC entitlements for media capture (Take 2) >+ https://bugs.webkit.org/show_bug.cgi?id=185526 >+ <rdar://problem/36674649> >+ >+ Reviewed by Alexey Proskuryakov. >+ >+ In Bug 181995 I added TCC entitlements for media capture to the macOS entitlements used for >+ relocatable builds. These changes also need to apply to system builds of WebKit. >+ >+ Previously we had not needed an entitlements file for system builds of WebKit, so only provided >+ an entitlements file for our relocatable build targets. Now we need entitlements when building >+ on recent macOS targets using internal SDKs. >+ >+ Since these various scenarios are beginning to multiple, this patch dynamically generates the >+ entitlements file. >+ >+ This patch does the following: >+ >+ 1. Changes the "WebContent-OSX.entitlements" to hold the TCC entitlements needed for media capture, and rename >+ to "WebContent-OSX-restricted.entitlements". >+ 2. Removes the unneeded "com.apple.private.xpc.domain-extension" from WebContent-OSX.entitlement, and dynamically >+ adds it using a new build step using the script 'process-webcontent-entitlements.sh' >+ 3. Updates DebugRelease.xcconfig to use the 'Safari Engineering' signing key for internal builds. >+ 4. Updates WebContentService.xcconfig to remove the CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_YES target >+ since we no longer need a custom entitlement file for this case. >+ 5. Updates WebContentService.Development.xcconfig to remove CODE_SIGN_ENTITLEMENTS_COCOA_TOUCH_NO since it is no >+ longer needed. >+ 6. Deletes the file Configurations/WebContent.Development.entitlements since it is no longer needed. >+ 7. Revises the WebContent process sandbox to allow camera and microphone access without needing TCC >+ entitlements, since those cannot be applied without an internal SDK. >+ 8. Revises the UserMediaProcessManager to not pass dynamic sandbox extensions to the WebContent process >+ when building with the public SDK since those entitlements cannot be added or consumed in Open >+ Source builds. >+ >+ We want to use the TCC entitlements when building with the internal SDK on recent macOS builds. >+ >+ * Configurations/Base.xcconfig: >+ * Configurations/DebugRelease.xcconfig: >+ * Configurations/WebContent-OSX-restricted.entitlements: Renamed from Source/WebKit/Configurations/WebContent-OSX.entitlements. >+ * Configurations/WebContent.Development.entitlements: Removed. >+ * Configurations/WebContentService.Development.xcconfig: >+ * Configurations/WebContentService.xcconfig: >+ * Scripts/process-webcontent-entitlements.sh: Added. >+ * UIProcess/UserMediaProcessManager.cpp: >+ (WebKit::UserMediaProcessManager::willCreateMediaStream): Don't bother creating and sending sandbox extensions for >+ camera and microphone control for builds that cannot support them. >+ * WebKit.xcodeproj/project.pbxproj: >+ > 2018-05-30 Andy Estes <aestes@apple.com> > > [Cocoa] Add an SPI to suppress connection termination errors from CFNetwork when network interfaces change >diff --git a/Source/WebKit/Configurations/Base.xcconfig b/Source/WebKit/Configurations/Base.xcconfig >index b07a5b1c35cae64a75bec1519598e65b21a03c8c..dc35c33fca10e1a700a808d11fcc4f48ab038845 100644 >--- a/Source/WebKit/Configurations/Base.xcconfig >+++ b/Source/WebKit/Configurations/Base.xcconfig >@@ -160,3 +160,5 @@ WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH))); > WK_MACOS_WEAK_FRAMEWORK = $(WK_MACOS_WEAK_FRAMEWORK_$(WK_COCOA_TOUCH)); > WK_MACOS_WEAK_FRAMEWORK_cocoatouch = -framework > WK_MACOS_WEAK_FRAMEWORK_ = -weak_framework >+ >+WK_USE_RESTRICTED_ENTITLEMENTS = $(USE_INTERNAL_SDK); >diff --git a/Source/WebKit/Configurations/DebugRelease.xcconfig b/Source/WebKit/Configurations/DebugRelease.xcconfig >index f3eee6dd7696bfdcaf7204043bd8f883e2eafbe4..09e34de83b348788026f610e094a2f5f2b6b3596 100644 >--- a/Source/WebKit/Configurations/DebugRelease.xcconfig >+++ b/Source/WebKit/Configurations/DebugRelease.xcconfig >@@ -43,6 +43,10 @@ SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK)); > SDKROOT_ = macosx; > SDKROOT_YES = macosx.internal; > >+CODE_SIGN_IDENTITY[sdk=macosx*] = $(CODE_SIGN_IDENTITY_$(WK_USE_RESTRICTED_ENTITLEMENTS)) >+CODE_SIGN_IDENTITY_NO = -; >+CODE_SIGN_IDENTITY_YES = $(WK_ENGINEERING_CODE_SIGN_IDENTITY); >+ > WK_RELOCATABLE_FRAMEWORKS = YES; > WK_XPC_SERVICE_SUFFIX[sdk=macosx*] = .Development; > WK_XPC_SERVICE_SUFFIX[sdk=*simulator*] = .Development; >diff --git a/Source/WebKit/Configurations/WebContent-OSX-restricted.entitlements b/Source/WebKit/Configurations/WebContent-OSX-restricted.entitlements >new file mode 100644 >index 0000000000000000000000000000000000000000..2ad5067206a74c1df35151d9ff13b5635cf282a2 >--- /dev/null >+++ b/Source/WebKit/Configurations/WebContent-OSX-restricted.entitlements >@@ -0,0 +1,11 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> >+<plist version="1.0"> >+<dict> >+ <key>com.apple.tcc.delegated-services</key> >+ <array> >+ <string>kTCCServiceCamera</string> >+ <string>kTCCServiceMicrophone</string> >+ </array> >+</dict> >+</plist> >diff --git a/Source/WebKit/Configurations/WebContent-OSX.entitlements b/Source/WebKit/Configurations/WebContent-OSX.entitlements >deleted file mode 100644 >index b492de534916bc944e8a30a4345d6d0bb10793df..0000000000000000000000000000000000000000 >--- a/Source/WebKit/Configurations/WebContent-OSX.entitlements >+++ /dev/null >@@ -1,13 +0,0 @@ >-<?xml version="1.0" encoding="UTF-8"?> >-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> >-<plist version="1.0"> >-<dict> >- <key>com.apple.tcc.delegated-services</key> >- <array> >- <string>kTCCServiceCamera</string> >- <string>kTCCServiceMicrophone</string> >- </array> >- <key>com.apple.private.xpc.domain-extension</key> >- <true/> >-</dict> >-</plist> >diff --git a/Source/WebKit/Configurations/WebContent.Development.entitlements b/Source/WebKit/Configurations/WebContent.Development.entitlements >deleted file mode 100644 >index 8cc185af8d78a28646222a3910417f35845727ed..0000000000000000000000000000000000000000 >--- a/Source/WebKit/Configurations/WebContent.Development.entitlements >+++ /dev/null >@@ -1,8 +0,0 @@ >-<?xml version="1.0" encoding="UTF-8"?> >-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> >-<plist version="1.0"> >-<dict> >- <key>com.apple.security.cs.disable-library-validation</key> >- <true/> >-</dict> >-</plist> >diff --git a/Source/WebKit/Configurations/WebContentService.Development.xcconfig b/Source/WebKit/Configurations/WebContentService.Development.xcconfig >index 49d7e1638fb5544ceae9089f73885a3fa128967c..3825c26588eebebf459388fb50bbde1ada888e09 100644 >--- a/Source/WebKit/Configurations/WebContentService.Development.xcconfig >+++ b/Source/WebKit/Configurations/WebContentService.Development.xcconfig >@@ -26,6 +26,4 @@ > SKIP_INSTALL = YES; > SKIP_INSTALL[sdk=macosx*] = $(WK_RELOCATABLE_FRAMEWORKS); > >-CODE_SIGN_ENTITLEMENTS_COCOA_TOUCH_NO = Configurations/WebContent.Development.entitlements; >- > WK_XPC_SERVICE_VARIANT = Development; >diff --git a/Source/WebKit/Configurations/WebContentService.xcconfig b/Source/WebKit/Configurations/WebContentService.xcconfig >index 294d419702947ea8495fdeaef0958356e9f92cd1..1602f21d0cba3b16fa1fb5910ee3069ec4d4a8d1 100644 >--- a/Source/WebKit/Configurations/WebContentService.xcconfig >+++ b/Source/WebKit/Configurations/WebContentService.xcconfig >@@ -1,4 +1,4 @@ >-// Copyright (C) 2012-2016 Apple Inc. All rights reserved. >+// Copyright (C) 2012-2018 Apple Inc. All rights reserved. > // > // Redistribution and use in source and binary forms, with or without > // modification, are permitted provided that the following conditions >@@ -33,7 +33,6 @@ WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_appletvsimulator = WebContent-iOS; > WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_iphoneminimalsimulator = WebContent-iOS-minimalsimulator; > > CODE_SIGN_ENTITLEMENTS_COCOA_TOUCH_NO = $(CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_$(WK_WEBCONTENT_SERVICE_NEEDS_XPC_DOMAIN_EXTENSION_ENTITLEMENT)); >-CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_YES = Configurations/WebContent-OSX.entitlements; > OTHER_CODE_SIGN_FLAGS = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS); > > PRODUCT_NAME = $(PRODUCT_NAME_$(WK_XPC_SERVICE_VARIANT)); >diff --git a/Source/WebKit/Scripts/process-webcontent-entitlements.sh b/Source/WebKit/Scripts/process-webcontent-entitlements.sh >new file mode 100755 >index 0000000000000000000000000000000000000000..2930fe68c8cfd64e875b9f60903d3ad55be7899d >--- /dev/null >+++ b/Source/WebKit/Scripts/process-webcontent-entitlements.sh >@@ -0,0 +1,26 @@ >+#!/bin/sh >+set -e >+ >+PROCESSED_XCENT_FILE="${TEMP_FILE_DIR}/${FULL_PRODUCT_NAME}.xcent" >+ >+if [[ ${WK_PLATFORM_NAME} == "macosx" ]]; then >+ >+ if [[ ${WK_USE_RESTRICTED_ENTITLEMENTS} == "YES" ]]; then >+ echo "Processing restricted entitlements for Internal SDK"; >+ >+ if (( ${TARGET_MAC_OS_X_VERSION_MAJOR} >= 101400 )); then >+ echo "Adding macOS platform entitlements."; >+ /usr/libexec/PlistBuddy -c "Merge Configurations/WebContent-OSX-restricted.entitlements" "${PROCESSED_XCENT_FILE}"; >+ fi >+ >+ if [[ ${WK_WEBCONTENT_SERVICE_NEEDS_XPC_DOMAIN_EXTENSION_ENTITLEMENT} == "YES" ]]; then >+ echo "Adding domain extension entitlement for relocatable build."; >+ /usr/libexec/PlistBuddy -c "Add :com.apple.private.xpc.domain-extension bool YES" "${PROCESSED_XCENT_FILE}"; >+ fi >+ >+ if [[ ${WK_XPC_SERVICE_VARIANT} == "Development" ]]; then >+ echo "Disabling library validation for development build."; >+ /usr/libexec/PlistBuddy -c "Add :com.apple.security.cs.disable-library-validation bool YES" "${PROCESSED_XCENT_FILE}"; >+ fi >+ fi >+fi >diff --git a/Source/WebKit/UIProcess/UserMediaProcessManager.cpp b/Source/WebKit/UIProcess/UserMediaProcessManager.cpp >index 94a0b4619fd503e83ad1519cec719c3d05499628..ae946f1a90c69ad08d9549b7ccbae30f96a0cc30 100644 >--- a/Source/WebKit/UIProcess/UserMediaProcessManager.cpp >+++ b/Source/WebKit/UIProcess/UserMediaProcessManager.cpp >@@ -128,7 +128,7 @@ void UserMediaProcessManager::muteCaptureMediaStreamsExceptIn(WebPageProxy& page > > bool UserMediaProcessManager::willCreateMediaStream(UserMediaPermissionRequestManagerProxy& proxy, bool withAudio, bool withVideo) > { >-#if ENABLE(SANDBOX_EXTENSIONS) >+#if ENABLE(SANDBOX_EXTENSIONS) && USE(APPLE_INTERNAL_SDK) > auto& processStartingCapture = proxy.page().process(); > > ASSERT(stateMap().contains(&processStartingCapture)); >diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >index 326ed6d115e3b01e8d042a6ac66753c762492ecb..b519ff6691881670cc43c8ee91657121a831d739 100644 >--- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj >+++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >@@ -1321,6 +1321,8 @@ > 7AAD175F1EA6AF99003B0894 /* WebResourceLoadStatisticsStoreCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7AAD175E1EA6AF37003B0894 /* WebResourceLoadStatisticsStoreCocoa.mm */; }; > 7AB6EA451EEAAE3800037B2B /* APIIconDatabaseClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB6EA441EEAAE2300037B2B /* APIIconDatabaseClient.h */; }; > 7AB6EA471EEAB6B800037B2B /* APIGeolocationProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB6EA461EEAB6B000037B2B /* APIGeolocationProvider.h */; }; >+ 7ACFAAD920B88D5000C53203 /* process-webcontent-entitlements.sh in Resources */ = {isa = PBXBuildFile; fileRef = 7ACFAAD820B88D4F00C53203 /* process-webcontent-entitlements.sh */; }; >+ 7ACFAADA20B88D5000C53203 /* process-webcontent-entitlements.sh in Resources */ = {isa = PBXBuildFile; fileRef = 7ACFAAD820B88D4F00C53203 /* process-webcontent-entitlements.sh */; }; > 7AF236201E79A3E400438A05 /* WebErrors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AF2361E1E79A3B400438A05 /* WebErrors.cpp */; }; > 7AF236211E79A40800438A05 /* WebErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF2361F1E79A3D800438A05 /* WebErrors.h */; }; > 7AF236231E79A44400438A05 /* WebErrorsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7AF236221E79A43100438A05 /* WebErrorsCocoa.mm */; }; >@@ -3190,7 +3192,6 @@ > 37183D55182F4E700080C811 /* WKNSURLExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNSURLExtras.h; sourceTree = "<group>"; }; > 371A193F1824D29300F32A5E /* WKNSDictionary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKNSDictionary.mm; sourceTree = "<group>"; }; > 371A19401824D29300F32A5E /* WKNSDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNSDictionary.h; sourceTree = "<group>"; }; >- 37209CAB2079D4BA0009E25B /* WebContent.Development.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = WebContent.Development.entitlements; sourceTree = "<group>"; }; > 372CAF091833FD910040AC27 /* WKNSError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNSError.h; sourceTree = "<group>"; }; > 372CAF0A1833FD910040AC27 /* WKNSError.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKNSError.mm; sourceTree = "<group>"; }; > 372EBB462017E64300085064 /* com.apple.WebKit.WebContent.Development.xpc */ = {isa = PBXFileReference; explicitFileType = "wrapper.xpc-service"; includeInIndex = 0; path = com.apple.WebKit.WebContent.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; }; >@@ -3249,7 +3250,7 @@ > 37A64E5618F38F4600EB30F1 /* _WKFormInputSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKFormInputSession.h; sourceTree = "<group>"; }; > 37A709A61E3EA0FD00CA5969 /* WKDataDetectorTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDataDetectorTypes.h; sourceTree = "<group>"; }; > 37A709A81E3EA40C00CA5969 /* WKDataDetectorTypesInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKDataDetectorTypesInternal.h; sourceTree = "<group>"; }; >- 37B418EB1C9624F20031E63B /* WebContent-OSX.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "WebContent-OSX.entitlements"; sourceTree = "<group>"; }; >+ 37B418EB1C9624F20031E63B /* WebContent-OSX-restricted.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "WebContent-OSX-restricted.entitlements"; sourceTree = "<group>"; }; > 37B47E2C1D64DB76005F4EFF /* objcSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objcSPI.h; sourceTree = "<group>"; }; > 37B5045119EEF31300CE2CF8 /* WKErrorPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKErrorPrivate.h; sourceTree = "<group>"; }; > 37BEC4DE19491486008B4286 /* CompletionHandlerCallChecker.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CompletionHandlerCallChecker.mm; sourceTree = "<group>"; }; >@@ -3791,6 +3792,7 @@ > 7AAD175E1EA6AF37003B0894 /* WebResourceLoadStatisticsStoreCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebResourceLoadStatisticsStoreCocoa.mm; sourceTree = "<group>"; }; > 7AB6EA441EEAAE2300037B2B /* APIIconDatabaseClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIIconDatabaseClient.h; sourceTree = "<group>"; }; > 7AB6EA461EEAB6B000037B2B /* APIGeolocationProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIGeolocationProvider.h; sourceTree = "<group>"; }; >+ 7ACFAAD820B88D4F00C53203 /* process-webcontent-entitlements.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "process-webcontent-entitlements.sh"; sourceTree = "<group>"; }; > 7AF2361E1E79A3B400438A05 /* WebErrors.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebErrors.cpp; sourceTree = "<group>"; }; > 7AF2361F1E79A3D800438A05 /* WebErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebErrors.h; sourceTree = "<group>"; }; > 7AF236221E79A43100438A05 /* WebErrorsCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebErrorsCocoa.mm; sourceTree = "<group>"; }; >@@ -5058,8 +5060,7 @@ > 51A60B29180CCD9000F3BF50 /* StorageService.xcconfig */, > 1A4F976E100E7B6600637A18 /* Version.xcconfig */, > 7C0BB9A818DCDE890006C086 /* WebContent-iOS.entitlements */, >- 37B418EB1C9624F20031E63B /* WebContent-OSX.entitlements */, >- 37209CAB2079D4BA0009E25B /* WebContent.Development.entitlements */, >+ 37B418EB1C9624F20031E63B /* WebContent-OSX-restricted.entitlements */, > 372EBB4A2017E76000085064 /* WebContentService.Development.xcconfig */, > BCACC40E16B0B8A800B6E092 /* WebContentService.xcconfig */, > BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */, >@@ -8485,6 +8486,7 @@ > 0FC0856F187CE0A900780D86 /* messages.py */, > 0FC08570187CE0A900780D86 /* model.py */, > 0FC08571187CE0A900780D86 /* parser.py */, >+ 7ACFAAD820B88D4F00C53203 /* process-webcontent-entitlements.sh */, > ); > path = Scripts; > sourceTree = "<group>"; >@@ -9847,9 +9849,12 @@ > isa = PBXNativeTarget; > buildConfigurationList = 372EBB422017E64300085064 /* Build configuration list for PBXNativeTarget "WebContent.Development" */; > buildPhases = ( >+ 7A35F25120BDB80C003958EC /* Remove stale entitlement file */, > 372EBB3B2017E64300085064 /* Sources */, > 372EBB3D2017E64300085064 /* Frameworks */, > 372EBB402017E64300085064 /* Resources */, >+ 7A35F24F20BDAF8B003958EC /* Unlock keychain */, >+ 7AFCBD5520B8917D00F55C9C /* Process WebContent entitlements */, > ); > buildRules = ( > ); >@@ -9940,9 +9945,12 @@ > isa = PBXNativeTarget; > buildConfigurationList = BC3DE47615A91764008D26FC /* Build configuration list for PBXNativeTarget "WebContent" */; > buildPhases = ( >+ 7A35F25020BDB7CC003958EC /* Remove stale entitlement file */, > BC3DE46215A91763008D26FC /* Sources */, > BCDC308D15FDB99A006B6695 /* Frameworks */, > BC3DE46415A91763008D26FC /* Resources */, >+ 7A35F24E20BDAE40003958EC /* Unlock keychain */, >+ 7AFCBD5420B8911D00F55C9C /* Process WebContent entitlements */, > ); > buildRules = ( > ); >@@ -10054,6 +10062,7 @@ > isa = PBXResourcesBuildPhase; > buildActionMask = 2147483647; > files = ( >+ 7ACFAADA20B88D5000C53203 /* process-webcontent-entitlements.sh in Resources */, > 372EBB412017E64300085064 /* WebContentProcess.xib in Resources */, > ); > runOnlyForDeploymentPostprocessing = 0; >@@ -10083,6 +10092,7 @@ > isa = PBXResourcesBuildPhase; > buildActionMask = 2147483647; > files = ( >+ 7ACFAAD920B88D5000C53203 /* process-webcontent-entitlements.sh in Resources */, > E1D26A53175964D90095BFD1 /* WebContentProcess.xib in Resources */, > ); > runOnlyForDeploymentPostprocessing = 0; >@@ -10324,6 +10334,116 @@ > shellPath = /bin/sh; > shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ] || [ \"${ACTION}\" = \"installapi\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-files-in-framework ]; then\n ../../Tools/Scripts/check-for-inappropriate-files-in-framework || exit $?\nfi\n"; > }; >+ 7A35F24E20BDAE40003958EC /* Unlock keychain */ = { >+ isa = PBXShellScriptBuildPhase; >+ buildActionMask = 2147483647; >+ files = ( >+ ); >+ inputFileListPaths = ( >+ ); >+ inputPaths = ( >+ ); >+ name = "Unlock keychain"; >+ outputFileListPaths = ( >+ ); >+ outputPaths = ( >+ ); >+ runOnlyForDeploymentPostprocessing = 0; >+ shellPath = /bin/sh; >+ shellScript = "UNLOCK_SCRIPT_PATH=\"${SRCROOT}/../../../Internal/Tools/Scripts/unlock-safari-engineering-keychain-if-needed\"\n\n[[ -x \"${UNLOCK_SCRIPT_PATH}\" ]] && exec \"${UNLOCK_SCRIPT_PATH}\"\n\nexit 0\n"; >+ }; >+ 7A35F24F20BDAF8B003958EC /* Unlock keychain */ = { >+ isa = PBXShellScriptBuildPhase; >+ buildActionMask = 2147483647; >+ files = ( >+ ); >+ inputFileListPaths = ( >+ ); >+ inputPaths = ( >+ ); >+ name = "Unlock keychain"; >+ outputFileListPaths = ( >+ ); >+ outputPaths = ( >+ ); >+ runOnlyForDeploymentPostprocessing = 0; >+ shellPath = /bin/sh; >+ shellScript = "UNLOCK_SCRIPT_PATH=\"${SRCROOT}/../../../Internal/Tools/Scripts/unlock-safari-engineering-keychain-if-needed\"\n\n[[ -x \"${UNLOCK_SCRIPT_PATH}\" ]] && exec \"${UNLOCK_SCRIPT_PATH}\"\n\nexit 0\n"; >+ }; >+ 7A35F25020BDB7CC003958EC /* Remove stale entitlement file */ = { >+ isa = PBXShellScriptBuildPhase; >+ buildActionMask = 2147483647; >+ files = ( >+ ); >+ inputFileListPaths = ( >+ ); >+ inputPaths = ( >+ ); >+ name = "Remove stale entitlement file"; >+ outputFileListPaths = ( >+ ); >+ outputPaths = ( >+ ); >+ runOnlyForDeploymentPostprocessing = 0; >+ shellPath = /bin/sh; >+ shellScript = "# We autogenerate this file, so don't want to retain an old copy during builds.\nrm -f ${TEMP_FILE_DIR}/${FULL_PRODUCT_NAME}.xcent\n"; >+ }; >+ 7A35F25120BDB80C003958EC /* Remove stale entitlement file */ = { >+ isa = PBXShellScriptBuildPhase; >+ buildActionMask = 2147483647; >+ files = ( >+ ); >+ inputFileListPaths = ( >+ ); >+ inputPaths = ( >+ ); >+ name = "Remove stale entitlement file"; >+ outputFileListPaths = ( >+ ); >+ outputPaths = ( >+ ); >+ runOnlyForDeploymentPostprocessing = 0; >+ shellPath = /bin/sh; >+ shellScript = "# We autogenerate this file, so don't want to retain an old copy during builds.\nrm -f ${TEMP_FILE_DIR}/${FULL_PRODUCT_NAME}.xcent\n"; >+ }; >+ 7AFCBD5420B8911D00F55C9C /* Process WebContent entitlements */ = { >+ isa = PBXShellScriptBuildPhase; >+ buildActionMask = 2147483647; >+ files = ( >+ ); >+ inputFileListPaths = ( >+ ); >+ inputPaths = ( >+ "$(TEMP_FILE_DIR)/$(FULL_PRODUCT_NAME).xcent", >+ ); >+ name = "Process WebContent entitlements"; >+ outputFileListPaths = ( >+ ); >+ outputPaths = ( >+ ); >+ runOnlyForDeploymentPostprocessing = 0; >+ shellPath = /bin/sh; >+ shellScript = "Scripts/process-webcontent-entitlements.sh\n"; >+ }; >+ 7AFCBD5520B8917D00F55C9C /* Process WebContent entitlements */ = { >+ isa = PBXShellScriptBuildPhase; >+ buildActionMask = 2147483647; >+ files = ( >+ ); >+ inputFileListPaths = ( >+ ); >+ inputPaths = ( >+ "$(TEMP_FILE_DIR)/$(FULL_PRODUCT_NAME).xcent", >+ ); >+ name = "Process WebContent entitlements"; >+ outputFileListPaths = ( >+ ); >+ outputPaths = ( >+ ); >+ runOnlyForDeploymentPostprocessing = 0; >+ shellPath = /bin/sh; >+ shellScript = "Scripts/process-webcontent-entitlements.sh\n"; >+ }; > 99CA3862207286DB00BAD578 /* Copy WebDriver Atoms to Framework Private Headers */ = { > isa = PBXShellScriptBuildPhase; > buildActionMask = 2147483647;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185526
:
340118
|
340120
|
340134
|
340645
|
340728
|
341313
|
341363
|
341491
|
341591
| 341617