Diff
Modified: trunk/Source/WebKit/ChangeLog (225181 => 225182)
--- trunk/Source/WebKit/ChangeLog 2017-11-27 18:33:00 UTC (rev 225181)
+++ trunk/Source/WebKit/ChangeLog 2017-11-27 19:36:05 UTC (rev 225182)
@@ -1,3 +1,24 @@
+2017-11-27 Yacine Bandou <[email protected]>
+
+ [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
+ https://bugs.webkit.org/show_bug.cgi?id=18005
+
+ Reviewed by Michael Catanzaro.
+
+ EncryptedMedia is an experimental _javascript_ API for playing encrypted media in HTML.
+ This property will only work as intended if the EncryptedMedia feature is enabled at build time
+ with the ENABLE_ENCRYPTED_MEDIA flag.
+
+ * UIProcess/API/glib/WebKitSettings.cpp:
+ (webKitSettingsSetProperty):
+ (webKitSettingsGetProperty):
+ (webkit_settings_class_init):
+ (webkit_settings_get_enable_encrypted_media):
+ (webkit_settings_set_enable_encrypted_media):
+ * UIProcess/API/gtk/WebKitSettings.h:
+ * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
+ * UIProcess/API/wpe/WebKitSettings.h:
+
2017-11-27 Tim Horton <[email protected]>
One too many zeroes in macOS version number in FeatureDefines
Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp (225181 => 225182)
--- trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp 2017-11-27 18:33:00 UTC (rev 225181)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp 2017-11-27 19:36:05 UTC (rev 225182)
@@ -152,6 +152,7 @@
PROP_ENABLE_MEDIA_STREAM,
PROP_ENABLE_SPATIAL_NAVIGATION,
PROP_ENABLE_MEDIASOURCE,
+ PROP_ENABLE_ENCRYPTED_MEDIA,
PROP_ALLOW_FILE_ACCESS_FROM_FILE_URLS,
PROP_ALLOW_UNIVERSAL_ACCESS_FROM_FILE_URLS,
#if PLATFORM(GTK)
@@ -348,6 +349,9 @@
case PROP_ENABLE_MEDIASOURCE:
webkit_settings_set_enable_mediasource(settings, g_value_get_boolean(value));
break;
+ case PROP_ENABLE_ENCRYPTED_MEDIA:
+ webkit_settings_set_enable_encrypted_media(settings, g_value_get_boolean(value));
+ break;
case PROP_ALLOW_FILE_ACCESS_FROM_FILE_URLS:
webkit_settings_set_allow_file_access_from_file_urls(settings, g_value_get_boolean(value));
break;
@@ -516,6 +520,9 @@
case PROP_ENABLE_MEDIASOURCE:
g_value_set_boolean(value, webkit_settings_get_enable_mediasource(settings));
break;
+ case PROP_ENABLE_ENCRYPTED_MEDIA:
+ g_value_set_boolean(value, webkit_settings_get_enable_encrypted_media(settings));
+ break;
case PROP_ALLOW_FILE_ACCESS_FROM_FILE_URLS:
g_value_set_boolean(value, webkit_settings_get_allow_file_access_from_file_urls(settings));
break;
@@ -1283,6 +1290,27 @@
FALSE,
readWriteConstructParamFlags));
+
+ /**
+ * WebKitSettings:enable-encrypted-media:
+ *
+ * Enable or disable support for Encrypted Media API on pages.
+ * EncryptedMedia is an experimental _javascript_ API for playing encrypted media in HTML.
+ * This property will only work as intended if the EncryptedMedia feature is enabled at build time
+ * with the ENABLE_ENCRYPTED_MEDIA flag.
+ *
+ * See https://www.w3.org/TR/encrypted-media/
+ *
+ * Since: 2.20
+ */
+ g_object_class_install_property(gObjectClass,
+ PROP_ENABLE_ENCRYPTED_MEDIA,
+ g_param_spec_boolean("enable-encrypted-media",
+ _("Enable EncryptedMedia"),
+ _("Whether EncryptedMedia should be enabled."),
+ FALSE,
+ readWriteConstructParamFlags));
+
/**
* WebKitSettings:allow-file-access-from-file-urls:
*
@@ -3141,6 +3169,45 @@
}
/**
+ * webkit_settings_get_enable_encrypted_media:
+ * @settings: a #WebKitSettings
+ *
+ * Get the #WebKitSettings:enable-encrypted-media property.
+ *
+ * Returns: %TRUE if EncryptedMedia support is enabled or %FALSE otherwise.
+ *
+ * Since: 2.20
+ */
+gboolean webkit_settings_get_enable_encrypted_media(WebKitSettings* settings)
+{
+ g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
+
+ return settings->priv->preferences->encryptedMediaAPIEnabled();
+}
+
+
+/**
+ * webkit_settings_set_enable_encrypted_media:
+ * @settings: a #WebKitSettings
+ * @enabled: Value to be set
+ *
+ * Set the #WebKitSettings:enable-encrypted-media property.
+ *
+ * Since: 2.20
+ */
+void webkit_settings_set_enable_encrypted_media(WebKitSettings* settings, gboolean enabled)
+{
+ g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
+
+ WebKitSettingsPrivate* priv = settings->priv;
+ bool currentValue = priv->preferences->encryptedMediaAPIEnabled();
+ if (currentValue == enabled)
+ return;
+
+ priv->preferences->setEncryptedMediaAPIEnabled(enabled);
+ g_object_notify(G_OBJECT(settings), "enable-encrypted-media");
+}
+/**
* webkit_settings_get_allow_file_access_from_file_urls:
* @settings: a #WebKitSettings
*
Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitSettings.h (225181 => 225182)
--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitSettings.h 2017-11-27 18:33:00 UTC (rev 225181)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitSettings.h 2017-11-27 19:36:05 UTC (rev 225182)
@@ -431,6 +431,13 @@
gboolean enabled);
WEBKIT_API gboolean
+webkit_settings_get_enable_encrypted_media (WebKitSettings *settings);
+
+WEBKIT_API void
+webkit_settings_set_enable_encrypted_media (WebKitSettings *settings,
+ gboolean enabled);
+
+WEBKIT_API gboolean
webkit_settings_get_allow_file_access_from_file_urls (WebKitSettings *settings);
WEBKIT_API void
Modified: trunk/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt (225181 => 225182)
--- trunk/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt 2017-11-27 18:33:00 UTC (rev 225181)
+++ trunk/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt 2017-11-27 19:36:05 UTC (rev 225182)
@@ -462,6 +462,8 @@
webkit_settings_set_enable_spatial_navigation
webkit_settings_get_enable_mediasource
webkit_settings_set_enable_mediasource
+webkit_settings_get_enable_encrypted_media
+webkit_settings_set_enable_encrypted_media
webkit_settings_get_allow_file_access_from_file_urls
webkit_settings_set_allow_file_access_from_file_urls
webkit_settings_get_allow_universal_access_from_file_urls
Modified: trunk/Source/WebKit/UIProcess/API/wpe/WebKitSettings.h (225181 => 225182)
--- trunk/Source/WebKit/UIProcess/API/wpe/WebKitSettings.h 2017-11-27 18:33:00 UTC (rev 225181)
+++ trunk/Source/WebKit/UIProcess/API/wpe/WebKitSettings.h 2017-11-27 19:36:05 UTC (rev 225182)
@@ -415,6 +415,13 @@
gboolean enabled);
WEBKIT_API gboolean
+webkit_settings_get_enable_encrypted_media (WebKitSettings *settings);
+
+WEBKIT_API void
+webkit_settings_set_enable_encrypted_media (WebKitSettings *settings,
+ gboolean enabled);
+
+WEBKIT_API gboolean
webkit_settings_get_allow_file_access_from_file_urls (WebKitSettings *settings);
WEBKIT_API void
Modified: trunk/Tools/ChangeLog (225181 => 225182)
--- trunk/Tools/ChangeLog 2017-11-27 18:33:00 UTC (rev 225181)
+++ trunk/Tools/ChangeLog 2017-11-27 19:36:05 UTC (rev 225182)
@@ -1,3 +1,13 @@
+2017-11-27 Yacine Bandou <[email protected]>
+
+ [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
+ https://bugs.webkit.org/show_bug.cgi?id=18005
+
+ Reviewed by Michael Catanzaro.
+
+ * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
+ (testWebKitSettings):
+
2017-11-27 Tim Horton <[email protected]>
One too many zeroes in macOS version number in FeatureDefines
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp (225181 => 225182)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp 2017-11-27 18:33:00 UTC (rev 225181)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp 2017-11-27 19:36:05 UTC (rev 225182)
@@ -317,6 +317,11 @@
webkit_settings_set_enable_mediasource(settings, TRUE);
g_assert(webkit_settings_get_enable_mediasource(settings));
+ // EncryptedMedia is disabled by default
+ g_assert(!webkit_settings_get_enable_encrypted_media(settings));
+ webkit_settings_set_enable_encrypted_media(settings, TRUE);
+ g_assert(webkit_settings_get_enable_encrypted_media(settings));
+
// File access from file URLs is not allowed by default.
g_assert(!webkit_settings_get_allow_file_access_from_file_urls(settings));
webkit_settings_set_allow_file_access_from_file_urls(settings, TRUE);