Skip to content

Commit

Permalink
Merge r241308 - Make use of is<SubresourceLoader>
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=194541

Reviewed by Alex Christensen.

Source/WebCore:

No change of behavior.

* inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::didReceiveResponse):
* loader/SubresourceLoader.h:
(isType):

Source/WebKit:

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
  • Loading branch information
youennf authored and carlosgcampos committed Feb 13, 2019
1 parent a2c8bdd commit 1cd969d
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 9 deletions.
14 changes: 14 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,17 @@
2019-02-12 Youenn Fablet <youenn@apple.com>

Make use of is<SubresourceLoader>
https://bugs.webkit.org/show_bug.cgi?id=194541

Reviewed by Alex Christensen.

No change of behavior.

* inspector/agents/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::didReceiveResponse):
* loader/SubresourceLoader.h:
(isType):

2019-02-12 Mark Lam <mark.lam@apple.com>

Add some null checks in JSNodeCustom.h's root() and generated isReachableFromOpaqueRoots() functions.
Expand Down
4 changes: 2 additions & 2 deletions Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp
Expand Up @@ -500,8 +500,8 @@ void InspectorNetworkAgent::didReceiveResponse(unsigned long identifier, Documen
bool isNotModified = response.httpStatusCode() == 304;

CachedResource* cachedResource = nullptr;
if (resourceLoader && resourceLoader->isSubresourceLoader() && !isNotModified)
cachedResource = static_cast<SubresourceLoader*>(resourceLoader)->cachedResource();
if (is<SubresourceLoader>(resourceLoader) && !isNotModified)
cachedResource = downcast<SubresourceLoader>(resourceLoader)->cachedResource();
if (!cachedResource && loader)
cachedResource = InspectorPageAgent::cachedResource(loader->frame(), response.url());

Expand Down
4 changes: 4 additions & 0 deletions Source/WebCore/loader/SubresourceLoader.h
Expand Up @@ -137,3 +137,7 @@ class SubresourceLoader final : public ResourceLoader {
};

}

SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::SubresourceLoader)
static bool isType(const WebCore::ResourceLoader& loader) { return loader.isSubresourceLoader(); }
SPECIALIZE_TYPE_TRAITS_END()
10 changes: 10 additions & 0 deletions Source/WebKit/ChangeLog
@@ -1,3 +1,13 @@
2019-02-12 Youenn Fablet <youenn@apple.com>

Make use of is<SubresourceLoader>
https://bugs.webkit.org/show_bug.cgi?id=194541

Reviewed by Alex Christensen.

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

2019-02-12 Alex Christensen <achristensen@webkit.org>

WebPage::close needs to remove all message receivers associated with that WebPage, not WebPage::~WebPage
Expand Down
14 changes: 7 additions & 7 deletions Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
Expand Up @@ -292,11 +292,6 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL
loadParameters.cspResponseHeaders = contentSecurityPolicy->responseHeaders();
}

if (resourceLoader.isSubresourceLoader()) {
if (auto* headers = static_cast<SubresourceLoader&>(resourceLoader).originalHeaders())
loadParameters.originalRequestHeaders = *headers;
}

#if ENABLE(CONTENT_EXTENSIONS)
if (document) {
loadParameters.mainDocumentURL = document->topDocument().url();
Expand All @@ -311,8 +306,13 @@ void WebLoaderStrategy::scheduleLoadFromNetworkProcess(ResourceLoader& resourceL

// FIXME: All loaders should provide their origin if navigation mode is cors/no-cors/same-origin.
// As a temporary approach, we use the document origin if available or the HTTP Origin header otherwise.
if (resourceLoader.isSubresourceLoader())
loadParameters.sourceOrigin = static_cast<SubresourceLoader&>(resourceLoader).origin();
if (is<SubresourceLoader>(resourceLoader)) {
auto& loader = downcast<SubresourceLoader>(resourceLoader);
loadParameters.sourceOrigin = loader.origin();

if (auto* headers = loader.originalHeaders())
loadParameters.originalRequestHeaders = *headers;
}

if (!loadParameters.sourceOrigin && document)
loadParameters.sourceOrigin = &document->securityOrigin();
Expand Down

0 comments on commit 1cd969d

Please sign in to comment.