Changeset 158360 in webkit


Ignore:
Timestamp:
Oct 31, 2013 8:35:02 AM (10 years ago)
Author:
Philippe Normand
Message:

[WK2][GTK] enable-media-stream Setting
https://bugs.webkit.org/show_bug.cgi?id=123145

Reviewed by Anders Carlsson.

Source/WebCore:

  • page/Settings.in: new mediaStreamEnabled setting.

Source/WebKit2:

  • Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference.
  • UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and

setter functions.
(WKPreferencesSetMediaStreamEnabled):
(WKPreferencesGetMediaStreamEnabled):

  • UIProcess/API/C/WKPreferences.h:
  • UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream

property to the GTK WebKitSettings class. It will act as a facade
to the MediaStreamEnabled preference.
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_media_stream):
(webkit_settings_set_enable_media_stream):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings): Test enable-media-stream websetting.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
Allow WKTR to override the MediaStreamEnabled preference.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Update MediaStreamEnabled
along with the other settings.

Location:
trunk/Source
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r158359 r158360  
     12013-10-31  Philippe Normand  <pnormand@igalia.com>
     2
     3        [WK2][GTK] enable-media-stream Setting
     4        https://bugs.webkit.org/show_bug.cgi?id=123145
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * page/Settings.in: new mediaStreamEnabled setting.
     9
    1102013-10-31  Zan Dobersek  <zdobersek@igalia.com>
    211
  • trunk/Source/WebCore/page/Settings.in

    r158279 r158360  
    117117fullScreenEnabled initial=false, conditional=FULLSCREEN_API
    118118asynchronousSpellCheckingEnabled initial=false
     119mediaStreamEnabled initial=false
    119120
    120121# This feature requires an implementation of ValidationMessageClient.
  • trunk/Source/WebKit2/ChangeLog

    r158348 r158360  
     12013-10-31  Philippe Normand  <pnormand@igalia.com>
     2
     3        [WK2][GTK] enable-media-stream Setting
     4        https://bugs.webkit.org/show_bug.cgi?id=123145
     5
     6        Reviewed by Anders Carlsson.
     7
     8        * Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference.
     9        * UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and
     10        setter functions.
     11        (WKPreferencesSetMediaStreamEnabled):
     12        (WKPreferencesGetMediaStreamEnabled):
     13        * UIProcess/API/C/WKPreferences.h:
     14        * UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream
     15        property to the GTK WebKitSettings class. It will act as a facade
     16        to the MediaStreamEnabled preference.
     17        (webKitSettingsSetProperty):
     18        (webKitSettingsGetProperty):
     19        (webkit_settings_class_init):
     20        (webkit_settings_get_enable_media_stream):
     21        (webkit_settings_set_enable_media_stream):
     22        * UIProcess/API/gtk/WebKitSettings.h:
     23        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
     24        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
     25        (testWebKitSettings): Test enable-media-stream websetting.
     26        * WebProcess/InjectedBundle/InjectedBundle.cpp:
     27        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
     28        Allow WKTR to override the MediaStreamEnabled preference.
     29        * WebProcess/WebPage/WebPage.cpp:
     30        (WebKit::WebPage::updatePreferences): Update MediaStreamEnabled
     31        along with the other settings.
     32
    1332013-10-30  Brady Eidson  <beidson@apple.com>
    234
  • trunk/Source/WebKit2/Shared/WebPreferencesStore.h

    r158279 r158360  
    168168    macro(SimpleLineLayoutEnabled, simpleLineLayoutEnabled, Bool, bool, true) \
    169169    macro(SimpleLineLayoutDebugBordersEnabled, simpleLineLayoutDebugBordersEnabled, Bool, bool, false) \
     170    macro(MediaStreamEnabled, mediaStreamEnabled, Bool, bool, false) \
    170171    \
    171172
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r158279 r158360  
    11961196    return toImpl(preferencesRef)->simpleLineLayoutDebugBordersEnabled();
    11971197}
     1198
     1199void WKPreferencesSetMediaStreamEnabled(WKPreferencesRef preferencesRef, bool enabled)
     1200{
     1201    toImpl(preferencesRef)->setMediaStreamEnabled(enabled);
     1202}
     1203
     1204bool WKPreferencesGetMediaStreamEnabled(WKPreferencesRef preferencesRef)
     1205{
     1206    return toImpl(preferencesRef)->mediaStreamEnabled();
     1207}
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.h

    r146664 r158360  
    241241WK_EXPORT bool WKPreferencesGetAsynchronousSpellCheckingEnabled(WKPreferencesRef preferencesRef);
    242242
     243// Defaults to false
     244WK_EXPORT void WKPreferencesSetMediaStreamEnabled(WKPreferencesRef preferencesRef, bool enabled);
     245WK_EXPORT bool WKPreferencesGetMediaStreamEnabled(WKPreferencesRef preferencesRef);
     246
    243247#ifdef __cplusplus
    244248}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp

    r157861 r158360  
    136136    PROP_ENABLE_SMOOTH_SCROLLING,
    137137    PROP_ENABLE_ACCELERATED_2D_CANVAS,
    138     PROP_ENABLE_WRITE_CONSOLE_MESSAGES_TO_STDOUT
     138    PROP_ENABLE_WRITE_CONSOLE_MESSAGES_TO_STDOUT,
     139    PROP_ENABLE_MEDIA_STREAM
    139140};
    140141
     
    298299        webkit_settings_set_enable_write_console_messages_to_stdout(settings, g_value_get_boolean(value));
    299300        break;
     301    case PROP_ENABLE_MEDIA_STREAM:
     302        webkit_settings_set_enable_media_stream(settings, g_value_get_boolean(value));
     303        break;
    300304    default:
    301305        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
     
    443447    case PROP_ENABLE_WRITE_CONSOLE_MESSAGES_TO_STDOUT:
    444448        g_value_set_boolean(value, webkit_settings_get_enable_write_console_messages_to_stdout(settings));
     449        break;
     450    case PROP_ENABLE_MEDIA_STREAM:
     451        g_value_set_boolean(value, webkit_settings_get_enable_media_stream(settings));
    445452        break;
    446453    default:
     
    11361143            readWriteConstructParamFlags));
    11371144
     1145    /**
     1146     * WebKitSettings:enable-media-stream:
     1147     *
     1148     * Enable or disable support for MediaStream on pages. MediaStream
     1149     * is an experimental proposal for allowing web pages to access
     1150     * audio and video devices for capture.
     1151     *
     1152     * See also http://dev.w3.org/2011/webrtc/editor/getusermedia.html
     1153     *
     1154     * Since: 2.4
     1155     */
     1156    g_object_class_install_property(gObjectClass,
     1157        PROP_ENABLE_MEDIA_STREAM,
     1158        g_param_spec_boolean("enable-media-stream",
     1159            _("Enable MediaStream"),
     1160            _("Whether MediaStream content should be handled"),
     1161            FALSE,
     1162            readWriteConstructParamFlags));
     1163
    11381164}
    11391165
     
    27992825    g_object_notify(G_OBJECT(settings), "enable-write-console-messages-to-stdout");
    28002826}
     2827
     2828/**
     2829 * webkit_settings_get_enable_media_stream:
     2830 * @settings: a #WebKitSettings
     2831 *
     2832 * Get the #WebKitSettings:enable-media-stream property.
     2833 *
     2834 * Returns: %TRUE If mediastream support is enabled or %FALSE otherwise.
     2835 *
     2836 * Since: 2.4
     2837 */
     2838gboolean webkit_settings_get_enable_media_stream(WebKitSettings* settings)
     2839{
     2840    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
     2841
     2842    return settings->priv->preferences->mediaStreamEnabled();
     2843}
     2844
     2845/**
     2846 * webkit_settings_set_enable_media_stream:
     2847 * @settings: a #WebKitSettings
     2848 * @enabled: Value to be set
     2849 *
     2850 * Set the #WebKitSettings:enable-media-stream property.
     2851 *
     2852 * Since: 2.4
     2853 */
     2854void webkit_settings_set_enable_media_stream(WebKitSettings* settings, gboolean enabled)
     2855{
     2856    g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
     2857
     2858    WebKitSettingsPrivate* priv = settings->priv;
     2859    bool currentValue = priv->preferences->mediaStreamEnabled();
     2860    if (currentValue == enabled)
     2861        return;
     2862
     2863    priv->preferences->setMediaStreamEnabled(enabled);
     2864    g_object_notify(G_OBJECT(settings), "enable-media-stream");
     2865}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h

    r150158 r158360  
    394394                                                                gboolean        enabled);
    395395
     396WEBKIT_API gboolean
     397webkit_settings_get_enable_media_stream                        (WebKitSettings *settings);
     398
     399WEBKIT_API void
     400webkit_settings_set_enable_media_stream                        (WebKitSettings *settings,
     401                                                                gboolean        enabled);
     402
    396403G_END_DECLS
    397404
  • trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt

    r157781 r158360  
    365365webkit_settings_get_enable_write_console_messages_to_stdout
    366366webkit_settings_set_enable_write_console_messages_to_stdout
     367webkit_settings_get_enable_media_stream
     368webkit_settings_set_enable_media_stream
    367369
    368370<SUBSECTION Standard>
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp

    r150158 r158360  
    259259    g_assert(webkit_settings_get_enable_write_console_messages_to_stdout(settings));
    260260
     261    // MediaStream is disabled by default.
     262    g_assert(!webkit_settings_get_enable_media_stream(settings));
     263    webkit_settings_set_enable_media_stream(settings, TRUE);
     264    g_assert(webkit_settings_get_enable_media_stream(settings));
     265
    261266    g_object_unref(G_OBJECT(settings));
    262267}
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp

    r156550 r158360  
    219219    macro(WebKitShouldRespectImageOrientation, ShouldRespectImageOrientation, shouldRespectImageOrientation) \
    220220    macro(WebKitEnableCaretBrowsing, CaretBrowsingEnabled, caretBrowsingEnabled) \
    221     macro(WebKitDisplayImagesKey, LoadsImagesAutomatically, loadsImagesAutomatically)
     221    macro(WebKitDisplayImagesKey, LoadsImagesAutomatically, loadsImagesAutomatically) \
     222    macro(WebKitMediaStreamEnabled, MediaStreamEnabled, mediaStreamEnabled)
    222223
    223224    if (preference == "WebKitAcceleratedCompositingEnabled")
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r158310 r158360  
    24042404#endif
    24052405
     2406#if ENABLE(MEDIA_STREAM)
     2407    settings.setMediaStreamEnabled(store.getBoolValueForKey(WebPreferencesKey::mediaStreamEnabledKey()));
     2408#endif
     2409
    24062410    settings.setApplicationChromeMode(store.getBoolValueForKey(WebPreferencesKey::applicationChromeModeKey()));
    24072411    settings.setSuppressesIncrementalRendering(store.getBoolValueForKey(WebPreferencesKey::suppressesIncrementalRenderingKey()));
Note: See TracChangeset for help on using the changeset viewer.