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

Reply via email to