[Qt][WK2] Removed duplicated code from EventSenderProxy::keyDown
https://bugs.webkit.org/show_bug.cgi?id=97235

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-09-21
Reviewed by Luiz Agostini.

* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::keyDown):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WTR] Memory leaks in InjectedBundleController::initialize()
https://bugs.webkit.org/show_bug.cgi?id=97329

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-09-21
Reviewed by Alexey Proskuryakov.

Fix leaks in InjectedBundleController::initialize() by adopting
strings created with WKStringCreateWithUTF8CString().

* TestWebKitAPI/InjectedBundleController.cpp:
(TestWebKitAPI::InjectedBundleController::initialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r126763): Incorrect line breaking when both kerning and word spacing are enabled
https://bugs.webkit.org/show_bug.cgi?id=97280

Reviewed by Adele Peterson.

Source/WebCore: 

Font::width() never applies word spacing to the first character in the TextRun. The
TextLayout optimization tried to achieve this behavior by not applying word spacing to
any character, which led to this bug.

Test: fast/text/word-space-with-kerning-2.html

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::TextLayout): Changed to use the given font rather than a version
without word spacing.
(WebCore::TextLayout::width): Added a check if the run starts with a space at a non-zero
offset. If that is the case, then the ComplexTextController has added word spacing to that
space, so subtract it here in order to maintain the behavior described above.

LayoutTests: 

* fast/text/word-space-with-kerning-2-expected.html: Added.
* fast/text/word-space-with-kerning-2.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] REGRESSION: 5 tests started to fail with newer Qt5
https://bugs.webkit.org/show_bug.cgi?id=90687

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-09-21
Reviewed by Luiz Agostini.

When sending null data via POST method in  XMLHttpRequest the
expected Content-Type "application/x-www-form-urlencoded",
instead of "application/octet-stream". In fact that was the previously
expected value for Qt, but was changed to conform to Qt 4.8 results.

The cookie test result was updated to follow RFC 6265 behavior, as
already does chromium, gtk, and efl.

* platform/qt-5.0/Skipped:
* platform/qt/http/tests/cookies/double-quoted-value-with-semi-colon-expected.txt: Added.
* platform/qt/http/tests/xmlhttprequest/methods-expected.txt:
* platform/qt/http/tests/xmlhttprequest/workers/methods-async-expected.txt:
* platform/qt/http/tests/xmlhttprequest/workers/methods-expected.txt:
* platform/qt/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Media player won't resize for the following source when first source fail to load
https://bugs.webkit.org/show_bug.cgi?id=97342

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-09-21
Reviewed by Yong Li.

As platformPlayer will notify MediaPlayerPrivate for size change
when loading metadata failed (in this case hasVideo() is false),
we should prevent MediaPlayerPrivate to set width and height
attribute of media element, otherwise we won't get the correct
dimension for the following media sources.

Internally reviewed by Max Feil.

Test case: media/video-size.html

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::resizeSourceDimensions):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix build with ENABLE_WEBGL=false
https://bugs.webkit.org/show_bug.cgi?id=97309

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-21
Reviewed by Eric Seidel.

WebKit no longer builds when WEBGL is not enabled.

