Bug 1475511: Simplify MozdocumentRule::Match. r=xidorn
MozReview-Commit-ID: 9qBm3BJqhWY
--- 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)