Title: [272293] trunk/Source/WebCore
- Revision
- 272293
- Author
- [email protected]
- Date
- 2021-02-02 19:08:27 -0800 (Tue, 02 Feb 2021)
Log Message
Add stub in ContentExtensionsBackend for HTTPS upgrade
https://bugs.webkit.org/show_bug.cgi?id=220959
Patch by Alex Christensen <[email protected]> on 2021-02-02
Reviewed by Geoffrey Garen.
In order for it to be called, I needed to remove a few unnecessary early returns that prevent us from doing trivial tasks like getting a Document pointer
if there are no WKContentRuleLists installed.
I also removed some dead code.
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::makeSecureIfNecessary):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForPingLoad):
* page/UserContentProvider.cpp:
(WebCore::contentRuleListsEnabled):
(WebCore::UserContentProvider::processContentRuleListsForLoad):
(WebCore::contentExtensionsEnabled): Deleted.
(WebCore::UserContentProvider::actionsForResourceLoad): Deleted.
(WebCore::UserContentProvider::forEachContentExtension): Deleted.
* page/UserContentProvider.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (272292 => 272293)
--- trunk/Source/WebCore/ChangeLog 2021-02-03 01:42:16 UTC (rev 272292)
+++ trunk/Source/WebCore/ChangeLog 2021-02-03 03:08:27 UTC (rev 272293)
@@ -1,3 +1,26 @@
+2021-02-02 Alex Christensen <[email protected]>
+
+ Add stub in ContentExtensionsBackend for HTTPS upgrade
+ https://bugs.webkit.org/show_bug.cgi?id=220959
+
+ Reviewed by Geoffrey Garen.
+
+ In order for it to be called, I needed to remove a few unnecessary early returns that prevent us from doing trivial tasks like getting a Document pointer
+ if there are no WKContentRuleLists installed.
+ I also removed some dead code.
+
+ * contentextensions/ContentExtensionsBackend.cpp:
+ (WebCore::ContentExtensions::makeSecureIfNecessary):
+ (WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):
+ (WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForPingLoad):
+ * page/UserContentProvider.cpp:
+ (WebCore::contentRuleListsEnabled):
+ (WebCore::UserContentProvider::processContentRuleListsForLoad):
+ (WebCore::contentExtensionsEnabled): Deleted.
+ (WebCore::UserContentProvider::actionsForResourceLoad): Deleted.
+ (WebCore::UserContentProvider::forEachContentExtension): Deleted.
+ * page/UserContentProvider.h:
+
2021-02-02 Simon Fraser <[email protected]>
Rename HTMLFormControlElement::setNeedsWillValidateCheck() to updateWillValidateAndValidity()
Modified: trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp (272292 => 272293)
--- trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp 2021-02-03 01:42:16 UTC (rev 272292)
+++ trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp 2021-02-03 03:08:27 UTC (rev 272293)
@@ -53,7 +53,15 @@
namespace WebCore {
namespace ContentExtensions {
-
+
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/ContentRuleListAdditions.mm>
+#else
+static void makeSecureIfNecessary(ContentRuleListResults&, const URL&)
+{
+}
+#endif
+
void ContentExtensionsBackend::addContentExtension(const String& identifier, Ref<CompiledContentExtension> compiledContentExtension, ContentExtension::ShouldCompileCSS shouldCompileCSS)
{
ASSERT(!identifier.isEmpty());
@@ -155,13 +163,10 @@
ContentRuleListResults ContentExtensionsBackend::processContentRuleListsForLoad(const URL& url, OptionSet<ResourceType> resourceType, DocumentLoader& initiatingDocumentLoader)
{
- if (m_contentExtensions.isEmpty())
- return { };
-
Document* currentDocument = nullptr;
URL mainDocumentURL;
- if (Frame* frame = initiatingDocumentLoader.frame()) {
+ if (auto* frame = initiatingDocumentLoader.frame()) {
currentDocument = frame->document();
if (initiatingDocumentLoader.isLoadingMainResource()
@@ -168,7 +173,7 @@
&& frame->isMainFrame()
&& resourceType == ResourceType::Document)
mainDocumentURL = url;
- else if (Document* mainDocument = frame->mainFrame().document())
+ else if (auto* mainDocument = frame->mainFrame().document())
mainDocumentURL = mainDocument->url();
}
@@ -176,6 +181,7 @@
auto actions = actionsForResourceLoad(resourceLoadInfo);
ContentRuleListResults results;
+ makeSecureIfNecessary(results, url);
results.results.reserveInitialCapacity(actions.size());
for (const auto& actionsFromContentRuleList : actions) {
const String& contentRuleListIdentifier = actionsFromContentRuleList.contentRuleListIdentifier;
@@ -250,13 +256,11 @@
ContentRuleListResults ContentExtensionsBackend::processContentRuleListsForPingLoad(const URL& url, const URL& mainDocumentURL)
{
- if (m_contentExtensions.isEmpty())
- return { };
-
ResourceLoadInfo resourceLoadInfo = { url, mainDocumentURL, ResourceType::Raw };
auto actions = actionsForResourceLoad(resourceLoadInfo);
ContentRuleListResults results;
+ makeSecureIfNecessary(results, url);
for (const auto& actionsFromContentRuleList : actions) {
for (const auto& action : actionsFromContentRuleList.actions) {
switch (action.type()) {
Modified: trunk/Source/WebCore/page/UserContentProvider.cpp (272292 => 272293)
--- trunk/Source/WebCore/page/UserContentProvider.cpp 2021-02-03 01:42:16 UTC (rev 272292)
+++ trunk/Source/WebCore/page/UserContentProvider.cpp 2021-02-03 03:08:27 UTC (rev 272293)
@@ -90,7 +90,7 @@
}
#if ENABLE(CONTENT_EXTENSIONS)
-static bool contentExtensionsEnabled(const DocumentLoader& documentLoader)
+static bool contentRuleListsEnabled(const DocumentLoader& documentLoader)
{
if (auto frame = documentLoader.frame()) {
if (frame->isMainFrame())
@@ -104,28 +104,11 @@
ContentRuleListResults UserContentProvider::processContentRuleListsForLoad(const URL& url, OptionSet<ContentExtensions::ResourceType> resourceType, DocumentLoader& initiatingDocumentLoader)
{
- if (!contentExtensionsEnabled(initiatingDocumentLoader))
+ if (!contentRuleListsEnabled(initiatingDocumentLoader))
return { };
return userContentExtensionBackend().processContentRuleListsForLoad(url, resourceType, initiatingDocumentLoader);
}
-
-Vector<ContentExtensions::ActionsFromContentRuleList> UserContentProvider::actionsForResourceLoad(const ContentExtensions::ResourceLoadInfo& resourceLoadInfo, DocumentLoader& initiatingDocumentLoader)
-{
- if (!contentExtensionsEnabled(initiatingDocumentLoader))
- return { };
-
- return userContentExtensionBackend().actionsForResourceLoad(resourceLoadInfo);
-}
-
-void UserContentProvider::forEachContentExtension(const WTF::Function<void(const String&, ContentExtensions::ContentExtension&)>& apply, DocumentLoader& initiatingDocumentLoader)
-{
- if (!contentExtensionsEnabled(initiatingDocumentLoader))
- return;
-
- userContentExtensionBackend().forEach(apply);
-}
-
#endif
} // namespace WebCore
Modified: trunk/Source/WebCore/page/UserContentProvider.h (272292 => 272293)
--- trunk/Source/WebCore/page/UserContentProvider.h 2021-02-03 01:42:16 UTC (rev 272292)
+++ trunk/Source/WebCore/page/UserContentProvider.h 2021-02-03 03:08:27 UTC (rev 272293)
@@ -88,11 +88,7 @@
void removePage(Page&);
#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&, OptionSet<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
protected:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes