Title: [219573] trunk
Revision
219573
Author
achristen...@apple.com
Date
2017-07-17 13:48:34 -0700 (Mon, 17 Jul 2017)

Log Message

Modernize content extension code
https://bugs.webkit.org/show_bug.cgi?id=174588

Reviewed by Sam Weinig.

Source/WebCore:

No change in behavior.  Just use Ref instead of RefPtr where possible.

* contentextensions/ContentExtension.cpp:
(WebCore::ContentExtensions::ContentExtension::create):
* contentextensions/ContentExtension.h:
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
* contentextensions/ContentExtensionsBackend.h:

Source/WebKit:

* WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addContentRuleLists):

Tools:

* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter):
(TestWebKitAPI::testRequest):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (219572 => 219573)


--- trunk/Source/WebCore/ChangeLog	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Source/WebCore/ChangeLog	2017-07-17 20:48:34 UTC (rev 219573)
@@ -1,3 +1,20 @@
+2017-07-17  Alex Christensen  <achristen...@webkit.org>
+
+        Modernize content extension code
+        https://bugs.webkit.org/show_bug.cgi?id=174588
+
+        Reviewed by Sam Weinig.
+
+        No change in behavior.  Just use Ref instead of RefPtr where possible.
+
+        * contentextensions/ContentExtension.cpp:
+        (WebCore::ContentExtensions::ContentExtension::create):
+        * contentextensions/ContentExtension.h:
+        * contentextensions/ContentExtensionsBackend.cpp:
+        (WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):
+        (WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
+        * contentextensions/ContentExtensionsBackend.h:
+
 2017-07-17  Simon Fraser  <simon.fra...@apple.com>
 
         clientX/clientY on TouchEvent.touches are wrong

Modified: trunk/Source/WebCore/contentextensions/ContentExtension.cpp (219572 => 219573)


--- trunk/Source/WebCore/contentextensions/ContentExtension.cpp	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Source/WebCore/contentextensions/ContentExtension.cpp	2017-07-17 20:48:34 UTC (rev 219573)
@@ -36,7 +36,7 @@
 namespace WebCore {
 namespace ContentExtensions {
 
-RefPtr<ContentExtension> ContentExtension::create(const String& identifier, Ref<CompiledContentExtension>&& compiledExtension)
+Ref<ContentExtension> ContentExtension::create(const String& identifier, Ref<CompiledContentExtension>&& compiledExtension)
 {
     return adoptRef(*new ContentExtension(identifier, WTFMove(compiledExtension)));
 }

Modified: trunk/Source/WebCore/contentextensions/ContentExtension.h (219572 => 219573)


--- trunk/Source/WebCore/contentextensions/ContentExtension.h	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Source/WebCore/contentextensions/ContentExtension.h	2017-07-17 20:48:34 UTC (rev 219573)
@@ -41,7 +41,7 @@
 
 class ContentExtension : public RefCounted<ContentExtension> {
 public:
-    static RefPtr<ContentExtension> create(const String& identifier, Ref<CompiledContentExtension>&&);
+    static Ref<ContentExtension> create(const String& identifier, Ref<CompiledContentExtension>&&);
 
     const String& identifier() const { return m_identifier; }
     const CompiledContentExtension& compiledExtension() const { return m_compiledExtension.get(); }

Modified: trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp (219572 => 219573)


--- trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp	2017-07-17 20:48:34 UTC (rev 219573)
@@ -48,19 +48,14 @@
 
 namespace ContentExtensions {
     
-void ContentExtensionsBackend::addContentExtension(const String& identifier, RefPtr<CompiledContentExtension> compiledContentExtension)
+void ContentExtensionsBackend::addContentExtension(const String& identifier, Ref<CompiledContentExtension> compiledContentExtension)
 {
     ASSERT(!identifier.isEmpty());
     if (identifier.isEmpty())
         return;
-
-    if (!compiledContentExtension) {
-        removeContentExtension(identifier);
-        return;
-    }
-
-    RefPtr<ContentExtension> extension = ContentExtension::create(identifier, adoptRef(*compiledContentExtension.leakRef()));
-    m_contentExtensions.set(identifier, WTFMove(extension));
+    
+    auto contentExtension = ContentExtension::create(identifier, WTFMove(compiledContentExtension));
+    m_contentExtensions.set(identifier, WTFMove(contentExtension));
 }
 
 void ContentExtensionsBackend::removeContentExtension(const String& identifier)
@@ -88,7 +83,6 @@
     Vector<Action> finalActions;
     ResourceFlags flags = resourceLoadInfo.getResourceFlags();
     for (auto& contentExtension : m_contentExtensions.values()) {
-        RELEASE_ASSERT(contentExtension);
         const CompiledContentExtension& compiledExtension = contentExtension->compiledExtension();
         
         DFABytecodeInterpreter withoutConditionsInterpreter(compiledExtension.filtersWithoutConditionsBytecode(), compiledExtension.filtersWithoutConditionsBytecodeLength());

Modified: trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.h (219572 => 219573)


--- trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.h	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.h	2017-07-17 20:48:34 UTC (rev 219573)
@@ -56,7 +56,7 @@
 
     // Set a list of rules for a given name. If there were existing rules for the name, they are overriden.
     // The identifier cannot be empty.
-    WEBCORE_EXPORT void addContentExtension(const String& identifier, RefPtr<CompiledContentExtension>);
+    WEBCORE_EXPORT void addContentExtension(const String& identifier, Ref<CompiledContentExtension>);
     WEBCORE_EXPORT void removeContentExtension(const String& identifier);
     WEBCORE_EXPORT void removeAllContentExtensions();
 
@@ -69,7 +69,7 @@
     static const String& displayNoneCSSRule();
 
 private:
-    HashMap<String, RefPtr<ContentExtension>> m_contentExtensions;
+    HashMap<String, Ref<ContentExtension>> m_contentExtensions;
 };
 
 } // namespace ContentExtensions

Modified: trunk/Source/WebKit/ChangeLog (219572 => 219573)


--- trunk/Source/WebKit/ChangeLog	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Source/WebKit/ChangeLog	2017-07-17 20:48:34 UTC (rev 219573)
@@ -1,3 +1,13 @@
+2017-07-17  Alex Christensen  <achristen...@webkit.org>
+
+        Modernize content extension code
+        https://bugs.webkit.org/show_bug.cgi?id=174588
+
+        Reviewed by Sam Weinig.
+
+        * WebProcess/UserContent/WebUserContentController.cpp:
+        (WebKit::WebUserContentController::addContentRuleLists):
+
 2017-07-17  Jeremy Jones  <jere...@apple.com>
 
         Add video fullscreen transition logging.

Modified: trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp (219572 => 219573)


--- trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Source/WebKit/WebProcess/UserContent/WebUserContentController.cpp	2017-07-17 20:48:34 UTC (rev 219573)
@@ -343,7 +343,7 @@
 {
     for (const auto& contentRuleList : contentRuleLists) {
         WebCompiledContentRuleListData contentRuleListData = contentRuleList.second;
-        RefPtr<WebCompiledContentRuleList> compiledContentRuleList = WebCompiledContentRuleList::create(WTFMove(contentRuleListData));
+        auto compiledContentRuleList = WebCompiledContentRuleList::create(WTFMove(contentRuleListData));
 
         m_contentExtensionBackend.addContentExtension(contentRuleList.first, WTFMove(compiledContentRuleList));
     }

Modified: trunk/Tools/ChangeLog (219572 => 219573)


--- trunk/Tools/ChangeLog	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Tools/ChangeLog	2017-07-17 20:48:34 UTC (rev 219573)
@@ -1,3 +1,16 @@
+2017-07-17  Alex Christensen  <achristen...@webkit.org>
+
+        Modernize content extension code
+        https://bugs.webkit.org/show_bug.cgi?id=174588
+
+        Reviewed by Sam Weinig.
+
+        * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
+        (TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter):
+        (TestWebKitAPI::testRequest):
+        (TestWebKitAPI::makeBackend):
+        (TestWebKitAPI::TEST_F):
+
 2017-07-17  Brady Eidson  <beid...@apple.com>
 
         WKHTTPCookieStore observing only works on the default cookie store.

Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp (219572 => 219573)


--- trunk/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp	2017-07-17 20:39:53 UTC (rev 219572)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp	2017-07-17 20:48:34 UTC (rev 219573)
@@ -148,7 +148,7 @@
 
 class InMemoryCompiledContentExtension : public ContentExtensions::CompiledContentExtension {
 public:
-    static RefPtr<InMemoryCompiledContentExtension> createFromFilter(String&& filter)
+    static Ref<InMemoryCompiledContentExtension> createFromFilter(String&& filter)
     {
         CompiledContentExtensionData extensionData;
         InMemoryContentExtensionCompilationClient client(extensionData);
@@ -156,7 +156,6 @@
         if (compilerError) {
             // Compiling should always succeed here. We have other tests for compile failures.
             EXPECT_TRUE(false);
-            return nullptr;
         }
 
         return InMemoryCompiledContentExtension::create(WTFMove(extensionData));
@@ -190,7 +189,7 @@
     CompiledContentExtensionData m_data;
 };
 
-void static testRequest(ContentExtensions::ContentExtensionsBackend contentExtensionsBackend, const ResourceLoadInfo& resourceLoadInfo, Vector<ContentExtensions::ActionType> expectedActions, bool ignorePreviousRules = false)
+void static testRequest(const ContentExtensions::ContentExtensionsBackend& contentExtensionsBackend, const ResourceLoadInfo& resourceLoadInfo, Vector<ContentExtensions::ActionType> expectedActions, bool ignorePreviousRules = false)
 {
     auto actions = contentExtensionsBackend.actionsForResourceLoad(resourceLoadInfo);
     unsigned expectedSize = actions.size();
@@ -222,7 +221,7 @@
     AtomicString::init();
     auto extension = InMemoryCompiledContentExtension::createFromFilter(json);
     ContentExtensions::ContentExtensionsBackend backend;
-    backend.addContentExtension("testFilter", extension);
+    backend.addContentExtension("testFilter", WTFMove(extension));
     return backend;
 }
 
@@ -868,8 +867,8 @@
     auto extension1 = InMemoryCompiledContentExtension::createFromFilter("[{\"action\":{\"type\":\"block\"},\"trigger\":{\"url-filter\":\"block_load\"}}]");
     auto extension2 = InMemoryCompiledContentExtension::createFromFilter("[{\"action\":{\"type\":\"block-cookies\"},\"trigger\":{\"url-filter\":\"block_cookies\"}}]");
     ContentExtensions::ContentExtensionsBackend backend;
-    backend.addContentExtension("testFilter1", extension1);
-    backend.addContentExtension("testFilter2", extension2);
+    backend.addContentExtension("testFilter1", WTFMove(extension1));
+    backend.addContentExtension("testFilter2", WTFMove(extension2));
     
     // These each have two display:none stylesheets. The second one is implied by using the default parameter ignorePreviousRules = false.
     testRequest(backend, mainDocumentRequest("http://webkit.org"), { ContentExtensions::ActionType::CSSDisplayNoneStyleSheet });
@@ -883,8 +882,8 @@
     auto ignoreExtension2 = InMemoryCompiledContentExtension::createFromFilter("[{\"action\":{\"type\":\"block-cookies\"},\"trigger\":{\"url-filter\":\"block_cookies\"}},"
         "{\"action\":{\"type\":\"ignore-previous-rules\"},\"trigger\":{\"url-filter\":\"ignore2\"}}]");
     ContentExtensions::ContentExtensionsBackend backendWithIgnore;
-    backendWithIgnore.addContentExtension("testFilter1", ignoreExtension1);
-    backendWithIgnore.addContentExtension("testFilter2", ignoreExtension2);
+    backendWithIgnore.addContentExtension("testFilter1", WTFMove(ignoreExtension1));
+    backendWithIgnore.addContentExtension("testFilter2", WTFMove(ignoreExtension2));
     
     testRequest(backendWithIgnore, mainDocumentRequest("http://webkit.org"), { ContentExtensions::ActionType::CSSDisplayNoneStyleSheet, ContentExtensions::ActionType::CSSDisplayNoneStyleSheet }, true);
     testRequest(backendWithIgnore, mainDocumentRequest("http://webkit.org/block_load/ignore1.html"), { ContentExtensions::ActionType::CSSDisplayNoneStyleSheet }, true);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to