Title: [172075] branches/safari-600.1-branch/Source/WebKit2

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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to