Changeset 95678 in webkit


Ignore:
Timestamp:
Sep 21, 2011 4:06:42 PM (13 years ago)
Author:
jer.noble@apple.com
Message:

Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=68382

Source/WebCore:

Reviewed by Darin Adler.

Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.

No new tests, as this feature is not yet enabled by default.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::webkitAudioContext):

Source/WebKit/mac:

Reviewed by Darin Adler.

Initialize the webAudioEnabled preference to NO by default.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

Source/WebKit2:

Add support for the webAudioEnabled preference in WebKit2.

Reviewed by Darin Adler.

  • Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro.
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebAudioEnabled): Added.
(WKPreferencesGetWebAudioEnabled): Added.

  • UIProcess/API/C/WKPreferences.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference.

Location:
trunk/Source
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r95675 r95678  
     12011-09-19  Jer Noble  <jer.noble@apple.com>
     2
     3        Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
     4        https://bugs.webkit.org/show_bug.cgi?id=68382
     5
     6        Reviewed by Darin Adler.
     7
     8        Only create a AudioContext object if the Web Audio feature is runtime-enabled in Settings.
     9
     10        No new tests, as this feature is not yet enabled by default.
     11
     12        * bindings/js/JSDOMWindowCustom.cpp:
     13        (WebCore::JSDOMWindow::webkitAudioContext):
     14
    1152011-09-21  Anders Carlsson  <andersca@apple.com>
    216
  • trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp

    r95501 r95678  
    602602#endif
    603603
     604#if ENABLE(WEB_AUDIO) || ENABLE(WEB_SOCKETS)
     605static Settings* settingsForWindow(const JSDOMWindow* window)
     606{
     607    ASSERT(window);
     608    if (Frame* frame = window->impl()->frame())
     609        return frame->settings();
     610    return 0;
     611}
     612#endif
     613
    604614#if ENABLE(WEB_AUDIO)
    605615JSValue JSDOMWindow::webkitAudioContext(ExecState* exec) const
    606616{
    607     return getDOMConstructor<JSAudioContextConstructor>(exec, this);
     617    Settings* settings = settingsForWindow(this);
     618    if (settings && settings->webAudioEnabled())
     619        return getDOMConstructor<JSAudioContextConstructor>(exec, this);
     620    return jsUndefined();
    608621}
    609622#endif
     
    612625JSValue JSDOMWindow::webSocket(ExecState* exec) const
    613626{
    614     Frame* frame = impl()->frame();
    615     if (!frame)
    616         return jsUndefined();
    617     Settings* settings = frame->settings();
    618     if (!settings)
     627    if (!settingsForWindow(this))
    619628        return jsUndefined();
    620629    return getDOMConstructor<JSWebSocketConstructor>(exec, this);
  • trunk/Source/WebKit/mac/ChangeLog

    r95675 r95678  
     12011-09-19  Jer Noble  <jer.noble@apple.com>
     2
     3        Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
     4        https://bugs.webkit.org/show_bug.cgi?id=68382
     5
     6        Reviewed by Darin Adler.
     7
     8        Initialize the webAudioEnabled preference to NO by default.
     9
     10        * WebView/WebPreferences.mm:
     11        (+[WebPreferences initialize]):
     12
    1132011-09-21  Anders Carlsson  <andersca@apple.com>
    214
  • trunk/Source/WebKit/mac/WebView/WebPreferences.mm

    r95347 r95678  
    385385        [NSNumber numberWithBool:NO],   WebKitMediaPlaybackRequiresUserGesturePreferenceKey,
    386386        [NSNumber numberWithBool:YES],  WebKitMediaPlaybackAllowsInlinePreferenceKey,
     387        [NSNumber numberWithBool:NO],   WebKitWebAudioEnabledPreferenceKey,
    387388
    388389        [NSNumber numberWithLongLong:ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota,
  • trunk/Source/WebKit2/ChangeLog

    r95661 r95678  
     12011-09-19  Jer Noble  <jer.noble@apple.com>
     2
     3        Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
     4        https://bugs.webkit.org/show_bug.cgi?id=68382
     5
     6        Add support for the webAudioEnabled preference in WebKit2.
     7
     8        Reviewed by Darin Adler.
     9
     10        * Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro.
     11        * UIProcess/API/C/WKPreferences.cpp:
     12        (WKPreferencesSetWebAudioEnabled): Added.
     13        (WKPreferencesGetWebAudioEnabled): Added.
     14        * UIProcess/API/C/WKPreferences.h:
     15        * WebProcess/WebPage/WebPage.cpp:
     16        (WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference.
     17
    1182011-09-21  Dan Bernstein  <mitz@apple.com>
    219
  • trunk/Source/WebKit2/Shared/WebPreferencesStore.h

    r95347 r95678  
    9494    macro(ShowsToolTipOverTruncatedText, showsToolTipOverTruncatedText, Bool, bool, false) \
    9595    macro(MockScrollbarsEnabled, mockScrollbarsEnabled, Bool, bool, false) \
     96    macro(WebAudioEnabled, webAudioEnabled, Bool, bool, false) \
    9697    \
    9798
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r95347 r95678  
    622622    return toImpl(preferencesRef)->mockScrollbarsEnabled();
    623623}
     624
     625void WKPreferencesSetWebAudioEnabled(WKPreferencesRef preferencesRef, bool enabled)
     626{
     627    toImpl(preferencesRef)->setWebAudioEnabled(enabled);
     628}
     629
     630bool WKPreferencesGetWebAudioEnabled(WKPreferencesRef preferencesRef)
     631{
     632    return toImpl(preferencesRef)->webAudioEnabled();
     633}
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.h

    r91777 r95678  
    166166WK_EXPORT bool WKPreferencesGetAVFoundationEnabled(WKPreferencesRef preferencesRef);
    167167
     168// Defaults to false
     169WK_EXPORT void WKPreferencesSetWebAudioEnabled(WKPreferencesRef preferencesRef, bool enabled);
     170WK_EXPORT bool WKPreferencesGetWebAudioEnabled(WKPreferencesRef preferencesRef);
     171
    168172#ifdef __cplusplus
    169173}
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r95660 r95678  
    16251625#endif
    16261626
     1627#if ENABLE(WEB_AUDIO)
     1628    settings->setWebAudioEnabled(store.getBoolValueForKey(WebPreferencesKey::webAudioEnabledKey()));
     1629#endif
     1630
    16271631    platformPreferencesDidChange(store);
    16281632}
Note: See TracChangeset for help on using the changeset viewer.