Title: [101641] trunk
Revision
101641
Author
[email protected]
Date
2011-12-01 02:32:39 -0800 (Thu, 01 Dec 2011)

Log Message

[GTK] enable-webaudio websetting
https://bugs.webkit.org/show_bug.cgi?id=69836

Reviewed by Martin Robinson.

WebKit/gtk:

* webkit/webkitwebsettings.cpp: New enable-webaudio boolean
setting, set to FALSE by default.
(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):
* webkit/webkitwebsettingsprivate.h: Ditto.
* webkit/webkitwebview.cpp: Update WebCore settings when
enable-webaudio value changes.
(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

Tools:

* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::overridePreference): Update WebKitGTK
enable-webaudio setting when a layout test requests it.

Modified Paths

Diff

Modified: trunk/Source/WebKit/gtk/ChangeLog (101640 => 101641)


--- trunk/Source/WebKit/gtk/ChangeLog	2011-12-01 09:47:02 UTC (rev 101640)
+++ trunk/Source/WebKit/gtk/ChangeLog	2011-12-01 10:32:39 UTC (rev 101641)
@@ -1,3 +1,21 @@
+2011-11-21  Philippe Normand  <[email protected]>
+
+        [GTK] enable-webaudio websetting
+        https://bugs.webkit.org/show_bug.cgi?id=69836
+
+        Reviewed by Martin Robinson.
+
+        * webkit/webkitwebsettings.cpp: New enable-webaudio boolean
+        setting, set to FALSE by default.
+        (webkit_web_settings_class_init):
+        (webkit_web_settings_set_property):
+        (webkit_web_settings_get_property):
+        * webkit/webkitwebsettingsprivate.h: Ditto.
+        * webkit/webkitwebview.cpp: Update WebCore settings when
+        enable-webaudio value changes.
+        (webkit_web_view_update_settings):
+        (webkit_web_view_settings_notify):
+
 2011-11-30  Alexey Proskuryakov  <[email protected]>
 
         Remove an unneeded argument from FrameLoaderClient::download

Modified: trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp (101640 => 101641)


--- trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp	2011-12-01 09:47:02 UTC (rev 101640)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp	2011-12-01 10:32:39 UTC (rev 101641)
@@ -118,7 +118,8 @@
     PROP_ENABLE_HYPERLINK_AUDITING,
     PROP_ENABLE_FULLSCREEN,
     PROP_ENABLE_DNS_PREFETCHING,
-    PROP_ENABLE_WEBGL
+    PROP_ENABLE_WEBGL,
+    PROP_ENABLE_WEB_AUDIO
 };
 
 // Create a default user agent string
@@ -898,7 +899,27 @@
                                                          _("Whether WebGL content should be rendered"),
                                                          FALSE,
                                                          flags));
+    /**
+    * WebKitWebSettings:enable-webaudio:
+    *
+    * Enable or disable support for WebAudio on pages. WebAudio is an
+    * experimental proposal for allowing web pages to generate Audio
+    * WAVE data from _javascript_. The standard is currently a
+    * work-in-progress by the W3C Audio Working Group.
+    *
+    * See also https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
+    *
+    * Since: TODO
+    */
+    g_object_class_install_property(gobject_class,
+                                    PROP_ENABLE_WEB_AUDIO,
+                                    g_param_spec_boolean("enable-webaudio",
+                                                         _("Enable WebAudio"),
+                                                         _("Whether WebAudio content should be handled"),
+                                                         FALSE,
+                                                         flags));
 
+
     /**
     * WebKitWebSettings:enable-dns-prefetching
     *
@@ -1083,6 +1104,9 @@
     case PROP_ENABLE_WEBGL:
         priv->enableWebgl = g_value_get_boolean(value);
         break;
+    case PROP_ENABLE_WEB_AUDIO:
+        priv->enableWebAudio = g_value_get_boolean(value);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;
@@ -1242,6 +1266,9 @@
     case PROP_ENABLE_WEBGL:
         g_value_set_boolean(value, priv->enableWebgl);
         break;
+    case PROP_ENABLE_WEB_AUDIO:
+        g_value_set_boolean(value, priv->enableWebAudio);
+        break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
         break;

Modified: trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h (101640 => 101641)


--- trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h	2011-12-01 09:47:02 UTC (rev 101640)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h	2011-12-01 10:32:39 UTC (rev 101641)
@@ -78,6 +78,7 @@
     gboolean enableFullscreen;
     gboolean enableDNSPrefetching;
     gboolean enableWebgl;
+    gboolean enableWebAudio;
 };
 
 WEBKIT_API void webkit_web_settings_add_extra_plugin_directory(WebKitWebView*, const gchar* directory);

Modified: trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp (101640 => 101641)


--- trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp	2011-12-01 09:47:02 UTC (rev 101640)
+++ trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp	2011-12-01 10:32:39 UTC (rev 101641)
@@ -3095,6 +3095,10 @@
     coreSettings->setWebGLEnabled(settingsPrivate->enableWebgl);
 #endif
 
+#if ENABLE(WEB_AUDIO)
+    coreSettings->setWebAudioEnabled(settingsPrivate->enableWebAudio);
+#endif
+
     if (Page* page = core(webView))
         page->setTabKeyCyclesThroughElements(settingsPrivate->tabKeyCyclesThroughElements);
 
@@ -3219,6 +3223,11 @@
         settings->setWebGLEnabled(g_value_get_boolean(&value));
 #endif
 
+#if ENABLE(WEB_AUDIO)
+    else if (name == g_intern_string("enable-webaudio"))
+        settings->setWebAudioEnabled(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/Tools/ChangeLog (101640 => 101641)


--- trunk/Tools/ChangeLog	2011-12-01 09:47:02 UTC (rev 101640)
+++ trunk/Tools/ChangeLog	2011-12-01 10:32:39 UTC (rev 101641)
@@ -1,3 +1,14 @@
+2011-11-21  Philippe Normand  <[email protected]>
+
+        [GTK] enable-webaudio websetting
+        https://bugs.webkit.org/show_bug.cgi?id=69836
+
+        Reviewed by Martin Robinson.
+
+        * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+        (LayoutTestController::overridePreference): Update WebKitGTK
+        enable-webaudio setting when a layout test requests it.
+
 2011-11-30  Ilya Tikhonovsky  <[email protected]>
 
         Web Inspector: chromium: I'd like to add a script for running perf tests for WebInspector.

Modified: trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp (101640 => 101641)


--- trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp	2011-12-01 09:47:02 UTC (rev 101640)
+++ trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp	2011-12-01 10:32:39 UTC (rev 101641)
@@ -827,6 +827,8 @@
         propertyName = "enable-hyperlink-auditing";
     else if (g_str_equal(originalName.get(), "WebKitWebGLEnabled"))
         propertyName = "enable-webgl";
+    else if (g_str_equal(originalName.get(), "WebKitWebAudioEnabled"))
+        propertyName = "enable-webaudio";
     else if (g_str_equal(originalName.get(), "WebKitTabToLinksPreferenceKey")) {
         DumpRenderTreeSupportGtk::setLinksIncludedInFocusChain(!g_ascii_strcasecmp(valueAsString.get(), "true") || !g_ascii_strcasecmp(valueAsString.get(), "1"));
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to