Changeset 166916 in webkit


Ignore:
Timestamp:
Apr 8, 2014 12:37:37 AM (10 years ago)
Author:
Andres Gomez
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.

Location:
trunk/Source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r166876 r166916  
     12014-04-08  Andres Gomez  <agomez@igalia.com>
     2
     3        [GTK] [EFL] Build fails with GCC < 4.8.x
     4        https://bugs.webkit.org/show_bug.cgi?id=130585
     5
     6        Reviewed by Martin Robinson.
     7
     8        The behavior in lower versions of GCC seem to be related to
     9        http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
     10
     11        Provided explicit casts for the failing ambiguous overloads.
     12
     13        * wtf/gtk/MainThreadGtk.cpp:
     14        (WTF::scheduleDispatchFunctionsOnMainThread):
     15        * wtf/gtk/RunLoopGtk.cpp:
     16        (WTF::RunLoop::wakeUp): Provided lambda with a RefPtr instead of
     17        ref and de-referring.
     18
    1192014-04-04  Mark Lam  <mark.lam@apple.com>
    220
  • trunk/Source/WTF/wtf/gtk/MainThreadGtk.cpp

    r165952 r166916  
    4141void scheduleDispatchFunctionsOnMainThread()
    4242{
    43     GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] dispatchFunctionsFromMainThread", dispatchFunctionsFromMainThread);
     43    GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] dispatchFunctionsFromMainThread", std::function<void()>(dispatchFunctionsFromMainThread));
    4444}
    4545
  • trunk/Source/WTF/wtf/gtk/RunLoopGtk.cpp

    r165952 r166916  
    100100void RunLoop::wakeUp()
    101101{
    102     ref();
    103     GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] RunLoop work", std::bind(&RunLoop::performWork, this),
    104         G_PRIORITY_DEFAULT, [this] { deref(); });
     102    RefPtr<RunLoop> runLoop(this);
     103    GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] RunLoop work", std::function<void()>([runLoop] {
     104        runLoop->performWork();
     105    }));
    105106    g_main_context_wakeup(m_runLoopContext.get());
    106107}
  • trunk/Source/WebCore/ChangeLog

    r166915 r166916  
     12014-04-08  Andres Gomez  <agomez@igalia.com>
     2
     3        [GTK] [EFL] Build fails with GCC < 4.8.x
     4        https://bugs.webkit.org/show_bug.cgi?id=130585
     5
     6        Reviewed by Martin Robinson.
     7
     8        The behavior in lower versions of GCC seem to be related to
     9        http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#2132.
     10
     11        Provided explicit casts for the failing ambiguous overloads.
     12
     13        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
     14        (WebCore::AudioFileReader::createBus):
     15        * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
     16        (webKitMediaSrcChangeState):
     17        (webKitMediaVideoSrcNeedDataCb):
     18        (webKitMediaAudioSrcNeedDataCb):
     19        (webKitMediaVideoSrcEnoughDataCb):
     20        (webKitMediaAudioSrcEnoughDataCb):
     21        (webKitMediaVideoSrcSeekDataCb):
     22        (webKitMediaAudioSrcSeekDataCb):
     23        * platform/gtk/GtkDragAndDropHelper.cpp:
     24        (WebCore::GtkDragAndDropHelper::handleDragLeave):
     25        * platform/gtk/SharedTimerGtk.cpp:
     26        (WebCore::setSharedTimerFireInterval):
     27
    1282014-04-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
    229
  • trunk/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp

    r166496 r166916  
    336336    // Start the pipeline processing just after the loop is started.
    337337    GMainLoopSource source;
    338     source.schedule("[WebKit] AudioFileReader::decodeAudioForBusCreation", std::bind(&AudioFileReader::decodeAudioForBusCreation, this), G_PRIORITY_DEFAULT, nullptr, context.get());
     338    source.schedule("[WebKit] AudioFileReader::decodeAudioForBusCreation", std::function<void()>(std::bind(&AudioFileReader::decodeAudioForBusCreation, this)), G_PRIORITY_DEFAULT, nullptr, context.get());
    339339
    340340    g_main_loop_run(m_loop.get());
  • trunk/Source/WebCore/platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp

    r166496 r166916  
    367367
    368368        gst_object_ref(src);
    369         priv->sourceVideo.start.schedule("[WebKit] webKitMediaVideoSrcStart", std::bind(webKitMediaVideoSrcStart, src), G_PRIORITY_DEFAULT,
     369        priv->sourceVideo.start.schedule("[WebKit] webKitMediaVideoSrcStart", std::function<void()>(std::bind(webKitMediaVideoSrcStart, src)), G_PRIORITY_DEFAULT,
    370370            [src] { gst_object_unref(src); });
    371371
    372372        gst_object_ref(src);
    373         priv->sourceAudio.start.schedule("[WebKit] webKitMediaAudioSrcStart", std::bind(webKitMediaAudioSrcStart, src), G_PRIORITY_DEFAULT,
     373        priv->sourceAudio.start.schedule("[WebKit] webKitMediaAudioSrcStart", std::function<void()>(std::bind(webKitMediaAudioSrcStart, src)), G_PRIORITY_DEFAULT,
    374374            [src] { gst_object_unref(src); });
    375375
     
    381381
    382382        gst_object_ref(src);
    383         priv->sourceVideo.stop.schedule("[WebKit] webKitMediaVideoSrcStop", std::bind(webKitMediaVideoSrcStop, src), G_PRIORITY_DEFAULT,
     383        priv->sourceVideo.stop.schedule("[WebKit] webKitMediaVideoSrcStop", std::function<void()>(std::bind(webKitMediaVideoSrcStop, src)), G_PRIORITY_DEFAULT,
    384384            [src] { gst_object_unref(src); });
    385385
    386386        gst_object_ref(src);
    387         priv->sourceAudio.stop.schedule("[WebKit] webKitMediaAudioSrcStop", std::bind(webKitMediaAudioSrcStop, src), G_PRIORITY_DEFAULT,
     387        priv->sourceAudio.stop.schedule("[WebKit] webKitMediaAudioSrcStop", std::function<void()>(std::bind(webKitMediaAudioSrcStop, src)), G_PRIORITY_DEFAULT,
    388388            [src] { gst_object_unref(src); });
    389389
     
    525525
    526526    gst_object_ref(src);
    527     priv->sourceVideo.needData.schedule("[WebKit] webKitMediaVideoSrcNeedDataMainCb", std::bind(webKitMediaVideoSrcNeedDataMainCb, src), G_PRIORITY_DEFAULT,
     527    priv->sourceVideo.needData.schedule("[WebKit] webKitMediaVideoSrcNeedDataMainCb", std::function<void()>(std::bind(webKitMediaVideoSrcNeedDataMainCb, src)), G_PRIORITY_DEFAULT,
    528528        [src] { gst_object_unref(src); });
    529529    GST_OBJECT_UNLOCK(src);
     
    544544
    545545    gst_object_ref(src);
    546     priv->sourceAudio.needData.schedule("[WebKit] webKitMediaAudioSrcNeedDataMainCb", std::bind(webKitMediaAudioSrcNeedDataMainCb, src), G_PRIORITY_DEFAULT,
     546    priv->sourceAudio.needData.schedule("[WebKit] webKitMediaAudioSrcNeedDataMainCb", std::function<void()>(std::bind(webKitMediaAudioSrcNeedDataMainCb, src)), G_PRIORITY_DEFAULT,
    547547        [src] { gst_object_unref(src); });
    548548    GST_OBJECT_UNLOCK(src);
     
    581581
    582582    gst_object_ref(src);
    583     priv->sourceVideo.enoughData.schedule("[WebKit] webKitMediaVideoSrcEnoughDataMainCb", std::bind(webKitMediaVideoSrcEnoughDataMainCb, src), G_PRIORITY_DEFAULT,
     583    priv->sourceVideo.enoughData.schedule("[WebKit] webKitMediaVideoSrcEnoughDataMainCb", std::function<void()>(std::bind(webKitMediaVideoSrcEnoughDataMainCb, src)), G_PRIORITY_DEFAULT,
    584584        [src] { gst_object_unref(src); });
    585585
     
    601601
    602602    gst_object_ref(src);
    603     priv->sourceAudio.enoughData.schedule("[WebKit] webKitMediaAudioSrcEnoughDataMainCb", std::bind(webKitMediaAudioSrcEnoughDataMainCb, src), G_PRIORITY_DEFAULT,
     603    priv->sourceAudio.enoughData.schedule("[WebKit] webKitMediaAudioSrcEnoughDataMainCb", std::function<void()>(std::bind(webKitMediaAudioSrcEnoughDataMainCb, src)), G_PRIORITY_DEFAULT,
    604604        [src] { gst_object_unref(src); });
    605605
     
    643643
    644644    gst_object_ref(src);
    645     priv->sourceVideo.seek.schedule("[WebKit] webKitMediaVideoSrcSeekMainCb", std::bind(webKitMediaVideoSrcSeekMainCb, src), G_PRIORITY_DEFAULT,
     645    priv->sourceVideo.seek.schedule("[WebKit] webKitMediaVideoSrcSeekMainCb", std::function<void()>(std::bind(webKitMediaVideoSrcSeekMainCb, src)), G_PRIORITY_DEFAULT,
    646646        [src] { gst_object_unref(src); });
    647647
     
    676676
    677677    gst_object_ref(src);
    678     priv->sourceAudio.seek.schedule("[WebKit] webKitMediaAudioSrcSeekMainCb", std::bind(webKitMediaAudioSrcSeekMainCb, src), G_PRIORITY_DEFAULT,
     678    priv->sourceAudio.seek.schedule("[WebKit] webKitMediaAudioSrcSeekMainCb", std::function<void()>(std::bind(webKitMediaAudioSrcSeekMainCb, src)), G_PRIORITY_DEFAULT,
    679679        [src] { gst_object_unref(src); });
    680680
  • trunk/Source/WebCore/platform/gtk/GtkDragAndDropHelper.cpp

    r166496 r166916  
    100100    // those for drag-drop, so schedule them to happen asynchronously here.
    101101    context->exitedCallback = exitedCallback;
    102     GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] handleDragLeaveLater", std::bind(&GtkDragAndDropHelper::handleDragLeaveLater, this, context));
     102    GMainLoopSource::createAndDeleteOnDestroy().schedule("[WebKit] handleDragLeaveLater", std::function<void()>(std::bind(&GtkDragAndDropHelper::handleDragLeaveLater, this, context)));
    103103}
    104104
  • trunk/Source/WebCore/platform/gtk/SharedTimerGtk.cpp

    r166496 r166916  
    4848    ASSERT(sharedTimerFiredFunction);
    4949
    50     gSharedTimer.scheduleAfterDelay("[WebKit] sharedTimerTimeoutCallback", sharedTimerFiredFunction,
     50    gSharedTimer.scheduleAfterDelay("[WebKit] sharedTimerTimeoutCallback", std::function<void()>(sharedTimerFiredFunction),
    5151        std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::duration<double>(interval)), GDK_PRIORITY_REDRAW);
    5252}
Note: See TracChangeset for help on using the changeset viewer.