void WebInspectorUI::establishConnection(IPC::Attachment encodedConnectionIdentifier, uint64_t inspectedPageIdentifier, bool underTest, unsigned inspectionLevel) { #if USE(UNIX_DOMAIN_SOCKETS) IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.releaseFileDescriptor()); #elif OS(DARWIN) IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.port()); #else notImplemented(); return; #endif if (IPC::Connection::identifierIsNull(connectionIdentifier)) return; m_inspectedPageIdentifier = inspectedPageIdentifier; m_frontendAPIDispatcher.reset(); m_underTest = underTest; m_inspectionLevel = inspectionLevel; m_frontendController = &m_page.corePage()->inspectorController(); m_frontendController->setInspectorFrontendClient(this); m_backendConnection = IPC::Connection::createClientConnection(connectionIdentifier, *this); m_backendConnection->open(); }
void WebProcess::ensureNetworkProcessConnection() { if (!m_usesNetworkProcess) return; if (m_networkProcessConnection) return; IPC::Attachment encodedConnectionIdentifier; if (!parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetNetworkProcessConnection(), Messages::WebProcessProxy::GetNetworkProcessConnection::Reply(encodedConnectionIdentifier), 0)) return; #if OS(DARWIN) IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.port()); #elif USE(UNIX_DOMAIN_SOCKETS) IPC::Connection::Identifier connectionIdentifier = encodedConnectionIdentifier.releaseFileDescriptor(); #else ASSERT_NOT_REACHED(); #endif if (IPC::Connection::identifierIsNull(connectionIdentifier)) return; m_networkProcessConnection = NetworkProcessConnection::create(connectionIdentifier); }
void CompositingManager::establishConnection(WebPage& webPage) { IPC::Attachment connectionHandle; webPage.sendSync(Messages::CompositingManagerProxy::EstablishConnection(), Messages::CompositingManagerProxy::EstablishConnection::Reply(connectionHandle)); m_connectionFd = connectionHandle.releaseFileDescriptor(); }
bool SharedMemory::Handle::decode(IPC::ArgumentDecoder& decoder, Handle& handle) { ASSERT_ARG(handle, !handle.m_size); ASSERT_ARG(handle, handle.isNull()); IPC::Attachment attachment; if (!decoder.decode(attachment)) return false; handle.adoptFromAttachment(attachment.releaseFileDescriptor(), attachment.size()); return true; }
void CompositingManagerProxy::establishConnection(IPC::Attachment encodedConnectionIdentifier) { IPC::Connection::Identifier connectionIdentifier(encodedConnectionIdentifier.releaseFileDescriptor()); m_connection = IPC::Connection::createClientConnection(connectionIdentifier, *this, RunLoop::main()); m_connection->open(); }