static void updateBackForwardItem(uint64_t itemID, HistoryItem* item) { EncoderAdapter encoder; item->encodeBackForwardTree(encoder); WebProcess::shared().connection()->send(Messages::WebProcessProxy::AddBackForwardItem(itemID, item->originalURLString(), item->urlString(), item->title(), encoder.data()), 0); }
void NetworkResourceLoadParameters::encode(CoreIPC::ArgumentEncoder& encoder) const { encoder.encode(m_request); encoder.encode(static_cast<bool>(m_request.httpBody())); if (m_request.httpBody()) { EncoderAdapter httpBodyEncoderAdapter; m_request.httpBody()->encode(httpBodyEncoderAdapter); encoder.encode(httpBodyEncoderAdapter.dataReference()); } encoder.encodeEnum(m_priority); encoder.encodeEnum(m_contentSniffingPolicy); encoder.encodeEnum(m_allowStoredCredentials); encoder.encode(m_inPrivateBrowsingMode); }
void NetworkResourceLoadParameters::encode(IPC::ArgumentEncoder& encoder) const { encoder << identifier; encoder << webPageID; encoder << webFrameID; encoder << sessionID; encoder << request; encoder << static_cast<bool>(request.httpBody()); if (request.httpBody()) { EncoderAdapter httpBodyEncoderAdapter; request.httpBody()->encode(httpBodyEncoderAdapter); encoder << httpBodyEncoderAdapter.dataReference(); const Vector<FormDataElement>& elements = request.httpBody()->elements(); size_t fileCount = 0; for (size_t i = 0, count = elements.size(); i < count; ++i) { if (elements[i].m_type == FormDataElement::encodedFile) ++fileCount; } SandboxExtension::HandleArray requestBodySandboxExtensions; requestBodySandboxExtensions.allocate(fileCount); size_t extensionIndex = 0; for (size_t i = 0, count = elements.size(); i < count; ++i) { const FormDataElement& element = elements[i]; if (element.m_type == FormDataElement::encodedFile) { const String& path = element.m_shouldGenerateFile ? element.m_generatedFilename : element.m_filename; SandboxExtension::createHandle(path, SandboxExtension::ReadOnly, requestBodySandboxExtensions[extensionIndex++]); } } encoder << requestBodySandboxExtensions; } if (request.url().isLocalFile()) { SandboxExtension::Handle requestSandboxExtension; SandboxExtension::createHandle(request.url().fileSystemPath(), SandboxExtension::ReadOnly, requestSandboxExtension); encoder << requestSandboxExtension; } encoder.encodeEnum(priority); encoder.encodeEnum(contentSniffingPolicy); encoder.encodeEnum(allowStoredCredentials); encoder.encodeEnum(clientCredentialPolicy); encoder << shouldClearReferrerOnHTTPSToHTTPRedirect; encoder << isMainResource; }
void NetworkResourceLoadParameters::encode(CoreIPC::ArgumentEncoder& encoder) const { encoder.encode(m_identifier); encoder.encode(m_webPageID); encoder.encode(m_webFrameID); encoder.encode(m_request); encoder.encode(static_cast<bool>(m_request.httpBody())); if (m_request.httpBody()) { EncoderAdapter httpBodyEncoderAdapter; m_request.httpBody()->encode(httpBodyEncoderAdapter); encoder.encode(httpBodyEncoderAdapter.dataReference()); const Vector<FormDataElement>& elements = m_request.httpBody()->elements(); size_t fileCount = 0; for (size_t i = 0, count = elements.size(); i < count; ++i) { if (elements[i].m_type == FormDataElement::encodedFile) ++fileCount; } SandboxExtension::HandleArray requestBodySandboxExtensions; requestBodySandboxExtensions.allocate(fileCount); size_t extensionIndex = 0; for (size_t i = 0, count = elements.size(); i < count; ++i) { const FormDataElement& element = elements[i]; if (element.m_type == FormDataElement::encodedFile) { const String& path = element.m_shouldGenerateFile ? element.m_generatedFilename : element.m_filename; SandboxExtension::createHandle(path, SandboxExtension::ReadOnly, requestBodySandboxExtensions[extensionIndex++]); } } encoder.encode(requestBodySandboxExtensions); } if (m_request.url().isLocalFile()) { SandboxExtension::Handle requestSandboxExtension; SandboxExtension::createHandle(m_request.url().fileSystemPath(), SandboxExtension::ReadOnly, requestSandboxExtension); encoder.encode(requestSandboxExtension); } encoder.encodeEnum(m_priority); encoder.encodeEnum(m_contentSniffingPolicy); encoder.encodeEnum(m_allowStoredCredentials); encoder.encode(m_inPrivateBrowsingMode); }