Diff
Modified: branches/safari-600.1-branch/Source/WebKit2/ChangeLog (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/ChangeLog 2014-08-05 21:10:40 UTC (rev 172075)
@@ -1,5 +1,46 @@
2014-08-05 Lucas Forschler <lforsch...@apple.com>
+ Merge r171943
+
+ 2014-08-01 Oliver Hunt <oli...@apple.com>
+
+ Various frameworks may want to use the container temp directory, so our current restrictions are too tight
+ https://bugs.webkit.org/show_bug.cgi?id=135518
+ <rdar://17869279>
+
+ Reviewed by Anders Carlsson.
+
+ We don't (and can't) have complete knowledge of what different frameworks
+ will want to use the container temporary directory for, and so our
+ current attempt to heavily restrict access is simply too tight.
+
+ This patch recognises this by simply giving read-write access to the
+ entire NSTemporary() directory (e.g. $container/tmp in the general case),
+ rather than the single sub directory we wishfully thought that we would
+ be able to get away with.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::createNewWebProcess):
+ (WebKit::WebContext::mediaCacheDirectory): Deleted.
+ * UIProcess/WebContext.h:
+ * UIProcess/efl/WebContextEfl.cpp:
+ (WebKit::WebContext::containerTemporaryDirectory):
+ (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
+ * UIProcess/gtk/WebContextGtk.cpp:
+ (WebKit::WebContext::containerTemporaryDirectory):
+ (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::containerTemporaryDirectory):
+ (WebKit::WebContext::platformMediaCacheDirectory): Deleted.
+ * WebProcess/cocoa/WebProcessCocoa.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+
+2014-08-05 Lucas Forschler <lforsch...@apple.com>
+
Merge r171928
2014-08-01 Dan Bernstein <m...@apple.com>
Modified: branches/safari-600.1-branch/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/Shared/WebProcessCreationParameters.cpp 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/Shared/WebProcessCreationParameters.cpp 2014-08-05 21:10:40 UTC (rev 172075)
@@ -69,8 +69,8 @@
encoder << cookieStorageDirectoryExtensionHandle;
encoder << openGLCacheDirectory;
encoder << openGLCacheDirectoryExtensionHandle;
- encoder << mediaCacheDirectory;
- encoder << mediaCacheDirectoryExtensionHandle;
+ encoder << containerTemporaryDirectory;
+ encoder << containerTemporaryDirectoryExtensionHandle;
encoder << shouldUseTestingNetworkSession;
encoder << urlSchemesRegistererdAsEmptyDocument;
encoder << urlSchemesRegisteredAsSecure;
@@ -168,9 +168,9 @@
return false;
if (!decoder.decode(parameters.openGLCacheDirectoryExtensionHandle))
return false;
- if (!decoder.decode(parameters.mediaCacheDirectory))
+ if (!decoder.decode(parameters.containerTemporaryDirectory))
return false;
- if (!decoder.decode(parameters.mediaCacheDirectoryExtensionHandle))
+ if (!decoder.decode(parameters.containerTemporaryDirectoryExtensionHandle))
return false;
if (!decoder.decode(parameters.shouldUseTestingNetworkSession))
return false;
Modified: branches/safari-600.1-branch/Source/WebKit2/Shared/WebProcessCreationParameters.h (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/Shared/WebProcessCreationParameters.h 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/Shared/WebProcessCreationParameters.h 2014-08-05 21:10:40 UTC (rev 172075)
@@ -74,8 +74,8 @@
SandboxExtension::Handle cookieStorageDirectoryExtensionHandle;
String openGLCacheDirectory;
SandboxExtension::Handle openGLCacheDirectoryExtensionHandle;
- String mediaCacheDirectory;
- SandboxExtension::Handle mediaCacheDirectoryExtensionHandle;
+ String containerTemporaryDirectory;
+ SandboxExtension::Handle containerTemporaryDirectoryExtensionHandle;
bool shouldUseTestingNetworkSession;
Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebContext.cpp (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebContext.cpp 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebContext.cpp 2014-08-05 21:10:40 UTC (rev 172075)
@@ -621,9 +621,9 @@
if (!parameters.openGLCacheDirectory.isEmpty())
SandboxExtension::createHandleForReadWriteDirectory(parameters.openGLCacheDirectory, parameters.openGLCacheDirectoryExtensionHandle);
- parameters.mediaCacheDirectory = mediaCacheDirectory();
- if (!parameters.mediaCacheDirectory.isEmpty())
- SandboxExtension::createHandleForReadWriteDirectory(parameters.mediaCacheDirectory, parameters.mediaCacheDirectoryExtensionHandle);
+ parameters.containerTemporaryDirectory = containerTemporaryDirectory();
+ if (!parameters.containerTemporaryDirectory.isEmpty())
+ SandboxExtension::createHandleForReadWriteDirectory(parameters.containerTemporaryDirectory, parameters.containerTemporaryDirectoryExtensionHandle);
parameters.shouldUseTestingNetworkSession = m_shouldUseTestingNetworkSession;
@@ -1223,14 +1223,6 @@
return platformDefaultNetworkingHSTSDatabasePath();
}
-String WebContext::mediaCacheDirectory() const
-{
- if (!m_overrideMediaCacheDirectory.isEmpty())
- return m_overrideMediaCacheDirectory;
-
- return platformMediaCacheDirectory();
-}
-
void WebContext::useTestingNetworkSession()
{
ASSERT(m_processes.isEmpty());
Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebContext.h (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebContext.h 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/WebContext.h 2014-08-05 21:10:40 UTC (rev 172075)
@@ -431,8 +431,7 @@
String networkingHSTSDatabasePath() const;
String platformDefaultNetworkingHSTSDatabasePath() const;
- String mediaCacheDirectory() const;
- String platformMediaCacheDirectory() const;
+ String containerTemporaryDirectory() const;
#if PLATFORM(COCOA)
void registerNotificationObservers();
@@ -530,7 +529,6 @@
String m_overrideDiskCacheDirectory;
String m_overrideCookieStorageDirectory;
String m_overrideOpenGLCacheDirectory;
- String m_overrideMediaCacheDirectory;
String m_webSQLDatabaseDirectory;
String m_indexedDBDatabaseDirectory;
Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp 2014-08-05 21:10:40 UTC (rev 172075)
@@ -138,7 +138,7 @@
return String();
}
-String WebContext::platformMediaCacheDirectory() const
+String WebContext::containerTemporaryDirectory() const
{
notImplemented();
return String();
Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp 2014-08-05 21:10:40 UTC (rev 172075)
@@ -154,7 +154,7 @@
return String();
}
-String WebContext::platformMediaCacheDirectory() const
+String WebContext::containerTemporaryDirectory() const
{
notImplemented();
return String();
Modified: branches/safari-600.1-branch/Source/WebKit2/UIProcess/mac/WebContextMac.mm (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/UIProcess/mac/WebContextMac.mm 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/UIProcess/mac/WebContextMac.mm 2014-08-05 21:10:40 UTC (rev 172075)
@@ -323,16 +323,10 @@
#endif
}
-String WebContext::platformMediaCacheDirectory() const
+String WebContext::containerTemporaryDirectory() const
{
-#if PLATFORM(IOS)
String path = NSTemporaryDirectory();
- path = path + "/MediaCache";
return stringByResolvingSymlinksInPath(path);
-#else
- notImplemented();
- return [@"" stringByStandardizingPath];
-#endif
}
String WebContext::platformDefaultWebSQLDatabaseDirectory()
Modified: branches/safari-600.1-branch/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm (172074 => 172075)
--- branches/safari-600.1-branch/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm 2014-08-05 21:08:41 UTC (rev 172074)
+++ branches/safari-600.1-branch/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm 2014-08-05 21:10:40 UTC (rev 172075)
@@ -169,7 +169,7 @@
SandboxExtension::consumePermanently(parameters.diskCacheDirectoryExtensionHandle);
SandboxExtension::consumePermanently(parameters.cookieStorageDirectoryExtensionHandle);
SandboxExtension::consumePermanently(parameters.openGLCacheDirectoryExtensionHandle);
- SandboxExtension::consumePermanently(parameters.mediaCacheDirectoryExtensionHandle);
+ SandboxExtension::consumePermanently(parameters.containerTemporaryDirectoryExtensionHandle);
#endif
// When the network process is enabled, each web process wants a stand-alone