Move number localization code in LocaleICU.cpp to new class
https://bugs.webkit.org/show_bug.cgi?id=92976

Reviewed by Kentaro Hara.

The number localization code by character mapping is usefull for non-ICU
platforms.

No new tests. This is just a refactoring, and is covered by
Source/WebKit/chromium/tests/LocalizedNumberICUTest.cpp.

* WebCore.gypi: Add NumberLocalizer.{cpp,h}.
* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::decimalSymbol):
Renamed from setDecimalSymbol. This function returns the resultant
string instead of setting it to a data member.
(WebCore::LocaleICU::decimalTextAttribute):
Renamed from setDecimalTextAttributel. This function returns the
resultant string instead of setting it to the specified string.
(WebCore::LocaleICU::initializeNumberLocalizerData):
Renamed from initializeDecimalFormat.
Calls NumberLocaizer::setNumberLocalizerData.
(WebCore::LocaleICU::localizedDecimalSeparator):
Rename initializeDecimalFormat to initializeNumberLocalizerData.
* platform/text/LocaleICU.h:
(LocaleICU): Remove some members, and inherit NumberLocalizer.
* platform/text/NumberLocalizer.cpp: Added. Move the code from LocaleICU.cpp
(WebCore):
(WebCore::NumberLocalizer::~NumberLocalizer):
(WebCore::NumberLocalizer::setNumberLocalizerData): Added.
(WebCore::NumberLocalizer::convertToLocalizedNumber):
(WebCore::matches):
(WebCore::NumberLocalizer::detectSignAndGetDigitRange):
(WebCore::NumberLocalizer::matchedDecimalSymbolIndex):
(WebCore::NumberLocalizer::convertFromLocalizedNumber):
(WebCore::NumberLocalizer::localizedDecimalSeparator):
* platform/text/NumberLocalizer.h: Added.
(NumberLocalizer):
(WebCore::NumberLocalizer::NumberLocalizer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream API: Add RTCPeerConnectionHandler infrastructure
https://bugs.webkit.org/show_bug.cgi?id=92866

Reviewed by Adam Barth.

Introducing RTCPeerConnectionHandler & RTCPeerConnectionHandlerClient,
together with the Chromium WebKit interface, following the pattern of
the previous PeerConnection00Handler but with the optimizations from MediaStreamCenter.

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::createRTCPeerConnectionHandler):
* chromium/public/WebRTCPeerConnectionHandler.h: Added.
(WebKit):
(WebRTCPeerConnectionHandler):
(WebKit::WebRTCPeerConnectionHandler::~WebRTCPeerConnectionHandler):
* chromium/public/WebRTCPeerConnectionHandlerClient.h: Added.
(WebKit):
(WebRTCPeerConnectionHandlerClient):
(WebKit::WebRTCPeerConnectionHandlerClient::~WebRTCPeerConnectionHandlerClient):

Source/WebCore:

Not yet testable due to not enough code landed.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::create):
(WebCore::RTCPeerConnection::RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* WebCore.gypi:
* platform/mediastream/RTCPeerConnectionHandler.cpp: Added.
(WebCore):
(RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandler::create):
(WebCore::RTCPeerConnectionHandlerDummy::RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::~RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::initialize):
* platform/mediastream/RTCPeerConnectionHandler.h: Copied from Source/WebCore/Modules/mediastream/RTCPeerConnection.h.
(WebCore):
(RTCPeerConnectionHandler):
(WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler):
(WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler):
* platform/mediastream/RTCPeerConnectionHandlerClient.h: Copied from Source/WebCore/Modules/mediastream/RTCPeerConnection.h.
(WebCore):
(RTCPeerConnectionHandlerClient):
(WebCore::RTCPeerConnectionHandlerClient::~RTCPeerConnectionHandlerClient):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: Added.
(WebCore):
(WebCore::RTCPeerConnectionHandler::create):
(WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
(WebCore::RTCPeerConnectionHandlerChromium::~RTCPeerConnectionHandlerChromium):
(WebCore::RTCPeerConnectionHandlerChromium::initialize):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: Added.
(WebCore):
(RTCPeerConnectionHandlerChromium):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2]Add ewk_view_ui_client.
https://bugs.webkit.org/show_bug.cgi?id=89864

Patch by Hyerim Bae <hyerim.bae@samsung.com> on 2012-08-02
Reviewed by Kentaro Hara.

Add ewk_view_ui_client.h / cpp files for wrapping WKPageSetPageUIClient,
add close, createNewPage callback member to WKPageSetPageUIClient.

* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_base_add):
(ewk_view_page_close):
(ewk_view_page_create):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/API/efl/ewk_view_ui_client.cpp: Added.
(toEwkView):
(closePage):
(createNewPage):
(ewk_view_ui_client_attach):
* UIProcess/API/efl/ewk_view_ui_client_private.h: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Fix axis locking when panning on N9
https://bugs.webkit.org/show_bug.cgi?id=92394

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-08-02
Reviewed by Simon Hausmann.

