⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 107044 in webkit


Ignore:
Timestamp:
Feb 8, 2012, 12:05:05 AM (15 years ago)
Author:
Philippe Normand
Message:

[GTK][WK2] enable-webaudio WebSetting
https://bugs.webkit.org/show_bug.cgi?id=77959

Reviewed by Martin Robinson.

Add a new WebKitGTK WebSetting to enable/disable WebAudio at
runtime.

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_webaudio):
(webkit_settings_set_enable_webaudio):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp:

(testWebKitSettings):

Location:
trunk/Source/WebKit2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r107043 r107044  
     12012-02-08  Philippe Normand  <pnormand@igalia.com>
     2
     3        [GTK][WK2] enable-webaudio WebSetting
     4        https://bugs.webkit.org/show_bug.cgi?id=77959
     5
     6        Reviewed by Martin Robinson.
     7
     8        Add a new WebKitGTK WebSetting to enable/disable WebAudio at
     9        runtime.
     10
     11        * UIProcess/API/gtk/WebKitSettings.cpp:
     12        (webKitSettingsSetProperty):
     13        (webKitSettingsGetProperty):
     14        (webkit_settings_class_init):
     15        (webkit_settings_get_enable_webaudio):
     16        (webkit_settings_set_enable_webaudio):
     17        * UIProcess/API/gtk/WebKitSettings.h:
     18        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
     19        (testWebKitSettings):
     20
    1212012-02-07  Martin Robinson  <mrobinson@igalia.com>
    222
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.cpp

    r105417 r107044  
    102102    PROP_ENABLE_CARET_BROWSING,
    103103    PROP_ENABLE_FULLSCREEN,
    104     PROP_PRINT_BACKGROUNDS
     104    PROP_PRINT_BACKGROUNDS,
     105    PROP_ENABLE_WEBAUDIO
    105106};
    106107
     
    203204        webkit_settings_set_print_backgrounds(settings, g_value_get_boolean(value));
    204205        break;
     206    case PROP_ENABLE_WEBAUDIO:
     207        webkit_settings_set_enable_webaudio(settings, g_value_get_boolean(value));
     208        break;
    205209    default:
    206210        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
     
    306310    case PROP_PRINT_BACKGROUNDS:
    307311        g_value_set_boolean(value, webkit_settings_get_print_backgrounds(settings));
     312        break;
     313    case PROP_ENABLE_WEBAUDIO:
     314        g_value_set_boolean(value, webkit_settings_get_enable_webaudio(settings));
    308315        break;
    309316    default:
     
    769776                                                         readWriteConstructParamFlags));
    770777
     778    /**
     779     * WebKitSettings:enable-webaudio:
     780     *
     781     *
     782     * Enable or disable support for WebAudio on pages. WebAudio is an
     783     * experimental proposal for allowing web pages to generate Audio
     784     * WAVE data from JavaScript. The standard is currently a
     785     * work-in-progress by the W3C Audio Working Group.
     786     *
     787     * See also https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
     788     */
     789    g_object_class_install_property(gObjectClass,
     790                                    PROP_ENABLE_WEBAUDIO,
     791                                    g_param_spec_boolean("enable-webaudio",
     792                                                         _("Enable WebAudio"),
     793                                                         _("Whether WebAudio content should be handled"),
     794                                                         FALSE,
     795                                                         readWriteConstructParamFlags));
     796
    771797    g_type_class_add_private(klass, sizeof(WebKitSettingsPrivate));
    772798}
     
    19561982    g_object_notify(G_OBJECT(settings), "print-backgrounds");
    19571983}
     1984
     1985/**
     1986 * webkit_settings_get_enable_webaudio:
     1987 * @settings: a #WebKitSettings
     1988 *
     1989 * Get the #WebKitSettings:enable-webaudio property.
     1990 *
     1991 * Returns: %TRUE If webaudio support is enabled or %FALSE otherwise.
     1992 */
     1993gboolean webkit_settings_get_enable_webaudio(WebKitSettings* settings)
     1994{
     1995    g_return_val_if_fail(WEBKIT_IS_SETTINGS(settings), FALSE);
     1996
     1997    return WKPreferencesGetWebAudioEnabled(settings->priv->preferences.get());
     1998}
     1999
     2000/**
     2001 * webkit_settings_set_enable_webaudio:
     2002 * @settings: a #WebKitSettings
     2003 * @enabled: Value to be set
     2004 *
     2005 * Set the #WebKitSettings:enable-webaudio property.
     2006 */
     2007void webkit_settings_set_enable_webaudio(WebKitSettings* settings, gboolean enabled)
     2008{
     2009    g_return_if_fail(WEBKIT_IS_SETTINGS(settings));
     2010
     2011    WebKitSettingsPrivate* priv = settings->priv;
     2012    bool currentValue = WKPreferencesGetWebAudioEnabled(priv->preferences.get());
     2013    if (currentValue == enabled)
     2014        return;
     2015
     2016    WKPreferencesSetWebAudioEnabled(priv->preferences.get(), enabled);
     2017    g_object_notify(G_OBJECT(settings), "enable-webaudio");
     2018}
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitSettings.h

    r105417 r107044  
    294294                                                                gboolean        print_backgrounds);
    295295
     296WEBKIT_API gboolean
     297webkit_settings_get_enable_webaudio                            (WebKitSettings *settings);
     298
     299WEBKIT_API void
     300webkit_settings_set_enable_webaudio                            (WebKitSettings *settings,
     301                                                                gboolean        enabled);
     302
    296303G_END_DECLS
    297304
  • trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt

    r107043 r107044  
    217217webkit_settings_get_print_backgrounds
    218218webkit_settings_set_print_backgrounds
     219webkit_settings_get_enable_webaudio
     220webkit_settings_set_enable_webaudio
    219221
    220222<SUBSECTION Standard>
  • trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp

    r105417 r107044  
    190190    g_assert(!webkit_settings_get_print_backgrounds(settings));
    191191
     192    // WebAudio is disabled by default.
     193    g_assert(!webkit_settings_get_enable_webaudio(settings));
     194    webkit_settings_set_enable_webaudio(settings, TRUE);
     195    g_assert(webkit_settings_get_enable_webaudio(settings));
     196
    192197    g_object_unref(G_OBJECT(settings));
    193198}
Note: See TracChangeset for help on using the changeset viewer.