Diff
Modified: trunk/Source/WebKit/gtk/ChangeLog (160433 => 160434)
--- trunk/Source/WebKit/gtk/ChangeLog 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit/gtk/ChangeLog 2013-12-11 16:28:27 UTC (rev 160434)
@@ -1,3 +1,21 @@
+2013-12-11 Brendan Long <[email protected]>
+
+ [GTK] Add "enable-mediasource" property to WebKitWebSettings
+ https://bugs.webkit.org/show_bug.cgi?id=125566
+
+ Reviewed by Philippe Normand.
+
+ * 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):
+
2013-12-10 Joanmarie Diggs <[email protected]>
AX: [ATK] Convert the get_text atktest.c unit tests to layout tests
Modified: trunk/Source/WebKit/gtk/tests/testwebsettings.c (160433 => 160434)
--- trunk/Source/WebKit/gtk/tests/testwebsettings.c 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit/gtk/tests/testwebsettings.c 2013-12-11 16:28:27 UTC (rev 160434)
@@ -34,24 +34,30 @@
"enable-webgl", TRUE,
"enable-fullscreen", TRUE,
"auto-load-images", FALSE,
- "default-encoding", "utf-8", NULL);
+ "default-encoding", "utf-8",
+ "enable-mediasource", TRUE,
+ NULL);
WebKitWebSettings *copy = webkit_web_settings_copy(settings);
gboolean enableWebGL = FALSE;
gboolean enableFullscreen = FALSE;
gboolean autoLoadImages = FALSE;
+ gboolean enableMediaSource = FALSE;
char *defaultEncoding = 0;
g_object_get(copy,
"enable-fullscreen", &enableFullscreen,
"enable-webgl", &enableWebGL,
"auto-load-images", &autoLoadImages,
- "default-encoding", &defaultEncoding, NULL);
+ "default-encoding", &defaultEncoding,
+ "enable-mediasource", &enableMediaSource,
+ NULL);
g_assert(enableWebGL);
g_assert(enableFullscreen);
g_assert(!autoLoadImages);
g_assert_cmpstr(defaultEncoding, ==, "utf-8");
+ g_assert(enableMediaSource);
g_free(defaultEncoding);
}
Modified: trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp (160433 => 160434)
--- trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp 2013-12-11 16:28:27 UTC (rev 160434)
@@ -123,7 +123,8 @@
PROP_MEDIA_PLAYBACK_ALLOWS_INLINE,
PROP_ENABLE_CSS_SHADERS,
PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT,
- PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT
+ PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT,
+ PROP_ENABLE_MEDIA_SOURCE
};
static void webkit_web_settings_finalize(GObject* object);
@@ -1024,6 +1025,26 @@
_("Whether non-HTTPS resources can run on HTTPS pages."),
TRUE,
flags));
+
+ /**
+ * WebKitWebSettings:enable-mediasource:
+ *
+ * Enable or disable support for MediaSource on pages. MediaSource is an
+ * experimental proposal which extends HTMLMediaElement to allow
+ * _javascript_ to generate media streams for playback. The standard is
+ * currently a work-in-progress by the W3C HTML Media Task Force.
+ *
+ * See also http://www.w3.org/TR/media-source/
+ *
+ * Since: 2.4
+ */
+ g_object_class_install_property(gobject_class,
+ PROP_ENABLE_MEDIA_SOURCE,
+ g_param_spec_boolean("enable-mediasource",
+ _("Enable MediaSource"),
+ _("Whether MediaSource should be enabled."),
+ FALSE,
+ flags));
}
static void webkit_web_settings_init(WebKitWebSettings* web_settings)
@@ -1223,6 +1244,9 @@
case PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT:
priv->enableRunningOfInsecureContent = g_value_get_boolean(value);
break;
+ case PROP_ENABLE_MEDIA_SOURCE:
+ priv->enableMediaSource = g_value_get_boolean(value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
@@ -1412,6 +1436,9 @@
case PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT:
g_value_set_boolean(value, priv->enableRunningOfInsecureContent);
break;
+ case PROP_ENABLE_MEDIA_SOURCE:
+ g_value_set_boolean(value, priv->enableMediaSource);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
Modified: trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h (160433 => 160434)
--- trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h 2013-12-11 16:28:27 UTC (rev 160434)
@@ -88,6 +88,7 @@
gboolean mediaPlaybackAllowsInline;
gboolean enableDisplayOfInsecureContent;
gboolean enableRunningOfInsecureContent;
+ gboolean enableMediaSource;
};
WEBKIT_API void webkit_web_settings_add_extra_plugin_directory(WebKitWebView*, const gchar* directory);
Modified: trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp (160433 => 160434)
--- trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp 2013-12-11 16:28:27 UTC (rev 160434)
@@ -3623,6 +3623,10 @@
WebCore::RuntimeEnabledFeatures::sharedFeatures().setCSSRegionsEnabled(true);
#endif
+#if ENABLE(MEDIA_SOURCE)
+ coreSettings.setMediaSourceEnabled(settingsPrivate->enableMediaSource);
+#endif
+
// Use mock scrollbars if in DumpRenderTree mode (i.e. testing layout tests).
coreSettings.setMockScrollbarsEnabled(DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled());
@@ -3771,6 +3775,11 @@
settings.setCSSCustomFilterEnabled(g_value_get_boolean(&value));
#endif
+#if ENABLE(MEDIA_SOURCE)
+ else if (name == g_intern_string("enable-mediasource"))
+ settings.setMediaSourceEnabled(g_value_get_boolean(&value));
+#endif
+
else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
g_warning("Unexpected setting '%s'", name);
g_value_unset(&value);
Modified: trunk/Source/WebKit2/ChangeLog (160433 => 160434)
--- trunk/Source/WebKit2/ChangeLog 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit2/ChangeLog 2013-12-11 16:28:27 UTC (rev 160434)
@@ -1,3 +1,21 @@
+2013-12-11 Brendan Long <[email protected]>
+
+ [GTK] Add "enable-mediasource" property to WebKitWebSettings
+ https://bugs.webkit.org/show_bug.cgi?id=125566
+
+ Reviewed by Philippe Normand.
+
+ * 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):
+
2013-12-11 Michał Pakuła vel Rutka <[email protected]>
[EFL] Fix build with CONTEXT_MENUS flag set OFF
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp (160433 => 160434)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp 2013-12-11 16:28:27 UTC (rev 160434)
@@ -137,7 +137,8 @@
PROP_ENABLE_ACCELERATED_2D_CANVAS,
PROP_ENABLE_WRITE_CONSOLE_MESSAGES_TO_STDOUT,
PROP_ENABLE_MEDIA_STREAM,
- PROP_ENABLE_SPATIAL_NAVIGATION
+ PROP_ENABLE_SPATIAL_NAVIGATION,
+ PROP_ENABLE_MEDIASOURCE
};
static void webKitSettingsConstructed(GObject* object)
@@ -305,6 +306,9 @@
case PROP_ENABLE_SPATIAL_NAVIGATION:
webkit_settings_set_enable_spatial_navigation(settings, g_value_get_boolean(value));
break;
+ case PROP_ENABLE_MEDIASOURCE:
+ webkit_settings_set_enable_mediasource(settings, g_value_get_boolean(value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
break;
@@ -457,6 +461,9 @@
case PROP_ENABLE_SPATIAL_NAVIGATION:
g_value_set_boolean(value, webkit_settings_get_enable_spatial_navigation(settings));
break;
+ case PROP_ENABLE_MEDIASOURCE:
+ g_value_set_boolean(value, webkit_settings_get_enable_mediasource(settings));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
@@ -1189,6 +1196,25 @@
FALSE,
readWriteConstructParamFlags));
+ /**
+ * WebKitSettings:enable-mediasource:
+ *
+ * Enable or disable support for MediaSource on pages. MediaSource is an
+ * experimental proposal which extends HTMLMediaElement to allow
+ * _javascript_ to generate media streams for playback. The standard is
+ * currently a work-in-progress by the W3C HTML Media Task Force.
+ *
+ * See also http://www.w3.org/TR/media-source/
+ *
+ * Since: 2.4
+ */
+ g_object_class_install_property(gObjectClass,
+ PROP_ENABLE_MEDIASOURCE,
+ g_param_spec_boolean("enable-mediasource",
+ _("Enable MediaSource"),
+ _("Whether MediaSource should be enabled."),
+ FALSE,
+ readWriteConstructParamFlags));
}
WebPreferences* webkitSettingsGetPreferences(WebKitSettings* settings)
@@ -2932,3 +2958,42 @@
return settings->priv->preferences->spatialNavigationEnabled();
}
+
+/**
+ * webkit_settings_get_enable_mediasource:
+ * @settings: a #WebKitSettings
+ *
+ * Get the #WebKitSettings:enable-mediasource property.
+ *
+ * Returns: %TRUE If MediaSource support is enabled or %FALSE otherwise.
+ *
+ * Since: 2.4
+ */
+gboolean webkit_settings_get_enable_mediasource(WebKitSettings* settings)
+{
+ g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
+
+ return settings->priv->preferences->mediaSourceEnabled();
+}
+
+/**
+ * webkit_settings_set_enable_mediasource:
+ * @settings: a #WebKitSettings
+ * @enabled: Value to be set
+ *
+ * Set the #WebKitSettings:enable-mediasource property.
+ *
+ * Since: 2.4
+ */
+void webkit_settings_set_enable_mediasource(WebKitSettings* settings, gboolean enabled)
+{
+ g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
+
+ WebKitSettingsPrivate* priv = settings->priv;
+ bool currentValue = priv->preferences->mediaSourceEnabled();
+ if (currentValue == enabled)
+ return;
+
+ priv->preferences->setMediaSourceEnabled(enabled);
+ g_object_notify(G_OBJECT(settings), "enable-mediasource");
+}
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h (160433 => 160434)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h 2013-12-11 16:28:27 UTC (rev 160434)
@@ -407,6 +407,13 @@
webkit_settings_set_enable_spatial_navigation (WebKitSettings *settings,
gboolean enabled);
+WEBKIT_API gboolean
+webkit_settings_get_enable_mediasource (WebKitSettings *settings);
+
+WEBKIT_API void
+webkit_settings_set_enable_mediasource (WebKitSettings *settings,
+ gboolean enabled);
+
G_END_DECLS
#endif /* WebKitSettings_h */
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt (160433 => 160434)
--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt 2013-12-11 16:28:27 UTC (rev 160434)
@@ -368,6 +368,8 @@
webkit_settings_set_enable_media_stream
webkit_settings_get_enable_spatial_navigation
webkit_settings_set_enable_spatial_navigation
+webkit_settings_get_enable_mediasource
+webkit_settings_set_enable_mediasource
<SUBSECTION Standard>
WebKitSettingsClass
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp (160433 => 160434)
--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp 2013-12-11 16:28:27 UTC (rev 160434)
@@ -268,6 +268,11 @@
webkit_settings_set_enable_spatial_navigation(settings, TRUE);
g_assert(webkit_settings_get_enable_spatial_navigation(settings));
+ // MediaSource is disabled by default
+ g_assert(!webkit_settings_get_enable_mediasource(settings));
+ webkit_settings_set_enable_mediasource(settings, TRUE);
+ g_assert(webkit_settings_get_enable_mediasource(settings));
+
g_object_unref(G_OBJECT(settings));
}
Modified: trunk/Tools/ChangeLog (160433 => 160434)
--- trunk/Tools/ChangeLog 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Tools/ChangeLog 2013-12-11 16:28:27 UTC (rev 160434)
@@ -1,3 +1,15 @@
+2013-12-11 Brendan Long <[email protected]>
+
+ [GTK] Add "enable-mediasource" property to WebKitWebSettings
+ https://bugs.webkit.org/show_bug.cgi?id=125566
+
+ Reviewed by Philippe Normand.
+
+ * DumpRenderTree/gtk/DumpRenderTree.cpp:
+ (resetDefaultsToConsistentValues): Turn MediaSource on by default for easier testing.
+ * DumpRenderTree/gtk/TestRunnerGtk.cpp:
+ (TestRunner::overridePreference): Allow overriding WebKitMediaSourceEnabled.
+
2013-12-11 Dan Bernstein <[email protected]>
[Mac] Observe the activeURL property to keep the MiniBrowser URL field up to date
Modified: trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp (160433 => 160434)
--- trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp 2013-12-11 16:28:27 UTC (rev 160434)
@@ -496,6 +496,7 @@
"enable-hyperlink-auditing", FALSE,
"editing-behavior", WEBKIT_EDITING_BEHAVIOR_UNIX,
"enable-fullscreen", TRUE,
+ "enable-mediasource", TRUE,
NULL);
webkit_web_view_set_settings(webView, settings);
webkit_set_cache_model(WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER);
Modified: trunk/Tools/DumpRenderTree/gtk/TestRunnerGtk.cpp (160433 => 160434)
--- trunk/Tools/DumpRenderTree/gtk/TestRunnerGtk.cpp 2013-12-11 16:16:16 UTC (rev 160433)
+++ trunk/Tools/DumpRenderTree/gtk/TestRunnerGtk.cpp 2013-12-11 16:28:27 UTC (rev 160434)
@@ -695,6 +695,8 @@
propertyName = "auto-load-images";
else if (g_str_equal(originalName.get(), "WebKitShouldRespectImageOrientation"))
propertyName = "respect-image-orientation";
+ else if (g_str_equal(originalName.get(), "WebKitMediaSourceEnabled"))
+ propertyName = "enable-mediasource";
else if (g_str_equal(originalName.get(), "WebKitTabToLinksPreferenceKey")) {
DumpRenderTreeSupportGtk::setLinksIncludedInFocusChain(booleanFromValue(valueAsString.get()));
return;