Add a fallback path for compiling the remaining attribute checkers
https://bugs.webkit.org/show_bug.cgi?id=129580

Reviewed by Darin Adler.

The remaining attribute checkers appear to be less common than the simple value match.
This patch adds them to SelectorCompiler for completeness but no attempt is made at optimizing them,
they all default to function calls.

If the assumption that those selectors are not common turn out to be incorrect, we should see
the function calls in profiles and optimize them as needed.

* css/SelectorChecker.cpp:
(WebCore::attributeValueMatches):
If we get anything but attribute match here, something has gone horribly wrong. Update the code
to fail if that were to happen.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
Add the missing match type to the selector fragment.

Begin, End, Contain cannot match an empty value per specification. We can test that at compile time
and fail immediately. See http://www.w3.org/TR/css3-selectors/#attribute-substrings

List has the extra requirement that a value containing a space does not match anything. It also cannot
match with an empty string. See http://www.w3.org/TR/css3-selectors/#attribute-representation

(WebCore::SelectorCompiler::attributeValueBeginsWith):
(WebCore::SelectorCompiler::attributeValueContains):
(WebCore::SelectorCompiler::attributeValueEndsWith):
(WebCore::SelectorCompiler::attributeValueMatchHyphenRule):
(WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains):
The slow fallbacks.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
A generic code generator making function call to match an attribute value.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] WebKit2WebExtension GIR can't be used in vala
https://bugs.webkit.org/show_bug.cgi?id=127179

Reviewed by Martin Robinson.

Add a different pkg-config file for the web extensions API.

.:

* Source/cmake/OptionsGTK.cmake:
* configure.ac:

Source/WebKit2:

* GNUmakefile.am:
* PlatformGTK.cmake:
* webkit2gtk-web-extension.pc.in: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Multimedia controls captions icon needs its own metaphor
https://bugs.webkit.org/show_bug.cgi?id=129091

Reviewed by Martin Robinson.

As we got the new icon created, we used it with a fallback to the
old icon to keep run-time compatibility.

No new tests, current ones suffice.

* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
Replicated RenderThemeGtk::paintMediaButton to check for the
necessary icon first and do the fallback to the old and stock
icons.
* platform/gtk/RenderThemeGtk2.cpp:
(WebCore::getStockIconForWidgetType): Added ASSERT for non-empty
icon name.
(WebCore::getStockSymbolicIconForWidgetType): Check for non empty
icon name before calling getStockIconForWidgetType. Fixed coding
style.
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::getStockIconForWidgetType): Added ASSERT for non-empty
icon name.
(WebCore::getStockSymbolicIconForWidgetType): Check for non empty
icon name before calling getStockIconForWidgetType. Fixed coding
style.


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