Stop using dispatch_get_current_queue
https://bugs.webkit.org/show_bug.cgi?id=97806
<rdar://problem/12379094>

Reviewed by Mark Rowe.

* Platform/mac/WorkQueueMac.cpp:
(WorkQueueAndFunction::WorkQueueAndFunction):
(WorkQueueAndFunction):
(WorkQueue::executeFunction):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):
Keep track of the associated work queue so we can get it in WorkQueue::executeFunction.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::setUpTerminationNotificationHandler):
We don't care about which queue the termination notification is delivered on since we only want to call
waitpid on the child pid so we can just use a global queue.

* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]):
Use dispatch_get_main_queue here.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cairo] Unnecessary creation of ShareableBitmap's for directly composited images
https://bugs.webkit.org/show_bug.cgi?id=97745

Patch by Helder Correia <helder.correia@nokia.com> on 2012-09-27
Reviewed by Martin Robinson.

In LayerTreeCoordinator::adoptImageBackingStore(), there is a
PLATFORM(QT) code path to check for identical images, but nothing is
done for Cairo, which results in the occurrence of avoidable resource
allocations.

The issue happens in e.g. http://www.webkit.org/blog-files/leaves/,
where there are many leaves flying around while they're produced out of
only four bitmaps.

This patch uses pointers to cairo_surface_t's as the key to the hashmap
that caches bitmaps. This can be safely done since we own the references.
We artificially increment the surface references in adoptImageBackingStore()
and decrement them in releaseImageBackingStore().

* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Move UNIX-specific theme functions out of PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=96516

Reviewed by Adam Barth.

Call WebThemeEngine functions and use WebThemeEngine enums
directly from the new Platform/ directly; remove all
intermediate functions and enums and conversion functions from
PlatformSupport.
Part of a refactoring series; see tracking bug 82948.

Source/WebCore:

* WebCore.gyp/WebCore.gyp:
* platform/chromium/PlatformSupport.h:
(PlatformSupport):
* platform/chromium/ScrollbarThemeChromiumLinux.cpp:
(WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
(WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
(WebCore::ScrollbarThemeChromiumLinux::paintButton):
(WebCore::ScrollbarThemeChromiumLinux::paintThumb):
(WebCore::ScrollbarThemeChromiumLinux::buttonSize):
(WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
* rendering/RenderThemeChromiumAndroid.cpp:
(WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeChromiumAndroid::menuListArrowPadding):
* rendering/RenderThemeChromiumLinux.cpp:
(WebCore::getWebThemeState):
(WebCore):
(WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
(WebCore::RenderThemeChromiumLinux::paintCheckbox):
(WebCore::RenderThemeChromiumLinux::setCheckboxSize):
(WebCore::RenderThemeChromiumLinux::paintRadio):
(WebCore::RenderThemeChromiumLinux::setRadioSize):
(WebCore::RenderThemeChromiumLinux::paintButton):
(WebCore::RenderThemeChromiumLinux::paintTextField):
(WebCore::RenderThemeChromiumLinux::paintMenuList):
(WebCore::RenderThemeChromiumLinux::paintSliderTrack):
(WebCore::RenderThemeChromiumLinux::paintSliderThumb):
(WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
(WebCore::RenderThemeChromiumLinux::paintProgressBar):

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge branch 'master' of git://github.com/WebKit/webkit