WebKit Bugzilla
Attachment 340120 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
bug-185526-20180510132639.patch (text/plain), 10.82 KB, created by
Brent Fulgham
on 2018-05-10 13:26:39 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Brent Fulgham
Created:
2018-05-10 13:26:39 PDT
Size:
10.82 KB
patch
obsolete
>Subversion Revision: 231629 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index d61d891c256b5b11c08f0de8743c7915d92e2689..ba36c51aca99ca812d574ae44b345c2bd86f33cd 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,33 @@ >+2018-05-10 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 NOBODY (OOPS!). >+ >+ 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 provide >+ an entitlements file for our relocatable build targets. >+ >+ This patch does the following: >+ >+ 1. Copies the "WebContent-OSX.entitlements" to "WebContent-Relocatable-OSX.entitlements" >+ 2. Updates the "WebContent.Development.entitlements" to include the TCC entitlements for media capture. >+ 3. Removes the unneeded "com.apple.private.xpc.domain-extension" from WebContent-OSX.entitlement now that >+ it is used for system WebKit, not relocatable WebKit. >+ 4. Updates WebContentService.xcconfig so that CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_YES >+ points to the new "WebContent-Relocatable-OSX.entitlements" file. >+ 5. Adds a new CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_NO definition to WebContentService.xcconfig >+ that points to the revised "WebContent-OSX.entitlements" file. >+ >+ * Configurations/WebContent-OSX.entitlements: >+ * Configurations/WebContent-Relocatable-OSX.entitlements: Copied from Source/WebKit/Configurations/WebContent-OSX.entitlements. >+ * Configurations/WebContent.Development.entitlements: >+ * Configurations/WebContentService.xcconfig: >+ > 2018-05-09 Tim Horton <timothy_horton@apple.com> > > Remove the unused HAVE_OS_ACTIVITY >diff --git a/Source/WebKit/Configurations/WebContent-OSX.entitlements b/Source/WebKit/Configurations/WebContent-OSX.entitlements >index b492de534916bc944e8a30a4345d6d0bb10793df..2ad5067206a74c1df35151d9ff13b5635cf282a2 100644 >--- a/Source/WebKit/Configurations/WebContent-OSX.entitlements >+++ b/Source/WebKit/Configurations/WebContent-OSX.entitlements >@@ -7,7 +7,5 @@ > <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-Relocatable-OSX.entitlements b/Source/WebKit/Configurations/WebContent-Relocatable-OSX.entitlements >new file mode 100644 >index 0000000000000000000000000000000000000000..b492de534916bc944e8a30a4345d6d0bb10793df >--- /dev/null >+++ b/Source/WebKit/Configurations/WebContent-Relocatable-OSX.entitlements >@@ -0,0 +1,13 @@ >+<?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 >index 8cc185af8d78a28646222a3910417f35845727ed..350908647e9465a18aa70eeffb73468da8fc64f4 100644 >--- a/Source/WebKit/Configurations/WebContent.Development.entitlements >+++ b/Source/WebKit/Configurations/WebContent.Development.entitlements >@@ -2,6 +2,11 @@ > <!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.security.cs.disable-library-validation</key> > <true/> > </dict> >diff --git a/Source/WebKit/Configurations/WebContentService.xcconfig b/Source/WebKit/Configurations/WebContentService.xcconfig >index 294d419702947ea8495fdeaef0958356e9f92cd1..ef8f020779ab738f5c18fb8c23510f5e976a0b13 100644 >--- a/Source/WebKit/Configurations/WebContentService.xcconfig >+++ b/Source/WebKit/Configurations/WebContentService.xcconfig >@@ -33,7 +33,10 @@ 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; >+CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_YES = Configurations/WebContent-Relocatable-OSX.entitlements; >+CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_NO = $(CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_NO$(WK_MACOS_1014)); >+CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_NO_MACOS_SINCE_1014 = 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/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >index 9fd2227f417143a663cb194e1a235a7a33d7ef93..fb7fab5f9dcf6b88746d903c268f6fff91d6282a 100644 >--- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj >+++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >@@ -2072,7 +2072,6 @@ > CDA29A2B1CBEB67A00901CCF /* PlaybackSessionManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = CDA29A271CBEB67A00901CCF /* PlaybackSessionManagerProxyMessages.h */; }; > CDC2831D201BD79D00E6E745 /* WKFullscreenStackView.h in Headers */ = {isa = PBXBuildFile; fileRef = CDC2831B201BD79D00E6E745 /* WKFullscreenStackView.h */; }; > CDC2831E201BD79D00E6E745 /* WKFullscreenStackView.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDC2831C201BD79D00E6E745 /* WKFullscreenStackView.mm */; }; >- CDC382FE17211799008A2FC3 /* SecItemShimLibrary.mm in Sources */ = {isa = PBXBuildFile; fileRef = 511F8A78138B460900A95F44 /* SecItemShimLibrary.mm */; }; > CDCA85C8132ABA4E00E961DF /* WKFullScreenWindowController.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDCA85C6132ABA4E00E961DF /* WKFullScreenWindowController.mm */; }; > CDCA85C9132ABA4E00E961DF /* WKFullScreenWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = CDCA85C7132ABA4E00E961DF /* WKFullScreenWindowController.h */; }; > CE11AD501CBC47F800681EE5 /* CodeSigning.mm in Sources */ = {isa = PBXBuildFile; fileRef = CE11AD4F1CBC47F800681EE5 /* CodeSigning.mm */; }; >@@ -3780,6 +3779,7 @@ > 7A8A9D571EF119AA009801AE /* APIInjectedBundleClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIInjectedBundleClient.h; sourceTree = "<group>"; }; > 7A8A9D591EF13020009801AE /* APIInjectedBundleBundleClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIInjectedBundleBundleClient.h; sourceTree = "<group>"; }; > 7A8A9D5B1EF1458E009801AE /* APIInjectedBundlePageResourceLoadClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIInjectedBundlePageResourceLoadClient.h; sourceTree = "<group>"; }; >+ 7A93993820A4D96B009AF07C /* WebContent-Relocatable-OSX.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "WebContent-Relocatable-OSX.entitlements"; sourceTree = "<group>"; }; > 7A9CD8C01C77984900D9F6C7 /* WebResourceLoadStatisticsStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebResourceLoadStatisticsStore.cpp; sourceTree = "<group>"; }; > 7A9CD8C11C77984900D9F6C7 /* WebResourceLoadStatisticsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceLoadStatisticsStore.h; sourceTree = "<group>"; }; > 7A9CD8C21C779AD600D9F6C7 /* WebResourceLoadStatisticsStore.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebResourceLoadStatisticsStore.messages.in; sourceTree = "<group>"; }; >@@ -4605,7 +4605,6 @@ > CDC2831B201BD79D00E6E745 /* WKFullscreenStackView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKFullscreenStackView.h; path = ios/fullscreen/WKFullscreenStackView.h; sourceTree = "<group>"; }; > CDC2831C201BD79D00E6E745 /* WKFullscreenStackView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFullscreenStackView.mm; path = ios/fullscreen/WKFullscreenStackView.mm; sourceTree = "<group>"; }; > CDC382F717211506008A2FC3 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = /System/Library/Frameworks/CFNetwork.framework; sourceTree = "<absolute>"; }; >- CDC3830617211799008A2FC3 /* WebProcessShim.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = WebProcessShim.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; > CDC8F4881725E67800166F6E /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; }; > CDCA85C6132ABA4E00E961DF /* WKFullScreenWindowController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKFullScreenWindowController.mm; sourceTree = "<group>"; }; > CDCA85C7132ABA4E00E961DF /* WKFullScreenWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFullScreenWindowController.h; sourceTree = "<group>"; }; >@@ -5055,6 +5054,7 @@ > 1A4F976E100E7B6600637A18 /* Version.xcconfig */, > 7C0BB9A818DCDE890006C086 /* WebContent-iOS.entitlements */, > 37B418EB1C9624F20031E63B /* WebContent-OSX.entitlements */, >+ 7A93993820A4D96B009AF07C /* WebContent-Relocatable-OSX.entitlements */, > 37209CAB2079D4BA0009E25B /* WebContent.Development.entitlements */, > 372EBB4A2017E76000085064 /* WebContentService.Development.xcconfig */, > BCACC40E16B0B8A800B6E092 /* WebContentService.xcconfig */, >@@ -11450,14 +11450,6 @@ > ); > runOnlyForDeploymentPostprocessing = 0; > }; >- CDC382FD17211799008A2FC3 /* Sources */ = { >- isa = PBXSourcesBuildPhase; >- buildActionMask = 2147483647; >- files = ( >- CDC382FE17211799008A2FC3 /* SecItemShimLibrary.mm in Sources */, >- ); >- runOnlyForDeploymentPostprocessing = 0; >- }; > /* End PBXSourcesBuildPhase section */ > > /* Begin PBXTargetDependency section */
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