Changeset 171024 in webkit
- Timestamp:
- Jul 12, 2014, 11:33:43 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r171023 r171024 1 2014-07-12 Oliver Hunt <oliver@apple.com> 2 3 Extend WebContent sandbox to allow some extra access for frameworks 4 https://bugs.webkit.org/show_bug.cgi?id=134844 5 6 Reviewed by Sam Weinig. 7 8 Open up the webcontent sandbox a bit so that some external frameworks 9 can work correctly. 10 11 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: 12 * Shared/WebProcessCreationParameters.cpp: 13 (WebKit::WebProcessCreationParameters::encode): 14 (WebKit::WebProcessCreationParameters::decode): 15 * Shared/WebProcessCreationParameters.h: 16 * UIProcess/WebContext.cpp: 17 (WebKit::WebContext::createNewWebProcess): 18 (WebKit::WebContext::mediaCacheDirectory): 19 * UIProcess/WebContext.h: 20 * UIProcess/mac/WebContextMac.mm: 21 (WebKit::WebContext::platformMediaCacheDirectory): 22 * WebProcess/cocoa/WebProcessCocoa.mm: 23 (WebKit::WebProcess::platformInitializeWebProcess): 24 1 25 2014-07-12 Oliver Hunt <oliver@apple.com> 2 26 -
trunk/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb
r171003 r171024 86 86 (global-name "com.apple.webinspector")) 87 87 88 ;; Various services required by CFNetwork and other frameworks 89 (allow mach-lookup 90 (global-name "com.apple.PowerManagement.control")) 91 88 92 (deny file-write-create (vnode-type SYMLINK)) 89 93 (deny file-read-xattr file-write-xattr (xattr-regex #"^com\.apple\.security\.private\.")) -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
r170970 r171024 70 70 encoder << openGLCacheDirectory; 71 71 encoder << openGLCacheDirectoryExtensionHandle; 72 encoder << mediaCacheDirectory; 73 encoder << mediaCacheDirectoryExtensionHandle; 72 74 encoder << shouldUseTestingNetworkSession; 73 75 encoder << urlSchemesRegistererdAsEmptyDocument; … … 167 169 if (!decoder.decode(parameters.openGLCacheDirectoryExtensionHandle)) 168 170 return false; 171 if (!decoder.decode(parameters.mediaCacheDirectory)) 172 return false; 173 if (!decoder.decode(parameters.mediaCacheDirectoryExtensionHandle)) 174 return false; 169 175 if (!decoder.decode(parameters.shouldUseTestingNetworkSession)) 170 176 return false; -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h
r170970 r171024 75 75 String openGLCacheDirectory; 76 76 SandboxExtension::Handle openGLCacheDirectoryExtensionHandle; 77 String mediaCacheDirectory; 78 SandboxExtension::Handle mediaCacheDirectoryExtensionHandle; 77 79 78 80 bool shouldUseTestingNetworkSession; -
trunk/Source/WebKit2/UIProcess/WebContext.cpp
r170970 r171024 595 595 SandboxExtension::createHandleForReadWriteDirectory(parameters.openGLCacheDirectory, parameters.openGLCacheDirectoryExtensionHandle); 596 596 597 parameters.mediaCacheDirectory = mediaCacheDirectory(); 598 if (!parameters.mediaCacheDirectory.isEmpty()) 599 SandboxExtension::createHandleForReadWriteDirectory(parameters.mediaCacheDirectory, parameters.mediaCacheDirectoryExtensionHandle); 600 597 601 parameters.shouldUseTestingNetworkSession = m_shouldUseTestingNetworkSession; 598 602 … … 1188 1192 } 1189 1193 1194 String WebContext::mediaCacheDirectory() const 1195 { 1196 if (!m_overrideMediaCacheDirectory.isEmpty()) 1197 return m_overrideMediaCacheDirectory; 1198 1199 return platformMediaCacheDirectory(); 1200 } 1201 1190 1202 void WebContext::useTestingNetworkSession() 1191 1203 { -
trunk/Source/WebKit2/UIProcess/WebContext.h
r170970 r171024 427 427 String platformDefaultOpenGLCacheDirectory() const; 428 428 429 String mediaCacheDirectory() const; 430 String platformMediaCacheDirectory() const; 431 429 432 #if PLATFORM(COCOA) 430 433 void registerNotificationObservers(); … … 523 526 String m_overrideCookieStorageDirectory; 524 527 String m_overrideOpenGLCacheDirectory; 528 String m_overrideMediaCacheDirectory; 525 529 526 530 String m_webSQLDatabaseDirectory; -
trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm
r171023 r171024 304 304 } 305 305 306 String WebContext::platformMediaCacheDirectory() const 307 { 308 #if PLATFORM(IOS) 309 String path = NSTemporaryDirectory(); 310 path = path + "/MediaCache"; 311 return stringByResolvingSymlinksInPath(path); 312 #else 313 notImplemented(); 314 return [@"" stringByStandardizingPath]; 315 #endif 316 } 317 306 318 String WebContext::platformDefaultWebSQLDatabaseDirectory() 307 319 { -
trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm
r170970 r171024 170 170 SandboxExtension::consumePermanently(parameters.cookieStorageDirectoryExtensionHandle); 171 171 SandboxExtension::consumePermanently(parameters.openGLCacheDirectoryExtensionHandle); 172 SandboxExtension::consumePermanently(parameters.mediaCacheDirectoryExtensionHandle); 172 173 #endif 173 174
Note:
See TracChangeset
for help on using the changeset viewer.