Bug 1475511: Simplify MozdocumentRule::Match. r=xidorn draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Thu, 19 Jul 2018 19:48:38 +0200
changeset 820836 8983bc9ae92833222f6d7d129e441a208e45f510
parent 820835 533cc7054254ef69e7ebbe145e0843c6374afaef
child 820837 b5871e10bf93cae96d4c7a5605d7769f4e75e205
push id116953
push userbmo:emilio@crisal.io
push dateFri, 20 Jul 2018 13:44:17 +0000
reviewersxidorn
bugs1475511
milestone63.0a1
Bug 1475511: Simplify MozdocumentRule::Match. r=xidorn MozReview-Commit-ID: 9qBm3BJqhWY
layout/style/CSSMozDocumentRule.cpp
--- a/layout/style/CSSMozDocumentRule.cpp
+++ b/layout/style/CSSMozDocumentRule.cpp
@@ -23,52 +23,38 @@ CSSMozDocumentRule::WrapObject(JSContext
 bool
 CSSMozDocumentRule::Match(nsIDocument* aDoc,
                           nsIURI* aDocURI,
                           const nsACString& aDocURISpec,
                           const nsACString& aPattern,
                           DocumentMatchingFunction aMatchingFunction)
 {
   switch (aMatchingFunction) {
-    case DocumentMatchingFunction::URL: {
-      if (aDocURISpec == aPattern) {
-        return true;
-      }
-    } break;
-    case DocumentMatchingFunction::URLPrefix: {
-      if (StringBeginsWith(aDocURISpec, aPattern)) {
-        return true;
-      }
-    } break;
+    case DocumentMatchingFunction::URL:
+      return aDocURISpec == aPattern;
+    case DocumentMatchingFunction::URLPrefix:
+      return StringBeginsWith(aDocURISpec, aPattern);
     case DocumentMatchingFunction::Domain: {
       nsAutoCString host;
       if (aDocURI) {
         aDocURI->GetHost(host);
       }
       int32_t lenDiff = host.Length() - aPattern.Length();
       if (lenDiff == 0) {
-        if (host == aPattern) {
-          return true;
-        }
-      } else {
-        if (StringEndsWith(host, aPattern) &&
-            host.CharAt(lenDiff - 1) == '.') {
-          return true;
-        }
+        return host == aPattern;
       }
-    } break;
+      return StringEndsWith(host, aPattern) && host.CharAt(lenDiff - 1) == '.';
+    }
     case DocumentMatchingFunction::RegExp: {
       NS_ConvertUTF8toUTF16 spec(aDocURISpec);
       NS_ConvertUTF8toUTF16 regex(aPattern);
-      if (nsContentUtils::IsPatternMatching(spec, regex, aDoc)) {
-        return true;
-      }
-    } break;
+      return nsContentUtils::IsPatternMatching(spec, regex, aDoc);
+    }
   }
-
+  MOZ_ASSERT_UNREACHABLE("Unknown matching function");
   return false;
 }
 
 CSSMozDocumentRule::CSSMozDocumentRule(RefPtr<RawServoMozDocumentRule> aRawRule,
                                        StyleSheet* aSheet,
                                        css::Rule* aParentRule,
                                        uint32_t aLine,
                                        uint32_t aColumn)