Make the QQuickWebView axis locker calculate the
time between events using QInputEvent.timestamp, which
is set from the native event when available.

Also use touchPoint.pos() instead of screenPos() to
correct the axis detection when running on N9, which
has a native landscape display and the applications usually
run in portrait mode.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker):
(QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity):
(QQuickWebViewPrivate::FlickableAxisLocker::update):
* UIProcess/API/qt/qquickwebview_p_p.h:
(FlickableAxisLocker):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Inline stylesheets can confuse style sharing
https://bugs.webkit.org/show_bug.cgi?id=92970

Reviewed by Dan Bernstein.

Source/WebCore: 

Consider document 
        
<div class="i30"></div>
<style>.i30 { background-color:green; }</style>
<div class="i30"></div>
        
When processing the <style> element the scope optimization marks the first div as needing style recalc. 
Next the parser adds the second div to the tree and immediately calculates its style. Since it looks exactly 
like the first div the style sharing optimization copies the style from there. The pending recalc of the
first div is resolved by a timer but the second div is left with the old style.
        
Fix by disallowing style sharing from elements with pending style recalc.

Test: fast/css/style-sharing-inline-stylesheet.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement):

LayoutTests: 

* fast/css/style-sharing-inline-stylesheet-expected.txt: Added.
* fast/css/style-sharing-inline-stylesheet.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] Use GST_DEBUG instead of LOG_VERBOSE
https://bugs.webkit.org/show_bug.cgi?id=89350

Reviewed by Martin Robinson.

Wrap the media player's logging calls to a new macro that also
hooks into GStreamer's logging facilities. This way the developer
gets the best of both worlds, leaving the choice between GST_DEBUG
and WEBKIT_DEBUG environment variables.

* platform/graphics/gstreamer/GStreamerUtilities.h:
(WebCore):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::initializeGStreamerAndRegisterWebKitElements):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::commitLoad):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::duration):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::naturalSize):
(WebCore::MediaPlayerPrivateGStreamer::setRate):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
(WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Check if the last table element's parent node is an element when determining the foster parent element.
https://bugs.webkit.org/show_bug.cgi?id=92977

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-08-02
Reviewed by Adam Barth.

Source/WebCore:

According to the HTML5 spec, if the last table element in the stack of open elements has no parent,
or ITS PARENT NODE IS NOT AN ELEMENT, then the foster parent element is the element
before the last table element in the stack of open elements.

Changed to check if the table element's parent node is an element.

Test: fast/parser/foster-parent.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::findFosterSite):

LayoutTests:

This new test changes the table element's parent node to a newly created document fragment node.
Because a document fragment node is not an element, the foster parent element must be the element
before the last table element in the stack of open elements.

* fast/parser/foster-parent-expected.txt: Added.
* fast/parser/foster-parent.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][GTK] Implement font-feature settings
https://bugs.webkit.org/show_bug.cgi?id=84239

Unreviewed EFL gardening.

Now working after bug 91864 is closed.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-02

* platform/efl/TestExpectations:
* platform/efl/css3/font-feature-settings-rendering-expected.png:
* platform/efl/css3/font-feature-settings-rendering-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Merge final nits to DumpRenderTree.gyp for Android
https://bugs.webkit.org/show_bug.cgi?id=90920

Reviewed by Tony Chang.

This patch contains the last few small changes to DumpRenderTree.gyp
from the chromium-android branch. After this change, this file will be
fully merged.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:


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