Bug 1408303 - Part 1: Use the Servo parser for font descriptors Web API. r=heycam

MozReview-Commit-ID: J8kZUxavUGt

--HG--
extra : rebase_source : f52c567e6679d8c3ef001a891e842ffb015c0396
This commit is contained in:
Boris Chiou 2017-12-05 13:48:23 +08:00
parent cb9276bc80
commit cdef5f3e01
3 changed files with 14 additions and 2 deletions

View File

@ -513,8 +513,6 @@ FontFace::ParseDescriptor(nsCSSFontDesc aDescID,
const nsAString& aString,
nsCSSValue& aResult)
{
nsCSSParser parser;
nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(mParent);
nsCOMPtr<nsIPrincipal> principal = global->PrincipalOrNull();
@ -522,6 +520,12 @@ FontFace::ParseDescriptor(nsCSSFontDesc aDescID,
nsCOMPtr<nsIURI> docURI = window->GetDocumentURI();
nsCOMPtr<nsIURI> base = window->GetDocBaseURI();
if (mFontFaceSet->Document()->IsStyledByServo()) {
RefPtr<URLExtraData> url = new URLExtraData(base, docURI, principal);
return Servo_ParseFontDescriptor(aDescID, &aString, url, &aResult);
}
nsCSSParser parser;
if (!parser.ParseFontFaceDescriptor(aDescID, aString,
docURI, // aSheetURL
base,

View File

@ -764,6 +764,11 @@ SERVO_BINDING_FUNC(Servo_ParseCounterStyleDescriptor, bool,
const nsACString* aValue,
RawGeckoURLExtraData* aURLExtraData,
nsCSSValue* aResult);
SERVO_BINDING_FUNC(Servo_ParseFontDescriptor, bool,
nsCSSFontDesc desc_id,
const nsAString* value,
RawGeckoURLExtraData* data,
nsCSSValueBorrowedMut);
// AddRef / Release functions
#define SERVO_ARC_TYPE(name_, type_) \

View File

@ -133,6 +133,7 @@ rusty-enums = [
"nsIDocument_DocumentTheme",
"nsIDocument_Type",
"nsCSSUnit",
"nsCSSFontDesc",
"nsCSSPropertyID",
"nsCSSCounterDesc",
"nsMediaFeature_RangeType",
@ -273,6 +274,7 @@ whitelist-types = [
"nsChangeHint",
"nsCSSCounterDesc",
"nsCSSCounterStyleRule",
"nsCSSFontDesc",
"nsCSSFontFaceRule",
"nsCSSKeyword",
"nsCSSPropertyID",
@ -524,6 +526,7 @@ structs-types = [
"gfxFontFeatureValueSet",
"nsCSSCounterDesc",
"nsCSSCounterStyleRule",
"nsCSSFontDesc",
"nsCSSFontFaceRule",
"nsCSSKeyword",
"nsCSSPropertyID",