Changeset 160434 in webkit


Ignore:
Timestamp:
Dec 11, 2013 8:28:27 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK] Add "enable-mediasource" property to WebKitWebSettings
https://bugs.webkit.org/show_bug.cgi?id=125566

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-11
Reviewed by Philippe Normand.

Source/WebKit/gtk:

  • tests/testwebsettings.c:

(test_webkit_web_settings_copy):

  • webkit/webkitwebsettings.cpp:

(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):

  • webkit/webkitwebsettingsprivate.h:
  • webkit/webkitwebview.cpp:

(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

Source/WebKit2:

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_mediasource):
(webkit_settings_set_enable_mediasource):

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

(testWebKitSettings):

Tools:

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Turn MediaSource on by default for easier testing.

  • DumpRenderTree/gtk/TestRunnerGtk.cpp:

(TestRunner::overridePreference): Allow overriding WebKitMediaSourceEnabled.

Location:
trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/gtk/ChangeLog

    r160365 r160434  
     12013-12-11  Brendan Long  <b.long@cablelabs.com>
     2
     3        [GTK] Add "enable-mediasource" property to WebKitWebSettings
     4        https://bugs.webkit.org/show_bug.cgi?id=125566
     5
     6        Reviewed by Philippe Normand.
     7
     8        * tests/testwebsettings.c:
     9        (test_webkit_web_settings_copy):
     10        * webkit/webkitwebsettings.cpp:
     11        (webkit_web_settings_class_init):
     12        (webkit_web_settings_set_property):
     13        (webkit_web_settings_get_property):
     14        * webkit/webkitwebsettingsprivate.h:
     15        * webkit/webkitwebview.cpp:
     16        (webkit_web_view_update_settings):
     17        (webkit_web_view_settings_notify):
     18
    1192013-12-10  Joanmarie Diggs  <jdiggs@igalia.com>
    220
  • trunk/Source/WebKit/gtk/tests/testwebsettings.c

    r149952 r160434  
    3535                 "enable-fullscreen", TRUE,
    3636                 "auto-load-images", FALSE,
    37                  "default-encoding", "utf-8", NULL);
     37                 "default-encoding", "utf-8",
     38                 "enable-mediasource", TRUE,
     39                 NULL);
    3840
    3941    WebKitWebSettings *copy = webkit_web_settings_copy(settings);
     
    4244    gboolean enableFullscreen = FALSE;
    4345    gboolean autoLoadImages = FALSE;
     46    gboolean enableMediaSource = FALSE;
    4447    char *defaultEncoding = 0;
    4548    g_object_get(copy,
     
    4750                 "enable-webgl", &enableWebGL,
    4851                 "auto-load-images", &autoLoadImages,
    49                  "default-encoding", &defaultEncoding, NULL);
     52                 "default-encoding", &defaultEncoding,
     53                 "enable-mediasource", &enableMediaSource,
     54                 NULL);
    5055
    5156    g_assert(enableWebGL);
     
    5358    g_assert(!autoLoadImages);
    5459    g_assert_cmpstr(defaultEncoding, ==, "utf-8");
     60    g_assert(enableMediaSource);
    5561    g_free(defaultEncoding);
    5662}
  • trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp

    r156550 r160434  
    124124    PROP_ENABLE_CSS_SHADERS,
    125125    PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT,
    126     PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT
     126    PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT,
     127    PROP_ENABLE_MEDIA_SOURCE
    127128};
    128129
     
    10251026            TRUE,
    10261027            flags));
     1028
     1029    /**
     1030    * WebKitWebSettings:enable-mediasource:
     1031    *
     1032    * Enable or disable support for MediaSource on pages. MediaSource is an
     1033    * experimental proposal which extends HTMLMediaElement to allow
     1034    * JavaScript to generate media streams for playback.  The standard is
     1035    * currently a work-in-progress by the W3C HTML Media Task Force.
     1036    *
     1037    * See also http://www.w3.org/TR/media-source/
     1038    *
     1039    * Since: 2.4
     1040    */
     1041    g_object_class_install_property(gobject_class,
     1042        PROP_ENABLE_MEDIA_SOURCE,
     1043        g_param_spec_boolean("enable-mediasource",
     1044            _("Enable MediaSource"),
     1045            _("Whether MediaSource should be enabled."),
     1046            FALSE,
     1047            flags));
    10271048}
    10281049
     
    12241245        priv->enableRunningOfInsecureContent = g_value_get_boolean(value);
    12251246        break;
     1247    case PROP_ENABLE_MEDIA_SOURCE:
     1248        priv->enableMediaSource = g_value_get_boolean(value);
     1249        break;
    12261250    default:
    12271251        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
     
    14121436    case PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT:
    14131437        g_value_set_boolean(value, priv->enableRunningOfInsecureContent);
     1438        break;
     1439    case PROP_ENABLE_MEDIA_SOURCE:
     1440        g_value_set_boolean(value, priv->enableMediaSource);
    14141441        break;
    14151442    default:
  • trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h

    r145070 r160434  
    8989    gboolean enableDisplayOfInsecureContent;
    9090    gboolean enableRunningOfInsecureContent;
     91    gboolean enableMediaSource;
    9192};
    9293
  • trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp

    r159926 r160434  
    36223622#if ENABLE(CSS_REGIONS)
    36233623    WebCore::RuntimeEnabledFeatures::sharedFeatures().setCSSRegionsEnabled(true);
     3624#endif
     3625
     3626#if ENABLE(MEDIA_SOURCE)
     3627    coreSettings.setMediaSourceEnabled(settingsPrivate->enableMediaSource);
    36243628#endif
    36253629
     
    37723776#endif
    37733777
     3778#if ENABLE(MEDIA_SOURCE)
     3779    else if (name == g_intern_string("enable-mediasource"))
     3780        settings.setMediaSourceEnabled(g_value_get_boolean(&value));
     3781#endif
     3782
    37743783    else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
    37753784        g_warning("Unexpected setting '%s'", name);
  • trunk/Source/WebKit2/ChangeLog

    r160432 r160434  
     12013-12-11  Brendan Long  <b.long@cablelabs.com>
     2
     3        [GTK] Add "enable-mediasource" property to WebKitWebSettings
     4        https://bugs.webkit.org/show_bug.cgi?id=125566
     5
     6        Reviewed by Philippe Normand.
     7
     8        * UIProcess/API/gtk/WebKitSettings.cpp:
     9        (webKitSettingsSetProperty):
     10        (webKitSettingsGetProperty):
     11        (webkit_settings_class_init):
     12        (webkit_settings_get_enable_mediasource):
     13        (webkit_settings_set_enable_mediasource):
     14        * UIProcess/API/gtk/WebKitSettings.h:
     15        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
     16        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
     17        (testWebKitSettings):
     18
    1192013-12-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
    220
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp

    r159734 r160434  
    138138    PROP_ENABLE_WRITE_CONSOLE_MESSAGES_TO_STDOUT,
    139139    PROP_ENABLE_MEDIA_STREAM,
    140     PROP_ENABLE_SPATIAL_NAVIGATION
     140    PROP_ENABLE_SPATIAL_NAVIGATION,
     141    PROP_ENABLE_MEDIASOURCE
    141142};
    142143
     
    306307        webkit_settings_set_enable_spatial_navigation(settings, g_value_get_boolean(value));
    307308        break;
     309    case PROP_ENABLE_MEDIASOURCE:
     310        webkit_settings_set_enable_mediasource(settings, g_value_get_boolean(value));
     311        break;
    308312    default:
    309313        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
     
    457461    case PROP_ENABLE_SPATIAL_NAVIGATION:
    458462        g_value_set_boolean(value, webkit_settings_get_enable_spatial_navigation(settings));
     463        break;
     464    case PROP_ENABLE_MEDIASOURCE:
     465        g_value_set_boolean(value, webkit_settings_get_enable_mediasource(settings));
    459466        break;
    460467
     
    11901197            readWriteConstructParamFlags));
    11911198
     1199    /**
     1200     * WebKitSettings:enable-mediasource:
     1201     *
     1202     * Enable or disable support for MediaSource on pages. MediaSource is an
     1203     * experimental proposal which extends HTMLMediaElement to allow
     1204     * JavaScript to generate media streams for playback.  The standard is
     1205     * currently a work-in-progress by the W3C HTML Media Task Force.
     1206     *
     1207     * See also http://www.w3.org/TR/media-source/
     1208     *
     1209     * Since: 2.4
     1210     */
     1211    g_object_class_install_property(gObjectClass,
     1212        PROP_ENABLE_MEDIASOURCE,
     1213        g_param_spec_boolean("enable-mediasource",
     1214            _("Enable MediaSource"),
     1215            _("Whether MediaSource should be enabled."),
     1216            FALSE,
     1217            readWriteConstructParamFlags));
    11921218}
    11931219
     
    29332959    return settings->priv->preferences->spatialNavigationEnabled();
    29342960}
     2961
     2962/**
     2963 * webkit_settings_get_enable_mediasource:
     2964 * @settings: a #WebKitSettings
     2965 *
     2966 * Get the #WebKitSettings:enable-mediasource property.
     2967 *
     2968 * Returns: %TRUE If MediaSource support is enabled or %FALSE otherwise.
     2969 *
     2970 * Since: 2.4
     2971 */
     2972gboolean webkit_settings_get_enable_mediasource(WebKitSettings* settings)
     2973{
     2974    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
     2975
     2976    return settings->priv->preferences->mediaSourceEnabled();
     2977}
     2978
     2979/**
     2980 * webkit_settings_set_enable_mediasource:
     2981 * @settings: a #WebKitSettings
     2982 * @enabled: Value to be set
     2983 *
     2984 * Set the #WebKitSettings:enable-mediasource property.
     2985 *
     2986 * Since: 2.4
     2987 */
     2988void webkit_settings_set_enable_mediasource(WebKitSettings* settings, gboolean enabled)
     2989{
     2990    g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
     2991
     2992    WebKitSettingsPrivate* priv = settings->priv;
     2993    bool currentValue = priv->preferences->mediaSourceEnabled();
     2994    if (currentValue == enabled)
     2995        return;
     2996
     2997    priv->preferences->setMediaSourceEnabled(enabled);
     2998    g_object_notify(G_OBJECT(settings), "enable-mediasource");
     2999}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h

    r159734 r160434  
    408408                                                                gboolean        enabled);
    409409
     410WEBKIT_API gboolean
     411webkit_settings_get_enable_mediasource                         (WebKitSettings *settings);
     412
     413WEBKIT_API void
     414webkit_settings_set_enable_mediasource                         (WebKitSettings *settings,
     415                                                                gboolean        enabled);
     416
    410417G_END_DECLS
    411418
  • trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt

    r159734 r160434  
    369369webkit_settings_get_enable_spatial_navigation
    370370webkit_settings_set_enable_spatial_navigation
     371webkit_settings_get_enable_mediasource
     372webkit_settings_set_enable_mediasource
    371373
    372374<SUBSECTION Standard>
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp

    r159811 r160434  
    269269    g_assert(webkit_settings_get_enable_spatial_navigation(settings));
    270270
     271    // MediaSource is disabled by default
     272    g_assert(!webkit_settings_get_enable_mediasource(settings));
     273    webkit_settings_set_enable_mediasource(settings, TRUE);
     274    g_assert(webkit_settings_get_enable_mediasource(settings));
     275
    271276    g_object_unref(G_OBJECT(settings));
    272277}
  • trunk/Tools/ChangeLog

    r160433 r160434  
     12013-12-11  Brendan Long  <b.long@cablelabs.com>
     2
     3        [GTK] Add "enable-mediasource" property to WebKitWebSettings
     4        https://bugs.webkit.org/show_bug.cgi?id=125566
     5
     6        Reviewed by Philippe Normand.
     7
     8        * DumpRenderTree/gtk/DumpRenderTree.cpp:
     9        (resetDefaultsToConsistentValues): Turn MediaSource on by default for easier testing.
     10        * DumpRenderTree/gtk/TestRunnerGtk.cpp:
     11        (TestRunner::overridePreference): Allow overriding WebKitMediaSourceEnabled.
     12
    1132013-12-11  Dan Bernstein  <mitz@apple.com>
    214
  • trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp

    r158103 r160434  
    497497        "editing-behavior", WEBKIT_EDITING_BEHAVIOR_UNIX,
    498498        "enable-fullscreen", TRUE,
     499        "enable-mediasource", TRUE,
    499500        NULL);
    500501    webkit_web_view_set_settings(webView, settings);
  • trunk/Tools/DumpRenderTree/gtk/TestRunnerGtk.cpp

    r158450 r160434  
    696696    else if (g_str_equal(originalName.get(), "WebKitShouldRespectImageOrientation"))
    697697        propertyName = "respect-image-orientation";
     698    else if (g_str_equal(originalName.get(), "WebKitMediaSourceEnabled"))
     699        propertyName = "enable-mediasource";
    698700    else if (g_str_equal(originalName.get(), "WebKitTabToLinksPreferenceKey")) {
    699701        DumpRenderTreeSupportGtk::setLinksIncludedInFocusChain(booleanFromValue(valueAsString.get()));
Note: See TracChangeset for help on using the changeset viewer.