Changeset 82873 in webkit
- Timestamp:
- Apr 4, 2011 2:17:39 PM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r82870 r82873 1 2011-04-04 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Dan Bernstein. 4 5 Get rid of WebContext::process() in more places 6 https://bugs.webkit.org/show_bug.cgi?id=57787 7 8 Migrate calls to WebContext::process() over to sendToAllProcesses and 9 sendToAllProcessesRelaunchingThemIfNecessary. 10 11 Add FIXMEs for things that need to be fixed in order to support multiple web processes. 12 13 * UIProcess/Downloads/DownloadProxy.cpp: 14 (WebKit::DownloadProxy::cancel): 15 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 16 (WebKit::WebPluginSiteDataManager::getSitesWithData): 17 (WebKit::WebPluginSiteDataManager::clearSiteData): 18 * UIProcess/VisitedLinkProvider.cpp: 19 (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): 20 * UIProcess/WebApplicationCacheManagerProxy.cpp: 21 (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins): 22 (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): 23 (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries): 24 * UIProcess/WebCookieManagerProxy.cpp: 25 (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): 26 (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy): 27 * UIProcess/WebDatabaseManagerProxy.cpp: 28 (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): 29 (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): 30 (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): 31 (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): 32 (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): 33 (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): 34 * UIProcess/WebGeolocationManagerProxy.cpp: 35 (WebKit::WebGeolocationManagerProxy::providerDidChangePosition): 36 (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition): 37 * UIProcess/WebIconDatabase.cpp: 38 (WebKit::WebIconDatabase::getLoadDecisionForIconURL): 39 (WebKit::WebIconDatabase::didFinishURLImport): 40 * UIProcess/WebKeyValueStorageManagerProxy.cpp: 41 (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins): 42 (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin): 43 (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries): 44 * UIProcess/WebMediaCacheManagerProxy.cpp: 45 (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): 46 (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): 47 (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): 48 * UIProcess/WebResourceCacheManagerProxy.cpp: 49 (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): 50 (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin): 51 (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): 52 1 53 2011-04-04 Alexey Proskuryakov <ap@apple.com> 2 54 -
trunk/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp
r82364 r82873 66 66 return; 67 67 68 m_webContext->process()->send(Messages::WebProcess::CancelDownload(m_downloadID), 0); 68 // FIXME (Multi-WebProcess): Downloads shouldn't be handled in the web process. 69 m_webContext->sendToAllProcesses(Messages::WebProcess::CancelDownload(m_downloadID)); 69 70 } 70 71 -
trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp
r82312 r82873 168 168 Vector<String> pluginPaths; 169 169 m_webContext->pluginInfoStore()->getPluginPaths(pluginPaths); 170 m_webContext->ensureWebProcess(); 171 m_webContext->process()->send(Messages::WebProcess::GetSitesWithPluginData(pluginPaths, callbackID), 0); 170 171 // FIXME (Multi-WebProcess): When multi-process is enabled, we must always use a plug-in process for this, 172 // so this code should just be removed. 173 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebProcess::GetSitesWithPluginData(pluginPaths, callbackID)); 172 174 #endif 173 175 } … … 227 229 Vector<String> pluginPaths; 228 230 m_webContext->pluginInfoStore()->getPluginPaths(pluginPaths); 229 m_webContext->ensureWebProcess(); 230 m_webContext->process()->send(Messages::WebProcess::ClearPluginSiteData(pluginPaths, sitesVector, flags, maxAgeInSeconds, callbackID), 0); 231 232 // FIXME (Multi-WebProcess): When multi-process is enabled, we must always use a plug-in process for this, 233 // so this code should just be removed. 234 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebProcess::ClearPluginSiteData(pluginPaths, sitesVector, flags, maxAgeInSeconds, callbackID)); 231 235 #endif 232 236 } -
trunk/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp
r76916 r82873 164 164 return; 165 165 166 m_context->process()->send(Messages::WebProcess::SetVisitedLinkTable(handle), 0); 166 // FIXME (Multi-WebProcess): Encoding a handle will null it out so we need to create a new 167 // handle for every process. Maybe the ArgumentEncoder should handle this. 168 m_context->sendToAllProcesses(Messages::WebProcess::SetVisitedLinkTable(handle)); 167 169 } 168 170 169 171 // We now need to let the web process know that we've added links. 170 172 if (m_webProcessHasVisitedLinkState && addedVisitedLinks.size() <= 20) { 171 m_context-> process()->send(Messages::WebProcess::VisitedLinkStateChanged(addedVisitedLinks), 0);173 m_context->sendToAllProcesses(Messages::WebProcess::VisitedLinkStateChanged(addedVisitedLinks)); 172 174 return; 173 175 } 174 176 175 177 // Just recalculate all the visited links. 176 m_context-> process()->send(Messages::WebProcess::AllVisitedLinkStateChanged(), 0);178 m_context->sendToAllProcesses(Messages::WebProcess::AllVisitedLinkStateChanged()); 177 179 m_webProcessHasVisitedLinkState = true; 178 180 } -
trunk/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp
r82458 r82873 66 66 { 67 67 RefPtr<ArrayCallback> callback = prpCallback; 68 m_webContext->relaunchProcessIfNecessary();69 68 70 69 uint64_t callbackID = callback->callbackID(); 71 70 m_arrayCallbacks.set(callbackID, callback.release()); 72 m_webContext->process()->send(Messages::WebApplicationCacheManager::GetApplicationCacheOrigins(callbackID), 0); 71 72 // FIXME (Multi-WebProcess): The application cache shouldn't be stored in the web process. 73 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::GetApplicationCacheOrigins(callbackID)); 73 74 } 74 75 … … 81 82 void WebApplicationCacheManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin* origin) 82 83 { 83 m_webContext->relaunchProcessIfNecessary();84 85 84 SecurityOriginData securityOriginData; 86 85 securityOriginData.protocol = origin->protocol(); … … 88 87 securityOriginData.port = origin->port(); 89 88 90 m_webContext->process()->send(Messages::WebApplicationCacheManager::DeleteEntriesForOrigin(securityOriginData), 0); 89 // FIXME (Multi-WebProcess): The application cache shouldn't be stored in the web process. 90 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::DeleteEntriesForOrigin(securityOriginData)); 91 91 } 92 92 93 93 void WebApplicationCacheManagerProxy::deleteAllEntries() 94 94 { 95 m_webContext->relaunchProcessIfNecessary();96 m_webContext-> process()->send(Messages::WebApplicationCacheManager::DeleteAllEntries(), 0);95 // FIXME (Multi-WebProcess): The application cache shouldn't be stored in the web process. 96 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::DeleteAllEntries()); 97 97 } 98 98 -
trunk/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp
r82856 r82873 74 74 75 75 RefPtr<ArrayCallback> callback = prpCallback; 76 m_webContext->relaunchProcessIfNecessary();77 78 76 uint64_t callbackID = callback->callbackID(); 79 77 m_arrayCallbacks.set(callbackID, callback.release()); 80 m_webContext->process()->send(Messages::WebCookieManager::GetHostnamesWithCookies(callbackID), 0); 78 79 // FIXME (Multi-WebProcess): Cookies shouldn't be stored in the web process. 80 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebCookieManager::GetHostnamesWithCookies(callbackID)); 81 81 } 82 82 … … 142 142 143 143 RefPtr<HTTPCookieAcceptPolicyCallback> callback = prpCallback; 144 m_webContext->relaunchProcessIfNecessary();145 144 146 145 uint64_t callbackID = callback->callbackID(); 147 146 m_httpCookieAcceptPolicyCallbacks.set(callbackID, callback.release()); 148 m_webContext->process()->send(Messages::WebCookieManager::GetHTTPCookieAcceptPolicy(callbackID), 0); 147 148 // FIXME (Multi-WebProcess): Cookies shouldn't be stored in the web process. 149 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebCookieManager::GetHTTPCookieAcceptPolicy(callbackID)); 149 150 } 150 151 -
trunk/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp
r82458 r82873 117 117 { 118 118 RefPtr<ArrayCallback> callback = prpCallback; 119 m_webContext->relaunchProcessIfNecessary();120 119 uint64_t callbackID = callback->callbackID(); 121 120 m_arrayCallbacks.set(callbackID, callback.release()); 122 m_webContext->process()->send(Messages::WebDatabaseManager::GetDatabasesByOrigin(callbackID), 0); 123 } 124 121 122 // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process. 123 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::GetDatabasesByOrigin(callbackID)); 124 } 125 125 126 126 void WebDatabaseManagerProxy::didGetDatabasesByOrigin(const Vector<OriginAndDatabases>& originAndDatabasesVector, uint64_t callbackID) … … 170 170 { 171 171 RefPtr<ArrayCallback> callback = prpCallback; 172 m_webContext->relaunchProcessIfNecessary();173 172 uint64_t callbackID = callback->callbackID(); 174 173 m_arrayCallbacks.set(callbackID, callback.release()); 175 m_webContext->process()->send(Messages::WebDatabaseManager::GetDatabaseOrigins(callbackID), 0); 174 175 // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process. 176 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::GetDatabaseOrigins(callbackID)); 176 177 } 177 178 … … 195 196 void WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin(const String& databaseIdentifier, WebSecurityOrigin* origin) 196 197 { 197 m_webContext->relaunchProcessIfNecessary();198 m_webContext-> process()->send(Messages::WebDatabaseManager::DeleteDatabaseWithNameForOrigin(databaseIdentifier, origin->databaseIdentifier()), 0);198 // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process. 199 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::DeleteDatabaseWithNameForOrigin(databaseIdentifier, origin->databaseIdentifier())); 199 200 } 200 201 201 202 void WebDatabaseManagerProxy::deleteDatabasesForOrigin(WebSecurityOrigin* origin) 202 203 { 203 m_webContext->relaunchProcessIfNecessary();204 m_webContext-> process()->send(Messages::WebDatabaseManager::DeleteDatabasesForOrigin(origin->databaseIdentifier()), 0);204 // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process. 205 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::DeleteDatabasesForOrigin(origin->databaseIdentifier())); 205 206 } 206 207 207 208 void WebDatabaseManagerProxy::deleteAllDatabases() 208 209 { 209 m_webContext->relaunchProcessIfNecessary();210 m_webContext-> process()->send(Messages::WebDatabaseManager::DeleteAllDatabases(), 0);210 // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process. 211 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::DeleteAllDatabases()); 211 212 } 212 213 213 214 void WebDatabaseManagerProxy::setQuotaForOrigin(WebSecurityOrigin* origin, uint64_t quota) 214 215 { 215 m_webContext->relaunchProcessIfNecessary();216 m_webContext-> process()->send(Messages::WebDatabaseManager::SetQuotaForOrigin(origin->databaseIdentifier(), quota), 0);216 // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process. 217 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::SetQuotaForOrigin(origin->databaseIdentifier(), quota)); 217 218 } 218 219 -
trunk/Source/WebKit2/UIProcess/WebGeolocationManagerProxy.cpp
r76916 r82873 62 62 return; 63 63 64 // FIXME: Should this check for a valid process? 65 m_context->process()->send(Messages::WebGeolocationManager::DidChangePosition(position->data()), 0); 64 m_context->sendToAllProcesses(Messages::WebGeolocationManager::DidChangePosition(position->data())); 66 65 } 67 66 … … 71 70 return; 72 71 73 // FIXME: Should this check for a valid process? 74 m_context->process()->send(Messages::WebGeolocationManager::DidFailToDeterminePosition(), 0); 72 m_context->sendToAllProcesses(Messages::WebGeolocationManager::DidFailToDeterminePosition()); 75 73 } 76 74 -
trunk/Source/WebKit2/UIProcess/WebIconDatabase.cpp
r82839 r82873 156 156 157 157 if (!m_iconDatabaseImpl || !m_iconDatabaseImpl->isOpen() || iconURL.isEmpty()) { 158 m_webContext->process()->send(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(IconLoadNo), callbackID), 0); 158 // FIXME (Multi-WebProcess): We need to know which connection to send this message to. 159 m_webContext->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(IconLoadNo), callbackID)); 159 160 return; 160 161 } … … 169 170 return; 170 171 } 171 172 m_webContext->process()->send(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision((int)decision, callbackID), 0); 172 173 // FIXME (Multi-WebProcess): We need to know which connection to send this message to. 174 m_webContext->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision((int)decision, callbackID)); 173 175 } 174 176 … … 244 246 ASSERT(decision != IconLoadUnknown); 245 247 246 m_webContext->process()->send(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(decision), i->first), 0); 248 // FIXME (Multi-WebProcess): We need to know which connection to send this message to. 249 m_webContext->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(decision), i->first)); 247 250 } 248 251 -
trunk/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp
r82458 r82873 66 66 { 67 67 RefPtr<ArrayCallback> callback = prpCallback; 68 m_webContext->relaunchProcessIfNecessary();69 70 68 uint64_t callbackID = callback->callbackID(); 71 69 m_arrayCallbacks.set(callbackID, callback.release()); 72 m_webContext->process()->send(Messages::WebKeyValueStorageManager::GetKeyValueStorageOrigins(callbackID), 0); 70 71 // FIXME (Multi-WebProcess): Should key-value storage be handled in the web process? 72 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebKeyValueStorageManager::GetKeyValueStorageOrigins(callbackID)); 73 73 } 74 74 … … 81 81 void WebKeyValueStorageManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin* origin) 82 82 { 83 m_webContext->relaunchProcessIfNecessary();84 85 83 SecurityOriginData securityOriginData; 86 84 securityOriginData.protocol = origin->protocol(); … … 88 86 securityOriginData.port = origin->port(); 89 87 90 m_webContext->process()->send(Messages::WebKeyValueStorageManager::DeleteEntriesForOrigin(securityOriginData), 0); 88 // FIXME (Multi-WebProcess): Should key-value storage be handled in the web process? 89 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebKeyValueStorageManager::DeleteEntriesForOrigin(securityOriginData)); 91 90 } 92 91 93 92 void WebKeyValueStorageManagerProxy::deleteAllEntries() 94 93 { 95 m_webContext->relaunchProcessIfNecessary();96 m_webContext-> process()->send(Messages::WebKeyValueStorageManager::DeleteAllEntries(), 0);94 // FIXME (Multi-WebProcess): Should key-value storage be handled in the web process? 95 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebKeyValueStorageManager::DeleteAllEntries()); 97 96 } 98 97 -
trunk/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp
r82458 r82873 65 65 { 66 66 RefPtr<ArrayCallback> callback = prpCallback; 67 m_webContext->relaunchProcessIfNecessary();68 69 67 uint64_t callbackID = callback->callbackID(); 70 68 m_arrayCallbacks.set(callbackID, callback.release()); 71 m_webContext->process()->send(Messages::WebMediaCacheManager::GetHostnamesWithMediaCache(callbackID), 0); 69 70 // FIXME (Multi-WebProcess): When we're sending this to multiple processes, we need to aggregate the 71 // callback data when it comes back. 72 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebMediaCacheManager::GetHostnamesWithMediaCache(callbackID)); 72 73 } 73 74 … … 91 92 void WebMediaCacheManagerProxy::clearCacheForHostname(const String& hostname) 92 93 { 93 m_webContext->relaunchProcessIfNecessary(); 94 m_webContext->process()->send(Messages::WebMediaCacheManager::ClearCacheForHostname(hostname), 0); 94 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebMediaCacheManager::ClearCacheForHostname(hostname)); 95 95 } 96 96 97 97 void WebMediaCacheManagerProxy::clearCacheForAllHostnames() 98 98 { 99 m_webContext->relaunchProcessIfNecessary(); 100 m_webContext->process()->send(Messages::WebMediaCacheManager::ClearCacheForAllHostnames(), 0); 99 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebMediaCacheManager::ClearCacheForAllHostnames()); 101 100 } 102 101 -
trunk/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp
r82458 r82873 68 68 uint64_t callbackID = callback->callbackID(); 69 69 m_arrayCallbacks.set(callbackID, callback.release()); 70 m_webContext->process()->send(Messages::WebResourceCacheManager::GetCacheOrigins(callbackID), 0); 70 71 // FIXME (Multi-WebProcess): When multi-process is enabled, we need to aggregate the callback data from all processes. 72 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::GetCacheOrigins(callbackID)); 71 73 } 72 74 … … 79 81 void WebResourceCacheManagerProxy::clearCacheForOrigin(WebSecurityOrigin* origin) 80 82 { 81 m_webContext->relaunchProcessIfNecessary();82 83 83 SecurityOriginData securityOrigin; 84 84 securityOrigin.protocol = origin->protocol(); 85 85 securityOrigin.host = origin->host(); 86 86 securityOrigin.port = origin->port(); 87 m_webContext->process()->send(Messages::WebResourceCacheManager::ClearCacheForOrigin(securityOrigin), 0); 87 88 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::ClearCacheForOrigin(securityOrigin)); 88 89 } 89 90 90 91 void WebResourceCacheManagerProxy::clearCacheForAllOrigins() 91 92 { 92 m_webContext->relaunchProcessIfNecessary(); 93 m_webContext->process()->send(Messages::WebResourceCacheManager::ClearCacheForAllOrigins(), 0); 93 m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::ClearCacheForAllOrigins()); 94 94 } 95 95
Note: See TracChangeset
for help on using the changeset viewer.