Changeset 86967 in webkit
- Timestamp:
- May 20, 2011 11:18:37 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r86956 r86967 1 2011-05-20 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Anders Carlsson. 4 5 WebKit2: Media files cannot be saved in the Application Cache due to a sandbox violation 6 https://bugs.webkit.org/show_bug.cgi?id=61199 7 8 Instead of using a sandbox extension to give permission to the application cache directory, 9 initialize the sandbox with access to it like we do for other databases. 10 11 * Shared/WebProcessCreationParameters.cpp: 12 (WebKit::WebProcessCreationParameters::encode): 13 (WebKit::WebProcessCreationParameters::decode): 14 * Shared/WebProcessCreationParameters.h: 15 * UIProcess/WebContext.cpp: 16 (WebKit::WebContext::ensureWebProcess): 17 * WebProcess/WebProcess.cpp: 18 (WebKit::WebProcess::initializeWebProcess): 19 * WebProcess/com.apple.WebProcess.sb: 20 * WebProcess/mac/WebProcessMac.mm: 21 (WebKit::initializeSandbox): 22 1 23 2011-05-20 Jer Noble <jer.noble@apple.com> 2 24 -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
r86369 r86967 52 52 encoder->encode(injectedBundlePathExtensionHandle); 53 53 encoder->encode(applicationCacheDirectory); 54 encoder->encode(applicationCacheDirectoryExtensionHandle);55 54 encoder->encode(databaseDirectory); 56 55 encoder->encode(localStorageDirectory); … … 99 98 return false; 100 99 if (!decoder->decode(parameters.applicationCacheDirectory)) 101 return false;102 if (!decoder->decode(parameters.applicationCacheDirectoryExtensionHandle))103 100 return false; 104 101 if (!decoder->decode(parameters.databaseDirectory)) -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h
r86285 r86967 54 54 SandboxExtension::Handle injectedBundlePathExtensionHandle; 55 55 56 String applicationCacheDirectory; 57 SandboxExtension::Handle applicationCacheDirectoryExtensionHandle; 58 56 String applicationCacheDirectory; 59 57 String databaseDirectory; 60 58 String localStorageDirectory; -
trunk/Source/WebKit2/UIProcess/WebContext.cpp
r86898 r86967 222 222 WebProcessCreationParameters parameters; 223 223 224 parameters.applicationCacheDirectory = applicationCacheDirectory();225 if (!parameters.applicationCacheDirectory.isEmpty())226 SandboxExtension::createHandle(parameters.applicationCacheDirectory, SandboxExtension::ReadWrite, parameters.applicationCacheDirectoryExtensionHandle);227 228 224 if (!injectedBundlePath().isEmpty()) { 229 225 parameters.injectedBundlePath = injectedBundlePath(); 230 231 226 SandboxExtension::createHandle(parameters.injectedBundlePath, SandboxExtension::ReadOnly, parameters.injectedBundlePathExtensionHandle); 232 227 } … … 241 236 parameters.presenterApplicationPid = getpid(); 242 237 #endif 243 238 244 239 copyToVector(m_schemesToRegisterAsEmptyDocument, parameters.urlSchemesRegistererdAsEmptyDocument); 245 240 copyToVector(m_schemesToRegisterAsSecure, parameters.urlSchemesRegisteredAsSecure); -
trunk/Source/WebKit2/WebProcess/WebProcess.cpp
r86812 r86967 195 195 196 196 #if ENABLE(OFFLINE_WEB_APPLICATIONS) 197 if (!parameters.applicationCacheDirectory.isEmpty()) { 198 m_applicationCachePathExtension = SandboxExtension::create(parameters.applicationCacheDirectoryExtensionHandle); 199 m_applicationCachePathExtension->consume(); 200 197 if (!parameters.applicationCacheDirectory.isEmpty()) 201 198 cacheStorage().setCacheDirectory(parameters.applicationCacheDirectory); 202 }203 199 #endif 204 200 -
trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
r86608 r86967 106 106 (allow file* (subpath (param "DARWIN_USER_TEMP_DIR")))) 107 107 108 ;; Database dir 108 ;; Database directory. 109 109 (if (positive? (string-length (param "WEBKIT_DATABASE_DIR"))) 110 110 (allow file* (subpath (param "WEBKIT_DATABASE_DIR")))) 111 111 112 ;; LocalStorage dir 112 ;; LocalStorage directory. 113 113 (if (positive? (string-length (param "WEBKIT_LOCALSTORAGE_DIR"))) 114 114 (allow file* (subpath (param "WEBKIT_LOCALSTORAGE_DIR")))) 115 116 ;; ApplicationCache directory. 117 (if (positive? (string-length (param "WEBKIT_APPLICATION_CACHE_DIR"))) 118 (allow file* (subpath (param "WEBKIT_APPLICATION_CACHE_DIR")))) 115 119 116 120 ;; The NSURLCache directory. -
trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
r86692 r86967 188 188 appendReadwriteSandboxDirectory(sandboxParameters, "WEBKIT_DATABASE_DIR", parameters.databaseDirectory); 189 189 appendReadwriteSandboxDirectory(sandboxParameters, "WEBKIT_LOCALSTORAGE_DIR", parameters.localStorageDirectory); 190 appendReadwriteSandboxDirectory(sandboxParameters, "WEBKIT_APPLICATION_CACHE_DIR", parameters.applicationCacheDirectory); 190 191 appendReadwriteSandboxDirectory(sandboxParameters, "NSURL_CACHE_DIR", parameters.nsURLCachePath); 191 192
Note: See TracChangeset
for help on using the changeset viewer.