Bug 1341714 - Part 4: stylo: Add support for xml:lang; r=heycam

MozReview-Commit-ID: E0GpyPKES3k

--HG--
extra : rebase_source : 0395305db946b4b54427fa9a19f2c3796123e6f5
This commit is contained in:
Manish Goregaokar 2017-03-26 13:53:34 -07:00
parent 6ebe8fa88b
commit b67b0cb1ef
3 changed files with 25 additions and 13 deletions

View File

@ -254,25 +254,25 @@ HTTP(..) == graphite-surrogate-selection.html graphite-surrogate-selection.html
== auto-hyphenation-8.html auto-hyphenation-8.html
== auto-hyphenation-9.html auto-hyphenation-9.html
== auto-hyphenation-10.html auto-hyphenation-10.html
fails == auto-hyphenation-xmllang-1.xhtml auto-hyphenation-xmllang-1.xhtml # Bug 1341714
fails == auto-hyphenation-xmllang-1.xhtml auto-hyphenation-xmllang-1.xhtml # Bug 1341714
fails == auto-hyphenation-xmllang-1a.xhtml auto-hyphenation-xmllang-1a.xhtml
fails == auto-hyphenation-xmllang-2.xhtml auto-hyphenation-xmllang-2.xhtml
== auto-hyphenation-xmllang-1.xhtml auto-hyphenation-xmllang-1.xhtml # Bug 1341714
== auto-hyphenation-xmllang-1.xhtml auto-hyphenation-xmllang-1.xhtml # Bug 1341714
== auto-hyphenation-xmllang-1a.xhtml auto-hyphenation-xmllang-1a.xhtml
== auto-hyphenation-xmllang-2.xhtml auto-hyphenation-xmllang-2.xhtml
== auto-hyphenation-xmllang-3.xhtml auto-hyphenation-xmllang-3.xhtml
== auto-hyphenation-xmllang-4.xhtml auto-hyphenation-xmllang-4.xhtml
fails == auto-hyphenation-xmllang-5.xhtml auto-hyphenation-xmllang-5.xhtml
fails == auto-hyphenation-xmllang-6.xhtml auto-hyphenation-xmllang-6.xhtml
fails == auto-hyphenation-xmllang-7.xhtml auto-hyphenation-xmllang-7.xhtml
== auto-hyphenation-xmllang-5.xhtml auto-hyphenation-xmllang-5.xhtml
== auto-hyphenation-xmllang-6.xhtml auto-hyphenation-xmllang-6.xhtml
== auto-hyphenation-xmllang-7.xhtml auto-hyphenation-xmllang-7.xhtml
== auto-hyphenation-xmllang-8.xhtml auto-hyphenation-xmllang-8.xhtml
== auto-hyphenation-xmllang-9.xhtml auto-hyphenation-xmllang-9.xhtml
== auto-hyphenation-xmllang-10.xhtml auto-hyphenation-xmllang-10.xhtml
fails == auto-hyphenation-xmllang-11a.xhtml auto-hyphenation-xmllang-11a.xhtml
fails == auto-hyphenation-xmllang-11b.xhtml auto-hyphenation-xmllang-11b.xhtml
fails == auto-hyphenation-xmllang-12a.xhtml auto-hyphenation-xmllang-12a.xhtml
fails == auto-hyphenation-xmllang-12b.xhtml auto-hyphenation-xmllang-12b.xhtml
fails == auto-hyphenation-xmllang-13a.xhtml auto-hyphenation-xmllang-13a.xhtml
== auto-hyphenation-xmllang-11a.xhtml auto-hyphenation-xmllang-11a.xhtml
== auto-hyphenation-xmllang-11b.xhtml auto-hyphenation-xmllang-11b.xhtml
== auto-hyphenation-xmllang-12a.xhtml auto-hyphenation-xmllang-12a.xhtml
== auto-hyphenation-xmllang-12b.xhtml auto-hyphenation-xmllang-12b.xhtml
== auto-hyphenation-xmllang-13a.xhtml auto-hyphenation-xmllang-13a.xhtml
== auto-hyphenation-xmllang-13b.xhtml auto-hyphenation-xmllang-13b.xhtml
fails == auto-hyphenation-xmllang-14a.xhtml auto-hyphenation-xmllang-14a.xhtml
== auto-hyphenation-xmllang-14a.xhtml auto-hyphenation-xmllang-14a.xhtml
== auto-hyphenation-xmllang-14b.xhtml auto-hyphenation-xmllang-14b.xhtml
== auto-hyphenation-af-1.html auto-hyphenation-af-1.html
== auto-hyphenation-bg-1.html auto-hyphenation-bg-1.html

View File

@ -553,6 +553,16 @@ Gecko_MatchStringArgPseudo(RawGeckoElementBorrowed aElement,
dummyMask, false, aSetSlowSelectorFlag, nullptr);
}
nsIAtom*
Gecko_GetXMLLangValue(RawGeckoElementBorrowed aElement)
{
nsString string;
if (aElement->GetAttr(kNameSpaceID_XML, nsGkAtoms::lang, string)) {
return NS_Atomize(string).take();
}
return nullptr;
}
template <typename Implementor>
static nsIAtom*
AtomAttrValue(Implementor* aElement, nsIAtom* aName)

View File

@ -141,6 +141,8 @@ nsIAtom* Gecko_LocalName(RawGeckoElementBorrowed element);
nsIAtom* Gecko_Namespace(RawGeckoElementBorrowed element);
nsIAtom* Gecko_GetElementId(RawGeckoElementBorrowed element);
nsIAtom* Gecko_GetXMLLangValue(RawGeckoElementBorrowed element);
// Attributes.
#define SERVO_DECLARE_ELEMENT_ATTR_MATCHING_FUNCTIONS(prefix_, implementor_) \
nsIAtom* prefix_##AtomAttrValue(implementor_ element, nsIAtom* attribute); \