Log Message
[GTK] [EFL] Build fails with GCC < 4.8.x https://bugs.webkit.org/show_bug.cgi?id=130585
Reviewed by Martin Robinson. The behavior in lower versions of GCC seem to be related to http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132. Provided explicit casts for the failing ambiguous overloads. Source/WebCore: * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: (WebCore::AudioFileReader::createBus): * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: (webKitMediaSrcChangeState): (webKitMediaVideoSrcNeedDataCb): (webKitMediaAudioSrcNeedDataCb): (webKitMediaVideoSrcEnoughDataCb): (webKitMediaAudioSrcEnoughDataCb): (webKitMediaVideoSrcSeekDataCb): (webKitMediaAudioSrcSeekDataCb): * platform/gtk/GtkDragAndDropHelper.cpp: (WebCore::GtkDragAndDropHelper::handleDragLeave): * platform/gtk/SharedTimerGtk.cpp: (WebCore::setSharedTimerFireInterval): Source/WTF: * wtf/gtk/MainThreadGtk.cpp: (WTF::scheduleDispatchFunctionsOnMainThread): * wtf/gtk/RunLoopGtk.cpp: (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of ref and de-referring.
Modified Paths
- trunk/Source/WTF/ChangeLog
- trunk/Source/WTF/wtf/gtk/MainThreadGtk.cpp
- trunk/Source/WTF/wtf/gtk/RunLoopGtk.cpp
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
- trunk/Source/WebCore/platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp
- trunk/Source/WebCore/platform/gtk/GtkDragAndDropHelper.cpp
- trunk/Source/WebCore/platform/gtk/SharedTimerGtk.cpp
Diff
Modified: trunk/Source/WTF/ChangeLog (166915 => 166916)
--- trunk/Source/WTF/ChangeLog 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WTF/ChangeLog 2014-04-08 07:37:37 UTC (rev 166916)
@@ -1,3 +1,21 @@
+2014-04-08 Andres Gomez <ago...@igalia.com>
+
+ [GTK] [EFL] Build fails with GCC < 4.8.x
+ https://bugs.webkit.org/show_bug.cgi?id=130585
+
+ Reviewed by Martin Robinson.
+
+ The behavior in lower versions of GCC seem to be related to
+ http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
+
+ Provided explicit casts for the failing ambiguous overloads.
+
+ * wtf/gtk/MainThreadGtk.cpp:
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+ * wtf/gtk/RunLoopGtk.cpp:
+ (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of
+ ref and de-referring.
+
2014-04-04 Mark Lam <mark....@apple.com>
Date object needs to check for ES5 15.9.1.14 TimeClip limit.
Modified: trunk/Source/WTF/wtf/gtk/MainThreadGtk.cpp (166915 => 166916)
--- trunk/Source/WTF/wtf/gtk/MainThreadGtk.cpp 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WTF/wtf/gtk/MainThreadGtk.cpp 2014-04-08 07:37:37 UTC (rev 166916)
@@ -40,7 +40,7 @@
void scheduleDispatchFunctionsOnMainThread()
{
- GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] dispatchFunctionsFromMainThread", dispatchFunctionsFromMainThread);
+ GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] dispatchFunctionsFromMainThread", std::function<void()>(dispatchFunctionsFromMainThread));
}
} // namespace WTF
Modified: trunk/Source/WTF/wtf/gtk/RunLoopGtk.cpp (166915 => 166916)
--- trunk/Source/WTF/wtf/gtk/RunLoopGtk.cpp 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WTF/wtf/gtk/RunLoopGtk.cpp 2014-04-08 07:37:37 UTC (rev 166916)
@@ -99,9 +99,10 @@
void RunLoop::wakeUp()
{
- ref();
- GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] RunLoop work", std::bind(&RunLoop::performWork, this),
- G_PRIORITY_DEFAULT, [this] { deref(); });
+ RefPtr<RunLoop> runLoop(this);
+ GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] RunLoop work", std::function<void()>([runLoop] {
+ runLoop->performWork();
+ }));
g_main_context_wakeup(m_runLoopContext.get());
}
Modified: trunk/Source/WebCore/ChangeLog (166915 => 166916)
--- trunk/Source/WebCore/ChangeLog 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WebCore/ChangeLog 2014-04-08 07:37:37 UTC (rev 166916)
@@ -1,3 +1,30 @@
+2014-04-08 Andres Gomez <ago...@igalia.com>
+
+ [GTK] [EFL] Build fails with GCC < 4.8.x
+ https://bugs.webkit.org/show_bug.cgi?id=130585
+
+ Reviewed by Martin Robinson.
+
+ The behavior in lower versions of GCC seem to be related to
+ http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
+
+ Provided explicit casts for the failing ambiguous overloads.
+
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
+ (WebCore::AudioFileReader::createBus):
+ * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
+ (webKitMediaSrcChangeState):
+ (webKitMediaVideoSrcNeedDataCb):
+ (webKitMediaAudioSrcNeedDataCb):
+ (webKitMediaVideoSrcEnoughDataCb):
+ (webKitMediaAudioSrcEnoughDataCb):
+ (webKitMediaVideoSrcSeekDataCb):
+ (webKitMediaAudioSrcSeekDataCb):
+ * platform/gtk/GtkDragAndDropHelper.cpp:
+ (WebCore::GtkDragAndDropHelper::handleDragLeave):
+ * platform/gtk/SharedTimerGtk.cpp:
+ (WebCore::setSharedTimerFireInterval):
+
2014-04-08 Gyuyoung Kim <gyuyoung....@samsung.com>
Change NavigatorContentUtils client ownership from port side to NavigatorContentUtils
Modified: trunk/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp (166915 => 166916)
--- trunk/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp 2014-04-08 07:37:37 UTC (rev 166916)
@@ -335,7 +335,7 @@
// Start the pipeline processing just after the loop is started.
GMainLoopSource source;
- source.schedule("[WebKit] AudioFileReader::decodeAudioForBusCreation", std::bind(&AudioFileReader::decodeAudioForBusCreation, this), G_PRIORITY_DEFAULT, nullptr, context.get());
+ source.schedule("[WebKit] AudioFileReader::decodeAudioForBusCreation", std::function<void()>(std::bind(&AudioFileReader::decodeAudioForBusCreation, this)), G_PRIORITY_DEFAULT, nullptr, context.get());
g_main_loop_run(m_loop.get());
g_main_context_pop_thread_default(context.get());
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp (166915 => 166916)
--- trunk/Source/WebCore/platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp 2014-04-08 07:37:37 UTC (rev 166916)
@@ -366,11 +366,11 @@
GST_OBJECT_LOCK(src);
gst_object_ref(src);
- priv->sourceVideo.start.schedule("[WebKit] webKitMediaVideoSrcStart", std::bind(webKitMediaVideoSrcStart, src), G_PRIORITY_DEFAULT,
+ priv->sourceVideo.start.schedule("[WebKit] webKitMediaVideoSrcStart", std::function<void()>(std::bind(webKitMediaVideoSrcStart, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
gst_object_ref(src);
- priv->sourceAudio.start.schedule("[WebKit] webKitMediaAudioSrcStart", std::bind(webKitMediaAudioSrcStart, src), G_PRIORITY_DEFAULT,
+ priv->sourceAudio.start.schedule("[WebKit] webKitMediaAudioSrcStart", std::function<void()>(std::bind(webKitMediaAudioSrcStart, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
@@ -380,11 +380,11 @@
GST_OBJECT_LOCK(src);
gst_object_ref(src);
- priv->sourceVideo.stop.schedule("[WebKit] webKitMediaVideoSrcStop", std::bind(webKitMediaVideoSrcStop, src), G_PRIORITY_DEFAULT,
+ priv->sourceVideo.stop.schedule("[WebKit] webKitMediaVideoSrcStop", std::function<void()>(std::bind(webKitMediaVideoSrcStop, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
gst_object_ref(src);
- priv->sourceAudio.stop.schedule("[WebKit] webKitMediaAudioSrcStop", std::bind(webKitMediaAudioSrcStop, src), G_PRIORITY_DEFAULT,
+ priv->sourceAudio.stop.schedule("[WebKit] webKitMediaAudioSrcStop", std::function<void()>(std::bind(webKitMediaAudioSrcStop, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
@@ -524,7 +524,7 @@
}
gst_object_ref(src);
- priv->sourceVideo.needData.schedule("[WebKit] webKitMediaVideoSrcNeedDataMainCb", std::bind(webKitMediaVideoSrcNeedDataMainCb, src), G_PRIORITY_DEFAULT,
+ priv->sourceVideo.needData.schedule("[WebKit] webKitMediaVideoSrcNeedDataMainCb", std::function<void()>(std::bind(webKitMediaVideoSrcNeedDataMainCb, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
}
@@ -543,7 +543,7 @@
}
gst_object_ref(src);
- priv->sourceAudio.needData.schedule("[WebKit] webKitMediaAudioSrcNeedDataMainCb", std::bind(webKitMediaAudioSrcNeedDataMainCb, src), G_PRIORITY_DEFAULT,
+ priv->sourceAudio.needData.schedule("[WebKit] webKitMediaAudioSrcNeedDataMainCb", std::function<void()>(std::bind(webKitMediaAudioSrcNeedDataMainCb, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
}
@@ -580,7 +580,7 @@
}
gst_object_ref(src);
- priv->sourceVideo.enoughData.schedule("[WebKit] webKitMediaVideoSrcEnoughDataMainCb", std::bind(webKitMediaVideoSrcEnoughDataMainCb, src), G_PRIORITY_DEFAULT,
+ priv->sourceVideo.enoughData.schedule("[WebKit] webKitMediaVideoSrcEnoughDataMainCb", std::function<void()>(std::bind(webKitMediaVideoSrcEnoughDataMainCb, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
@@ -600,7 +600,7 @@
}
gst_object_ref(src);
- priv->sourceAudio.enoughData.schedule("[WebKit] webKitMediaAudioSrcEnoughDataMainCb", std::bind(webKitMediaAudioSrcEnoughDataMainCb, src), G_PRIORITY_DEFAULT,
+ priv->sourceAudio.enoughData.schedule("[WebKit] webKitMediaAudioSrcEnoughDataMainCb", std::function<void()>(std::bind(webKitMediaAudioSrcEnoughDataMainCb, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
@@ -642,7 +642,7 @@
priv->sourceVideo.requestedOffset = offset;
gst_object_ref(src);
- priv->sourceVideo.seek.schedule("[WebKit] webKitMediaVideoSrcSeekMainCb", std::bind(webKitMediaVideoSrcSeekMainCb, src), G_PRIORITY_DEFAULT,
+ priv->sourceVideo.seek.schedule("[WebKit] webKitMediaVideoSrcSeekMainCb", std::function<void()>(std::bind(webKitMediaVideoSrcSeekMainCb, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
@@ -675,7 +675,7 @@
priv->sourceAudio.requestedOffset = offset;
gst_object_ref(src);
- priv->sourceAudio.seek.schedule("[WebKit] webKitMediaAudioSrcSeekMainCb", std::bind(webKitMediaAudioSrcSeekMainCb, src), G_PRIORITY_DEFAULT,
+ priv->sourceAudio.seek.schedule("[WebKit] webKitMediaAudioSrcSeekMainCb", std::function<void()>(std::bind(webKitMediaAudioSrcSeekMainCb, src)), G_PRIORITY_DEFAULT,
[src] { gst_object_unref(src); });
GST_OBJECT_UNLOCK(src);
Modified: trunk/Source/WebCore/platform/gtk/GtkDragAndDropHelper.cpp (166915 => 166916)
--- trunk/Source/WebCore/platform/gtk/GtkDragAndDropHelper.cpp 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WebCore/platform/gtk/GtkDragAndDropHelper.cpp 2014-04-08 07:37:37 UTC (rev 166916)
@@ -99,7 +99,7 @@
// the drag-drop signal. We want the actions for drag-leave to happen after
// those for drag-drop, so schedule them to happen asynchronously here.
context->exitedCallback = exitedCallback;
- GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] handleDragLeaveLater", std::bind(&GtkDragAndDropHelper::handleDragLeaveLater, this, context));
+ GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] handleDragLeaveLater", std::function<void()>(std::bind(&GtkDragAndDropHelper::handleDragLeaveLater, this, context)));
}
static void queryNewDropContextData(DroppingContext* dropContext, GtkWidget* widget, guint time)
Modified: trunk/Source/WebCore/platform/gtk/SharedTimerGtk.cpp (166915 => 166916)
--- trunk/Source/WebCore/platform/gtk/SharedTimerGtk.cpp 2014-04-08 07:14:20 UTC (rev 166915)
+++ trunk/Source/WebCore/platform/gtk/SharedTimerGtk.cpp 2014-04-08 07:37:37 UTC (rev 166916)
@@ -47,7 +47,7 @@
{
ASSERT(sharedTimerFiredFunction);
- gSharedTimer.scheduleAfterDelay("[WebKit] sharedTimerTimeoutCallback", sharedTimerFiredFunction,
+ gSharedTimer.scheduleAfterDelay("[WebKit] sharedTimerTimeoutCallback", std::function<void()>(sharedTimerFiredFunction),
std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::duration<double>(interval)), GDK_PRIORITY_REDRAW);
}
_______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes