void WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin(const Vector<String>& sites, uint64_t callbackID) { GetSitesWithDataState* state = m_pendingGetSitesWithData.get(callbackID); ASSERT(state); state->didGetSitesWithDataForSinglePlugin(sites); }
void WebPluginSiteDataManager::getSitesWithData(PassRefPtr<ArrayCallback> prpCallback) { RefPtr<ArrayCallback> callback = prpCallback; if (!m_webContext) { callback->invalidate(); return; } uint64_t callbackID = callback->callbackID(); m_arrayCallbacks.set(callbackID, callback.release()); #if ENABLE(PLUGIN_PROCESS) ASSERT(!m_pendingGetSitesWithData.contains(callbackID)); GetSitesWithDataState* state = new GetSitesWithDataState(this, callbackID); m_pendingGetSitesWithData.set(callbackID, state); state->getSitesWithDataForNextPlugin(); #else m_webContext->relaunchProcessIfNecessary(); Vector<String> pluginPaths; m_webContext->pluginInfoStore()->getPluginPaths(pluginPaths); m_webContext->ensureWebProcess(); m_webContext->process()->send(Messages::WebProcess::GetSitesWithPluginData(pluginPaths, callbackID), 0); #endif }
void WebPluginSiteDataManager::getSitesWithData(PassRefPtr<ArrayCallback> prpCallback) { RefPtr<ArrayCallback> callback = prpCallback; if (!m_webContext) { callback->invalidate(); return; } uint64_t callbackID = callback->callbackID(); m_arrayCallbacks.set(callbackID, callback.release()); #if ENABLE(PLUGIN_PROCESS) ASSERT(!m_pendingGetSitesWithData.contains(callbackID)); GetSitesWithDataState* state = new GetSitesWithDataState(this, callbackID); m_pendingGetSitesWithData.set(callbackID, state); state->getSitesWithDataForNextPlugin(); #else m_webContext->relaunchProcessIfNecessary(); Vector<PluginModuleInfo> plugins = m_webContext->pluginInfoStore().plugins(); Vector<String> pluginPaths; for (size_t i = 0; i < plugins.size(); ++i) pluginPaths.append(plugins[i].path); ASSERT(m_webContext->processModel() == ProcessModelSharedSecondaryProcess); // Plugin process is required for multiple WebProcess mode. m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebProcess::GetSitesWithPluginData(pluginPaths, callbackID)); #endif }
void WebPluginSiteDataManager::getSitesWithData(PassRefPtr<ArrayCallback> prpCallback) { RefPtr<ArrayCallback> callback = prpCallback; if (!m_webContext) { callback->invalidate(); return; } uint64_t callbackID = callback->callbackID(); m_arrayCallbacks.set(callbackID, callback.release()); ASSERT(!m_pendingGetSitesWithData.contains(callbackID)); GetSitesWithDataState* state = new GetSitesWithDataState(this, callbackID); m_pendingGetSitesWithData.set(callbackID, adoptPtr(state)); state->getSitesWithDataForNextPlugin(); }