Modified: trunk/Source/WebCore/ChangeLog (283543 => 283544)
--- trunk/Source/WebCore/ChangeLog 2021-10-05 09:54:35 UTC (rev 283543)
+++ trunk/Source/WebCore/ChangeLog 2021-10-05 10:59:56 UTC (rev 283544)
@@ -1,5 +1,28 @@
2021-10-05 Tim Nguyen <[email protected]>
+ Replace document.topDocument().securityOrigin() with document.topOrigin()
+ https://bugs.webkit.org/show_bug.cgi?id=231221
+
+ Reviewed by Youenn Fablet.
+
+ No behaviour change, Document::topOrigin() is defined as:
+
+ `SecurityOrigin& topOrigin() const final { return topDocument().securityOrigin(); }`
+
+ * dom/BroadcastChannel.cpp:
+ (WebCore::shouldPartitionOrigin):
+ * dom/DocumentStorageAccess.cpp:
+ (WebCore::DocumentStorageAccess::hasStorageAccessQuickCheck):
+ (WebCore::DocumentStorageAccess::hasStorageAccess):
+ (WebCore::DocumentStorageAccess::requestStorageAccessQuickCheck):
+ (WebCore::DocumentStorageAccess::requestStorageAccess):
+ * dom/Element.cpp:
+ (WebCore::Element::focus):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestResource):
+
+2021-10-05 Tim Nguyen <[email protected]>
+
Clean up shouldAutofocus in HTMLFormControlElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=231220
Modified: trunk/Source/WebCore/dom/BroadcastChannel.cpp (283543 => 283544)
--- trunk/Source/WebCore/dom/BroadcastChannel.cpp 2021-10-05 09:54:35 UTC (rev 283543)
+++ trunk/Source/WebCore/dom/BroadcastChannel.cpp 2021-10-05 10:59:56 UTC (rev 283544)
@@ -72,7 +72,7 @@
if (!page)
return true;
- return !page->chrome().client().hasPageLevelStorageAccess(RegistrableDomain::uncheckedCreateFromHost(document.topDocument().securityOrigin().host()), RegistrableDomain::uncheckedCreateFromHost(document.securityOrigin().host()));
+ return !page->chrome().client().hasPageLevelStorageAccess(RegistrableDomain::uncheckedCreateFromHost(document.topOrigin().host()), RegistrableDomain::uncheckedCreateFromHost(document.securityOrigin().host()));
#else
return true;
#endif
Modified: trunk/Source/WebCore/dom/DocumentStorageAccess.cpp (283543 => 283544)
--- trunk/Source/WebCore/dom/DocumentStorageAccess.cpp 2021-10-05 09:54:35 UTC (rev 283543)
+++ trunk/Source/WebCore/dom/DocumentStorageAccess.cpp 2021-10-05 10:59:56 UTC (rev 283544)
@@ -82,15 +82,14 @@
if (frame && hasFrameSpecificStorageAccess())
return true;
- if (!frame || m_document.securityOrigin().isUnique())
+ auto& securityOrigin = m_document.securityOrigin();
+ if (!frame || securityOrigin.isUnique())
return false;
if (frame->isMainFrame())
return true;
- auto& securityOrigin = m_document.securityOrigin();
- auto& topSecurityOrigin = m_document.topDocument().securityOrigin();
- if (securityOrigin.equal(&topSecurityOrigin))
+ if (securityOrigin.equal(&m_document.topOrigin()))
return true;
auto* page = frame->page();
@@ -124,7 +123,7 @@
return;
}
- page->chrome().client().hasStorageAccess(RegistrableDomain::uncheckedCreateFromHost(m_document.securityOrigin().host()), RegistrableDomain::uncheckedCreateFromHost(m_document.topDocument().securityOrigin().host()), *frame, [weakThis = makeWeakPtr(*this), promise = WTFMove(promise)] (bool hasAccess) {
+ page->chrome().client().hasStorageAccess(RegistrableDomain::uncheckedCreateFromHost(m_document.securityOrigin().host()), RegistrableDomain::uncheckedCreateFromHost(m_document.topOrigin().host()), *frame, [weakThis = makeWeakPtr(*this), promise = WTFMove(promise)] (bool hasAccess) {
if (!weakThis)
return;
@@ -153,16 +152,14 @@
if (frame && hasFrameSpecificStorageAccess())
return StorageAccessQuickResult::Grant;
- if (!frame || m_document.securityOrigin().isUnique() || !isAllowedToRequestStorageAccess())
+ auto& securityOrigin = m_document.securityOrigin();
+ if (!frame || securityOrigin.isUnique() || !isAllowedToRequestStorageAccess())
return StorageAccessQuickResult::Reject;
if (frame->isMainFrame())
return StorageAccessQuickResult::Grant;
- auto& topDocument = m_document.topDocument();
- auto& topSecurityOrigin = topDocument.securityOrigin();
- auto& securityOrigin = m_document.securityOrigin();
- if (securityOrigin.equal(&topSecurityOrigin))
+ if (securityOrigin.equal(&m_document.topOrigin()))
return StorageAccessQuickResult::Grant;
// If there is a sandbox, it has to allow the storage access API to be called.
@@ -202,7 +199,7 @@
if (!page->settings().storageAccessAPIPerPageScopeEnabled())
m_storageAccessScope = StorageAccessScope::PerFrame;
- page->chrome().client().requestStorageAccess(RegistrableDomain::uncheckedCreateFromHost(m_document.securityOrigin().host()), RegistrableDomain::uncheckedCreateFromHost(m_document.topDocument().securityOrigin().host()), *frame, m_storageAccessScope, [this, weakThis = makeWeakPtr(*this), promise = WTFMove(promise)] (RequestStorageAccessResult result) mutable {
+ page->chrome().client().requestStorageAccess(RegistrableDomain::uncheckedCreateFromHost(m_document.securityOrigin().host()), RegistrableDomain::uncheckedCreateFromHost(m_document.topOrigin().host()), *frame, m_storageAccessScope, [this, weakThis = makeWeakPtr(*this), promise = WTFMove(promise)] (RequestStorageAccessResult result) mutable {
if (!weakThis)
return;
Modified: trunk/Source/WebCore/dom/Element.cpp (283543 => 283544)
--- trunk/Source/WebCore/dom/Element.cpp 2021-10-05 09:54:35 UTC (rev 283543)
+++ trunk/Source/WebCore/dom/Element.cpp 2021-10-05 10:59:56 UTC (rev 283544)
@@ -3097,7 +3097,7 @@
if (Page* page = document->page()) {
auto& frame = *document->frame();
- if (!frame.hasHadUserInteraction() && !frame.isMainFrame() && !document->topDocument().securityOrigin().isSameOriginDomain(document->securityOrigin()))
+ if (!frame.hasHadUserInteraction() && !frame.isMainFrame() && !document->topOrigin().isSameOriginDomain(document->securityOrigin()))
return;
FocusOptions optionsWithVisibility = options;
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (283543 => 283544)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2021-10-05 09:54:35 UTC (rev 283543)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2021-10-05 10:59:56 UTC (rev 283544)
@@ -950,7 +950,7 @@
else if (auto* topDocument = frame.mainFrame().document())
sameOriginRequest = topDocument->securityOrigin().isSameSchemeHostPort(requestedOrigin.get());
} else if (document()) {
- sameOriginRequest = document()->topDocument().securityOrigin().isSameSchemeHostPort(requestedOrigin.get())
+ sameOriginRequest = document()->topOrigin().isSameSchemeHostPort(requestedOrigin.get())
&& document()->securityOrigin().isSameSchemeHostPort(requestedOrigin.get());
}
for (auto& fields : m_documentLoader->customHeaderFields()) {