Filter attribute selectors with selector filter
[WebKit-https.git] / Source / WebCore / ChangeLog
index 8dee284b74ec48e3e49483f45fbe95e7d667a30e..736ac24b8d372e542a7e60a3e89bc5f8c22c37b4 100644 (file)
@@ -1,3 +1,33 @@
+2018-02-28  Antti Koivisto  <antti@apple.com>
+
+        Filter attribute selectors with selector filter
+        https://bugs.webkit.org/show_bug.cgi?id=183200
+
+        Reviewed by Zalan Bujtas.
+
+        Currently selector filtering is done based on tags, classes and ids. We should include attributes too.
+
+        This patch adds filtering based on attribute name (but not content).
+
+        * css/SelectorFilter.cpp:
+        (WebCore::isExcludedAttribute):
+
+            Ignore id, class and style attributes. First two are already handled and the last is common but is rarely
+            used in selectors.
+
+        (WebCore::collectElementIdentifierHashes):
+
+            Collect attributes.
+            Remove the unnecessary StyledElement casting.
+
+        (WebCore::collectSimpleSelectorHash):
+
+            Collect attribute selectors.
+
+        (WebCore::chooseSelectorHashesForFilter):
+
+            Pick attributes with high priority for the filter as it is likely a good signal.
+
 2018-02-27  Sergio Villar Senin  <svillar@igalia.com>
 
         [WebVR] Convert VRPlatformDisplayInfo into a class