void WebUserContentControllerProxy::addProcess(WebProcessProxy& webProcessProxy) { ASSERT(webProcessProxy.state() == WebProcessProxy::State::Running); if (!m_processes.add(&webProcessProxy).isNewEntry) return; webProcessProxy.addMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), m_identifier, *this); Vector<WebCore::UserScript> userScripts; for (const auto& userScript : m_userScripts->elementsOfType<API::UserScript>()) userScripts.append(userScript->userScript()); webProcessProxy.connection()->send(Messages::WebUserContentController::AddUserScripts(userScripts), m_identifier); webProcessProxy.connection()->send(Messages::WebUserContentController::AddUserStyleSheets(m_userStyleSheets), m_identifier); Vector<WebScriptMessageHandlerHandle> messageHandlerHandles; for (auto& handler : m_scriptMessageHandlers.values()) messageHandlerHandles.append(handler->handle()); webProcessProxy.connection()->send(Messages::WebUserContentController::AddUserScriptMessageHandlers(messageHandlerHandles), m_identifier); #if ENABLE(CONTENT_EXTENSIONS) Vector<std::pair<String, WebCompiledContentExtensionData>> userContentExtensions; for (const auto& userContentExtension : m_userContentExtensions.values()) userContentExtensions.append(std::make_pair(userContentExtension->name(), userContentExtension->compiledExtension().data())); webProcessProxy.connection()->send(Messages::WebUserContentController::AddUserContentExtensions(userContentExtensions), m_identifier); #endif }
void WebUserContentControllerProxy::addProcess(WebProcessProxy& webProcessProxy) { ASSERT(webProcessProxy.state() == WebProcessProxy::State::Running); if (!m_processes.add(&webProcessProxy).isNewEntry) return; webProcessProxy.addMessageReceiver(Messages::WebUserContentControllerProxy::messageReceiverName(), m_identifier, *this); webProcessProxy.connection()->send(Messages::WebUserContentController::AddUserScripts(m_userScripts), m_identifier); webProcessProxy.connection()->send(Messages::WebUserContentController::AddUserStyleSheets(m_userStyleSheets), m_identifier); Vector<WebScriptMessageHandlerHandle> messageHandlerHandles; for (auto& handler : m_scriptMessageHandlers.values()) messageHandlerHandles.append(handler->handle()); webProcessProxy.connection()->send(Messages::WebUserContentController::AddUserScriptMessageHandlers(messageHandlerHandles), m_identifier); }