[GTK] Subtle-crypto feature off by default and add a new configure flag to enable it
https://bugs.webkit.org/show_bug.cgi?id=135798

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-08-12
Reviewed by Philippe Normand.

.:

* Source/cmake/OptionsGTK.cmake: Makes SUBTLE_CRYPTO flag off by default.

Tools:

* Scripts/webkitperl/FeatureList.pm: Adds new flag --subtle-crypto to
    toggle SUBTLE_CRYPTO feature.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make GRefPtr move-able
https://bugs.webkit.org/show_bug.cgi?id=135801

Reviewed by Carlos Garcia Campos.

Add move constructor and move assignment operator for GRefPtr.

* wtf/gobject/GRefPtr.h:
(WTF::GRefPtr::GRefPtr):
(WTF::=):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up GMutexLocker
https://bugs.webkit.org/show_bug.cgi?id=135833

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Don't dynamically allocate GMutex objects. Update GMutexLocker
initializations to pass in a GMutex reference, not a pointer.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Initialize the GMutex.
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Clear the GMutex.
(webkit_video_sink_init):
(webkitVideoSinkRender):
(webkitVideoSinkDispose):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

Place the GMutexLocker into the WTF namespace. There's no need for this
class to use FastMalloc since it's always allocated on the stack. The
constructor and class now operate on a GMutex reference. There's little
need for an additional inline specifier for methods defined in the header.
The mutex() method is removed as it was not used. m_val is renamed to a
more descriptive m_locked and is made a boolean.

* wtf/gobject/GMutexLocker.h:
(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::~GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):
(WebCore::GMutexLocker::GMutexLocker): Deleted.
(WebCore::GMutexLocker::~GMutexLocker): Deleted.
(WebCore::GMutexLocker::lock): Deleted.
(WebCore::GMutexLocker::unlock): Deleted.
(WebCore::GMutexLocker::mutex): Deleted.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=135834

Reviewed by Philippe Normand.

Make sure the user cache directory exists. If creating the
directory fails for whatever reason, do not try to save the cache
to disk.

* UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

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