void NetworkBlobRegistry::registerBlobURL(NetworkConnectionToWebProcess* connection, const WebCore::URL& url, const WebCore::URL& srcURL) { blobRegistry().registerBlobURL(url, srcURL); SandboxExtensionMap::iterator iter = m_sandboxExtensions.find(srcURL.string()); if (iter != m_sandboxExtensions.end()) m_sandboxExtensions.add(url.string(), iter->value); ASSERT(m_blobsForConnection.contains(connection)); ASSERT(m_blobsForConnection.find(connection)->value.contains(srcURL)); m_blobsForConnection.find(connection)->value.add(url); }
URL::URL(const WKC::KURL& url) { WebCore::URL* parent = (WebCore::URL *)url.parent(); if (parent) { init(*parent, parent->string(), WebCore::UTF8Encoding()); } else { invalidate(); } }
void NetworkBlobRegistry::unregisterBlobURL(NetworkConnectionToWebProcess* connection, const WebCore::URL& url) { blobRegistry().unregisterBlobURL(url); m_sandboxExtensions.remove(url.string()); ASSERT(m_blobsForConnection.contains(connection)); ASSERT(m_blobsForConnection.find(connection)->value.contains(url)); m_blobsForConnection.find(connection)->value.remove(url); }
bool WebPaymentCoordinator::showPaymentUI(const WebCore::URL& originatingURL, const Vector<WebCore::URL>& linkIconURLs, const WebCore::PaymentRequest& paymentRequest) { Vector<String> linkIconURLStrings; for (const auto& linkIconURL : linkIconURLs) linkIconURLStrings.append(linkIconURL.string()); bool result; if (!m_webPage.sendSync(Messages::WebPaymentCoordinatorProxy::ShowPaymentUI(originatingURL.string(), linkIconURLStrings, paymentRequest), Messages::WebPaymentCoordinatorProxy::ShowPaymentUI::Reply(result))) return false; return result; }
const Vector<RefPtr<SandboxExtension>> NetworkBlobRegistry::sandboxExtensions(const WebCore::URL& url) { return m_sandboxExtensions.get(url.string()); }
void NetworkResourceLoadScheduler::receivedRedirect(NetworkResourceLoader* loader, const WebCore::URL& redirectURL) { ASSERT(RunLoop::isMain()); LOG(NetworkScheduling, "(NetworkProcess) NetworkResourceLoadScheduler::receivedRedirect loader originally for '%s' redirected to '%s'", loader->request().url().string().utf8().data(), redirectURL.string().utf8().data()); HostRecord* oldHost = loader->hostRecord(); // The load may have been cancelled while the message was in flight from network thread to main thread. if (!oldHost) return; HostRecord* newHost = hostForURL(redirectURL, CreateIfNotFound); if (oldHost->name() == newHost->name()) return; oldHost->removeLoader(loader); newHost->addLoaderInProgress(loader); }
void Statistics::recordRevalidationSuccess(uint64_t webPageID, const Key& key, const WebCore::ResourceRequest& request) { WebCore::URL requestURL = request.url(); LOG(NetworkCache, "(NetworkProcess) webPageID %llu: %s was successfully revalidated", webPageID, requestURL.string().ascii().data()); NetworkProcess::singleton().logDiagnosticMessageWithResult(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::revalidatingKey(), WebCore::DiagnosticLoggingResultPass, WebCore::ShouldSample::Yes); }
void Statistics::recordRetrievedCachedEntry(uint64_t webPageID, const Key& key, const WebCore::ResourceRequest& request, UseDecision decision) { WebCore::URL requestURL = request.url(); if (decision == UseDecision::Use) { LOG(NetworkCache, "(NetworkProcess) webPageID %llu: %s is in the cache and is used", webPageID, requestURL.string().ascii().data()); NetworkProcess::singleton().logDiagnosticMessageWithResult(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::retrievalKey(), WebCore::DiagnosticLoggingResultPass, WebCore::ShouldSample::Yes); return; } if (decision == UseDecision::Validate) { LOG(NetworkCache, "(NetworkProcess) webPageID %llu: %s is in the cache but needs revalidation", webPageID, requestURL.string().ascii().data()); NetworkProcess::singleton().logDiagnosticMessageWithValue(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::retrievalKey(), WebCore::DiagnosticLoggingKeys::needsRevalidationKey(), WebCore::ShouldSample::Yes); return; } String diagnosticKey = cachedEntryReuseFailureToDiagnosticKey(decision); LOG(NetworkCache, "(NetworkProcess) webPageID %llu: %s is in the cache but wasn't used, reason: %s", webPageID, requestURL.string().ascii().data(), diagnosticKey.utf8().data()); NetworkProcess::singleton().logDiagnosticMessageWithValue(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::unusableCachedEntryKey(), diagnosticKey, WebCore::ShouldSample::Yes); }
void Statistics::recordRetrievalFailure(uint64_t webPageID, const Key& key, const WebCore::ResourceRequest& request) { String hash = key.hashAsString(); WebCore::URL requestURL = request.url(); queryWasEverRequested(hash, NeedUncachedReason::Yes, [this, hash, requestURL, webPageID](bool wasPreviouslyRequested, const Optional<StoreDecision>& storeDecision) { if (wasPreviouslyRequested) { String diagnosticKey = storeDecisionToDiagnosticKey(storeDecision.value()); LOG(NetworkCache, "(NetworkProcess) webPageID %llu: %s was previously request but is not in the cache, reason: %s", webPageID, requestURL.string().ascii().data(), diagnosticKey.utf8().data()); NetworkProcess::singleton().logDiagnosticMessageWithValue(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::notInCacheKey(), diagnosticKey, WebCore::ShouldSample::Yes); } else { NetworkProcess::singleton().logDiagnosticMessageWithValue(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::requestKey(), WebCore::DiagnosticLoggingKeys::neverSeenBeforeKey(), WebCore::ShouldSample::Yes); markAsRequested(hash); } }); }
void Statistics::recordNotUsingCacheForRequest(uint64_t webPageID, const Key& key, const WebCore::ResourceRequest& request, RetrieveDecision retrieveDecision) { ASSERT(retrieveDecision != RetrieveDecision::Yes); String hash = key.hashAsString(); WebCore::URL requestURL = request.url(); queryWasEverRequested(hash, NeedUncachedReason::No, [this, hash, requestURL, webPageID, retrieveDecision](bool wasEverRequested, const Optional<StoreDecision>&) { if (wasEverRequested) { String diagnosticKey = retrieveDecisionToDiagnosticKey(retrieveDecision); LOG(NetworkCache, "(NetworkProcess) webPageID %llu: %s was previously requested but we are not using the cache, reason: %s", webPageID, requestURL.string().ascii().data(), diagnosticKey.utf8().data()); NetworkProcess::singleton().logDiagnosticMessageWithValue(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::unusedKey(), diagnosticKey, WebCore::ShouldSample::Yes); } else { NetworkProcess::singleton().logDiagnosticMessageWithValue(webPageID, WebCore::DiagnosticLoggingKeys::networkCacheKey(), WebCore::DiagnosticLoggingKeys::requestKey(), WebCore::DiagnosticLoggingKeys::neverSeenBeforeKey(), WebCore::ShouldSample::Yes); markAsRequested(hash); } }); }
WebCore::ResourceError internalError(const WebCore::URL& url) { return ResourceError(API::Error::webKitErrorDomain(), kWKErrorInternal, url.string(), _("Internal error")); }
WebCore::ResourceError internalError(const WebCore::URL& url) { return ResourceError(WebError::webKitErrorDomain(), kWKErrorInternal, url.string(), ASCIILiteral("Internal error")); }