Changeset 172500 in webkit
- Timestamp:
- Aug 12, 2014 3:43:27 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r172498 r172500 1 2014-08-12 Alexey Proskuryakov <ap@apple.com> 2 3 REGRESSION: WebContent process has a sandbox extension for the entirety of user's temp directory 4 https://bugs.webkit.org/show_bug.cgi?id=135853 5 <rdar://problem/17986556> 6 7 Reviewed by Oliver hunt. 8 9 Move extensions recently added for iOS benefit under PLATFORM(IOS). Removed some 10 dead code while at it (child processes don't need actual paths, they only need 11 sandbox extensions in most cases). 12 13 * NetworkProcess/cocoa/NetworkProcessCocoa.mm: 14 (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): 15 * Shared/Network/NetworkProcessCreationParameters.cpp: 16 (WebKit::NetworkProcessCreationParameters::encode): 17 (WebKit::NetworkProcessCreationParameters::decode): 18 * Shared/Network/NetworkProcessCreationParameters.h: 19 * Shared/WebProcessCreationParameters.cpp: 20 (WebKit::WebProcessCreationParameters::encode): 21 (WebKit::WebProcessCreationParameters::decode): 22 * Shared/WebProcessCreationParameters.h: 23 * UIProcess/WebContext.cpp: 24 (WebKit::WebContext::ensureNetworkProcess): 25 (WebKit::WebContext::createNewWebProcess): 26 (WebKit::WebContext::openGLCacheDirectory): Deleted. 27 (WebKit::WebContext::networkingHSTSDatabasePath): Deleted. 28 * UIProcess/WebContext.h: 29 * UIProcess/efl/WebContextEfl.cpp: 30 (WebKit::WebContext::containerTemporaryDirectory): Deleted. 31 (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted. 32 * UIProcess/gtk/WebContextGtk.cpp: 33 (WebKit::WebContext::containerTemporaryDirectory): Deleted. 34 (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted. 35 * UIProcess/mac/WebContextMac.mm: 36 (WebKit::WebContext::openGLCacheDirectory): 37 (WebKit::WebContext::parentBundleDirectory): 38 (WebKit::WebContext::networkingHSTSDatabasePath): 39 (WebKit::WebContext::platformDefaultOpenGLCacheDirectory): Deleted. 40 (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted. 41 * WebProcess/cocoa/WebProcessCocoa.mm: 42 (WebKit::WebProcess::platformInitializeWebProcess): 43 1 44 2014-08-12 Tim Horton <timothy_horton@apple.com> 2 45 -
trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm
r172031 r172500 61 61 void NetworkProcess::platformInitializeNetworkProcessCocoa(const NetworkProcessCreationParameters& parameters) 62 62 { 63 #if PLATFORM(IOS) 63 64 SandboxExtension::consumePermanently(parameters.cookieStorageDirectoryExtensionHandle); 64 #if PLATFORM(IOS)65 65 SandboxExtension::consumePermanently(parameters.hstsDatabasePathExtensionHandle); 66 66 SandboxExtension::consumePermanently(parameters.parentBundleDirectoryExtensionHandle); -
trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp
r172031 r172500 44 44 encoder << diskCacheDirectoryExtensionHandle; 45 45 encoder << cookieStorageDirectory; 46 #if PLATFORM(IOS) 46 47 encoder << cookieStorageDirectoryExtensionHandle; 47 #if PLATFORM(IOS)48 encoder << hstsDatabasePath;49 48 encoder << hstsDatabasePathExtensionHandle; 50 encoder << parentBundleDirectory;51 49 encoder << parentBundleDirectoryExtensionHandle; 52 50 #endif … … 84 82 if (!decoder.decode(result.cookieStorageDirectory)) 85 83 return false; 84 #if PLATFORM(IOS) 86 85 if (!decoder.decode(result.cookieStorageDirectoryExtensionHandle)) 87 86 return false; 88 #if PLATFORM(IOS)89 if (!decoder.decode(result.hstsDatabasePath))90 return false;91 87 if (!decoder.decode(result.hstsDatabasePathExtensionHandle)) 92 return false;93 if (!decoder.decode(result.parentBundleDirectory))94 88 return false; 95 89 if (!decoder.decode(result.parentBundleDirectoryExtensionHandle)) -
trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h
r172031 r172500 58 58 59 59 String cookieStorageDirectory; 60 61 #if PLATFORM(IOS) 60 62 SandboxExtension::Handle cookieStorageDirectoryExtensionHandle; 61 63 62 #if PLATFORM(IOS)63 64 // FIXME: Remove this once <rdar://problem/17726660> is fixed. 64 String hstsDatabasePath;65 65 SandboxExtension::Handle hstsDatabasePathExtensionHandle; 66 66 67 String parentBundleDirectory;68 67 SandboxExtension::Handle parentBundleDirectoryExtensionHandle; 69 68 #endif -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
r172301 r172500 68 68 encoder << diskCacheDirectoryExtensionHandle; 69 69 encoder << cookieStorageDirectory; 70 #if PLATFORM(IOS) 70 71 encoder << cookieStorageDirectoryExtensionHandle; 71 encoder << openGLCacheDirectory;72 72 encoder << openGLCacheDirectoryExtensionHandle; 73 encoder << containerTemporaryDirectory;74 73 encoder << containerTemporaryDirectoryExtensionHandle; 75 #if PLATFORM(IOS)76 encoder << hstsDatabasePath;77 74 encoder << hstsDatabasePathExtensionHandle; 78 75 #endif … … 168 165 if (!decoder.decode(parameters.cookieStorageDirectory)) 169 166 return false; 167 #if PLATFORM(IOS) 170 168 if (!decoder.decode(parameters.cookieStorageDirectoryExtensionHandle)) 171 169 return false; 172 if (!decoder.decode(parameters.openGLCacheDirectory))173 return false;174 170 if (!decoder.decode(parameters.openGLCacheDirectoryExtensionHandle)) 175 171 return false; 176 if (!decoder.decode(parameters.containerTemporaryDirectory))177 return false;178 172 if (!decoder.decode(parameters.containerTemporaryDirectoryExtensionHandle)) 179 return false;180 #if PLATFORM(IOS)181 if (!decoder.decode(parameters.hstsDatabasePath))182 173 return false; 183 174 if (!decoder.decode(parameters.hstsDatabasePathExtensionHandle)) -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h
r172301 r172500 72 72 SandboxExtension::Handle diskCacheDirectoryExtensionHandle; 73 73 String cookieStorageDirectory; 74 #if PLATFORM(IOS) 74 75 SandboxExtension::Handle cookieStorageDirectoryExtensionHandle; 75 String openGLCacheDirectory;76 76 SandboxExtension::Handle openGLCacheDirectoryExtensionHandle; 77 String containerTemporaryDirectory;78 77 SandboxExtension::Handle containerTemporaryDirectoryExtensionHandle; 79 80 #if PLATFORM(IOS)81 78 // FIXME: Remove this once <rdar://problem/17726660> is fixed. 82 String hstsDatabasePath;83 79 SandboxExtension::Handle hstsDatabasePathExtensionHandle; 84 80 #endif -
trunk/Source/WebKit2/UIProcess/WebContext.cpp
r172366 r172500 422 422 423 423 parameters.cookieStorageDirectory = cookieStorageDirectory(); 424 425 #if PLATFORM(IOS) 424 426 if (!parameters.cookieStorageDirectory.isEmpty()) 425 427 SandboxExtension::createHandleForReadWriteDirectory(parameters.cookieStorageDirectory, parameters.cookieStorageDirectoryExtensionHandle); 426 428 427 #if PLATFORM(IOS) 428 parameters.hstsDatabasePath = networkingHSTSDatabasePath(); 429 if (!parameters.hstsDatabasePath.isEmpty()) 430 SandboxExtension::createHandle(parameters.hstsDatabasePath, SandboxExtension::ReadWrite, parameters.hstsDatabasePathExtensionHandle); 431 432 parameters.parentBundleDirectory = parentBundleDirectory(); 433 if (!parameters.parentBundleDirectory.isEmpty()) 434 SandboxExtension::createHandle(parameters.parentBundleDirectory, SandboxExtension::ReadOnly, parameters.parentBundleDirectoryExtensionHandle); 429 String hstsDatabasePath = networkingHSTSDatabasePath(); 430 if (!hstsDatabasePath.isEmpty()) 431 SandboxExtension::createHandle(hstsDatabasePath, SandboxExtension::ReadWrite, parameters.hstsDatabasePathExtensionHandle); 432 433 String parentBundleDirectory = parentBundleDirectory(); 434 if (!parentBundleDirectory.isEmpty()) 435 SandboxExtension::createHandle(parentBundleDirectory, SandboxExtension::ReadOnly, parameters.parentBundleDirectoryExtensionHandle); 435 436 #endif 436 437 … … 619 620 620 621 parameters.cookieStorageDirectory = cookieStorageDirectory(); 622 623 #if PLATFORM(IOS) 621 624 if (!parameters.cookieStorageDirectory.isEmpty()) 622 625 SandboxExtension::createHandleForReadWriteDirectory(parameters.cookieStorageDirectory, parameters.cookieStorageDirectoryExtensionHandle); 623 626 624 parameters.openGLCacheDirectory = openGLCacheDirectory(); 625 if (!parameters.openGLCacheDirectory.isEmpty()) 626 SandboxExtension::createHandleForReadWriteDirectory(parameters.openGLCacheDirectory, parameters.openGLCacheDirectoryExtensionHandle); 627 628 parameters.containerTemporaryDirectory = containerTemporaryDirectory(); 629 if (!parameters.containerTemporaryDirectory.isEmpty()) 630 SandboxExtension::createHandleForReadWriteDirectory(parameters.containerTemporaryDirectory, parameters.containerTemporaryDirectoryExtensionHandle); 631 632 #if PLATFORM(IOS) 633 parameters.hstsDatabasePath = webContentHSTSDatabasePath(); 634 if (!parameters.hstsDatabasePath.isEmpty()) 635 SandboxExtension::createHandle(parameters.hstsDatabasePath, SandboxExtension::ReadWrite, parameters.hstsDatabasePathExtensionHandle); 627 String openGLCacheDirectory = openGLCacheDirectory(); 628 if (!openGLCacheDirectory.isEmpty()) 629 SandboxExtension::createHandleForReadWriteDirectory(openGLCacheDirectory, parameters.openGLCacheDirectoryExtensionHandle); 630 631 String containerTemporaryDirectory = containerTemporaryDirectory(); 632 if (!containerTemporaryDirectory.isEmpty()) 633 SandboxExtension::createHandleForReadWriteDirectory(containerTemporaryDirectory, parameters.containerTemporaryDirectoryExtensionHandle); 634 635 String hstsDatabasePath = webContentHSTSDatabasePath(); 636 if (!hstsDatabasePath.isEmpty()) 637 SandboxExtension::createHandle(hstsDatabasePath, SandboxExtension::ReadWrite, parameters.hstsDatabasePathExtensionHandle); 636 638 #endif 637 639 … … 1222 1224 } 1223 1225 1224 String WebContext::openGLCacheDirectory() const1225 {1226 if (!m_overrideOpenGLCacheDirectory.isEmpty())1227 return m_overrideOpenGLCacheDirectory;1228 1229 return platformDefaultOpenGLCacheDirectory();1230 }1231 1232 String WebContext::networkingHSTSDatabasePath() const1233 {1234 return platformDefaultNetworkingHSTSDatabasePath();1235 }1236 1237 1226 void WebContext::useTestingNetworkSession() 1238 1227 { -
trunk/Source/WebKit2/UIProcess/WebContext.h
r172366 r172500 424 424 String platformDefaultCookieStorageDirectory() const; 425 425 426 #if PLATFORM(IOS) 426 427 String openGLCacheDirectory() const; 427 String platformDefaultOpenGLCacheDirectory() const; 428 428 String parentBundleDirectory() const; 429 429 String networkingHSTSDatabasePath() const; 430 String platformDefaultNetworkingHSTSDatabasePath() const;431 432 #if PLATFORM(IOS)433 String parentBundleDirectory() const;434 430 String webContentHSTSDatabasePath() const; 435 #endif436 437 431 String containerTemporaryDirectory() const; 432 #endif 438 433 439 434 #if PLATFORM(COCOA) … … 532 527 String m_overrideDiskCacheDirectory; 533 528 String m_overrideCookieStorageDirectory; 534 String m_overrideOpenGLCacheDirectory;535 529 536 530 String m_webSQLDatabaseDirectory; -
trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp
r171943 r172500 133 133 } 134 134 135 String WebContext::platformDefaultOpenGLCacheDirectory() const136 {137 notImplemented();138 return String();139 }140 141 String WebContext::containerTemporaryDirectory() const142 {143 notImplemented();144 return String();145 }146 147 String WebContext::platformDefaultNetworkingHSTSDatabasePath() const148 {149 notImplemented();150 return String();151 }152 153 135 void WebContext::setIgnoreTLSErrors(bool ignoreTLSErrors) 154 136 { -
trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp
r171943 r172500 149 149 } 150 150 151 String WebContext::platformDefaultOpenGLCacheDirectory() const152 {153 notImplemented();154 return String();155 }156 157 String WebContext::containerTemporaryDirectory() const158 {159 notImplemented();160 return String();161 }162 163 String WebContext::platformDefaultNetworkingHSTSDatabasePath() const164 {165 notImplemented();166 return String();167 }168 169 151 void WebContext::setIgnoreTLSErrors(bool ignoreTLSErrors) 170 152 { -
trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm
r172238 r172500 285 285 } 286 286 287 String WebContext::platformDefaultOpenGLCacheDirectory() const288 {289 287 #if PLATFORM(IOS) 288 String WebContext::openGLCacheDirectory() const 289 { 290 290 String path = pathForProcessContainer(); 291 291 if (path.isEmpty()) … … 294 294 path = path + "/Library/Caches/com.apple.WebKit.WebContent/com.apple.opengl/"; 295 295 return stringByResolvingSymlinksInPath(path); 296 #else 297 notImplemented(); 298 return [@"" stringByStandardizingPath]; 299 #endif 300 } 301 302 String WebContext::platformDefaultNetworkingHSTSDatabasePath() const 303 { 304 #if PLATFORM(IOS) 296 } 297 298 String WebContext::parentBundleDirectory() const 299 { 300 return [[[NSBundle mainBundle] bundlePath] stringByStandardizingPath]; 301 } 302 303 String WebContext::networkingHSTSDatabasePath() const 304 { 305 305 String path = pathForProcessContainer(); 306 306 if (path.isEmpty()) … … 318 318 319 319 return path + "/HSTS.plist"; 320 #else321 notImplemented();322 return [@"" stringByStandardizingPath];323 #endif324 }325 326 #if PLATFORM(IOS)327 String WebContext::parentBundleDirectory() const328 {329 return [[[NSBundle mainBundle] bundlePath] stringByStandardizingPath];330 320 } 331 321 … … 349 339 } 350 340 351 #endif352 353 341 String WebContext::containerTemporaryDirectory() const 354 342 { … … 356 344 return stringByResolvingSymlinksInPath(path); 357 345 } 346 #endif 358 347 359 348 String WebContext::platformDefaultWebSQLDatabaseDirectory() -
trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm
r172238 r172500 168 168 SandboxExtension::consumePermanently(parameters.applicationCacheDirectoryExtensionHandle); 169 169 SandboxExtension::consumePermanently(parameters.diskCacheDirectoryExtensionHandle); 170 #if PLATFORM(IOS) 170 171 SandboxExtension::consumePermanently(parameters.cookieStorageDirectoryExtensionHandle); 171 172 SandboxExtension::consumePermanently(parameters.openGLCacheDirectoryExtensionHandle); 172 173 SandboxExtension::consumePermanently(parameters.containerTemporaryDirectoryExtensionHandle); 173 #if PLATFORM(IOS)174 174 SandboxExtension::consumePermanently(parameters.hstsDatabasePathExtensionHandle); 175 175 #endif
Note: See TracChangeset
for help on using the changeset viewer.