Bug 1360488 - Part 2: stylo: Propagate quirks mode information from Gecko to Servo r=bholley
MozReview-Commit-ID: 6AyuC2jd3d4
This commit is contained in:
@@ -1722,7 +1722,8 @@ nsAttrValue::ParseStyleAttribute(const nsAString& aString,
|
|||||||
if (ownerDoc->GetStyleBackendType() == StyleBackendType::Servo) {
|
if (ownerDoc->GetStyleBackendType() == StyleBackendType::Servo) {
|
||||||
RefPtr<URLExtraData> data = new URLExtraData(baseURI, docURI,
|
RefPtr<URLExtraData> data = new URLExtraData(baseURI, docURI,
|
||||||
aElement->NodePrincipal());
|
aElement->NodePrincipal());
|
||||||
decl = ServoDeclarationBlock::FromCssText(aString, data);
|
decl = ServoDeclarationBlock::FromCssText(aString, data,
|
||||||
|
ownerDoc->GetCompatibilityMode());
|
||||||
} else {
|
} else {
|
||||||
css::Loader* cssLoader = ownerDoc->CSSLoader();
|
css::Loader* cssLoader = ownerDoc->CSSLoader();
|
||||||
nsCSSParser cssParser(cssLoader);
|
nsCSSParser cssParser(cssLoader);
|
||||||
|
|||||||
@@ -208,7 +208,8 @@ SERVO_BINDING_FUNC(Servo_AnimationValue_Compute,
|
|||||||
// Style attribute
|
// Style attribute
|
||||||
SERVO_BINDING_FUNC(Servo_ParseStyleAttribute, RawServoDeclarationBlockStrong,
|
SERVO_BINDING_FUNC(Servo_ParseStyleAttribute, RawServoDeclarationBlockStrong,
|
||||||
const nsACString* data,
|
const nsACString* data,
|
||||||
RawGeckoURLExtraData* extra_data)
|
RawGeckoURLExtraData* extra_data,
|
||||||
|
nsCompatibility quirks_mode)
|
||||||
SERVO_BINDING_FUNC(Servo_DeclarationBlock_CreateEmpty,
|
SERVO_BINDING_FUNC(Servo_DeclarationBlock_CreateEmpty,
|
||||||
RawServoDeclarationBlockStrong)
|
RawServoDeclarationBlockStrong)
|
||||||
SERVO_BINDING_FUNC(Servo_DeclarationBlock_Clone, RawServoDeclarationBlockStrong,
|
SERVO_BINDING_FUNC(Servo_DeclarationBlock_Clone, RawServoDeclarationBlockStrong,
|
||||||
|
|||||||
@@ -13,12 +13,13 @@ namespace mozilla {
|
|||||||
|
|
||||||
/* static */ already_AddRefed<ServoDeclarationBlock>
|
/* static */ already_AddRefed<ServoDeclarationBlock>
|
||||||
ServoDeclarationBlock::FromCssText(const nsAString& aCssText,
|
ServoDeclarationBlock::FromCssText(const nsAString& aCssText,
|
||||||
URLExtraData* aExtraData)
|
URLExtraData* aExtraData,
|
||||||
|
nsCompatibility aMode)
|
||||||
{
|
{
|
||||||
NS_ConvertUTF16toUTF8 value(aCssText);
|
NS_ConvertUTF16toUTF8 value(aCssText);
|
||||||
// FIXME (bug 1343964): Figure out a better solution for sending the base uri to servo
|
// FIXME (bug 1343964): Figure out a better solution for sending the base uri to servo
|
||||||
RefPtr<RawServoDeclarationBlock>
|
RefPtr<RawServoDeclarationBlock>
|
||||||
raw = Servo_ParseStyleAttribute(&value, aExtraData).Consume();
|
raw = Servo_ParseStyleAttribute(&value, aExtraData, aMode).Consume();
|
||||||
RefPtr<ServoDeclarationBlock> decl = new ServoDeclarationBlock(raw.forget());
|
RefPtr<ServoDeclarationBlock> decl = new ServoDeclarationBlock(raw.forget());
|
||||||
return decl.forget();
|
return decl.forget();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ public:
|
|||||||
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(ServoDeclarationBlock)
|
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(ServoDeclarationBlock)
|
||||||
|
|
||||||
static already_AddRefed<ServoDeclarationBlock>
|
static already_AddRefed<ServoDeclarationBlock>
|
||||||
FromCssText(const nsAString& aCssText, URLExtraData* aExtraData);
|
FromCssText(const nsAString& aCssText, URLExtraData* aExtraData,
|
||||||
|
nsCompatibility aMode);
|
||||||
|
|
||||||
RawServoDeclarationBlock* Raw() const { return mRaw; }
|
RawServoDeclarationBlock* Raw() const { return mRaw; }
|
||||||
RawServoDeclarationBlock* const* RefRaw() const {
|
RawServoDeclarationBlock* const* RefRaw() const {
|
||||||
|
|||||||
@@ -130,7 +130,8 @@ nsDOMCSSDeclaration::SetCssText(const nsAString& aCssText)
|
|||||||
return NS_ERROR_NOT_AVAILABLE;
|
return NS_ERROR_NOT_AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
newdecl = ServoDeclarationBlock::FromCssText(aCssText, servoEnv.mUrlExtraData);
|
newdecl = ServoDeclarationBlock::FromCssText(aCssText, servoEnv.mUrlExtraData,
|
||||||
|
servoEnv.mCompatMode);
|
||||||
} else {
|
} else {
|
||||||
CSSParsingEnvironment geckoEnv;
|
CSSParsingEnvironment geckoEnv;
|
||||||
GetCSSParsingEnvironment(geckoEnv);
|
GetCSSParsingEnvironment(geckoEnv);
|
||||||
|
|||||||
Reference in New Issue
Block a user