Changeset 91232 in webkit
- Timestamp:
- Jul 18, 2011 7:21:40 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r91231 r91232 1 2011-07-18 Dean Jackson <dino@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=64742 4 Expose WebPreferences for media playback requiring user gestures and inline playback 5 6 Reviewed by Simon Fraser. 7 8 Media playback already tested if it should require user gestures, but 9 no setting was ever exposed to clients. Also, some ports only allow media 10 playback to be fullscreen, so exposing a new setting for them. 11 12 * html/HTMLMediaElement.cpp: 13 (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting 14 for user gestures. 15 * page/Settings.cpp: 16 (WebCore::Settings::Settings): 17 * page/Settings.h: Two new settings. 18 (WebCore::Settings::setMediaPlaybackRequiresUserGesture): 19 (WebCore::Settings::mediaPlaybackRequiresUserGesture): 20 (WebCore::Settings::setMediaPlaybackAllowsInline): 21 (WebCore::Settings::mediaPlaybackAllowsInline): 22 1 23 2011-07-18 Ryosuke Niwa <rniwa@webkit.org> 2 24 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r90039 r91232 185 185 document->registerForMediaVolumeCallbacks(this); 186 186 document->registerForPrivateBrowsingStateChangedCallbacks(this); 187 188 if (document->settings() && document->settings()->mediaPlaybackRequiresUserGesture()) 189 m_restrictions |= RequireUserGestureForRateChangeRestriction; 187 190 } 188 191 -
trunk/Source/WebCore/page/Settings.cpp
r90259 r91232 206 206 , m_useHixie76WebSocketProtocol(true) 207 207 #endif 208 , m_mediaPlaybackRequiresUserGesture(false) 209 , m_mediaPlaybackAllowsInline(true) 208 210 , m_loadsImagesAutomaticallyTimer(this, &Settings::loadsImagesAutomaticallyTimerFired) 209 211 { -
trunk/Source/WebCore/page/Settings.h
r90301 r91232 432 432 bool useHixie76WebSocketProtocol() { return m_useHixie76WebSocketProtocol; } 433 433 #endif 434 435 void setMediaPlaybackRequiresUserGesture(bool flag) { m_mediaPlaybackRequiresUserGesture = flag; }; 436 bool mediaPlaybackRequiresUserGesture() const { return m_mediaPlaybackRequiresUserGesture; } 437 438 void setMediaPlaybackAllowsInline(bool flag) { m_mediaPlaybackAllowsInline = flag; }; 439 bool mediaPlaybackAllowsInline() const { return m_mediaPlaybackAllowsInline; } 434 440 435 441 private: … … 545 551 bool m_useHixie76WebSocketProtocol : 1; 546 552 #endif 553 bool m_mediaPlaybackRequiresUserGesture : 1; 554 bool m_mediaPlaybackAllowsInline : 1; 547 555 548 556 Timer<Settings> m_loadsImagesAutomaticallyTimer; -
trunk/Source/WebKit/mac/ChangeLog
r91198 r91232 1 2011-07-18 Dean Jackson <dino@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=64742 4 Expose WebPreferences for media playback requiring user gestures and inline playback 5 6 Reviewed by Simon Fraser. 7 8 Two new WebPreferences: MediaPlaybackRequiresUserGesture and 9 MediaPlaybackAllowsInline. 10 11 * WebView/WebPreferenceKeysPrivate.h: 12 * WebView/WebPreferences.mm: 13 (+[WebPreferences initialize]): 14 (-[WebPreferences mediaPlaybackRequiresUserGesture]): 15 (-[WebPreferences setMediaPlaybackRequiresUserGesture:]): 16 (-[WebPreferences mediaPlaybackAllowsInline]): 17 (-[WebPreferences setMediaPlaybackAllowsInline:]): 18 * WebView/WebPreferencesPrivate.h: 19 * WebView/WebView.mm: 20 (-[WebView _preferencesChanged:]): 21 1 22 2011-07-18 Pratik Solanki <psolanki@apple.com> 2 23 -
trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
r89669 r91232 109 109 #define WebKitAVFoundationEnabledKey @"WebKitAVFoundationEnabled" 110 110 #define WebKitHixie76WebSocketProtocolEnabledKey @"WebKitHixie76WebSocketProtocolEnabled" 111 #define WebKitMediaPlaybackRequiresUserGesturePreferenceKey @"WebKitMediaPlaybackRequiresUserGesture" 112 #define WebKitMediaPlaybackAllowsInlinePreferenceKey @"WebKitMediaPlaybackAllowsInline" 111 113 112 114 // These are private both because callers should be using the cover methods and because the -
trunk/Source/WebKit/mac/WebView/WebPreferences.mm
r89669 r91232 378 378 [NSNumber numberWithBool:YES], WebKitAVFoundationEnabledKey, 379 379 [NSNumber numberWithBool:YES], WebKitHixie76WebSocketProtocolEnabledKey, 380 [NSNumber numberWithBool:NO], WebKitMediaPlaybackRequiresUserGesturePreferenceKey, 381 [NSNumber numberWithBool:YES], WebKitMediaPlaybackAllowsInlinePreferenceKey, 382 380 383 [NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota, 381 384 [NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheDefaultOriginQuota, … … 1484 1487 return [self _boolValueForKey:WebKitHixie76WebSocketProtocolEnabledKey]; 1485 1488 } 1489 1490 - (BOOL)mediaPlaybackRequiresUserGesture 1491 { 1492 return [self _boolValueForKey:WebKitMediaPlaybackRequiresUserGesturePreferenceKey]; 1493 } 1494 1495 - (void)setMediaPlaybackRequiresUserGesture:(BOOL)flag 1496 { 1497 [self _setBoolValue:flag forKey:WebKitMediaPlaybackRequiresUserGesturePreferenceKey]; 1498 } 1499 1500 - (BOOL)mediaPlaybackAllowsInline 1501 { 1502 return [self _boolValueForKey:WebKitMediaPlaybackAllowsInlinePreferenceKey]; 1503 } 1504 1505 - (void)setMediaPlaybackAllowsInline:(BOOL)flag 1506 { 1507 [self _setBoolValue:flag forKey:WebKitMediaPlaybackAllowsInlinePreferenceKey]; 1508 } 1486 1509 @end 1487 1510 -
trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
r89669 r91232 211 211 - (void)setHyperlinkAuditingEnabled:(BOOL)enabled; 212 212 213 - (void)setMediaPlaybackRequiresUserGesture:(BOOL)flag; 214 - (BOOL)mediaPlaybackRequiresUserGesture; 215 216 - (void)setMediaPlaybackAllowsInline:(BOOL)flag; 217 - (BOOL)mediaPlaybackAllowsInline; 218 213 219 // Other private methods 214 220 - (void)_postPreferencesChangedNotification; -
trunk/Source/WebKit/mac/WebView/WebView.mm
r91134 r91232 1594 1594 settings->setUseHixie76WebSocketProtocol([preferences isHixie76WebSocketProtocolEnabled]); 1595 1595 #endif 1596 settings->setMediaPlaybackRequiresUserGesture([preferences mediaPlaybackRequiresUserGesture]); 1597 settings->setMediaPlaybackAllowsInline([preferences mediaPlaybackAllowsInline]); 1596 1598 1597 1599 // Application Cache Preferences are stored on the global cache storage manager, not in Settings. -
trunk/Source/WebKit/win/ChangeLog
r91161 r91232 1 2011-07-18 Dean Jackson <dino@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=64742 4 Expose WebPreferences for media playback requiring user gestures and inline playback 5 6 Reviewed by Simon Fraser. 7 8 Two new WebPreferences: MediaPlaybackRequiresUserGesture and 9 MediaPlaybackAllowsInline. 10 11 * Interfaces/IWebPreferencesPrivate.idl: 12 * WebPreferenceKeysPrivate.h: 13 * WebPreferences.cpp: 14 (WebPreferences::initializeDefaultSettings): 15 (WebPreferences::setMediaPlaybackRequiresUserGesture): 16 (WebPreferences::mediaPlaybackRequiresUserGesture): 17 (WebPreferences::setMediaPlaybackAllowsInline): 18 (WebPreferences::mediaPlaybackAllowsInline): 19 * WebPreferences.h: 20 * WebView.cpp: 21 (WebView::notifyPreferencesChanged): 22 1 23 2011-07-16 Simon Fraser <simon.fraser@apple.com> 2 24 -
trunk/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
r89669 r91232 131 131 HRESULT setHixie76WebSocketProtocolEnabled([in] BOOL enabled); 132 132 HRESULT hixie76WebSocketProtocolEnabled([out, retval] BOOL* enabled); 133 134 HRESULT setMediaPlaybackRequiresUserGesture([in] BOOL); 135 HRESULT mediaPlaybackRequiresUserGesture([out, retval] BOOL*); 136 137 HRESULT setMediaPlaybackAllowsInline([in] BOOL); 138 HRESULT mediaPlaybackAllowsInline([out, retval] BOOL*); 133 139 } -
trunk/Source/WebKit/win/WebPreferenceKeysPrivate.h
r89669 r91232 155 155 156 156 #define WebKitHixie76WebSocketProtocolEnabledPreferenceKey "WebKitHixie76WebSocketProtocolEnabled" 157 158 #define WebKitMediaPlaybackRequiresUserGesturePreferenceKey "WebKitMediaPlaybackRequiresUserGesture" 159 160 #define WebKitMediaPlaybackAllowsInlinePreferenceKey "WebKitMediaPlaybackAllowsInline" 161 -
trunk/Source/WebKit/win/WebPreferences.cpp
r89669 r91232 269 269 CFDictionaryAddValue(defaults, CFSTR(WebKitHixie76WebSocketProtocolEnabledPreferenceKey), kCFBooleanTrue); 270 270 271 CFDictionaryAddValue(defaults, CFSTR(WebKitMediaPlaybackRequiresUserGesturePreferenceKey), kCFBooleanFalse); 272 CFDictionaryAddValue(defaults, CFSTR(WebKitMediaPlaybackAllowsInlinePreferenceKey), kCFBooleanTrue); 273 271 274 defaultSettings = defaults; 272 275 } … … 955 958 { 956 959 *enabled = boolValueForKey(CFSTR(WebKitHixie76WebSocketProtocolEnabledPreferenceKey)); 960 return S_OK; 961 } 962 963 HRESULT STDMETHODCALLTYPE WebPreferences::setMediaPlaybackRequiresUserGesture( 964 /* [in] */ BOOL enabled) 965 { 966 setBoolValue(CFSTR(WebKitMediaPlaybackRequiresUserGesturePreferenceKey), enabled); 967 return S_OK; 968 } 969 970 HRESULT STDMETHODCALLTYPE WebPreferences::mediaPlaybackRequiresUserGesture( 971 /* [retval][out] */ BOOL* enabled) 972 { 973 *enabled = boolValueForKey(CFSTR(WebKitMediaPlaybackRequiresUserGesturePreferenceKey)); 974 return S_OK; 975 } 976 977 HRESULT STDMETHODCALLTYPE WebPreferences::setMediaPlaybackAllowsInline( 978 /* [in] */ BOOL enabled) 979 { 980 setBoolValue(CFSTR(WebKitMediaPlaybackAllowsInlinePreferenceKey), enabled); 981 return S_OK; 982 } 983 984 HRESULT STDMETHODCALLTYPE WebPreferences::mediaPlaybackAllowsInline( 985 /* [retval][out] */ BOOL* enabled) 986 { 987 *enabled = boolValueForKey(CFSTR(WebKitMediaPlaybackAllowsInlinePreferenceKey)); 957 988 return S_OK; 958 989 } -
trunk/Source/WebKit/win/WebPreferences.h
r89669 r91232 439 439 virtual HRESULT STDMETHODCALLTYPE setHixie76WebSocketProtocolEnabled(BOOL); 440 440 441 virtual HRESULT STDMETHODCALLTYPE mediaPlaybackRequiresUserGesture(BOOL*); 442 virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackRequiresUserGesture(BOOL); 443 444 virtual HRESULT STDMETHODCALLTYPE mediaPlaybackAllowsInline(BOOL*); 445 virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackAllowsInline(BOOL); 446 441 447 // WebPreferences 442 448 -
trunk/Source/WebKit/win/WebView.cpp
r89669 r91232 4871 4871 #endif 4872 4872 4873 hr = prefsPrivate->mediaPlaybackRequiresUserGesture(&enabled); 4874 if (FAILED(hr)) 4875 return hr; 4876 settings->setMediaPlaybackRequiresUserGesture(enabled); 4877 4878 hr = prefsPrivate->mediaPlaybackAllowsInline(&enabled); 4879 if (FAILED(hr)) 4880 return hr; 4881 settings->setMediaPlaybackAllowsInline(enabled); 4882 4873 4883 return S_OK; 4874 4884 } -
trunk/Source/WebKit2/ChangeLog
r91206 r91232 1 2011-07-18 Dean Jackson <dino@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=64742 4 Expose WebPreferences for media playback requiring user gestures and inline playback 5 6 Reviewed by Simon Fraser. 7 8 Two new WebPreferences: MediaPlaybackRequiresUserGesture and 9 MediaPlaybackAllowsInline. 10 11 * Shared/WebPreferencesStore.h: 12 * UIProcess/API/C/WKPreferences.cpp: 13 (WKPreferencesSetMediaPlaybackRequiresUserGesture): 14 (WKPreferencesGetMediaPlaybackRequiresUserGesture): 15 (WKPreferencesSetMediaPlaybackAllowsInline): 16 (WKPreferencesGetMediaPlaybackAllowsInline): 17 * UIProcess/API/C/WKPreferencesPrivate.h: 18 * WebProcess/WebPage/WebPage.cpp: 19 (WebKit::WebPage::updatePreferences): 20 1 21 2011-07-18 James Robinson <jamesr@chromium.org> 2 22 -
trunk/Source/WebKit2/Shared/WebPreferencesStore.h
r89894 r91232 77 77 macro(AVFoundationEnabled, isAVFoundationEnabled, Bool, bool, true) \ 78 78 macro(Hixie76WebSocketProtocolEnabled, hixie76WebSocketProtocolEnabled, Bool, bool, true) \ 79 macro(MediaPlaybackRequiresUserGesture, mediaPlaybackRequiresUserGesture, Bool, bool, false) \ 80 macro(MediaPlaybackAllowsInline, mediaPlaybackAllowsInline, Bool, bool, true) \ 79 81 \ 80 82 -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
r89894 r91232 572 572 return toImpl(preferencesRef)->hixie76WebSocketProtocolEnabled(); 573 573 } 574 575 void WKPreferencesSetMediaPlaybackRequiresUserGesture(WKPreferencesRef preferencesRef, bool flag) 576 { 577 toImpl(preferencesRef)->setMediaPlaybackRequiresUserGesture(flag); 578 } 579 580 bool WKPreferencesGetMediaPlaybackRequiresUserGesture(WKPreferencesRef preferencesRef) 581 { 582 return toImpl(preferencesRef)->mediaPlaybackRequiresUserGesture(); 583 } 584 585 void WKPreferencesSetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef, bool flag) 586 { 587 toImpl(preferencesRef)->setMediaPlaybackAllowsInline(flag); 588 } 589 590 bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef) 591 { 592 return toImpl(preferencesRef)->mediaPlaybackAllowsInline(); 593 } -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
r89894 r91232 133 133 WK_EXPORT bool WKPreferencesGetHixie76WebSocketProtocolEnabled(WKPreferencesRef preferencesRef); 134 134 135 // Defaults to false. 136 WK_EXPORT void WKPreferencesSetMediaPlaybackRequiresUserGesture(WKPreferencesRef preferencesRef, bool flag); 137 WK_EXPORT bool WKPreferencesGetMediaPlaybackRequiresUserGesture(WKPreferencesRef preferencesRef); 138 139 // Defaults to true. 140 WK_EXPORT void WKPreferencesSetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef, bool flag); 141 WK_EXPORT bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef); 142 135 143 #ifdef __cplusplus 136 144 } -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r91108 r91232 1603 1603 settings->setShowRepaintCounter(store.getBoolValueForKey(WebPreferencesKey::compositingRepaintCountersVisibleKey())); 1604 1604 settings->setWebGLEnabled(store.getBoolValueForKey(WebPreferencesKey::webGLEnabledKey())); 1605 settings->setMediaPlaybackRequiresUserGesture(store.getBoolValueForKey(WebPreferencesKey::mediaPlaybackRequiresUserGestureKey())); 1606 settings->setMediaPlaybackAllowsInline(store.getBoolValueForKey(WebPreferencesKey::mediaPlaybackAllowsInlineKey())); 1605 1607 1606 1608 #if ENABLE(DATABASE)
Note: See TracChangeset
for help on using the changeset viewer.