This is problematic when GetPlugins fails somehow: void WebPlatformStrategies::populatePluginCache() { if (m_pluginCacheIsPopulated) return; ASSERT(m_cachedPlugins.isEmpty()); // FIXME: Should we do something in case of error here? if (!WebProcess::shared().parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetPlugins(m_shouldRefreshPlugins), Messages::WebProcessProxy::GetPlugins::Reply(m_cachedPlugins, m_cachedApplicationPlugins), 0)) return; m_shouldRefreshPlugins = false; m_pluginCacheIsPopulated = true; } If this fails we shouldn't be checking once an again.