* rendering/FilterEffectRenderer.h:
(FilterEffectRenderer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Implement ViewState methods in PageClientImpl in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=97202

Reviewed by Martin Robinson.

Source/WebKit2:

Implement isViewWindowActive(), isViewFocused(), isViewVisible()
and isViewInWindow() in PageClientImpl.

* GNUmakefile.list.am: Add new files to compilation.
* UIProcess/API/C/gtk/WKView.cpp:
(WKViewSetFocus): New private method used by WTR to focus the
WebView.
* UIProcess/API/C/gtk/WKViewPrivate.h: Added.
* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::isViewWindowActive): Return
webkitWebViewBaseIsInWindowActive().
(WebKit::PageClientImpl::isViewFocused): Return
webkitWebViewBaseIsFocused().
(WebKit::PageClientImpl::isViewVisible): Return
webkitWebViewBaseIsVisible().
(WebKit::PageClientImpl::isViewInWindow): Return
webkitWebViewBaseIsInWindow().
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseNotifyResizerSize): Updated to not receive the
window as parameter since it's now saved in the instance struct.
(toplevelWindowResizeGripVisibilityChanged): Update to
webkitWebViewBaseNotifyResizerSize() API change.
(toplevelWindowFocusInEvent): Update ViewWindowIsActive flag and
notify the WebPageProxy if it changed.
(toplevelWindowFocusOutEvent): Ditto.
(webkitWebViewBaseSetToplevelOnScreenWindow): Set the toplevel
on-screen window where the view is currently added and notify
WebPageProxy if it changed.
(webkitWebViewBaseRealize): Call
webkitWebViewBaseSetToplevelOnScreenWindow() if the view has been
added to an on-screen window.
(webkitWebViewBaseFinalize): Reset the toplevel on-screen window
to make sure all signals are disconnected when the view is
destroyed.
(webkit_web_view_base_init): Remove unneeded initialization.
(resizeWebKitWebViewBaseFromAllocation): Update to
webkitWebViewBaseNotifyResizerSize() API change.
(webkitWebViewBaseMap): Update ViewIsVisible flag and notify
WebPageProxy if it changed.
(webkitWebViewBaseUnmap): Ditto.
(webkitWebViewBaseFocusInEvent): Call webkitWebViewBaseSetFocus()
passing true to focus the view.
(webkitWebViewBaseFocusOutEvent): Call webkitWebViewBaseSetFocus()
passing false to unfocus the view.
(webkitWebViewBaseParentSet): Reset the toplevel on-screen window
if the view is re-parented.
(webkit_web_view_base_class_init): Add implementations for map and
parent-set virtual functions.
(webkitWebViewBaseSetFocus): Update the ViewIsFocused and notify
WebPageProxy if it changed.
(webkitWebViewBaseIsInWindowActive):
(webkitWebViewBaseIsFocused):
(webkitWebViewBaseIsVisible):
(webkitWebViewBaseIsInWindow):
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewMouseTarget): Use a GTK_WINDOW_TOPLEVEL instead of
POPUP for this test to make sure the view receives focus change
events.

Tools:

* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::focus): Focus the view.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WebSocket] Receiving a large message is really slow
https://bugs.webkit.org/show_bug.cgi?id=97237

Patch by Evan Wallace <evan.exe@gmail.com> on 2012-09-21
Reviewed by Alexey Proskuryakov.

WebSocketChannel always reallocates its internal buffer when it receives
and appends new data which causes dramatic slowdowns for messages over
2 MB in size. This patch changes the internal buffer of WebSocketChannel
from a raw char array to a Vector<char> and uses its amortized append()
method. This brings the time to receive a 5 MB message from 5.2 seconds
to 0.25 seconds.

This patch is only for optimization. No new tests are needed.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::~WebSocketChannel):
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::resume):
(WebCore::WebSocketChannel::didReceiveSocketStreamData):
(WebCore::WebSocketChannel::appendToBuffer):
(WebCore::WebSocketChannel::skipBuffer):
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::resumeTimerFired):
(WebCore::WebSocketChannel::processFrame):
* Modules/websockets/WebSocketChannel.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-21

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Global Math object should be configurable but isn't
https://bugs.webkit.org/show_bug.cgi?id=55343

Reviewed by Oliver Hunt.

Source/JavaScriptCore: 

This has no performance impact.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
    - Make 'Math' a regular property.

LayoutTests: 

Added test case.

* fast/js/math-expected.txt:
* fast/js/script-tests/math.js:
    - Added test case.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Unreviewed, remove duplicate section of WebKit.gyp pointed out by Nico.

* WebKit.gyp:

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