[Qt] Fix build on Windows when Qt is configured with -release
https://bugs.webkit.org/show_bug.cgi?id=101041

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2012-11-02
Reviewed by Jocelyn Turcotte.

When Qt is configured with -debug or -release, the release/debug build of for example
QtCore is not available by default. For LLIntExtractor we always need to build debug
_and_ release versions, but we do not actually need any Qt libraries nor qtmain(d).lib.
Therefore we can disable all these features but need to keep $$QT.core.includes in the
INCLUDEPATH for some defines from qglobal.h.

* LLIntOffsetsExtractor.pro:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133302 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][WK2] setPlatformStrategies always asserts after r132744
https://bugs.webkit.org/show_bug.cgi?id=100838

Reviewed by Simon Hausmann.

Source/WebCore:

The problem here is that we use QWebSettings::clearMemoryCaches, a WebKit1 API
from the injected bundle, which calls initializeWebCoreQt and it sets the platform
strategies to the one for WebKit1. We should stop using WebKit1 API's from WebKit2
code. In order to keep the behavior, this patch adds exported helpers to WebCore
that can be used from DumpRenderTree and WebKitTestRunner. This is the same idea
as WebCoreTestSupport but these helpers are specific to Qt. Technically we could
add it to the WebKit1 API for the time being, but my goal was to move in the direction
of removing the WebKit1 dependency from WebKitTestRunner. We only build the file
in non production mode.

Basically covered by all tests.

* Target.pri:
* WebCore.pri: We need to link against fontconfig (only in non-production mode) since
initializeTestFonts uses it.
* platform/PlatformStrategies.cpp:
(WebCore): Zero initialize the global static variable as it is expected by the functions
below. It is a side fix. It seems like it has not been shown on debug WebKit2 bots because
common runtime environments tend to zero initialize statics by default - but I don't think
we should rely on that.
* platform/qt/QtTestSupport.cpp: Added. I choose GPL license because code from qwebsettings.cpp
is also under that.
(WebKit):
(WebKit::QtTestSupport::clearMemoryCaches): This is basically a copy of QWebSettings::clearMemoryCaches
without calling initializeWebCoreQt.
(WebKit::QtTestSupport::initializeTestFonts): I moved this code here as well now that we have to expose
symbols from WebCore anyway. The advantage is that now we don't have to build it twice and we don't need
additional files to forward it from the directory of DumpRenderTree for WebKitTestRunner.
I added a call to FontCace::invalidate in the case when the font set has been changed so that it will do
the job even if we would stop clearing all caches between tests. Also moved the call to
QFontDatabase::removeAllApplicationFonts from callers to here.
* platform/qt/QtTestSupport.h:
(WebKit):
(QtTestSupport):

Tools:

Turned test runners to use the new QtTestSupport.

* DumpRenderTree/qt/DumpRenderTree.pro:
* DumpRenderTree/qt/DumpRenderTreeMain.cpp:
(main):
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::open):
* QtTestBrowser/QtTestBrowser.pro:
* QtTestBrowser/qttestbrowser.cpp:
(LauncherApplication::handleUserOptions):
* WebKitTestRunner/InjectedBundle/Target.pri:
* WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp:
(WTR::activateFonts):
* WebKitTestRunner/InjectedBundle/qt/QtInitializeTestFonts.cpp: Removed.
* WebKitTestRunner/InjectedBundle/qt/QtInitializeTestFonts.h: Removed.
* WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
* WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp:
(WTR::TestRunner::platformInitialize): Removed the comment from here
because it was just lying, apparently two times. First, it is not incorrect
to reinitialize our font set and clear font caches, it is what the tests
expect. Second, the use of QRawFont has nothing to do with the font cache.
* WebKitTestRunner/Target.pri:
* WebKitTestRunner/qt/main.cpp:
(main):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Add API unit tests for Ewk_Object
https://bugs.webkit.org/show_bug.cgi?id=101037

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-02
Reviewed by Kenneth Rohde Christiansen.

Added API unit tests for Ewk_Object.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/test_ewk2_object.cpp: Added.
(TestEwkObject1):
(TestEwkObject1::create):
(TestEwkObject1::~TestEwkObject1):
(TestEwkObject2):
(TestEwkObject2::create):
(TEST_F):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

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

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@133306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Change the scope of locking in WorkQueueEfl.cpp.
https://bugs.webkit.org/show_bug.cgi?id=98978

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-02
Reviewed by Kenneth Rohde Christiansen.

Release the m_workItemQueueLock and m_timerWorkItemsLock mutexes
immediately after the protected resource is no longer modified to
prevent a possible source of a deadlock.

And additional mutex locker for the m_writeToPipeDescriptor is added
to ensure thread-safety of the sendMessageToThread() function.

* Platform/WorkQueue.h:
(WorkQueue):
* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::insertTimerWorkItem):
(WorkQueue::performTimerWork):
(WorkQueue::sendMessageToThread):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):

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