Bug 1331316 - stylo: support 1-arg CSS.supports(); r?heycam
MozReview-Commit-ID: 8di024Rxttn
--- a/layout/style/CSS.cpp
+++ b/layout/style/CSS.cpp
@@ -60,17 +60,17 @@ CSS::Supports(const GlobalObject& aGloba
if (NS_FAILED(rv)) {
aRv.Throw(rv);
return false;
}
if (info.mStyleBackendType == StyleBackendType::Servo) {
NS_ConvertUTF16toUTF8 property(aProperty);
NS_ConvertUTF16toUTF8 value(aValue);
- return Servo_CSSSupports(&property, &value);
+ return Servo_CSSSupports2(&property, &value);
}
nsCSSParser parser;
return parser.EvaluateSupportsDeclaration(aProperty, aValue, info.mDocURI,
info.mBaseURI, info.mPrincipal);
}
/* static */ bool
@@ -82,17 +82,18 @@ CSS::Supports(const GlobalObject& aGloba
nsresult rv = GetParsingInfo(aGlobal, info);
if (NS_FAILED(rv)) {
aRv.Throw(rv);
return false;
}
if (info.mStyleBackendType == StyleBackendType::Servo) {
- MOZ_CRASH("stylo: CSS.supports() with arguments is not yet implemented");
+ NS_ConvertUTF16toUTF8 cond(aCondition);
+ return Servo_CSSSupports(&cond);
}
nsCSSParser parser;
return parser.EvaluateSupportsCondition(aCondition, info.mDocURI,
info.mBaseURI, info.mPrincipal);
}
/* static */ void
--- a/layout/style/ServoBindingList.h
+++ b/layout/style/ServoBindingList.h
@@ -148,18 +148,20 @@ SERVO_BINDING_FUNC(Servo_DeclarationBloc
SERVO_BINDING_FUNC(Servo_DeclarationBlock_RemoveProperty, void,
RawServoDeclarationBlockBorrowed declarations,
const nsACString* property)
SERVO_BINDING_FUNC(Servo_DeclarationBlock_RemovePropertyById, void,
RawServoDeclarationBlockBorrowed declarations,
nsCSSPropertyID property)
// CSS supports()
+SERVO_BINDING_FUNC(Servo_CSSSupports2, bool,
+ const nsACString* name, const nsACString* value)
SERVO_BINDING_FUNC(Servo_CSSSupports, bool,
- const nsACString* name, const nsACString* value)
+ const nsACString* cond)
// Computed style data
SERVO_BINDING_FUNC(Servo_ComputedValues_GetForAnonymousBox,
ServoComputedValuesStrong,
ServoComputedValuesBorrowedOrNull parent_style_or_null,
nsIAtom* pseudoTag, RawServoStyleSetBorrowed set)
SERVO_BINDING_FUNC(Servo_ComputedValues_Inherit, ServoComputedValuesStrong,
RawServoStyleSetBorrowed set,