Changeset 81000 in webkit
- Timestamp:
- Mar 13, 2011 10:47:55 PM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r80999 r81000 1 2011-03-13 Brady Eidson <beidson@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 <rdar://problem/9127270> and https://bugs.webkit.org/show_bug.cgi?id=56282 6 7 Pass the path along with creation parameters: 8 * Shared/WebProcessCreationParameters.cpp: 9 (WebKit::WebProcessCreationParameters::encode): 10 (WebKit::WebProcessCreationParameters::decode): 11 * Shared/WebProcessCreationParameters.h: 12 13 Add SPI to set the path: 14 * UIProcess/API/C/WKContext.cpp: 15 (WKContextSetLocalStorageDirectory): 16 * UIProcess/API/C/WKContextPrivate.h: 17 18 Pass the path along in the process creation parameters: 19 * UIProcess/WebContext.cpp: 20 (WebKit::WebContext::ensureWebProcess): 21 (WebKit::WebContext::localStorageDirectory): 22 * UIProcess/WebContext.h: 23 (WebKit::WebContext::setLocalStorageDirectory): 24 25 * UIProcess/gtk/WebContextGtk.cpp: 26 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 27 * UIProcess/mac/WebContextMac.mm: 28 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 29 * UIProcess/qt/WebContextQt.cpp: 30 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 31 * UIProcess/win/WebContextWin.cpp: 32 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 33 34 Include the path with settings updates, because WebCore needs it set on the Settings object: 35 * WebProcess/WebPage/WebPage.cpp: 36 (WebKit::WebPage::updatePreferences): 37 38 * WebProcess/WebProcess.cpp: 39 (WebKit::WebProcess::initializeWebProcess): 40 * WebProcess/WebProcess.h: 41 (WebKit::WebProcess::localStorageDirectory): 42 43 Sandboxing stuff: 44 * WebProcess/com.apple.WebProcess.sb: 45 * WebProcess/mac/WebProcessMac.mm: 46 (WebKit::initializeSandbox): 47 1 48 2011-03-12 Jer Noble <jer.noble@apple.com> 2 49 -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
r80281 r81000 52 52 encoder->encode(applicationCacheDirectory); 53 53 encoder->encode(databaseDirectory); 54 encoder->encode(localStorageDirectory); 54 55 encoder->encode(urlSchemesRegistererdAsEmptyDocument); 55 56 encoder->encode(urlSchemesRegisteredAsSecure); … … 92 93 return false; 93 94 if (!decoder->decode(parameters.databaseDirectory)) 95 return false; 96 if (!decoder->decode(parameters.localStorageDirectory)) 94 97 return false; 95 98 if (!decoder->decode(parameters.urlSchemesRegistererdAsEmptyDocument)) -
trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h
r80180 r81000 55 55 String applicationCacheDirectory; 56 56 String databaseDirectory; 57 String localStorageDirectory; 57 58 Vector<String> urlSchemesRegistererdAsEmptyDocument; 58 59 Vector<String> urlSchemesRegisteredAsSecure; -
trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp
r80753 r81000 208 208 toImpl(contextRef)->setDatabaseDirectory(toImpl(databaseDirectory)->string()); 209 209 } 210 211 void WKContextSetLocalStorageDirectory(WKContextRef contextRef, WKStringRef localStorageDirectory) 212 { 213 toImpl(contextRef)->setLocalStorageDirectory(toImpl(localStorageDirectory)->string()); 214 } -
trunk/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h
r76559 r81000 55 55 WK_EXPORT void WKContextSetDomainRelaxationForbiddenForURLScheme(WKContextRef context, WKStringRef urlScheme); 56 56 57 // FIXME: Th is function isonly effective if called before the Web process is launched. But58 // we should really change th is settingto be on WebPreferences and changeable at runtime.57 // FIXME: These functions are only effective if called before the Web process is launched. But 58 // we should really change these settings to be on WebPreferences and changeable at runtime. 59 59 WK_EXPORT void WKContextSetDatabaseDirectory(WKContextRef context, WKStringRef databaseDirectory); 60 WK_EXPORT void WKContextSetLocalStorageDirectory(WKContextRef context, WKStringRef localStorageDirectory); 60 61 61 62 #ifdef __cplusplus -
trunk/Source/WebKit2/UIProcess/WebContext.cpp
r80884 r81000 223 223 parameters.applicationCacheDirectory = applicationCacheDirectory(); 224 224 parameters.databaseDirectory = databaseDirectory(); 225 parameters.localStorageDirectory = localStorageDirectory(); 225 226 parameters.clearResourceCaches = m_clearResourceCachesForNewWebProcess; 226 227 parameters.clearApplicationCache = m_clearApplicationCacheForNewWebProcess; … … 730 731 } 731 732 733 String WebContext::localStorageDirectory() const 734 { 735 if (!m_overrideLocalStorageDirectory.isEmpty()) 736 return m_overrideLocalStorageDirectory; 737 738 return platformDefaultLocalStorageDirectory(); 739 } 740 732 741 } // namespace WebKit -
trunk/Source/WebKit2/UIProcess/WebContext.h
r80753 r81000 154 154 155 155 void setDatabaseDirectory(const String& dir) { m_overrideDatabaseDirectory = dir; } 156 void setLocalStorageDirectory(const String& dir) { m_overrideLocalStorageDirectory = dir; } 156 157 157 158 void ensureWebProcess(); … … 190 191 String platformDefaultDatabaseDirectory() const; 191 192 193 String localStorageDirectory() const; 194 String platformDefaultLocalStorageDirectory() const; 195 192 196 ProcessModel m_processModel; 193 197 … … 238 242 239 243 String m_overrideDatabaseDirectory; 244 String m_overrideLocalStorageDirectory; 240 245 }; 241 246 -
trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp
r79711 r81000 47 47 } 48 48 49 String WebContext::platformDefaultLocalStorageDirectory() const 50 { 51 return WTF::String::fromUTF8(g_build_filename(g_get_user_data_dir(), "webkit", "localstorage", NULL)); 52 } 53 49 54 } // namespace WebKit -
trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm
r80381 r81000 36 36 NSString *WebDatabaseDirectoryDefaultsKey = @"WebDatabaseDirectory"; 37 37 NSString *WebKitLocalCacheDefaultsKey = @"WebKitLocalCache"; 38 NSString *WebStorageDirectoryDefaultsKey = @"WebKitLocalStorageDatabasePathPreferenceKey"; 38 39 39 40 namespace WebKit { … … 108 109 } 109 110 111 String WebContext::platformDefaultLocalStorageDirectory() const 112 { 113 NSString *localStorageDirectory = [[NSUserDefaults standardUserDefaults] objectForKey:WebStorageDirectoryDefaultsKey]; 114 if (!localStorageDirectory || ![localStorageDirectory isKindOfClass:[NSString class]]) 115 localStorageDirectory = @"~/Library/WebKit/LocalStorage"; 116 return [localStorageDirectory stringByStandardizingPath]; 117 } 118 110 119 } // namespace WebKit 111 120 -
trunk/Source/WebKit2/UIProcess/qt/WebContextQt.cpp
r76916 r81000 54 54 } 55 55 56 String WebContext::platformDefaultLocalStorageDirectory() const 57 { 58 // FIXME: Implement. 59 return ""; 60 } 61 56 62 } // namespace WebKit -
trunk/Source/WebKit2/UIProcess/win/WebContextWin.cpp
r80381 r81000 82 82 } 83 83 84 String WebContext::platformDefaultLocalStorageDirectory() const 85 { 86 return WebCore::pathByAppendingComponent(WebCore::localUserSpecificStorageDirectory(), "LocalStorage"); 87 } 88 84 89 } // namespace WebKit 85 90 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r80948 r81000 1393 1393 #endif 1394 1394 1395 #if ENABLE(DOM_STORAGE) 1396 settings->setLocalStorageDatabasePath(WebProcess::shared().localStorageDirectory()); 1397 #endif 1398 1395 1399 platformPreferencesDidChange(store); 1396 1400 } -
trunk/Source/WebKit2/WebProcess/WebProcess.cpp
r80789 r81000 63 63 #include <WebCore/SecurityOrigin.h> 64 64 #include <WebCore/Settings.h> 65 #include <WebCore/StorageTracker.h> 65 66 #include <wtf/PassRefPtr.h> 66 67 #include <wtf/RandomNumber.h> … … 176 177 #endif 177 178 179 #if ENABLE(DOM_STORAGE) 180 StorageTracker::initializeTracker(parameters.localStorageDirectory); 181 m_localStorageDirectory = parameters.localStorageDirectory; 182 #endif 183 178 184 #if ENABLE(OFFLINE_WEB_APPLICATIONS) 179 185 if (!parameters.applicationCacheDirectory.isEmpty()) -
trunk/Source/WebKit2/WebProcess/WebProcess.h
r80789 r81000 120 120 121 121 void clearResourceCaches(uint32_t cachesToClear = AllResourceCaches); 122 123 const String& localStorageDirectory() const { return m_localStorageDirectory; } 122 124 123 125 private: … … 205 207 TextCheckerState m_textCheckerState; 206 208 WebGeolocationManager m_geolocationManager; 209 210 String m_localStorageDirectory; 207 211 }; 208 212 -
trunk/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
r80593 r81000 74 74 (allow file* (subpath (param "WEBKIT_DATABASE_DIR")))) 75 75 76 ;; LocalStorage dir 77 (if (positive? (string-length (param "WEBKIT_LOCALSTORAGE_DIR"))) 78 (allow file* (subpath (param "WEBKIT_LOCALSTORAGE_DIR")))) 79 76 80 ;; The NSURLCache directory. 77 81 (if (positive? (string-length (param "NSURL_CACHE_DIR"))) -
trunk/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
r80789 r81000 157 157 appendSandboxParameterConfPath(sandboxParameters, "DARWIN_USER_CACHE_DIR", _CS_DARWIN_USER_CACHE_DIR); 158 158 appendSandboxParameterPath(sandboxParameters, "WEBKIT_DATABASE_DIR", [(NSString *)parameters.databaseDirectory fileSystemRepresentation]); 159 appendSandboxParameterPath(sandboxParameters, "WEBKIT_LOCALSTORAGE_DIR", [(NSString *)parameters.localStorageDirectory fileSystemRepresentation]); 159 160 appendSandboxParameterPath(sandboxParameters, "NSURL_CACHE_DIR", parameters.nsURLCachePath.data()); 160 161 appendSandboxParameterPath(sandboxParameters, "UI_PROCESS_BUNDLE_RESOURCE_DIR", parameters.uiProcessBundleResourcePath.data());
Note: See TracChangeset
for help on using the changeset viewer.