CSS JIT: add support for the :lang() pseudo class
https://bugs.webkit.org/show_bug.cgi?id=133913

Reviewed by Andreas Kling.


Source/WebCore: 
The selector is already very expensive to begin with, just implement it with
a function call.

It is also done after every other filter since it is so inefficient.

Tests: fast/selectors/lang-conflict.html
       fast/selectors/lang-empty.html
       fast/selectors/lang-specificity-xml.xhtml
       fast/selectors/lang-specificity.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorCheckerTestFunctions.h:
(WebCore::matchesLangPseudoClass):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
* dom/Element.cpp:
(WebCore::Element::computeInheritedLanguage):
* dom/ElementData.cpp:
(WebCore::ElementData::findLanguageAttribute):
* dom/ElementData.h:

LayoutTests: 
* fast/selectors/lang-conflict-expected.txt: Added.
* fast/selectors/lang-conflict.html: Added.
* fast/selectors/lang-empty-expected.txt: Added.
* fast/selectors/lang-empty.html: Added.
* fast/selectors/lang-specificity-expected.txt: Added.
* fast/selectors/lang-specificity-xml-expected.txt: Added.
* fast/selectors/lang-specificity-xml.xhtml: Added.
* fast/selectors/lang-specificity.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@170001 268f45cc-cd09-0410-ab3c-d52691b4dbfc