[Qt][Mac] Disable QTKit video on OS X.

https://bugs.webkit.org/show_bug.cgi?id=117591

Reviewed by Tor Arne Vestbø.

Source/WebCore:

Deployment of the same Qt binaries to different
Mac OS X version makes it impossible to link against
the correct WebKitSystemInterface version at build time.

No new tests, no behavioural change.

* WebCore.pri:

Tools:

Deployment of Qt binaries to different Mac OS X
platform version makes it impossible to link against
the correct version of the WebKitSystemInterface library,
so we need to disable QTKit for media elements.

* qmake/mkspecs/features/features.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change-Id: I8ad054ffc1896de1cc461efed0a5786337c29261
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Merge remote-tracking branch 'origin/release' into stable

Change-Id: I5fd8c56818b88eae53133dae875d7b03d1ce6441
get_by_pname can become confused when iterating over objects with static properties

https://bugs.webkit.org/show_bug.cgi?id=113831

Reviewed by Geoffrey Garen.

get_by_pname doesn't take static properties into account when using a JSPropertyNameIterator to directly
access an object's backing store. One way to fix this is to not cache any properties when iterating over
objects with static properties. This patch fixes the bug that was originally reported on swisscom.ch.

Source/JavaScriptCore:

* runtime/JSObject.cpp:
(JSC::JSObject::getOwnNonIndexPropertyNames):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::numCacheableSlots):
(JSC::PropertyNameArray::setNumCacheableSlots):
(PropertyNameArray):

Change-Id: I7ae9c48eea3c5300c4825a10a660b0e2210c8862
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
JSObject::getOwnNonIndexPropertyNames calculates numCacheableSlots incorrectly

https://bugs.webkit.org/show_bug.cgi?id=114235

Reviewed by Geoffrey Garen.

Due to the way that numCacheableSlots is currently calculated, checking an object's prototype for enumerable
properties causes us not to cache any properties at all. We should only cache properties on the object itself
since we currently don't take advantage of any sort of name caching for properties in the prototype chain.
This fix undoes a ~2% SunSpider regression caused by http://trac.webkit.org/changeset/147570.

* runtime/JSObject.cpp:
(JSC::JSObject::getOwnNonIndexPropertyNames):

Change-Id: I5853ab567cd0a8cd20aeac1372ec64fc4f25df1a
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
JSObject::getOwnNonIndexPropertyNames calculates numCacheableSlots incorrectly (2/2)

https://bugs.webkit.org/show_bug.cgi?id=114235

Reviewed by Filip Pizlo.

If the object doesn't have any properties but the prototype does, we'll assume those prototype properties are
accessible in the base object's backing store, which is bad.

Source/JavaScriptCore:

* runtime/JSObject.cpp:
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::getOwnNonIndexPropertyNames):
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::setNumCacheableSlotsForObject):
(JSC::PropertyNameArray::setBaseObject):
(PropertyNameArray):

Change-Id: If61b609438fa1d62364bac556af635413198d8ad
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Use __sync_add_and_fetch instead of __gnu_cxx::__exchange_and_add

https://bugs.webkit.org/show_bug.cgi?id=106729

After r139514 we need atomicIncrement(int64_t volatile*) for all platform. Now the
GCC implementation of atomicIncrement() is based on __gnu_cxx::__exchange_and_add,
which doesn't support int64_t type, but __sync_add_and_fetch does.

Reviewed by Benjamin Poulain.

* wtf/Atomics.h:
(WTF::atomicIncrement):
(WTF::atomicDecrement):

Change-Id: I6f1215b1a73a93f902823a6f0efd1eaef8d53926
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Use GCC's implementation of atomicIncrement/Decrement on Mac

https://bugs.webkit.org/show_bug.cgi?id=106976

Reviewed by Filip Pizlo.

* wtf/Atomics.h:
GCC and LLVM have builtin for atomic ADD and SUB: __sync_add_and_fetch,
__sync_sub_and_fetch.

Using them let the compiler just generate the atomic operations inline
instead of generating a function call to LibC. It also simplify the
code a bit.

Change-Id: I4615faede4a9f2fc2d8415bd526db9dcb70a24ce
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
[Qt] Handle Return key without key text

https://bugs.webkit.org/show_bug.cgi?id=117239

Reviewed by Andreas Kling.

Source/WebCore:

Test added to tst_qwebpage.cpp.

* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::keyTextForKeyEvent):

Source/WebKit/qt:

Test for QKeyEvent(Return_Key) without key text.

* tests/qwebpage/tst_qwebpage.cpp:
(tst_QWebPage::inputMethods):

Change-Id: I2e6ee33d90fd740ed2cb17580b1a6fa2f196943f
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151213 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
QStyle: Set State_Enabled by default when painting style widgets. https://bugs.webkit.org/show_bug.cgi?id=112688

Patch by David Rosca <nowrep@gmail.com> on 2013-03-19
Reviewed by Jocelyn Turcotte.

All Qt style widgets were painted with a disabled state, even when
they actually were enabled.
This change fixes it by setting State_Enabled as a default state,
which is then correctly removed when element is disabled.

* Source/WebCore/platform/qt/RenderThemeQStyle.cpp:

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

Change-Id: I0942cca6f893bb1896960f8c1bb7d651254f7d1b
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Workaround for x86 optimizer bug in MSVC 2012.

https://bugs.webkit.org/show_bug.cgi?id=118478

Reviewed by Benjamin Poulain.

This is a workaround for a bug in the x86 MSVC 2012 optimizer.

The problem is that the range comparison gets optimized out when
the templated inline function toASCIIUpper. Copying the methods
content fixes the problem.

This is unfortunately not the nicest fix, but the alternative would
be to turn off optimization for StringImpl::upper on the x86 MSVC 2012
build, which might impact overall performance negatively.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::upper):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change-Id: Ia08780b3b2216a10fb7a7beb8b7298b84726417a
Task-number: QTBUG-32159
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
[Qt] memory leak in WebCore::FontCache::getLastResortFallbackFont

https://bugs.webkit.org/show_bug.cgi?id=118532

Patch by Fabienne Semeria <fsemeria@nds.com> on 2013-07-11
Reviewed by Allan Sandfeld Jensen.

* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::getLastResortFallbackFont):

Change-Id: Ic647594b3d6eaaeb036a3d3d88f2eb533cffedb7
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Fabienne Semeria <fsemeria@nds.com>
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Merge branch 'stable' into st
Bump MODULE_VERSION to 5.1.2

Change-Id: Id166cd43e25e91222f1c15267516d326f46680b9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Merge branch 'stable' into st
Merge branch 'st' of git://github.com/suitabletech/qtwebkit into st