Diff
Modified: trunk/Source/WebKit/ChangeLog (260030 => 260031)
--- trunk/Source/WebKit/ChangeLog 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/ChangeLog 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1,3 +1,110 @@
+2020-04-13 Kate Cheney <[email protected]>
+
+ Turn all instances of NavigatingToAppBoundDomain into Optionals
+ https://bugs.webkit.org/show_bug.cgi?id=210363
+ <rdar://problem/61612861>
+
+ Reviewed by Brent Fulgham.
+
+ NavigatingToAppBoundDomain should be an Optional when passed to the
+ Network Process to distinguish the case of an empty app-bound domain
+ list versus an actual app-bound domain navigation. An empty list and
+ an app-bound navigation should have the same behavior in NetworkSessionCocoa,
+ but we will need distinguished behavior in the future.
+
+ * NetworkProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::startDownload):
+ * NetworkProcess/Downloads/DownloadManager.h:
+ (WebKit::DownloadManager::startDownload):
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::startDownload):
+ (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
+ * NetworkProcess/NetworkConnectionToWebProcess.h:
+ (WebKit::NetworkConnectionToWebProcess::startDownload):
+ * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+ * NetworkProcess/NetworkLoadParameters.h:
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::preconnectTo):
+ (WebKit::NetworkProcess::downloadRequest):
+ * NetworkProcess/NetworkProcess.h:
+ * NetworkProcess/NetworkProcess.messages.in:
+ * NetworkProcess/NetworkResourceLoadParameters.cpp:
+ (WebKit::NetworkResourceLoadParameters::decode):
+ * NetworkProcess/NetworkResourceLoadParameters.h:
+ * NetworkProcess/cache/AsyncRevalidation.cpp:
+ (WebKit::NetworkCache::AsyncRevalidation::AsyncRevalidation):
+ * NetworkProcess/cache/AsyncRevalidation.h:
+ * NetworkProcess/cache/NetworkCache.cpp:
+ (WebKit::NetworkCache::Cache::startAsyncRevalidationIfNeeded):
+ (WebKit::NetworkCache::Cache::retrieve):
+ * NetworkProcess/cache/NetworkCache.h:
+ * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
+ (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
+ * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
+ * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
+ (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
+ (WebKit::NetworkCache::SpeculativeLoadManager::preconnectForSubresource):
+ (WebKit::NetworkCache::SpeculativeLoadManager::revalidateSubresource):
+ (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
+ (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
+ * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
+ * NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
+ * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+ (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
+ * NetworkProcess/cocoa/NetworkSessionCocoa.h:
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (WebKit::NetworkSessionCocoa::sessionWrapperForTask):
+ We should treat an empty WKAppBoundDomains list like an app-bound domain
+ navigation in the network session, so this sets
+ NavigatingToAppBoundDomain to Yes if the Optional is WTF::nullopt.
+
+ (WebKit::NetworkSessionCocoa::appBoundSession): Deleted.
+ (WebKit::NetworkSessionCocoa::isolatedSession): Deleted.
+ (WebKit::NetworkSessionCocoa::hasIsolatedSession const): Deleted.
+ (WebKit::NetworkSessionCocoa::clearIsolatedSessions): Deleted.
+ (WebKit::NetworkSessionCocoa::invalidateAndCancel): Deleted.
+ (WebKit::NetworkSessionCocoa::clearCredentials): Deleted.
+ (WebKit::certificatesMatch): Deleted.
+ (WebKit::NetworkSessionCocoa::allowsSpecificHTTPSCertificateForHost): Deleted.
+ (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge): Deleted.
+ (WebKit::NetworkSessionCocoa::deviceManagementPolicyMonitor): Deleted.
+ (WebKit::NetworkSessionCocoa::createWebSocketTask): Deleted.
+ (WebKit::NetworkSessionCocoa::addWebSocketTask): Deleted.
+ (WebKit::NetworkSessionCocoa::removeWebSocketTask): Deleted.
+ (WebKit::NetworkSessionCocoa::hostNamesWithAlternativeServices const): Deleted.
+ (WebKit::NetworkSessionCocoa::deleteAlternativeServicesForHostNames): Deleted.
+ (WebKit::NetworkSessionCocoa::clearAlternativeServices): Deleted.
+ * Shared/LoadParameters.h:
+ * Shared/PolicyDecision.h:
+ (WebKit::PolicyDecision::decode):
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::preconnectTo):
+ * UIProcess/Network/NetworkProcessProxy.h:
+ * UIProcess/ProvisionalPageProxy.cpp:
+ (WebKit::ProvisionalPageProxy::loadData):
+ (WebKit::ProvisionalPageProxy::loadRequest):
+ * UIProcess/ProvisionalPageProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadRequestWithNavigationShared):
+ (WebKit::WebPageProxy::loadDataWithNavigationShared):
+ (WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):
+ Set this to WTF::nullopt instead of NavigatingToAppBoundDomain::Yes
+ so the two cases are distinguished.
+
+ (WebKit::WebPageProxy::isNavigatingToAppBoundDomainTesting):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isNavigatingToAppBoundDomain const):
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::download):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::startDownload):
+ (WebKit::WebFrame::convertMainResourceLoadToDownload):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadDataImpl):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::setIsNavigatingToAppBoundDomain):
+ (WebKit::WebPage::isNavigatingToAppBoundDomain const):
+
2020-04-13 David Kilzer <[email protected]>
Fix clang static analyzer warnings about unused instance variables in WebIconDatabase, WKView
Modified: trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -43,7 +43,7 @@
{
}
-void DownloadManager::startDownload(PAL::SessionID sessionID, DownloadID downloadID, const ResourceRequest& request, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, const String& suggestedName)
+void DownloadManager::startDownload(PAL::SessionID sessionID, DownloadID downloadID, const ResourceRequest& request, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, const String& suggestedName)
{
auto* networkSession = client().networkSession(sessionID);
if (!networkSession)
Modified: trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/Downloads/DownloadManager.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -81,7 +81,7 @@
explicit DownloadManager(Client&);
- void startDownload(PAL::SessionID, DownloadID, const WebCore::ResourceRequest&, NavigatingToAppBoundDomain, const String& suggestedName = { });
+ void startDownload(PAL::SessionID, DownloadID, const WebCore::ResourceRequest&, Optional<NavigatingToAppBoundDomain>, const String& suggestedName = { });
void dataTaskBecameDownloadTask(DownloadID, std::unique_ptr<Download>&&);
void continueWillSendRequest(DownloadID, WebCore::ResourceRequest&&);
void willDecidePendingDownloadDestination(NetworkDataTask&, ResponseCompletionHandler&&);
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -586,12 +586,12 @@
return session;
}
-void NetworkConnectionToWebProcess::startDownload(DownloadID downloadID, const ResourceRequest& request, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, const String& suggestedName)
+void NetworkConnectionToWebProcess::startDownload(DownloadID downloadID, const ResourceRequest& request, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, const String& suggestedName)
{
m_networkProcess->downloadManager().startDownload(m_sessionID, downloadID, request, isNavigatingToAppBoundDomain, suggestedName);
}
-void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void NetworkConnectionToWebProcess::convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID downloadID, const ResourceRequest& request, const ResourceResponse& response, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
RELEASE_ASSERT(RunLoop::isMain());
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -203,8 +203,8 @@
void pageLoadCompleted(WebCore::PageIdentifier);
void browsingContextRemoved(WebPageProxyIdentifier, WebCore::PageIdentifier, WebCore::FrameIdentifier);
void crossOriginRedirectReceived(ResourceLoadIdentifier, const URL& redirectURL);
- void startDownload(DownloadID, const WebCore::ResourceRequest&, NavigatingToAppBoundDomain, const String& suggestedName = { });
- void convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, NavigatingToAppBoundDomain);
+ void startDownload(DownloadID, const WebCore::ResourceRequest&, Optional<NavigatingToAppBoundDomain>, const String& suggestedName = { });
+ void convertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, DownloadID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, Optional<NavigatingToAppBoundDomain>);
void registerURLSchemesAsCORSEnabled(Vector<String>&& schemes);
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2020-04-13 18:15:42 UTC (rev 260031)
@@ -32,8 +32,8 @@
PrefetchDNS(String hostname)
PreconnectTo(Optional<uint64_t> preconnectionIdentifier, WebKit::NetworkResourceLoadParameters loadParameters);
- StartDownload(WebKit::DownloadID downloadID, WebCore::ResourceRequest request, enum:bool WebKit::NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, String suggestedName)
- ConvertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response, enum:bool WebKit::NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+ StartDownload(WebKit::DownloadID downloadID, WebCore::ResourceRequest request, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, String suggestedName)
+ ConvertMainResourceLoadToDownload(uint64_t mainResourceLoadIdentifier, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, WebCore::ResourceResponse response, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
CookiesForDOM(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, enum:bool WebCore::IncludeSecureCookies includeSecureCookies, enum:bool WebCore::ShouldAskITP shouldAskITP) -> (String cookieString, bool didAccessSecureCookies) Synchronous
SetCookiesFromDOM(URL firstParty, struct WebCore::SameSiteInfo sameSiteInfo, URL url, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, enum:bool WebCore::ShouldAskITP shouldAskITP, String cookieString)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkLoadParameters.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -62,7 +62,7 @@
Vector<RefPtr<WebCore::BlobDataFileReference>> blobFileReferences;
PreconnectOnly shouldPreconnectOnly { PreconnectOnly::No };
Optional<NetworkActivityTracker> networkActivityTracker;
- NavigatingToAppBoundDomain isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
+ Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
};
} // namespace WebKit
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1329,7 +1329,7 @@
}
#endif // ENABLE(RESOURCE_LOAD_STATISTICS)
-void NetworkProcess::preconnectTo(PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void NetworkProcess::preconnectTo(PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
#if ENABLE(SERVER_PRECONNECT)
#if ENABLE(LEGACY_CUSTOM_PROTOCOL_MANAGER)
@@ -2036,7 +2036,7 @@
m_cacheEngines.remove(sessionID);
}
-void NetworkProcess::downloadRequest(PAL::SessionID sessionID, DownloadID downloadID, const ResourceRequest& request, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, const String& suggestedFilename)
+void NetworkProcess::downloadRequest(PAL::SessionID sessionID, DownloadID downloadID, const ResourceRequest& request, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, const String& suggestedFilename)
{
downloadManager().startDownload(sessionID, downloadID, request, isNavigatingToAppBoundDomain, suggestedFilename);
}
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -273,7 +273,7 @@
using CacheStorageRootPathCallback = CompletionHandler<void(String&&)>;
void cacheStorageRootPath(PAL::SessionID, CacheStorageRootPathCallback&&);
- void preconnectTo(PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, NavigatingToAppBoundDomain);
+ void preconnectTo(PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);
void setSessionIsControlledByAutomation(PAL::SessionID, bool);
bool sessionIsControlledByAutomation(PAL::SessionID) const;
@@ -406,7 +406,7 @@
// FIXME: This should take a session ID so we can identify which disk cache to delete.
void clearDiskCache(WallTime modifiedSince, CompletionHandler<void()>&&);
- void downloadRequest(PAL::SessionID, DownloadID, const WebCore::ResourceRequest&, NavigatingToAppBoundDomain, const String& suggestedFilename);
+ void downloadRequest(PAL::SessionID, DownloadID, const WebCore::ResourceRequest&, Optional<NavigatingToAppBoundDomain>, const String& suggestedFilename);
void resumeDownload(PAL::SessionID, DownloadID, const IPC::DataReference& resumeData, const String& path, SandboxExtension::Handle&&);
void cancelDownload(DownloadID);
#if PLATFORM(COCOA)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2020-04-13 18:15:42 UTC (rev 260031)
@@ -47,7 +47,7 @@
DeleteWebsiteData(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, WallTime modifiedSince, uint64_t callbackID)
DeleteWebsiteDataForOrigins(PAL::SessionID sessionID, OptionSet<WebKit::WebsiteDataType> websiteDataTypes, Vector<WebCore::SecurityOriginData> origins, Vector<String> cookieHostNames, Vector<String> HSTSCacheHostNames, uint64_t callbackID)
- DownloadRequest(PAL::SessionID sessionID, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, enum:bool WebKit::NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, String suggestedFilename)
+ DownloadRequest(PAL::SessionID sessionID, WebKit::DownloadID downloadID, WebCore::ResourceRequest request, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, String suggestedFilename)
ResumeDownload(PAL::SessionID sessionID, WebKit::DownloadID downloadID, IPC::DataReference resumeData, String path, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
CancelDownload(WebKit::DownloadID downloadID)
#if PLATFORM(COCOA)
@@ -79,7 +79,7 @@
PrepareToSuspend(bool isSuspensionImminent) -> () Async
ProcessDidResume()
- PreconnectTo(PAL::SessionID sessionID, URL url, String userAgent, enum:uint8_t WebCore::StoredCredentialsPolicy storedCredentialsPolicy, enum:bool WebKit::NavigatingToAppBoundDomain isNavigatingToAppBoundDomain);
+ PreconnectTo(PAL::SessionID sessionID, URL url, String userAgent, enum:uint8_t WebCore::StoredCredentialsPolicy storedCredentialsPolicy, enum:bool Optional<WebKit::NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain);
#if ENABLE(RESOURCE_LOAD_STATISTICS)
ClearPrevalentResource(PAL::SessionID sessionID, WebCore::RegistrableDomain resourceDomain) -> () Async
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -303,7 +303,7 @@
result.userContentControllerIdentifier = *userContentControllerIdentifier;
#endif
- Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain;
+ Optional<Optional<NavigatingToAppBoundDomain>> isNavigatingToAppBoundDomain;
decoder >> isNavigatingToAppBoundDomain;
if (!isNavigatingToAppBoundDomain)
return WTF::nullopt;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -76,7 +76,7 @@
Optional<UserContentControllerIdentifier> userContentControllerIdentifier;
#endif
- NavigatingToAppBoundDomain isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
+ Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
};
} // namespace WebKit
Modified: trunk/Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/AsyncRevalidation.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -66,7 +66,7 @@
m_completionHandler(Result::Timeout);
}
-AsyncRevalidation::AsyncRevalidation(Cache& cache, const GlobalFrameID& frameID, const WebCore::ResourceRequest& request, std::unique_ptr<NetworkCache::Entry>&& entry, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, CompletionHandler<void(Result)>&& handler)
+AsyncRevalidation::AsyncRevalidation(Cache& cache, const GlobalFrameID& frameID, const WebCore::ResourceRequest& request, std::unique_ptr<NetworkCache::Entry>&& entry, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, CompletionHandler<void(Result)>&& handler)
: m_timer(*this, &AsyncRevalidation::staleWhileRevalidateEnding)
, m_completionHandler(WTFMove(handler))
{
Modified: trunk/Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -51,7 +51,7 @@
Timeout,
Success,
};
- AsyncRevalidation(Cache&, const GlobalFrameID&, const WebCore::ResourceRequest&, std::unique_ptr<NetworkCache::Entry>&&, NavigatingToAppBoundDomain, CompletionHandler<void(Result)>&&);
+ AsyncRevalidation(Cache&, const GlobalFrameID&, const WebCore::ResourceRequest&, std::unique_ptr<NetworkCache::Entry>&&, Optional<NavigatingToAppBoundDomain>, CompletionHandler<void(Result)>&&);
void cancel();
const SpeculativeLoad& load() const { return *m_load; }
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -340,7 +340,7 @@
#endif
#if ENABLE(NETWORK_CACHE_STALE_WHILE_REVALIDATE)
-void Cache::startAsyncRevalidationIfNeeded(const WebCore::ResourceRequest& request, const NetworkCache::Key& key, std::unique_ptr<Entry>&& entry, const GlobalFrameID& frameID, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void Cache::startAsyncRevalidationIfNeeded(const WebCore::ResourceRequest& request, const NetworkCache::Key& key, std::unique_ptr<Entry>&& entry, const GlobalFrameID& frameID, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
m_pendingAsyncRevalidations.ensure(key, [&] {
auto addResult = m_pendingAsyncRevalidationByPage.ensure(frameID, [] {
@@ -366,7 +366,7 @@
#endif
}
-void Cache::retrieve(const WebCore::ResourceRequest& request, const GlobalFrameID& frameID, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, RetrieveCompletionHandler&& completionHandler)
+void Cache::retrieve(const WebCore::ResourceRequest& request, const GlobalFrameID& frameID, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, RetrieveCompletionHandler&& completionHandler)
{
ASSERT(request.url().protocolIsInHTTPFamily());
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -171,7 +171,7 @@
WTF_MAKE_FAST_ALLOCATED;
};
using RetrieveCompletionHandler = Function<void(std::unique_ptr<Entry>, const RetrieveInfo&)>;
- void retrieve(const WebCore::ResourceRequest&, const GlobalFrameID&, NavigatingToAppBoundDomain, RetrieveCompletionHandler&&);
+ void retrieve(const WebCore::ResourceRequest&, const GlobalFrameID&, Optional<NavigatingToAppBoundDomain>, RetrieveCompletionHandler&&);
std::unique_ptr<Entry> store(const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, RefPtr<WebCore::SharedBuffer>&&, Function<void(MappedBody&)>&& = nullptr);
std::unique_ptr<Entry> storeRedirect(const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, const WebCore::ResourceRequest& redirectRequest, Optional<Seconds> maxAgeCap);
std::unique_ptr<Entry> update(const WebCore::ResourceRequest&, const Entry&, const WebCore::ResourceResponse& validatingResponse);
@@ -203,7 +203,7 @@
#endif
#if ENABLE(NETWORK_CACHE_STALE_WHILE_REVALIDATE)
- void startAsyncRevalidationIfNeeded(const WebCore::ResourceRequest&, const NetworkCache::Key&, std::unique_ptr<Entry>&&, const GlobalFrameID&, NavigatingToAppBoundDomain);
+ void startAsyncRevalidationIfNeeded(const WebCore::ResourceRequest&, const NetworkCache::Key&, std::unique_ptr<Entry>&&, const GlobalFrameID&, Optional<NavigatingToAppBoundDomain>);
#endif
void browsingContextRemoved(WebPageProxyIdentifier, WebCore::PageIdentifier, WebCore::FrameIdentifier);
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -42,7 +42,7 @@
using namespace WebCore;
-SpeculativeLoad::SpeculativeLoad(Cache& cache, const GlobalFrameID& globalFrameID, const ResourceRequest& request, std::unique_ptr<NetworkCache::Entry> cacheEntryForValidation, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, RevalidationCompletionHandler&& completionHandler)
+SpeculativeLoad::SpeculativeLoad(Cache& cache, const GlobalFrameID& globalFrameID, const ResourceRequest& request, std::unique_ptr<NetworkCache::Entry> cacheEntryForValidation, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, RevalidationCompletionHandler&& completionHandler)
: m_cache(cache)
, m_completionHandler(WTFMove(completionHandler))
, m_originalRequest(request)
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoad.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -46,7 +46,7 @@
WTF_MAKE_FAST_ALLOCATED;
public:
using RevalidationCompletionHandler = CompletionHandler<void(std::unique_ptr<NetworkCache::Entry>)>;
- SpeculativeLoad(Cache&, const GlobalFrameID&, const WebCore::ResourceRequest&, std::unique_ptr<NetworkCache::Entry>, NavigatingToAppBoundDomain, RevalidationCompletionHandler&&);
+ SpeculativeLoad(Cache&, const GlobalFrameID&, const WebCore::ResourceRequest&, std::unique_ptr<NetworkCache::Entry>, Optional<NavigatingToAppBoundDomain>, RevalidationCompletionHandler&&);
virtual ~SpeculativeLoad();
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -345,7 +345,7 @@
return true;
}
-void SpeculativeLoadManager::registerLoad(const GlobalFrameID& frameID, const ResourceRequest& request, const Key& resourceKey, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void SpeculativeLoadManager::registerLoad(const GlobalFrameID& frameID, const ResourceRequest& request, const Key& resourceKey, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
ASSERT(RunLoop::isMain());
ASSERT(request.url().protocolIsInHTTPFamily());
@@ -449,7 +449,7 @@
return true;
}
-void SpeculativeLoadManager::preconnectForSubresource(const SubresourceInfo& subresourceInfo, Entry* entry, const GlobalFrameID& frameID, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void SpeculativeLoadManager::preconnectForSubresource(const SubresourceInfo& subresourceInfo, Entry* entry, const GlobalFrameID& frameID, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
#if ENABLE(SERVER_PRECONNECT)
NetworkLoadParameters parameters;
@@ -470,7 +470,7 @@
#endif
}
-void SpeculativeLoadManager::revalidateSubresource(const SubresourceInfo& subresourceInfo, std::unique_ptr<Entry> entry, const GlobalFrameID& frameID, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void SpeculativeLoadManager::revalidateSubresource(const SubresourceInfo& subresourceInfo, std::unique_ptr<Entry> entry, const GlobalFrameID& frameID, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
ASSERT(!entry || entry->needsValidation());
@@ -555,7 +555,7 @@
return false;
}
-void SpeculativeLoadManager::preloadEntry(const Key& key, const SubresourceInfo& subresourceInfo, const GlobalFrameID& frameID, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void SpeculativeLoadManager::preloadEntry(const Key& key, const SubresourceInfo& subresourceInfo, const GlobalFrameID& frameID, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
if (m_pendingPreloads.contains(key))
return;
@@ -582,7 +582,7 @@
});
}
-void SpeculativeLoadManager::startSpeculativeRevalidation(const GlobalFrameID& frameID, SubresourcesEntry& entry, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void SpeculativeLoadManager::startSpeculativeRevalidation(const GlobalFrameID& frameID, SubresourcesEntry& entry, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
for (auto& subresourceInfo : entry.subresources()) {
auto& key = subresourceInfo.key();
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -49,7 +49,7 @@
explicit SpeculativeLoadManager(Cache&, Storage&);
~SpeculativeLoadManager();
- void registerLoad(const GlobalFrameID&, const WebCore::ResourceRequest&, const Key& resourceKey, NavigatingToAppBoundDomain);
+ void registerLoad(const GlobalFrameID&, const WebCore::ResourceRequest&, const Key& resourceKey, Optional<NavigatingToAppBoundDomain>);
void registerMainResourceLoadResponse(const GlobalFrameID&, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
typedef Function<void (std::unique_ptr<Entry>)> RetrieveCompletionHandler;
@@ -62,13 +62,13 @@
static bool shouldRegisterLoad(const WebCore::ResourceRequest&);
void addPreloadedEntry(std::unique_ptr<Entry>, const GlobalFrameID&, Optional<WebCore::ResourceRequest>&& revalidationRequest = WTF::nullopt);
- void preloadEntry(const Key&, const SubresourceInfo&, const GlobalFrameID&, NavigatingToAppBoundDomain);
+ void preloadEntry(const Key&, const SubresourceInfo&, const GlobalFrameID&, Optional<NavigatingToAppBoundDomain>);
void retrieveEntryFromStorage(const SubresourceInfo&, RetrieveCompletionHandler&&);
- void revalidateSubresource(const SubresourceInfo&, std::unique_ptr<Entry>, const GlobalFrameID&, NavigatingToAppBoundDomain);
- void preconnectForSubresource(const SubresourceInfo&, Entry*, const GlobalFrameID&, NavigatingToAppBoundDomain);
+ void revalidateSubresource(const SubresourceInfo&, std::unique_ptr<Entry>, const GlobalFrameID&, Optional<NavigatingToAppBoundDomain>);
+ void preconnectForSubresource(const SubresourceInfo&, Entry*, const GlobalFrameID&, Optional<NavigatingToAppBoundDomain>);
bool satisfyPendingRequests(const Key&, Entry*);
void retrieveSubresourcesEntry(const Key& storageKey, WTF::Function<void (std::unique_ptr<SubresourcesEntry>)>&&);
- void startSpeculativeRevalidation(const GlobalFrameID&, SubresourcesEntry&, NavigatingToAppBoundDomain);
+ void startSpeculativeRevalidation(const GlobalFrameID&, SubresourcesEntry&, Optional<NavigatingToAppBoundDomain>);
static bool canUsePreloadedEntry(const PreloadedEntry&, const WebCore::ResourceRequest& actualRequest);
static bool canUsePendingPreload(const SpeculativeLoad&, const WebCore::ResourceRequest& actualRequest);
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -42,7 +42,7 @@
class NetworkDataTaskCocoa final : public NetworkDataTask {
public:
- static Ref<NetworkDataTask> create(NetworkSession& session, NetworkDataTaskClient& client, const WebCore::ResourceRequest& request, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, WebCore::ContentSniffingPolicy shouldContentSniff, WebCore::ContentEncodingSniffingPolicy shouldContentEncodingSniff, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly shouldPreconnectOnly, bool dataTaskIsForMainFrameNavigation, bool dataTaskIsForMainResourceNavigationForAnyFrame, Optional<NetworkActivityTracker> networkActivityTracker, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+ static Ref<NetworkDataTask> create(NetworkSession& session, NetworkDataTaskClient& client, const WebCore::ResourceRequest& request, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, WebCore::ContentSniffingPolicy shouldContentSniff, WebCore::ContentEncodingSniffingPolicy shouldContentEncodingSniff, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly shouldPreconnectOnly, bool dataTaskIsForMainFrameNavigation, bool dataTaskIsForMainResourceNavigationForAnyFrame, Optional<NetworkActivityTracker> networkActivityTracker, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
return adoptRef(*new NetworkDataTaskCocoa(session, client, request, frameID, pageID, storedCredentialsPolicy, shouldContentSniff, shouldContentEncodingSniff, shouldClearReferrerOnHTTPSToHTTPRedirect, shouldPreconnectOnly, dataTaskIsForMainFrameNavigation, dataTaskIsForMainResourceNavigationForAnyFrame, networkActivityTracker, isNavigatingToAppBoundDomain));
}
@@ -76,7 +76,7 @@
String description() const override;
private:
- NetworkDataTaskCocoa(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, WebCore::FrameIdentifier, WebCore::PageIdentifier, WebCore::StoredCredentialsPolicy, WebCore::ContentSniffingPolicy, WebCore::ContentEncodingSniffingPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly, bool dataTaskIsForMainFrameNavigation, bool dataTaskIsForMainResourceNavigationForAnyFrame, Optional<NetworkActivityTracker>, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain);
+ NetworkDataTaskCocoa(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, WebCore::FrameIdentifier, WebCore::PageIdentifier, WebCore::StoredCredentialsPolicy, WebCore::ContentSniffingPolicy, WebCore::ContentEncodingSniffingPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly, bool dataTaskIsForMainFrameNavigation, bool dataTaskIsForMainResourceNavigationForAnyFrame, Optional<NetworkActivityTracker>, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain);
bool tryPasswordBasedAuthentication(const WebCore::AuthenticationChallenge&, ChallengeCompletionHandler&);
void applySniffingPoliciesAndBindRequestToInferfaceIfNeeded(__strong NSURLRequest*&, bool shouldContentSniff, bool shouldContentEncodingSniff);
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm 2020-04-13 18:15:42 UTC (rev 260031)
@@ -204,7 +204,7 @@
return session.sessionID().isAlwaysOnLoggingAllowed();
}
-NetworkDataTaskCocoa::NetworkDataTaskCocoa(NetworkSession& session, NetworkDataTaskClient& client, const WebCore::ResourceRequest& requestWithCredentials, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, WebCore::ContentSniffingPolicy shouldContentSniff, WebCore::ContentEncodingSniffingPolicy shouldContentEncodingSniff, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly shouldPreconnectOnly, bool dataTaskIsForMainFrameNavigation, bool dataTaskIsForMainResourceNavigationForAnyFrame, Optional<NetworkActivityTracker> networkActivityTracker, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+NetworkDataTaskCocoa::NetworkDataTaskCocoa(NetworkSession& session, NetworkDataTaskClient& client, const WebCore::ResourceRequest& requestWithCredentials, WebCore::FrameIdentifier frameID, WebCore::PageIdentifier pageID, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, WebCore::ContentSniffingPolicy shouldContentSniff, WebCore::ContentEncodingSniffingPolicy shouldContentEncodingSniff, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly shouldPreconnectOnly, bool dataTaskIsForMainFrameNavigation, bool dataTaskIsForMainResourceNavigationForAnyFrame, Optional<NetworkActivityTracker> networkActivityTracker, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
: NetworkDataTask(session, client, requestWithCredentials, storedCredentialsPolicy, shouldClearReferrerOnHTTPSToHTTPRedirect, dataTaskIsForMainFrameNavigation)
, m_sessionWrapper(makeWeakPtr(static_cast<NetworkSessionCocoa&>(session).sessionWrapperForTask(requestWithCredentials, storedCredentialsPolicy, isNavigatingToAppBoundDomain)))
, m_frameID(frameID)
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -95,7 +95,7 @@
bool hasAppBoundSession() const override { return !!m_appBoundSession; }
- SessionWrapper& sessionWrapperForTask(const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, NavigatingToAppBoundDomain);
+ SessionWrapper& sessionWrapperForTask(const WebCore::ResourceRequest&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);
void setInAppBrowserPrivacyEnabled(bool enabled) override { m_isInAppBrowserPrivacyEnabled = enabled; }
bool isInAppBrowserPrivacyEnabled() const { return m_isInAppBrowserPrivacyEnabled; }
bool preventsSystemHTTPProxyAuthentication() const { return m_preventsSystemHTTPProxyAuthentication; }
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (260030 => 260031)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1201,18 +1201,19 @@
m_ephemeralStatelessSession.initialize(configuration, *this, WebCore::StoredCredentialsPolicy::EphemeralStateless, isNavigatingToAppBoundDomain);
}
-SessionWrapper& NetworkSessionCocoa::sessionWrapperForTask(const WebCore::ResourceRequest& request, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+SessionWrapper& NetworkSessionCocoa::sessionWrapperForTask(const WebCore::ResourceRequest& request, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
+ auto shouldBeConsideredAppBound = isNavigatingToAppBoundDomain ? *isNavigatingToAppBoundDomain : NavigatingToAppBoundDomain::Yes;
#if ENABLE(RESOURCE_LOAD_STATISTICS)
if (auto* storageSession = networkStorageSession()) {
auto firstParty = WebCore::RegistrableDomain(request.firstPartyForCookies());
if (storageSession->shouldBlockThirdPartyCookiesButKeepFirstPartyCookiesFor(firstParty))
- return isolatedSession(storedCredentialsPolicy, firstParty, isNavigatingToAppBoundDomain);
+ return isolatedSession(storedCredentialsPolicy, firstParty, shouldBeConsideredAppBound);
} else
ASSERT_NOT_REACHED();
#endif
- if (isNavigatingToAppBoundDomain == NavigatingToAppBoundDomain::Yes)
+ if (shouldBeConsideredAppBound == NavigatingToAppBoundDomain::Yes)
return appBoundSession(storedCredentialsPolicy);
switch (storedCredentialsPolicy) {
Modified: trunk/Source/WebKit/Shared/LoadParameters.h (260030 => 260031)
--- trunk/Source/WebKit/Shared/LoadParameters.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/Shared/LoadParameters.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -70,7 +70,7 @@
WebCore::LockHistory lockHistory { WebCore::LockHistory::No };
WebCore::LockBackForwardList lockBackForwardList { WebCore::LockBackForwardList::No };
String clientRedirectSourceForHistory;
- NavigatingToAppBoundDomain isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
+ Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain { NavigatedAwayFromAppBoundDomain::No };
#if PLATFORM(COCOA)
Modified: trunk/Source/WebKit/Shared/PolicyDecision.h (260030 => 260031)
--- trunk/Source/WebKit/Shared/PolicyDecision.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/Shared/PolicyDecision.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -36,7 +36,7 @@
struct PolicyDecision {
WebCore::PolicyCheckIdentifier identifier { };
- NavigatingToAppBoundDomain isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
+ Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain { NavigatedAwayFromAppBoundDomain::No };
WebCore::PolicyAction policyAction { WebCore::PolicyAction::Ignore };
uint64_t navigationID { 0 };
@@ -63,7 +63,7 @@
if (!decodedIdentifier)
return WTF::nullopt;
- Optional<NavigatingToAppBoundDomain> decodedIsNavigatingToAppBoundDomain;
+ Optional<Optional<NavigatingToAppBoundDomain>> decodedIsNavigatingToAppBoundDomain;
decoder >> decodedIsNavigatingToAppBoundDomain;
if (!decodedIsNavigatingToAppBoundDomain)
return WTF::nullopt;
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (260030 => 260031)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1409,7 +1409,7 @@
sendWithAsyncReply(Messages::NetworkProcess::GetLocalStorageOriginDetails(sessionID), WTFMove(completionHandler));
}
-void NetworkProcessProxy::preconnectTo(PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain)
+void NetworkProcessProxy::preconnectTo(PAL::SessionID sessionID, const URL& url, const String& userAgent, WebCore::StoredCredentialsPolicy storedCredentialsPolicy, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain)
{
if (!url.isValid() || !url.protocolIsInHTTPFamily() || SecurityOrigin::isLocalHostOrLoopbackIPAddress(url.host()))
return;
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (260030 => 260031)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -110,7 +110,7 @@
void getLocalStorageDetails(PAL::SessionID, CompletionHandler<void(Vector<LocalStorageDatabaseTracker::OriginDetails>&&)>&&);
- void preconnectTo(PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, NavigatingToAppBoundDomain);
+ void preconnectTo(PAL::SessionID, const URL&, const String&, WebCore::StoredCredentialsPolicy, Optional<NavigatingToAppBoundDomain>);
#if ENABLE(RESOURCE_LOAD_STATISTICS)
void clearPrevalentResource(PAL::SessionID, const RegistrableDomain&, CompletionHandler<void()>&&);
Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp (260030 => 260031)
--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -156,7 +156,7 @@
send(Messages::WebPage::FreezeLayerTreeDueToSwipeAnimation());
}
-void ProvisionalPageProxy::loadData(API::Navigation& navigation, const IPC::DataReference& data, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies)
+void ProvisionalPageProxy::loadData(API::Navigation& navigation, const IPC::DataReference& data, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies)
{
RELEASE_LOG_IF_ALLOWED(ProcessSwapping, "loadData: pageProxyID=%" PRIu64 " webPageID=%" PRIu64, m_page.identifier().toUInt64(), m_webPageID.toUInt64());
@@ -163,7 +163,7 @@
m_page.loadDataWithNavigationShared(m_process.copyRef(), m_webPageID, navigation, data, MIMEType, encoding, baseURL, userData, WebCore::ShouldTreatAsContinuingLoad::Yes, isNavigatingToAppBoundDomain, hasNavigatedAwayFromAppBoundDomain, WTFMove(websitePolicies), navigation.lastNavigationAction().shouldOpenExternalURLsPolicy);
}
-void ProvisionalPageProxy::loadRequest(API::Navigation& navigation, WebCore::ResourceRequest&& request, API::Object* userData, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies)
+void ProvisionalPageProxy::loadRequest(API::Navigation& navigation, WebCore::ResourceRequest&& request, API::Object* userData, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies)
{
RELEASE_LOG_IF_ALLOWED(ProcessSwapping, "loadRequest: pageProxyID=%" PRIu64 " webPageID=%" PRIu64, m_page.identifier().toUInt64(), m_webPageID.toUInt64());
Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h (260030 => 260031)
--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -92,8 +92,8 @@
LayerHostingContextID contextIDForVisibilityPropagation() const { return m_contextIDForVisibilityPropagation; }
#endif
- void loadData(API::Navigation&, const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, NavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt);
- void loadRequest(API::Navigation&, WebCore::ResourceRequest&&, API::Object* userData, NavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt);
+ void loadData(API::Navigation&, const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, Optional<NavigatingToAppBoundDomain>, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt);
+ void loadRequest(API::Navigation&, WebCore::ResourceRequest&&, API::Object* userData, Optional<NavigatingToAppBoundDomain>, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt);
void goToBackForwardItem(API::Navigation&, WebBackForwardListItem&, RefPtr<API::WebsitePolicies>&&);
void cancel();
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (260030 => 260031)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1298,7 +1298,7 @@
return navigation;
}
-void WebPageProxy::loadRequestWithNavigationShared(Ref<WebProcessProxy>&& process, WebCore::PageIdentifier webPageID, API::Navigation& navigation, ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies)
+void WebPageProxy::loadRequestWithNavigationShared(Ref<WebProcessProxy>&& process, WebCore::PageIdentifier webPageID, API::Navigation& navigation, ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies)
{
ASSERT(!m_isClosed);
@@ -1422,7 +1422,7 @@
return navigation;
}
-void WebPageProxy::loadDataWithNavigationShared(Ref<WebProcessProxy>&& process, WebCore::PageIdentifier webPageID, API::Navigation& navigation, const IPC::DataReference& data, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy)
+void WebPageProxy::loadDataWithNavigationShared(Ref<WebProcessProxy>&& process, WebCore::PageIdentifier webPageID, API::Navigation& navigation, const IPC::DataReference& data, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& websitePolicies, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy)
{
RELEASE_LOG_IF_ALLOWED(Loading, "loadDataWithNavigation");
@@ -3125,7 +3125,7 @@
if (WEB_PAGE_PROXY_ADDITIONS_SETISNAVIGATINGTOAPPBOUNDDOMAIN)
return;
if (!isNavigatingToAppBoundDomain) {
- m_isNavigatingToAppBoundDomain = NavigatingToAppBoundDomain::Yes;
+ m_isNavigatingToAppBoundDomain = WTF::nullopt;
return;
}
if (m_ignoresAppBoundDomains)
@@ -3148,7 +3148,7 @@
void WebPageProxy::isNavigatingToAppBoundDomainTesting(CompletionHandler<void(bool)>&& completionHandler)
{
- completionHandler(m_isNavigatingToAppBoundDomain == NavigatingToAppBoundDomain::Yes);
+ completionHandler(m_isNavigatingToAppBoundDomain && (*m_isNavigatingToAppBoundDomain == NavigatingToAppBoundDomain::Yes));
}
void WebPageProxy::receivedNavigationPolicyDecision(PolicyAction policyAction, API::Navigation* navigation, ProcessSwapRequestedByClient processSwapRequestedByClient, WebFrameProxy& frame, RefPtr<API::WebsitePolicies>&& policies, Ref<PolicyDecisionSender>&& sender)
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (260030 => 260031)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1628,8 +1628,8 @@
void decidePolicyForNavigationActionAsyncShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, NavigationActionData&&, FrameInfoData&& originatingFrameInfo, Optional<WebPageProxyIdentifier> originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, uint64_t listenerID);
void decidePolicyForResponseShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, WebCore::FrameIdentifier, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, const String& downloadAttribute, uint64_t listenerID, const UserData&);
void startURLSchemeTaskShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, URLSchemeTaskParameters&&);
- void loadDataWithNavigationShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, API::Navigation&, const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, NavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow);
- void loadRequestWithNavigationShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, API::Navigation&, WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, NavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt);
+ void loadDataWithNavigationShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, API::Navigation&, const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<NavigatingToAppBoundDomain>, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+ void loadRequestWithNavigationShared(Ref<WebProcessProxy>&&, WebCore::PageIdentifier, API::Navigation&, WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<NavigatingToAppBoundDomain>, NavigatedAwayFromAppBoundDomain, Optional<WebsitePoliciesData>&& = WTF::nullopt);
void backForwardGoToItemShared(Ref<WebProcessProxy>&&, const WebCore::BackForwardItemIdentifier&, CompletionHandler<void(SandboxExtension::Handle&&, const WebBackForwardListCounts&)>&&);
void decidePolicyForNavigationActionSyncShared(Ref<WebProcessProxy>&&, WebCore::FrameIdentifier, bool isMainFrame, FrameInfoData&&, WebCore::PolicyCheckIdentifier, uint64_t navigationID, NavigationActionData&&, FrameInfoData&& originatingFrameInfo, Optional<WebPageProxyIdentifier> originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, Messages::WebPageProxy::DecidePolicyForNavigationActionSyncDelayedReply&&);
#if USE(QUICK_LOOK)
@@ -1717,7 +1717,7 @@
void setShouldFireResizeEvents(bool);
void isNavigatingToAppBoundDomainTesting(CompletionHandler<void(bool)>&&);
- NavigatingToAppBoundDomain isNavigatingToAppBoundDomain() const { return m_isNavigatingToAppBoundDomain; }
+ Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain() const { return m_isNavigatingToAppBoundDomain; }
#if PLATFORM(COCOA)
void grantAccessToCurrentPasteboardData(const String& pasteboardName);
@@ -2772,7 +2772,7 @@
MonotonicTime m_didFinishDocumentLoadForMainFrameTimestamp;
#endif
- NavigatingToAppBoundDomain m_isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
+ Optional<NavigatingToAppBoundDomain> m_isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
NavigatedAwayFromAppBoundDomain m_hasNavigatedAwayFromAppBoundDomain { NavigatedAwayFromAppBoundDomain::No };
bool m_ignoresAppBoundDomains { false };
bool m_userScriptsNotified { false };
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (260030 => 260031)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1378,7 +1378,7 @@
auto& downloadProxy = createDownloadProxy(dataStore, request, initiatingPage, { });
PAL::SessionID sessionID = dataStore.sessionID();
- NavigatingToAppBoundDomain isAppBound = NavigatingToAppBoundDomain::No;
+ Optional<NavigatingToAppBoundDomain> isAppBound = NavigatingToAppBoundDomain::No;
if (initiatingPage) {
initiatingPage->handleDownloadRequest(downloadProxy);
isAppBound = initiatingPage->isNavigatingToAppBoundDomain();
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp (260030 => 260031)
--- trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebFrame.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -282,7 +282,7 @@
auto policyDownloadID = m_policyDownloadID;
m_policyDownloadID = { };
- auto isAppBound = NavigatingToAppBoundDomain::No;
+ Optional<NavigatingToAppBoundDomain> isAppBound = NavigatingToAppBoundDomain::No;
if (page())
isAppBound = page()->isNavigatingToAppBoundDomain();
@@ -308,7 +308,7 @@
else
mainResourceLoadIdentifier = 0;
- auto isAppBound = NavigatingToAppBoundDomain::No;
+ Optional<NavigatingToAppBoundDomain> isAppBound = NavigatingToAppBoundDomain::No;
if (page())
isAppBound = page()->isNavigatingToAppBoundDomain();
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (260030 => 260031)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1558,7 +1558,7 @@
RELEASE_ASSERT_NOT_REACHED();
}
-void WebPage::loadDataImpl(uint64_t navigationID, bool shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies, Ref<SharedBuffer>&& sharedBuffer, const String& MIMEType, const String& encodingName, const URL& baseURL, const URL& unreachableURL, const UserData& userData, NavigatingToAppBoundDomain isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy)
+void WebPage::loadDataImpl(uint64_t navigationID, bool shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies, Ref<SharedBuffer>&& sharedBuffer, const String& MIMEType, const String& encodingName, const URL& baseURL, const URL& unreachableURL, const UserData& userData, Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy)
{
setIsNavigatingToAppBoundDomain(isNavigatingToAppBoundDomain);
setHasNavigatedAwayFromAppBoundDomain(hasNavigatedAwayFromAppBoundDomain);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (260030 => 260031)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2020-04-13 17:57:10 UTC (rev 260030)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2020-04-13 18:15:42 UTC (rev 260031)
@@ -1300,8 +1300,8 @@
void getAllFrames(CompletionHandler<void(FrameTreeNodeData&&)>&&);
- void setIsNavigatingToAppBoundDomain(NavigatingToAppBoundDomain isNavigatingToAppBoundDomain) { m_isNavigatingToAppBoundDomain = isNavigatingToAppBoundDomain; }
- NavigatingToAppBoundDomain isNavigatingToAppBoundDomain() const { return m_isNavigatingToAppBoundDomain; }
+ void setIsNavigatingToAppBoundDomain(Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain) { m_isNavigatingToAppBoundDomain = isNavigatingToAppBoundDomain; }
+ Optional<NavigatingToAppBoundDomain> isNavigatingToAppBoundDomain() const { return m_isNavigatingToAppBoundDomain; }
NavigatedAwayFromAppBoundDomain hasNavigatedAwayFromAppBoundDomain() const { return m_hasNavigatedAwayFromAppBoundDomain; }
void setHasNavigatedAwayFromAppBoundDomain(NavigatedAwayFromAppBoundDomain navigatedAwayFromAppBoundDomain) { m_hasNavigatedAwayFromAppBoundDomain = navigatedAwayFromAppBoundDomain; }
bool needsInAppBrowserPrivacyQuirks() const { return m_needsInAppBrowserPrivacyQuirks; }
@@ -1401,7 +1401,7 @@
String sourceForFrame(WebFrame*);
- void loadDataImpl(uint64_t navigationID, bool shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&&, Ref<WebCore::SharedBuffer>&&, const String& MIMEType, const String& encodingName, const URL& baseURL, const URL& failingURL, const UserData&, NavigatingToAppBoundDomain, NavigatedAwayFromAppBoundDomain, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+ void loadDataImpl(uint64_t navigationID, bool shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&&, Ref<WebCore::SharedBuffer>&&, const String& MIMEType, const String& encodingName, const URL& baseURL, const URL& failingURL, const UserData&, Optional<NavigatingToAppBoundDomain>, NavigatedAwayFromAppBoundDomain, WebCore::ShouldOpenExternalURLsPolicy = WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow);
// Actions
void tryClose(CompletionHandler<void(bool)>&&);
@@ -2082,7 +2082,7 @@
String m_themeName;
#endif
- NavigatingToAppBoundDomain m_isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
+ Optional<NavigatingToAppBoundDomain> m_isNavigatingToAppBoundDomain { NavigatingToAppBoundDomain::No };
NavigatedAwayFromAppBoundDomain m_hasNavigatedAwayFromAppBoundDomain { NavigatedAwayFromAppBoundDomain::No };
};