Diff
Modified: trunk/Source/WebCore/ChangeLog (244694 => 244695)
--- trunk/Source/WebCore/ChangeLog 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/ChangeLog 2019-04-26 17:03:15 UTC (rev 244695)
@@ -1,5 +1,53 @@
2019-04-26 Alex Christensen <[email protected]>
+ Add ENABLE(CONTENT_EXTENSIONS) and namespace ContentExtensions to ResourceLoadInfo.h
+ https://bugs.webkit.org/show_bug.cgi?id=197165
+
+ Reviewed by Youenn Fablet.
+
+ No change in behavior. This will just make it harder for people working on the loader to mistake
+ these ContentExtension specific structures for other structures general to loading.
+ One such mistake was made in r244248.
+
+ * Modules/websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::connect):
+ * contentextensions/ContentExtensionsBackend.h:
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::subresourcesAllowReuse const):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::loadResource):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadResourceSynchronously):
+ * loader/NetscapePlugInStreamLoader.cpp:
+ (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
+ * loader/PingLoader.cpp:
+ (WebCore::processContentRuleListsForLoad):
+ (WebCore::PingLoader::loadImage):
+ (WebCore::PingLoader::sendPing):
+ (WebCore::PingLoader::sendViolationReport):
+ * loader/ResourceLoadInfo.cpp:
+ (WebCore::toResourceType): Deleted.
+ (WebCore::readResourceType): Deleted.
+ (WebCore::readLoadType): Deleted.
+ (WebCore::ResourceLoadInfo::isThirdParty const): Deleted.
+ (WebCore::ResourceLoadInfo::getResourceFlags const): Deleted.
+ * loader/ResourceLoadInfo.h:
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::willSendRequestInternal):
+ * loader/ResourceLoader.h:
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::SubresourceLoader):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestResource):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::open):
+ * page/UserContentProvider.cpp:
+ (WebCore::UserContentProvider::processContentRuleListsForLoad):
+ (WebCore::UserContentProvider::actionsForResourceLoad):
+ * page/UserContentProvider.h:
+
+2019-04-26 Alex Christensen <[email protected]>
+
Fix an internal High Sierra build after r244653
​https://bugs.webkit.org/show_bug.cgi?id=197131
Modified: trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp (244694 => 244695)
--- trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -89,7 +89,7 @@
#if ENABLE(CONTENT_EXTENSIONS)
if (auto* page = m_document->page()) {
if (auto* documentLoader = m_document->loader()) {
- auto results = page->userContentProvider().processContentRuleListsForLoad(url, ResourceType::Raw, *documentLoader);
+ auto results = page->userContentProvider().processContentRuleListsForLoad(url, ContentExtensions::ResourceType::Raw, *documentLoader);
if (results.summary.blockedLoad) {
Ref<WebSocketChannel> protectedThis(*this);
callOnMainThread([protectedThis = WTFMove(protectedThis)] {
Modified: trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.h (244694 => 244695)
--- trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.h 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.h 2019-04-26 17:03:15 UTC (rev 244695)
@@ -38,11 +38,10 @@
class DocumentLoader;
class ResourceRequest;
-struct ResourceLoadInfo;
-
namespace ContentExtensions {
class CompiledContentExtension;
+struct ResourceLoadInfo;
// The ContentExtensionsBackend is the internal model of all the content extensions.
//
Modified: trunk/Source/WebCore/css/StyleSheetContents.cpp (244694 => 244695)
--- trunk/Source/WebCore/css/StyleSheetContents.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/css/StyleSheetContents.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -512,7 +512,7 @@
auto* documentLoader = loader.documentLoader();
if (page && documentLoader) {
const auto& request = resource.resourceRequest();
- auto results = page->userContentProvider().processContentRuleListsForLoad(request.url(), toResourceType(resource.type()), *documentLoader);
+ auto results = page->userContentProvider().processContentRuleListsForLoad(request.url(), ContentExtensions::toResourceType(resource.type()), *documentLoader);
if (results.summary.blockedLoad || results.summary.madeHTTPS)
return true;
}
Modified: trunk/Source/WebCore/dom/ExtensionStyleSheets.cpp (244694 => 244695)
--- trunk/Source/WebCore/dom/ExtensionStyleSheets.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/dom/ExtensionStyleSheets.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -47,7 +47,9 @@
namespace WebCore {
+#if ENABLE(CONTENT_EXTENSIONS)
using namespace ContentExtensions;
+#endif
using namespace HTMLNames;
ExtensionStyleSheets::ExtensionStyleSheets(Document& document)
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (244694 => 244695)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -1521,7 +1521,7 @@
#if ENABLE(CONTENT_EXTENSIONS)
if (auto documentLoader = makeRefPtr(frame->loader().documentLoader())) {
- if (page->userContentProvider().processContentRuleListsForLoad(url, ResourceType::Media, *documentLoader).summary.blockedLoad) {
+ if (page->userContentProvider().processContentRuleListsForLoad(url, ContentExtensions::ResourceType::Media, *documentLoader).summary.blockedLoad) {
mediaLoadingFailed(MediaPlayer::FormatError);
return;
}
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (244694 => 244695)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -3069,7 +3069,7 @@
if (error.isNull()) {
if (auto* page = m_frame.page()) {
if (m_documentLoader) {
- auto results = page->userContentProvider().processContentRuleListsForLoad(newRequest.url(), ResourceType::Raw, *m_documentLoader);
+ auto results = page->userContentProvider().processContentRuleListsForLoad(newRequest.url(), ContentExtensions::ResourceType::Raw, *m_documentLoader);
bool blockedLoad = results.summary.blockedLoad;
ContentExtensions::applyResultsToRequest(WTFMove(results), page, newRequest);
if (blockedLoad) {
Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp (244694 => 244695)
--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -60,7 +60,7 @@
, m_client(&client)
{
#if ENABLE(CONTENT_EXTENSIONS)
- m_resourceType = ResourceType::PlugInStream;
+ m_resourceType = ContentExtensions::ResourceType::PlugInStream;
#endif
}
Modified: trunk/Source/WebCore/loader/PingLoader.cpp (244694 => 244695)
--- trunk/Source/WebCore/loader/PingLoader.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/PingLoader.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -57,19 +57,11 @@
namespace WebCore {
-#if !ENABLE(CONTENT_EXTENSIONS)
+#if ENABLE(CONTENT_EXTENSIONS)
// Returns true if we should block the load.
-static inline bool processContentRuleListsForLoad(const Frame&, ResourceRequest&, ResourceType)
+static bool processContentRuleListsForLoad(const Frame& frame, ResourceRequest& request, ContentExtensions::ResourceType resourceType)
{
- return false;
-}
-
-#else
-
-// Returns true if we should block the load.
-static bool processContentRuleListsForLoad(const Frame& frame, ResourceRequest& request, ResourceType resourceType)
-{
auto* documentLoader = frame.loader().documentLoader();
if (!documentLoader)
return false;
@@ -95,8 +87,10 @@
}
ResourceRequest request(url);
- if (processContentRuleListsForLoad(frame, request, ResourceType::Image))
+#if ENABLE(CONTENT_EXTENSIONS)
+ if (processContentRuleListsForLoad(frame, request, ContentExtensions::ResourceType::Image))
return;
+#endif
document.contentSecurityPolicy()->upgradeInsecureRequestIfNeeded(request, ContentSecurityPolicy::InsecureRequestType::Load);
@@ -121,8 +115,10 @@
return;
ResourceRequest request(pingURL);
- if (processContentRuleListsForLoad(frame, request, ResourceType::Raw))
+#if ENABLE(CONTENT_EXTENSIONS)
+ if (processContentRuleListsForLoad(frame, request, ContentExtensions::ResourceType::Raw))
return;
+#endif
auto& document = *frame.document();
document.contentSecurityPolicy()->upgradeInsecureRequestIfNeeded(request, ContentSecurityPolicy::InsecureRequestType::Load);
@@ -156,8 +152,10 @@
ASSERT(frame.document());
ResourceRequest request(reportURL);
- if (processContentRuleListsForLoad(frame, request, ResourceType::Raw))
+#if ENABLE(CONTENT_EXTENSIONS)
+ if (processContentRuleListsForLoad(frame, request, ContentExtensions::ResourceType::Raw))
return;
+#endif
auto& document = *frame.document();
document.contentSecurityPolicy()->upgradeInsecureRequestIfNeeded(request, ContentSecurityPolicy::InsecureRequestType::Load);
Modified: trunk/Source/WebCore/loader/ResourceLoadInfo.cpp (244694 => 244695)
--- trunk/Source/WebCore/loader/ResourceLoadInfo.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/ResourceLoadInfo.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -29,7 +29,10 @@
#include "ContentExtensionActions.h"
#include "SecurityOrigin.h"
+#if ENABLE(CONTENT_EXTENSIONS)
+
namespace WebCore {
+namespace ContentExtensions {
ResourceType toResourceType(CachedResource::Type type)
{
@@ -127,4 +130,7 @@
return flags;
}
+} // namespace ContentExtensions
} // namespace WebCore
+
+#endif // ENABLE(CONTENT_EXTENSIONS)
Modified: trunk/Source/WebCore/loader/ResourceLoadInfo.h (244694 => 244695)
--- trunk/Source/WebCore/loader/ResourceLoadInfo.h 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/ResourceLoadInfo.h 2019-04-26 17:03:15 UTC (rev 244695)
@@ -25,10 +25,13 @@
#pragma once
+#if ENABLE(CONTENT_EXTENSIONS)
+
#include "CachedResource.h"
#include <wtf/URL.h>
namespace WebCore {
+namespace ContentExtensions {
enum class ResourceType : uint16_t {
Invalid = 0x0000,
@@ -77,4 +80,7 @@
ResourceFlags getResourceFlags() const;
};
+} // namespace ContentExtensions
} // namespace WebCore
+
+#endif
Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (244694 => 244695)
--- trunk/Source/WebCore/loader/ResourceLoader.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -342,7 +342,7 @@
ASSERT(!m_reachedTerminalState);
#if ENABLE(CONTENT_EXTENSIONS)
- ASSERT(m_resourceType != ResourceType::Invalid);
+ ASSERT(m_resourceType != ContentExtensions::ResourceType::Invalid);
#endif
// We need a resource identifier for all requests, even if FrameLoader is never going to see it (such as with CORS preflight requests).
Modified: trunk/Source/WebCore/loader/ResourceLoader.h (244694 => 244695)
--- trunk/Source/WebCore/loader/ResourceLoader.h 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/ResourceLoader.h 2019-04-26 17:03:15 UTC (rev 244695)
@@ -244,7 +244,7 @@
#if ENABLE(CONTENT_EXTENSIONS)
protected:
- ResourceType m_resourceType { ResourceType::Invalid };
+ ContentExtensions::ResourceType m_resourceType { ContentExtensions::ResourceType::Invalid };
#endif
};
Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (244694 => 244695)
--- trunk/Source/WebCore/loader/SubresourceLoader.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -98,7 +98,7 @@
subresourceLoaderCounter.increment();
#endif
#if ENABLE(CONTENT_EXTENSIONS)
- m_resourceType = toResourceType(resource.type());
+ m_resourceType = ContentExtensions::toResourceType(resource.type());
#endif
m_canCrossOriginRequestsAskUserForCredentials = resource.type() == CachedResource::Type::MainResource || frame.settings().allowCrossOriginSubresourcesToAskForCredentials();
}
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (244694 => 244695)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -809,7 +809,7 @@
if (frame() && frame()->page() && m_documentLoader) {
const auto& resourceRequest = request.resourceRequest();
auto* page = frame()->page();
- auto results = page->userContentProvider().processContentRuleListsForLoad(resourceRequest.url(), toResourceType(type), *m_documentLoader);
+ auto results = page->userContentProvider().processContentRuleListsForLoad(resourceRequest.url(), ContentExtensions::toResourceType(type), *m_documentLoader);
bool blockedLoad = results.summary.blockedLoad;
bool madeHTTPS = results.summary.madeHTTPS;
request.applyResults(WTFMove(results), page);
Modified: trunk/Source/WebCore/page/DOMWindow.cpp (244694 => 244695)
--- trunk/Source/WebCore/page/DOMWindow.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/page/DOMWindow.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -2366,7 +2366,7 @@
&& firstFrame->page()
&& firstFrame->mainFrame().document()
&& firstFrame->mainFrame().document()->loader()) {
- auto results = firstFrame->page()->userContentProvider().processContentRuleListsForLoad(firstFrame->document()->completeURL(urlString), ResourceType::Popup, *firstFrame->mainFrame().document()->loader());
+ auto results = firstFrame->page()->userContentProvider().processContentRuleListsForLoad(firstFrame->document()->completeURL(urlString), ContentExtensions::ResourceType::Popup, *firstFrame->mainFrame().document()->loader());
if (results.summary.blockedLoad)
return RefPtr<WindowProxy> { nullptr };
}
Modified: trunk/Source/WebCore/page/UserContentProvider.cpp (244694 => 244695)
--- trunk/Source/WebCore/page/UserContentProvider.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/page/UserContentProvider.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -102,7 +102,7 @@
return true;
}
-ContentRuleListResults UserContentProvider::processContentRuleListsForLoad(const URL& url, ResourceType resourceType, DocumentLoader& initiatingDocumentLoader)
+ContentRuleListResults UserContentProvider::processContentRuleListsForLoad(const URL& url, ContentExtensions::ResourceType resourceType, DocumentLoader& initiatingDocumentLoader)
{
if (!contentExtensionsEnabled(initiatingDocumentLoader))
return { };
@@ -110,7 +110,7 @@
return userContentExtensionBackend().processContentRuleListsForLoad(url, resourceType, initiatingDocumentLoader);
}
-Vector<ContentExtensions::ActionsFromContentRuleList> UserContentProvider::actionsForResourceLoad(const ResourceLoadInfo& resourceLoadInfo, DocumentLoader& initiatingDocumentLoader)
+Vector<ContentExtensions::ActionsFromContentRuleList> UserContentProvider::actionsForResourceLoad(const ContentExtensions::ResourceLoadInfo& resourceLoadInfo, DocumentLoader& initiatingDocumentLoader)
{
if (!contentExtensionsEnabled(initiatingDocumentLoader))
return { };
Modified: trunk/Source/WebCore/page/UserContentProvider.h (244694 => 244695)
--- trunk/Source/WebCore/page/UserContentProvider.h 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/page/UserContentProvider.h 2019-04-26 17:03:15 UTC (rev 244695)
@@ -46,14 +46,13 @@
class UserScript;
class UserStyleSheet;
+#if ENABLE(CONTENT_EXTENSIONS)
+namespace ContentExtensions {
+class ContentExtensionsBackend;
enum class ResourceType : uint16_t;
-
struct ResourceLoadInfo;
-
-namespace ContentExtensions {
-class ContentExtensionsBackend;
-struct Action;
}
+#endif
class UserContentProvider;
@@ -89,8 +88,8 @@
#if ENABLE(CONTENT_EXTENSIONS)
// FIXME: These don't really belong here. They should probably bundled up in the ContentExtensionsBackend
// which should always exist.
- ContentRuleListResults processContentRuleListsForLoad(const URL&, ResourceType, DocumentLoader& initiatingDocumentLoader);
- Vector<ContentExtensions::ActionsFromContentRuleList> actionsForResourceLoad(const ResourceLoadInfo&, DocumentLoader& initiatingDocumentLoader);
+ ContentRuleListResults processContentRuleListsForLoad(const URL&, ContentExtensions::ResourceType, DocumentLoader& initiatingDocumentLoader);
+ Vector<ContentExtensions::ActionsFromContentRuleList> actionsForResourceLoad(const ContentExtensions::ResourceLoadInfo&, DocumentLoader& initiatingDocumentLoader);
WEBCORE_EXPORT void forEachContentExtension(const Function<void(const String&, ContentExtensions::ContentExtension&)>&, DocumentLoader& initiatingDocumentLoader);
#endif
Modified: trunk/Source/WebCore/style/StyleScope.cpp (244694 => 244695)
--- trunk/Source/WebCore/style/StyleScope.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Source/WebCore/style/StyleScope.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -54,7 +54,6 @@
namespace WebCore {
-using namespace ContentExtensions;
using namespace HTMLNames;
namespace Style {
Modified: trunk/Tools/ChangeLog (244694 => 244695)
--- trunk/Tools/ChangeLog 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Tools/ChangeLog 2019-04-26 17:03:15 UTC (rev 244695)
@@ -1,3 +1,12 @@
+2019-04-26 Alex Christensen <[email protected]>
+
+ Add ENABLE(CONTENT_EXTENSIONS) and namespace ContentExtensions to ResourceLoadInfo.h
+ https://bugs.webkit.org/show_bug.cgi?id=197165
+
+ Reviewed by Youenn Fablet.
+
+ * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
+
2019-04-26 Ryan Haddad <[email protected]>
Replace iOS build queue hardware
Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp (244694 => 244695)
--- trunk/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp 2019-04-26 16:51:48 UTC (rev 244694)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp 2019-04-26 17:03:15 UTC (rev 244695)
@@ -67,10 +67,10 @@
}
}
+namespace TestWebKitAPI {
using namespace WebCore;
+using namespace WebCore::ContentExtensions;
-namespace TestWebKitAPI {
-
class ContentExtensionTest : public testing::Test {
public:
virtual void SetUp()