[WK2][GTK] Implement a new spell checker API for WebKit2GTK+
https://bugs.webkit.org/show_bug.cgi?id=90268

Reviewed by Martin Robinson.

Source/WebKit2:

Add a simple spell checking API to WK2, allowing to enable/disable
this feature and to define a list of languages associated to it.

* GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
* GNUmakefile.list.am: Added new files

Added new internal class that will act both as the implementation
of TextCheckerClient and as the object WebKitWebContext will
depend on to implement the newly added API.

* UIProcess/API/gtk/WebKitTextChecker.cpp: Added.
(toTextChecker):
(continuousSpellCheckingEnabledCallback):
(setContinuousSpellCheckingEnabledCallback):
(checkSpellingOfStringCallback):
(guessesForWordCallback):
(learnWordCallback):
(ignoreWordCallback):
(WebKitTextChecker::~WebKitTextChecker):
(WebKitTextChecker::create):
(WebKitTextChecker::WebKitTextChecker):
(WebKitTextChecker::checkSpellingOfString):
(WebKitTextChecker::getGuessesForWord):
(WebKitTextChecker::learnWord):
(WebKitTextChecker::ignoreWord):
(WebKitTextChecker::setSpellCheckingEnabled):
(WebKitTextChecker::setSpellCheckingLanguages):
* UIProcess/API/gtk/WebKitTextChecker.h: Added.
(WebKitTextChecker):
(WebKitTextChecker::isSpellCheckingEnabled):
(WebKitTextChecker::getSpellCheckingLanguages):

Added WKTextChecker to WebKitPrivate.h, needed in WebKitTextChecker.

* UIProcess/API/gtk/WebKitPrivate.h:

Add new API to WebKitWebContext to allow enabling/disabling this
spell checking feature, and to set/get the list of languages used
to decide which dictionaries will be consulted.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(_WebKitWebContextPrivate):
(createDefaultWebContext):
(webkit_web_context_get_spell_checking_enabled): New API.
(webkit_web_context_set_spell_checking_enabled): Ditto.
(webkit_web_context_get_spell_checking_languages): Ditto.
(webkit_web_context_set_spell_checking_languages): Ditto.
* UIProcess/API/gtk/WebKitWebContext.h:

New tests for checking the new API added to WebKitWebContext.

* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextSpellChecker):
(beforeAll):

Update documentation with new sections and symbols.

* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:

Tools:

Ignore WebKitTextChecker.* private files for gtk-doc.

* gtk/generate-gtkdoc:
(get_webkit2_options):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix Chromium/Win compile.
https://bugs.webkit.org/show_bug.cgi?id=88787

Unreviewed, build fix.

Chromium/Win needs _USE_MATH_DEFINES but doesn't define PLATFORM(WIN).
The other files in WebKit that define this macro (both in
WebCore/platform/graphics/cg) do it by unconditionally #defining it to 1
above the #include of "config.h", so copy that pattern here.

* TestWebKitAPI/Tests/WTF/MediaTime.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add an overlay play button to media controls on android
https://bugs.webkit.org/show_bug.cgi?id=92132

Patch by Min Qin <qinmin@chromium.org> on 2012-07-28
Reviewed by Adam Barth.

This change adds an overlay play button to the media controls for android.
No tests for now as this setting is not being used by other port.
Will add a test and adjust all the test expectations when we upstream the layout tests for android.

* WebCore.gypi:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* css/mediaControls.css:
(audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
* css/mediaControlsChromiumAndroid.css:
(audio::-webkit-media-controls-overlay-enclosure):
(video::-webkit-media-controls-overlay-enclosure):
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
(video::-webkit-media-controls-overlay-play-button):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement):
(WebCore):
(WebCore::MediaControlOverlayPlayButtonElement::create):
(WebCore::MediaControlOverlayPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlOverlayPlayButtonElement::updateDisplayType):
(WebCore::MediaControlOverlayPlayButtonElement::shadowPseudoId):
* html/shadow/MediaControlElements.h:
(MediaControlOverlayPlayButtonElement):
(WebCore):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement):
(WebCore::MediaControlPanelEnclosureElement::create):
(WebCore):
(WebCore::MediaControlPanelEnclosureElement::shadowPseudoId):
(WebCore::MediaControlRootElementChromium::create):
(WebCore::MediaControlRootElementChromium::initializeControls):
* html/shadow/MediaControlRootElementChromium.h:
(MediaControlChromiumEnclosureElement):
(WebCore):
(MediaControlPanelEnclosureElement):
(MediaControlRootElementChromium):
* html/shadow/MediaControlRootElementChromiumAndroid.cpp: Added.
(WebCore):
(WebCore::MediaControlOverlayEnclosureElement::MediaControlOverlayEnclosureElement):
(WebCore::MediaControlOverlayEnclosureElement::create):
(WebCore::MediaControlOverlayEnclosureElement::shadowPseudoId):
(WebCore::MediaControlRootElementChromiumAndroid::MediaControlRootElementChromiumAndroid):
(WebCore::MediaControls::create):
(WebCore::MediaControlRootElementChromiumAndroid::create):
(WebCore::MediaControlRootElementChromiumAndroid::setMediaController):
(WebCore::MediaControlRootElementChromiumAndroid::playbackStarted):
(WebCore::MediaControlRootElementChromiumAndroid::playbackStopped):
* html/shadow/MediaControlRootElementChromiumAndroid.h: Added.
(WebCore):
(MediaControlOverlayEnclosureElement):
(MediaControlRootElementChromiumAndroid):
* platform/ThemeTypes.h:
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::paintMediaOverlayPlayButton):
(WebCore):
(WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintMediaOverlayPlayButton):
* rendering/RenderThemeChromiumAndroid.cpp:
(WebCore::RenderThemeChromiumAndroid::paintMediaOverlayPlayButton):
(WebCore):
* rendering/RenderThemeChromiumAndroid.h:

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