Changeset 189112 in webkit
- Timestamp:
- Aug 28, 2015 11:51:42 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 32 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r189107 r189112 1 2015-08-28 Jer Noble <jer.noble@apple.com> 2 3 [iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2. 4 https://bugs.webkit.org/show_bug.cgi?id=147512 5 6 Reviewed by Anders Carlsson. 7 8 * media/video-fullscreeen-only-controls.html: 9 * media/video-fullscreeen-only-controls-expected.txt: 10 * media/video-fullscreeen-only-playback.html: 11 * media/video-fullscreeen-only-playback-expected.txt: 12 1 13 2015-08-28 Eric Carlson <eric.carlson@apple.com> 2 14 -
trunk/LayoutTests/media/video-fullscreeen-only-controls-expected.txt
r179612 r189112 2 2 3 3 4 RUN(internals.set MediaSessionRestrictions('video', 'InlineVideoPlaybackRestricted'))4 RUN(internals.settings.setAllowsInlineMediaPlayback(false)) 5 5 EXPECTED (video.hasAttribute('controls') == 'false') OK 6 6 EXPECTED (video.controls == 'false') OK -
trunk/LayoutTests/media/video-fullscreeen-only-controls.html
r179612 r189112 10 10 var panel; 11 11 12 run("internals.set MediaSessionRestrictions('video', 'InlineVideoPlaybackRestricted')");12 run("internals.settings.setAllowsInlineMediaPlayback(false)"); 13 13 14 14 var video = document.getElementById('video'); -
trunk/LayoutTests/media/video-fullscreeen-only-playback-expected.txt
r162145 r189112 2 2 Test play() when <video> playback requires fullscreen. 3 3 4 RUN(internals.setMediaSessionRestrictions('video', 'InlineVideoPlaybackRestricted'))4 internals.settings.setAllowsInlineMediaPlayback(false) 5 5 6 6 EVENT(canplaythrough) -
trunk/LayoutTests/media/video-fullscreeen-only-playback.html
r162145 r189112 65 65 video.src = findMediaFile("video", "content/test"); 66 66 67 run("internals.set MediaSessionRestrictions('video', 'InlineVideoPlaybackRestricted')");67 run("internals.settings.setAllowsInlineMediaPlayback(false)"); 68 68 consoleWrite(""); 69 69 } -
trunk/Source/WebCore/ChangeLog
r189107 r189112 1 2015-08-28 Jer Noble <jer.noble@apple.com> 2 3 [iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2. 4 https://bugs.webkit.org/show_bug.cgi?id=147512 5 6 Reviewed by Anders Carlsson. 7 8 Updated existing tests to use the Setting rather than the Behavior Restriction. 9 10 Get rid of the sessionRestrictsInlineVideoPlayback() method and the InlineVideoPlaybackRestricted 11 restriction. Instead, just use the allowsInlineMediaPlayback() setting, and require 12 WebKit and WebKitLegacy clients to initialize the setting appropriately. 13 14 * html/MediaElementSession.cpp: 15 (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback): Deleted. 16 * page/Settings.cpp: Add a new inlineMediaPlaybackRequiresPlaysInlineAttribute setting. 17 * page/Settings.in: Ditto. 18 * platform/audio/PlatformMediaSessionManager.cpp: 19 (WebCore::PlatformMediaSessionManager::sessionRestrictsInlineVideoPlayback): Deleted. 20 * platform/audio/PlatformMediaSessionManager.h: 21 * platform/audio/ios/MediaSessionManagerIOS.mm: 22 (WebCore::MediaSessionManageriOS::resetRestrictions): Deleted. 23 * testing/InternalSettings.cpp: 24 (WebCore::InternalSettings::Backup::Backup): Backup the allowsInlineMediaPlayback() setting value. 25 (WebCore::InternalSettings::Backup::restoreTo): Restore same. 26 (WebCore::InternalSettings::setAllowsInlineMediaPlayback): Set allowsInlineMediaPlayback(). 27 * testing/InternalSettings.h: 28 * testing/InternalSettings.idl: 29 * testing/Internals.cpp: 30 (WebCore::Internals::setMediaSessionRestrictions): Deleted. 31 1 32 2015-08-28 Eric Carlson <eric.carlson@apple.com> 2 33 -
trunk/Source/WebCore/html/MediaElementSession.cpp
r187892 r189112 361 361 return false; 362 362 363 if (!PlatformMediaSessionManager::sharedManager().sessionRestrictsInlineVideoPlayback(*this))364 return false;365 366 363 Settings* settings = element.document().settings(); 367 364 if (!settings || !settings->allowsInlineMediaPlayback()) 368 365 return true; 369 366 370 if (element.fastHasAttribute(HTMLNames::webkit_playsinlineAttr)) 371 return false; 372 373 #if PLATFORM(IOS) 374 if (applicationIsDumpRenderTree()) 375 return false; 376 #endif 377 378 return true; 367 return settings->inlineMediaPlaybackRequiresPlaysInlineAttribute() && !element.fastHasAttribute(HTMLNames::webkit_playsinlineAttr); 379 368 } 380 369 -
trunk/Source/WebCore/page/Settings.cpp
r186083 r189112 123 123 static const bool defaultAcceleratedCompositingForFixedPositionEnabled = true; 124 124 static const bool defaultAllowsInlineMediaPlayback = false; 125 static const bool defaultInlineMediaPlaybackRequiresPlaysInlineAttribute = true; 125 126 static const bool defaultRequiresUserGestureForMediaPlayback = true; 126 127 static const bool defaultAudioPlaybackRequiresUserGesture = true; … … 134 135 static const bool defaultAcceleratedCompositingForFixedPositionEnabled = false; 135 136 static const bool defaultAllowsInlineMediaPlayback = true; 137 static const bool defaultInlineMediaPlaybackRequiresPlaysInlineAttribute = false; 136 138 static const bool defaultRequiresUserGestureForMediaPlayback = false; 137 139 static const bool defaultAudioPlaybackRequiresUserGesture = false; -
trunk/Source/WebCore/page/Settings.in
r186982 r189112 129 129 audioPlaybackRequiresUserGesture initial=defaultAudioPlaybackRequiresUserGesture 130 130 allowsInlineMediaPlayback initial=defaultAllowsInlineMediaPlayback 131 inlineMediaPlaybackRequiresPlaysInlineAttribute initial=defaultInlineMediaPlaybackRequiresPlaysInlineAttribute 131 132 allowsPictureInPictureMediaPlayback initial=defaultAllowsPictureInPictureMediaPlayback 132 133 mediaControlsScaleWithPageZoom initial=defaultMediaControlsScaleWithPageZoom -
trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
r187544 r189112 268 268 } 269 269 270 bool PlatformMediaSessionManager::sessionRestrictsInlineVideoPlayback(const PlatformMediaSession& session) const271 {272 PlatformMediaSession::MediaType sessionType = session.presentationType();273 if (sessionType != PlatformMediaSession::Video)274 return false;275 276 return m_restrictions[sessionType] & InlineVideoPlaybackRestricted;277 }278 279 270 bool PlatformMediaSessionManager::sessionCanLoadMedia(const PlatformMediaSession& session) const 280 271 { -
trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.h
r187544 r189112 82 82 virtual bool sessionWillBeginPlayback(PlatformMediaSession&); 83 83 virtual void sessionWillEndPlayback(PlatformMediaSession&); 84 85 bool sessionRestrictsInlineVideoPlayback(const PlatformMediaSession&) const;86 87 84 virtual bool sessionCanLoadMedia(const PlatformMediaSession&) const; 88 85 -
trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm
r188922 r189112 35 35 #import "SoftLinking.h" 36 36 #import "SystemMemory.h" 37 #import "WebCoreSystemInterface.h"38 37 #import "WebCoreThreadRun.h" 39 38 #import <AVFoundation/AVAudioSession.h> … … 149 148 PlatformMediaSessionManager::resetRestrictions(); 150 149 151 static wkDeviceClass deviceClass = iosDeviceClass();152 if (deviceClass == wkDeviceClassiPhone || deviceClass == wkDeviceClassiPod)153 addRestriction(PlatformMediaSession::Video, InlineVideoPlaybackRestricted);154 155 150 if (ramSize() < systemMemoryRequiredForVideoInBackgroundTabs) { 156 151 LOG(Media, "MediaSessionManageriOS::resetRestrictions - restricting video in background tabs because system memory = %zul", ramSize()); -
trunk/Source/WebCore/testing/InternalSettings.cpp
r185172 r189112 102 102 , m_allowsAirPlayForMediaPlayback(settings.allowsAirPlayForMediaPlayback()) 103 103 #endif 104 , m_allowsInlineMediaPlayback(settings.allowsInlineMediaPlayback()) 105 , m_inlineMediaPlaybackRequiresPlaysInlineAttribute(settings.inlineMediaPlaybackRequiresPlaysInlineAttribute()) 104 106 { 105 107 } … … 166 168 settings.setTouchEventEmulationEnabled(m_touchEventEmulationEnabled); 167 169 #endif 170 settings.setAllowsInlineMediaPlayback(m_allowsInlineMediaPlayback); 171 settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(m_inlineMediaPlaybackRequiresPlaysInlineAttribute); 168 172 RuntimeEnabledFeatures::sharedFeatures().setPluginReplacementEnabled(m_pluginReplacementEnabled); 169 173 } … … 525 529 } 526 530 531 void InternalSettings::setAllowsInlineMediaPlayback(bool allows, ExceptionCode& ec) 532 { 533 InternalSettingsGuardForSettings(); 534 settings()->setAllowsInlineMediaPlayback(allows); 535 } 536 537 void InternalSettings::setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool requires, ExceptionCode& ec) 538 { 539 InternalSettingsGuardForSettings(); 540 settings()->setInlineMediaPlaybackRequiresPlaysInlineAttribute(requires); 541 } 542 527 543 // If you add to this list, make sure that you update the Backup class for test reproducability! 528 544 -
trunk/Source/WebCore/testing/InternalSettings.h
r185172 r189112 100 100 bool m_allowsAirPlayForMediaPlayback; 101 101 #endif 102 bool m_allowsInlineMediaPlayback; 103 bool m_inlineMediaPlaybackRequiresPlaysInlineAttribute; 102 104 }; 103 105 … … 145 147 void setShouldConvertPositionStyleOnCopy(bool, ExceptionCode&); 146 148 void setScrollingTreeIncludesFrames(bool, ExceptionCode&); 149 void setAllowsInlineMediaPlayback(bool, ExceptionCode&); 150 void setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool, ExceptionCode&); 147 151 148 152 private: -
trunk/Source/WebCore/testing/InternalSettings.idl
r185172 r189112 75 75 76 76 [RaisesException] void setMinimumTimerInterval(unrestricted double intervalInSeconds); 77 [RaisesException] void setAllowsInlineMediaPlayback(boolean allows); 78 [RaisesException] void setInlineMediaPlaybackRequiresPlaysInlineAttribute(boolean requires); 77 79 }; 78 80 -
trunk/Source/WebKit/mac/ChangeLog
r189102 r189112 1 2015-08-28 Jer Noble <jer.noble@apple.com> 2 3 [iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2. 4 https://bugs.webkit.org/show_bug.cgi?id=147512 5 6 Reviewed by Anders Carlsson. 7 8 Add a new preference, inlineMediaPlaybackRequiresPlaysInlineAttribute, which defaults to 9 NO on iPad and YES on iPhone and iPod. 10 11 * WebView/WebPreferenceKeysPrivate.h: 12 * WebView/WebPreferences.mm: 13 (+[WebPreferences initialize]): Default the value of WebKitAllowsInlineMediaPlaybackPreferenceKey to 14 YES on iPad and NO on iPhone and iPod. 15 (-[WebPreferences inlineMediaPlaybackRequiresPlaysInlineAttribute]): 16 (-[WebPreferences setInlineMediaPlaybackRequiresPlaysInlineAttribute:]): 17 * WebView/WebPreferencesPrivate.h: 18 * WebView/WebView.mm: 19 (-[WebView _preferencesChanged:]): 20 1 21 2015-08-28 Timothy Horton <timothy_horton@apple.com> 2 22 -
trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
r186232 r189112 122 122 #define WebKitRequiresUserGestureForMediaPlaybackPreferenceKey @"WebKitMediaPlaybackRequiresUserGesture" 123 123 #define WebKitAllowsInlineMediaPlaybackPreferenceKey @"WebKitMediaPlaybackAllowsInline" 124 #define WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey @"InlineMediaPlaybackRequiresPlaysInlineAttribute" 124 125 #define WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey @"WebKitAllowsPictureInPictureMediaPlayback" 125 126 #define WebKitAllowsAirPlayForMediaPlaybackPreferenceKey @"WebKitMediaPlaybackAllowsAirPlay" -
trunk/Source/WebKit/mac/WebView/WebPreferences.mm
r187103 r189112 396 396 WTF::initializeMainThreadToProcessMainThread(); 397 397 RunLoop::initializeMainRunLoop(); 398 #else 399 bool allowsInlineMediaPlayback = WKGetDeviceClass() == WKDeviceClassiPad; 400 bool requiresPlaysInlineAttribute = !allowsInlineMediaPlayback; 398 401 #endif 399 402 InitWebCoreSystemInterface(); … … 520 523 [NSNumber numberWithBool:NO], WebKitRequiresUserGestureForMediaPlaybackPreferenceKey, 521 524 [NSNumber numberWithBool:YES], WebKitAllowsInlineMediaPlaybackPreferenceKey, 525 [NSNumber numberWithBool:YES], WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey, 522 526 [NSNumber numberWithBool:YES], WebKitMediaControlsScaleWithPageZoomPreferenceKey, 523 527 [NSNumber numberWithBool:NO], WebKitWebAudioEnabledPreferenceKey, … … 530 534 #else 531 535 [NSNumber numberWithBool:YES], WebKitRequiresUserGestureForMediaPlaybackPreferenceKey, 532 [NSNumber numberWithBool:NO], WebKitAllowsInlineMediaPlaybackPreferenceKey, 536 [NSNumber numberWithBool:allowsInlineMediaPlayback], WebKitAllowsInlineMediaPlaybackPreferenceKey, 537 [NSNumber numberWithBool:requiresPlaysInlineAttribute], WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey, 533 538 [NSNumber numberWithBool:NO], WebKitMediaControlsScaleWithPageZoomPreferenceKey, 534 539 [NSNumber numberWithUnsignedInt:AudioSession::None], WebKitAudioSessionCategoryOverride, … … 2199 2204 } 2200 2205 2206 - (BOOL)inlineMediaPlaybackRequiresPlaysInlineAttribute 2207 { 2208 return [self _boolValueForKey:WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey]; 2209 } 2210 2211 - (void)setInlineMediaPlaybackRequiresPlaysInlineAttribute:(BOOL)flag 2212 { 2213 [self _setBoolValue:flag forKey:WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey]; 2214 } 2215 2201 2216 - (BOOL)mediaControlsScaleWithPageZoom 2202 2217 { -
trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
r187356 r189112 249 249 - (BOOL)mediaPlaybackAllowsInline; 250 250 251 - (void)setInlineMediaPlaybackRequiresPlaysInlineAttribute:(BOOL)flag; 252 - (BOOL)inlineMediaPlaybackRequiresPlaysInlineAttribute; 253 251 254 - (void)setMediaControlsScaleWithPageZoom:(BOOL)flag; 252 255 - (BOOL)mediaControlsScaleWithPageZoom; -
trunk/Source/WebKit/mac/WebView/WebView.mm
r189052 r189112 2305 2305 settings.setRequiresUserGestureForMediaPlayback([preferences mediaPlaybackRequiresUserGesture]); 2306 2306 settings.setAllowsInlineMediaPlayback([preferences mediaPlaybackAllowsInline]); 2307 settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute([preferences inlineMediaPlaybackRequiresPlaysInlineAttribute]); 2307 2308 settings.setAllowsPictureInPictureMediaPlayback([preferences allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback()); 2308 2309 settings.setMediaControlsScaleWithPageZoom([preferences mediaControlsScaleWithPageZoom]); -
trunk/Source/WebKit2/ChangeLog
r189109 r189112 1 2015-08-28 Jer Noble <jer.noble@apple.com> 2 3 [iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2. 4 https://bugs.webkit.org/show_bug.cgi?id=147512 5 6 Reviewed by Anders Carlsson. 7 8 Default the value of allowsInlineMediaPlayback to YES on iPad and NO on iPhone and iPod. 9 Add a new configuration property, _inlineMediaPlaybackRequiresPlaysInlineAttribute, which 10 defaults to NO on iPad and YES on iPhone and iPad. 11 12 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 13 (-[WKWebViewConfiguration init]): 14 * Shared/WebPreferencesDefinitions.h: 15 * UIProcess/API/C/WKPreferences.cpp: 16 (WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute): 17 (WKPreferencesGetInlineMediaPlaybackRequiresPlaysInlineAttribute): 18 * UIProcess/API/C/WKPreferencesRefPrivate.h: 19 * UIProcess/API/Cocoa/WKWebView.mm: 20 (-[WKWebView initWithFrame:configuration:]): 21 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 22 (-[WKWebViewConfiguration init]): 23 (-[WKWebViewConfiguration copyWithZone:]): 24 (-[WKWebViewConfiguration _inlineMediaPlaybackRequiresPlaysInlineAttribute]): 25 (-[WKWebViewConfiguration _setInlineMediaPlaybackRequiresPlaysInlineAttribute:]): 26 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: 27 * WebProcess/WebPage/WebPage.cpp: 28 (WebKit::WebPage::updatePreferences): 29 1 30 2015-08-28 Timothy Horton <timothy_horton@apple.com> 2 31 -
trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h
r188828 r189112 58 58 #define DEFAULT_PASSWORD_ECHO_ENABLED true 59 59 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK false 60 #define DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE true 60 61 #define DEFAULT_REQUIRES_USER_GESTURE_FOR_MEDIA_PLAYBACK true 61 62 #define DEFAULT_MEDIA_CONTROLS_SCALE_WITH_PAGE_ZOOM false … … 70 71 #define DEFAULT_PASSWORD_ECHO_ENABLED false 71 72 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK true 73 #define DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE false 72 74 #define DEFAULT_REQUIRES_USER_GESTURE_FOR_MEDIA_PLAYBACK false 73 75 #define DEFAULT_MEDIA_CONTROLS_SCALE_WITH_PAGE_ZOOM true … … 133 135 macro(RequiresUserGestureForMediaPlayback, requiresUserGestureForMediaPlayback, Bool, bool, DEFAULT_REQUIRES_USER_GESTURE_FOR_MEDIA_PLAYBACK) \ 134 136 macro(AllowsInlineMediaPlayback, allowsInlineMediaPlayback, Bool, bool, DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK) \ 137 macro(InlineMediaPlaybackRequiresPlaysInlineAttribute, inlineMediaPlaybackRequiresPlaysInlineAttribute, Bool, bool, DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE) \ 135 138 macro(AllowsPictureInPictureMediaPlayback, allowsPictureInPictureMediaPlayback, Bool, bool, true) \ 136 139 macro(AllowsAirPlayForMediaPlayback, allowsAirPlayForMediaPlayback, Bool, bool, true) \ -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
r186232 r189112 749 749 } 750 750 751 void WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute(WKPreferencesRef preferencesRef, bool flag) 752 { 753 toImpl(preferencesRef)->setInlineMediaPlaybackRequiresPlaysInlineAttribute(flag); 754 } 755 756 bool WKPreferencesGetInlineMediaPlaybackRequiresPlaysInlineAttribute(WKPreferencesRef preferencesRef) 757 { 758 return toImpl(preferencesRef)->inlineMediaPlaybackRequiresPlaysInlineAttribute(); 759 } 760 751 761 void WKPreferencesSetMediaControlsScaleWithPageZoom(WKPreferencesRef preferencesRef, bool flag) 752 762 { -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h
r187356 r189112 178 178 WK_EXPORT bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef); 179 179 180 // Defaults to false. 181 WK_EXPORT void WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute(WKPreferencesRef preferencesRef, bool flag); 182 WK_EXPORT bool WKPreferencesGetInlineMediaPlaybackRequiresPlaysInlineAttribute(WKPreferencesRef preferencesRef); 183 180 184 // Defaults to false on iOS, true elsewhere. 181 185 WK_EXPORT void WKPreferencesSetMediaControlsScaleWithPageZoom(WKPreferencesRef preferencesRef, bool flag); -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
r189105 r189112 328 328 329 329 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsInlineMediaPlayback])); 330 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::inlineMediaPlaybackRequiresPlaysInlineAttributeKey(), WebKit::WebPreferencesStore::Value(!![_configuration _inlineMediaPlaybackRequiresPlaysInlineAttribute])); 330 331 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback())); 331 332 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::requiresUserGestureForMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration requiresUserActionForMediaPlayback])); -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
r188891 r189112 41 41 #if PLATFORM(IOS) 42 42 #import "UIKitSPI.h" 43 #import "WebKitSystemInterfaceIOS.h" 43 44 #endif 44 45 … … 95 96 LazyInitialized<RetainPtr<WKWebViewContentProviderRegistry>> _contentProviderRegistry; 96 97 BOOL _alwaysRunsAtForegroundPriority; 98 BOOL _allowsInlineMediaPlayback; 99 BOOL _inlineMediaPlaybackRequiresPlaysInlineAttribute; 97 100 #endif 98 101 } … … 106 109 _requiresUserActionForMediaPlayback = YES; 107 110 _allowsPictureInPictureMediaPlayback = YES; 111 _allowsInlineMediaPlayback = WKGetDeviceClass() == WKDeviceClassiPad; 112 _inlineMediaPlaybackRequiresPlaysInlineAttribute = !_allowsInlineMediaPlayback; 108 113 #endif 109 114 … … 141 146 #if PLATFORM(IOS) 142 147 configuration->_allowsInlineMediaPlayback = self->_allowsInlineMediaPlayback; 148 configuration->_inlineMediaPlaybackRequiresPlaysInlineAttribute = self->_inlineMediaPlaybackRequiresPlaysInlineAttribute; 143 149 configuration->_allowsPictureInPictureMediaPlayback = self->_allowsPictureInPictureMediaPlayback; 144 150 configuration->_alwaysRunsAtForegroundPriority = _alwaysRunsAtForegroundPriority; … … 336 342 _alwaysRunsAtForegroundPriority = alwaysRunsAtForegroundPriority; 337 343 } 344 345 - (BOOL)_inlineMediaPlaybackRequiresPlaysInlineAttribute 346 { 347 return _inlineMediaPlaybackRequiresPlaysInlineAttribute; 348 } 349 350 - (void)_setInlineMediaPlaybackRequiresPlaysInlineAttribute:(BOOL)requires 351 { 352 _inlineMediaPlaybackRequiresPlaysInlineAttribute = requires; 353 } 338 354 #endif 339 355 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h
r188891 r189112 46 46 #if TARGET_OS_IPHONE 47 47 @property (nonatomic, setter=_setAlwaysRunsAtForegroundPriority:) BOOL _alwaysRunsAtForegroundPriority WK_AVAILABLE(NA, WK_IOS_TBA); 48 49 @property (nonatomic, setter=_setInlineMediaPlaybackRequiresPlaysInlineAttribute:) BOOL _inlineMediaPlaybackRequiresPlaysInlineAttribute WK_AVAILABLE(NA, WK_IOS_TBA); 48 50 #endif 49 51 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r189105 r189112 2735 2735 settings.setRequiresUserGestureForMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::requiresUserGestureForMediaPlaybackKey())); 2736 2736 settings.setAllowsInlineMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackKey())); 2737 settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(store.getBoolValueForKey(WebPreferencesKey::inlineMediaPlaybackRequiresPlaysInlineAttributeKey())); 2737 2738 settings.setAllowsPictureInPictureMediaPlayback(store.getBoolValueForKey(WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey())); 2738 2739 settings.setMediaControlsScaleWithPageZoom(store.getBoolValueForKey(WebPreferencesKey::mediaControlsScaleWithPageZoomKey())); -
trunk/Tools/ChangeLog
r189109 r189112 1 2015-08-28 Jer Noble <jer.noble@apple.com> 2 3 [iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2. 4 https://bugs.webkit.org/show_bug.cgi?id=147512 5 6 Reviewed by Anders Carlsson. 7 8 Set the value of WebKitAllowsInlineMediaPlayback / WKPreferencesSetMediaPlaybackAllowsInline() 9 to a consistent (true) value. 10 11 * DumpRenderTree/mac/DumpRenderTree.mm: 12 (setDefaultsToConsistentValuesForTesting): 13 * WebKitTestRunner/TestController.cpp: 14 (WTR::TestController::resetPreferencesToConsistentValues): 15 1 16 2015-08-28 Tim Horton <timothy_horton@apple.com> 2 17 -
trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm
r188566 r189112 1006 1006 WebKitEnableFullDocumentTeardownPreferenceKey: @YES, 1007 1007 WebKitFullScreenEnabledPreferenceKey: @YES, 1008 WebKitAllowsInlineMediaPlaybackPreferenceKey: @YES, 1009 WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey: @NO, 1008 1010 @"UseWebKitWebInspector": @YES, 1009 1011 #if !PLATFORM(IOS) -
trunk/Tools/WebKitTestRunner/TestController.cpp
r189109 r189112 639 639 WKPreferencesSetStorageBlockingPolicy(preferences, kWKAllowAllStorage); 640 640 641 WKPreferencesSetMediaPlaybackAllowsInline(preferences, true); 642 WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute(preferences, false); 643 641 644 WKCookieManagerDeleteAllCookies(WKContextGetCookieManager(m_context.get())); 642 645 -
trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm
r188828 r189112 56 56 globalWebViewConfiguration.processPool = [[WKProcessPool alloc] _initWithConfiguration:(_WKProcessPoolConfiguration *)contextConfiguration]; 57 57 globalWebViewConfiguration.websiteDataStore = (WKWebsiteDataStore *)WKContextGetWebsiteDataStore(context); 58 59 #if TARGET_OS_IPHONE 60 globalWebViewConfiguration.allowsInlineMediaPlayback = YES; 61 globalWebViewConfiguration._inlineMediaPlaybackRequiresPlaysInlineAttribute = NO; 62 #endif 58 63 #endif 59 64 }
Note: See TracChangeset
for help on using the changeset viewer.