Changeset 203520 in webkit
- Timestamp:
- Jul 21, 2016, 1:19:22 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 26 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/media/video-playsinline-expected.txt (modified) (1 diff)
-
LayoutTests/media/video-playsinline.html (modified) (3 diffs)
-
LayoutTests/media/video-webkit-playsinline-expected.txt (deleted)
-
LayoutTests/media/video-webkit-playsinline.html (deleted)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/html/MediaElementSession.cpp (modified) (1 diff)
-
Source/WebCore/page/Settings.cpp (modified) (2 diffs)
-
Source/WebCore/page/Settings.in (modified) (1 diff)
-
Source/WebCore/testing/InternalSettings.cpp (modified) (3 diffs)
-
Source/WebCore/testing/InternalSettings.h (modified) (2 diffs)
-
Source/WebCore/testing/InternalSettings.idl (modified) (1 diff)
-
Source/WebKit/mac/ChangeLog (modified) (1 diff)
-
Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (modified) (1 diff)
-
Source/WebKit/mac/WebView/WebPreferences.mm (modified) (3 diffs)
-
Source/WebKit/mac/WebView/WebPreferencesPrivate.h (modified) (1 diff)
-
Source/WebKit/mac/WebView/WebView.mm (modified) (1 diff)
-
Source/WebKit2/ChangeLog (modified) (1 diff)
-
Source/WebKit2/Shared/WebPreferencesDefinitions.h (modified) (3 diffs)
-
Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (modified) (1 diff)
-
Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h (modified) (1 diff)
-
Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (modified) (1 diff)
-
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm (modified) (4 diffs)
-
Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h (modified) (1 diff)
-
Source/WebKit2/WebProcess/WebPage/WebPage.cpp (modified) (1 diff)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm (modified) (1 diff)
-
Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r203519 r203520 1 2016-07-21 Myles C. Maxfield <mmaxfield@apple.com> 2 3 [iPhone] Playing a video on tudou.com plays only sound, no video 4 https://bugs.webkit.org/show_bug.cgi?id=159967 5 <rdar://problem/26964090> 6 7 Reviewed by Jon Lee, Jeremy Jones, and Anders Carlsson. 8 9 * media/video-playsinline.html: Updated. 10 * media/video-webkit-playsinline-expected.txt: Removed. 11 * media/video-webkit-playsinline.html: Removed. 12 1 13 2016-07-21 Ryan Haddad <ryanhaddad@apple.com> 2 14 -
trunk/LayoutTests/media/video-playsinline-expected.txt
r203511 r203520 1 RUN(internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(true)) 1 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 2 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 2 3 RUN(video.playsInline = false) 4 RUN(video.removeAttribute("webkit-playsinline")) 3 5 EVENT(canplaythrough) 4 6 RUN(video.play()) 5 7 EVENT(playing) 6 8 EXPECTED (video.webkitDisplayingFullscreen == 'true') OK 7 RUN(internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(true)) 8 RUN(video.playsInline = true) 9 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 10 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 11 RUN(video.playsInline = false) 12 RUN(video.setAttribute("webkit-playsinline")) 9 13 EVENT(canplaythrough) 10 14 RUN(video.play()) 11 15 EVENT(playing) 12 16 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 13 RUN(internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(false)) 17 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 18 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 14 19 RUN(video.playsInline = false) 20 RUN(video.setAttribute("webkit-playsinline")) 21 EVENT(canplaythrough) 22 RUN(video.play()) 23 EVENT(playing) 24 EXPECTED (video.webkitDisplayingFullscreen == 'true') OK 25 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 26 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 27 RUN(video.playsInline = false) 28 RUN(video.removeAttribute("webkit-playsinline")) 29 EVENT(canplaythrough) 30 RUN(video.play()) 31 EVENT(playing) 32 EXPECTED (video.webkitDisplayingFullscreen == 'true') OK 33 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 34 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 35 RUN(video.playsInline = true) 36 RUN(video.setAttribute("webkit-playsinline")) 15 37 EVENT(canplaythrough) 16 38 RUN(video.play()) 17 39 EVENT(playing) 18 40 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 19 RUN(internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(false)) 41 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 42 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 20 43 RUN(video.playsInline = true) 44 RUN(video.removeAttribute("webkit-playsinline")) 45 EVENT(canplaythrough) 46 RUN(video.play()) 47 EVENT(playing) 48 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 49 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 50 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 51 RUN(video.playsInline = true) 52 RUN(video.setAttribute("webkit-playsinline")) 53 EVENT(canplaythrough) 54 RUN(video.play()) 55 EVENT(playing) 56 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 57 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) 58 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 59 RUN(video.playsInline = true) 60 RUN(video.removeAttribute("webkit-playsinline")) 61 EVENT(canplaythrough) 62 RUN(video.play()) 63 EVENT(playing) 64 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 65 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 66 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 67 RUN(video.playsInline = false) 68 RUN(video.setAttribute("webkit-playsinline")) 69 EVENT(canplaythrough) 70 RUN(video.play()) 71 EVENT(playing) 72 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 73 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 74 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 75 RUN(video.playsInline = false) 76 RUN(video.removeAttribute("webkit-playsinline")) 77 EVENT(canplaythrough) 78 RUN(video.play()) 79 EVENT(playing) 80 EXPECTED (video.webkitDisplayingFullscreen == 'true') OK 81 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 82 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 83 RUN(video.playsInline = false) 84 RUN(video.setAttribute("webkit-playsinline")) 85 EVENT(canplaythrough) 86 RUN(video.play()) 87 EVENT(playing) 88 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 89 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 90 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 91 RUN(video.playsInline = false) 92 RUN(video.removeAttribute("webkit-playsinline")) 93 EVENT(canplaythrough) 94 RUN(video.play()) 95 EVENT(playing) 96 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 97 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 98 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 99 RUN(video.playsInline = true) 100 RUN(video.setAttribute("webkit-playsinline")) 101 EVENT(canplaythrough) 102 RUN(video.play()) 103 EVENT(playing) 104 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 105 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 106 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) 107 RUN(video.playsInline = true) 108 RUN(video.removeAttribute("webkit-playsinline")) 109 EVENT(canplaythrough) 110 RUN(video.play()) 111 EVENT(playing) 112 EXPECTED (video.webkitDisplayingFullscreen == 'true') OK 113 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 114 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 115 RUN(video.playsInline = true) 116 RUN(video.setAttribute("webkit-playsinline")) 117 EVENT(canplaythrough) 118 RUN(video.play()) 119 EVENT(playing) 120 EXPECTED (video.webkitDisplayingFullscreen == 'false') OK 121 RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(false)) 122 RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) 123 RUN(video.playsInline = true) 124 RUN(video.removeAttribute("webkit-playsinline")) 21 125 EVENT(canplaythrough) 22 126 RUN(video.play()) -
trunk/LayoutTests/media/video-playsinline.html
r203511 r203520 18 18 } 19 19 20 function testPlaysInline(requiresPlaysInline, hasPlaysInline, expectedDisplayingFullscreen)20 function testPlaysInline(requiresPlaysInline, requiresWebKitPlaysInline, hasPlaysInline, hasWebKitPlaysInline, expectedDisplayingFullscreen) 21 21 { 22 run('internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(' + requiresPlaysInline + ')'); 22 run('internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(' + requiresPlaysInline + ')'); 23 run('internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(' + requiresWebKitPlaysInline + ')'); 23 24 video = media = document.createElement('video'); 24 25 document.body.appendChild(video); … … 26 27 video.src = findMediaFile('video', 'content/test'); 27 28 run('video.playsInline = ' + hasPlaysInline); 29 run('video.' + (hasWebKitPlaysInline ? 'set' : 'remove') + 'Attribute("webkit-playsinline")'); 28 30 waitForEventOnce('canplaythrough', () => { 29 31 runWithKeyDown(() => { … … 40 42 function testRequiresPlaysInlineAndDoesntHaveIt() 41 43 { 42 testPlaysInline(true, false, true); 44 testPlaysInline(true, true, false, false, true); 45 } 46 47 function testRequiresPlaysInlineAndDoesntHaveIt2() 48 { 49 testPlaysInline(true, true, false, true, false); 50 } 51 52 function testRequiresPlaysInlineAndDoesntHaveIt3() 53 { 54 testPlaysInline(true, false, false, true, true); 55 } 56 57 function testRequiresPlaysInlineAndDoesntHaveIt4() 58 { 59 testPlaysInline(true, false, false, false, true); 43 60 } 44 61 45 62 function testRequiresPlaysInlineAndDoesHaveIt() 46 63 { 47 testPlaysInline(true, true, false); 64 testPlaysInline(true, true, true, true, false); 65 } 66 67 function testRequiresPlaysInlineAndDoesHaveIt2() 68 { 69 testPlaysInline(true, true, true, false, false); 70 } 71 72 function testRequiresPlaysInlineAndDoesHaveIt3() 73 { 74 testPlaysInline(true, false, true, true, false); 75 } 76 77 function testRequiresPlaysInlineAndDoesHaveIt4() 78 { 79 testPlaysInline(true, false, true, false, false); 48 80 } 49 81 50 82 function testDoesNotRequirePlaysInlineAndDoesntHaveIt() 51 83 { 52 testPlaysInline(false, false, false); 84 testPlaysInline(false, true, false, true, false); 85 } 86 87 function testDoesNotRequirePlaysInlineAndDoesntHaveIt2() 88 { 89 testPlaysInline(false, true, false, false, true); 90 } 91 92 function testDoesNotRequirePlaysInlineAndDoesntHaveIt3() 93 { 94 testPlaysInline(false, false, false, true, false); 95 } 96 97 function testDoesNotRequirePlaysInlineAndDoesntHaveIt4() 98 { 99 testPlaysInline(false, false, false, false, false); 53 100 } 54 101 55 102 function testDoesNotRequirePlaysInlineAndDoesHaveIt() 56 103 { 57 testPlaysInline(false, true, false); 104 testPlaysInline(false, true, true, true, false); 105 } 106 107 function testDoesNotRequirePlaysInlineAndDoesHaveIt2() 108 { 109 testPlaysInline(false, true, true, false, true); 110 } 111 112 function testDoesNotRequirePlaysInlineAndDoesHaveIt3() 113 { 114 testPlaysInline(false, false, true, true, false); 115 } 116 117 function testDoesNotRequirePlaysInlineAndDoesHaveIt4() 118 { 119 testPlaysInline(false, false, true, false, false); 58 120 } 59 121 60 122 var tests = [ 61 123 testRequiresPlaysInlineAndDoesntHaveIt, 124 testRequiresPlaysInlineAndDoesntHaveIt2, 125 testRequiresPlaysInlineAndDoesntHaveIt3, 126 testRequiresPlaysInlineAndDoesntHaveIt4, 62 127 testRequiresPlaysInlineAndDoesHaveIt, 128 testRequiresPlaysInlineAndDoesHaveIt2, 129 testRequiresPlaysInlineAndDoesHaveIt3, 130 testRequiresPlaysInlineAndDoesHaveIt4, 63 131 testDoesNotRequirePlaysInlineAndDoesntHaveIt, 132 testDoesNotRequirePlaysInlineAndDoesntHaveIt2, 133 testDoesNotRequirePlaysInlineAndDoesntHaveIt3, 134 testDoesNotRequirePlaysInlineAndDoesntHaveIt4, 64 135 testDoesNotRequirePlaysInlineAndDoesHaveIt, 136 testDoesNotRequirePlaysInlineAndDoesHaveIt2, 137 testDoesNotRequirePlaysInlineAndDoesHaveIt3, 138 testDoesNotRequirePlaysInlineAndDoesHaveIt4 65 139 ]; 66 140 -
trunk/Source/WebCore/ChangeLog
r203518 r203520 1 2016-07-21 Myles C. Maxfield <mmaxfield@apple.com> 2 3 [iPhone] Playing a video on tudou.com plays only sound, no video 4 https://bugs.webkit.org/show_bug.cgi?id=159967 5 <rdar://problem/26964090> 6 7 Reviewed by Jon Lee, Jeremy Jones, and Anders Carlsson. 8 9 WebKit recently starting honoring the playsinline and webkit-playsinline 10 attribute on iPhones. However, because these attributes previously did 11 nothing, some sites (such as Todou) were setting them on their content 12 and expecting that they are not honored. In this specific case, the 13 video is absolutely positioned to be 1 pixel x 1 pixel. 14 15 Previously, with iOS 9, apps could set the allowsInlineMediaPlayback 16 property on their WKWebView, which would honor the webkit-playsinline 17 attribute. Safari on iPhones didn't do this. 18 19 In order to not break these existing apps, it's important that the 20 allowsInlineMediaPlayback preference still allows webkit-playsinline 21 videos to play inline in apps using WKWebView. However, in Safari, these 22 videos should play fullscreen. (Todou videos have webkit-playsinline 23 but not playsinline.) 24 25 Therefore, in Safari, videos with playsinline should be inline, but 26 videos with webkit-playsinline should be fullscreen. In apps using 27 WKWebViews, if the app sets allowsInlineMediaPlayback, then videos with 28 playsinline should be inline, and videos with webkit-playsinline should 29 also be inline. Videos on iPad and Mac should all be inline by default. 30 31 We can create some truth tables for the cases which need to be covered: 32 33 All apps on Mac / iPad: 34 Presence of playsinline | Presence of webkit-playsinline | Result 35 ========================|================================|=========== 36 Not present | Not present | Inline 37 Present | Not present | Inline 38 Not Present | Present | Inline 39 Present | Present | Inline 40 41 Safari on iPhone: 42 Presence of playsinline | Presence of webkit-playsinline | Result 43 ========================|================================|=========== 44 Not present | Not present | Fullscreen 45 Present | Not present | Inline 46 Not Present | Present | Fullscreen 47 Present | Present | Inline 48 49 App on iPhone which sets allowsInlineMediaPlayback: 50 Presence of playsinline | Presence of webkit-playsinline | Result 51 ========================|================================|=========== 52 Not present | Not present | Fullscreen 53 Present | Not present | Inline 54 Not Present | Present | Inline 55 Present | Present | Inline 56 57 The way to distinguish Safari from another app is to create an SPI 58 boolean preference which Safari can set. This is already how the 59 iPhone and iPad are differentiated using the requiresPlayInlineAttribute 60 which Safari sets but other apps don't. However, this preference is 61 no longer sufficient because Safari should now be discriminating 62 between the playsinline and webkit-playsinline attributes. Therefore, 63 this preference should be extended to two boolean preferences, which 64 this patch adds: 65 66 allowsInlineMediaPlaybackWithPlaysInlineAttribute 67 allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute 68 69 Safari on iPhone will set 70 allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute to true, 71 and allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute to 72 false. Other apps on iPhone will get their defaults values (because they 73 are SPI) which means they will both be true. On iPad and Mac, apps will 74 use the defaults values where both are false. 75 76 This patch adds support for these two preferences, but does not remove 77 the existing inlineMediaPlaybackRequiresPlaysInlineAttribute preference. 78 I will remove the exising preference as soon as I update Safari to migrate 79 off of it. 80 81 Test: media/video-playsinline.html 82 83 * html/MediaElementSession.cpp: 84 (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback): 85 * page/Settings.cpp: 86 * page/Settings.in: 87 * testing/InternalSettings.cpp: 88 (WebCore::InternalSettings::Backup::Backup): 89 (WebCore::InternalSettings::Backup::restoreTo): 90 (WebCore::InternalSettings::setAllowsInlineMediaPlaybackWithPlaysInlineAttribute): 91 (WebCore::InternalSettings::setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute): 92 * testing/InternalSettings.h: 93 * testing/InternalSettings.idl: 94 1 95 2016-07-21 Ryosuke Niwa <rniwa@webkit.org> 2 96 -
trunk/Source/WebCore/html/MediaElementSession.cpp
r203484 r203520 456 456 return true; 457 457 458 return settings->inlineMediaPlaybackRequiresPlaysInlineAttribute() && !(element.hasAttributeWithoutSynchronization(HTMLNames::webkit_playsinlineAttr) || element.hasAttributeWithoutSynchronization(HTMLNames::playsinlineAttr)); 458 bool requiresPlaysInline = settings->allowsInlineMediaPlaybackWithPlaysInlineAttribute(); 459 bool requiresWebKitPlaysInline = settings->allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(); 460 461 if (!requiresPlaysInline && !requiresWebKitPlaysInline) 462 return false; 463 464 bool hasPlaysInline = element.hasAttributeWithoutSynchronization(HTMLNames::playsinlineAttr); 465 bool hasWebKitPlaysInline = element.hasAttributeWithoutSynchronization(HTMLNames::webkit_playsinlineAttr); 466 467 return !((requiresPlaysInline && hasPlaysInline) || (requiresWebKitPlaysInline && hasWebKitPlaysInline)); 459 468 } 460 469 -
trunk/Source/WebCore/page/Settings.cpp
r203484 r203520 140 140 static const bool defaultAllowsInlineMediaPlayback = false; 141 141 static const bool defaultInlineMediaPlaybackRequiresPlaysInlineAttribute = true; 142 static const bool defaultAllowsInlineMediaPlaybackWithPlaysInlineAttribute = true; 143 static const bool defaultAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute = true; 142 144 static const bool defaultVideoPlaybackRequiresUserGesture = true; 143 145 static const bool defaultAudioPlaybackRequiresUserGesture = true; … … 153 155 static const bool defaultAllowsInlineMediaPlayback = true; 154 156 static const bool defaultInlineMediaPlaybackRequiresPlaysInlineAttribute = false; 157 static const bool defaultAllowsInlineMediaPlaybackWithPlaysInlineAttribute = false; 158 static const bool defaultAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute = false; 155 159 static const bool defaultVideoPlaybackRequiresUserGesture = false; 156 160 static const bool defaultAudioPlaybackRequiresUserGesture = false; -
trunk/Source/WebCore/page/Settings.in
r203484 r203520 133 133 allowsInlineMediaPlaybackAfterFullscreen initial=true 134 134 inlineMediaPlaybackRequiresPlaysInlineAttribute initial=defaultInlineMediaPlaybackRequiresPlaysInlineAttribute 135 allowsInlineMediaPlaybackWithPlaysInlineAttribute initial=defaultAllowsInlineMediaPlaybackWithPlaysInlineAttribute 136 allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute initial=defaultAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute 135 137 allowsPictureInPictureMediaPlayback initial=defaultAllowsPictureInPictureMediaPlayback 136 138 mediaControlsScaleWithPageZoom initial=defaultMediaControlsScaleWithPageZoom -
trunk/Source/WebCore/testing/InternalSettings.cpp
r203484 r203520 109 109 , m_allowsInlineMediaPlaybackAfterFullscreen(settings.allowsInlineMediaPlaybackAfterFullscreen()) 110 110 , m_inlineMediaPlaybackRequiresPlaysInlineAttribute(settings.inlineMediaPlaybackRequiresPlaysInlineAttribute()) 111 , m_allowsInlineMediaPlaybackWithPlaysInlineAttribute(settings.allowsInlineMediaPlaybackWithPlaysInlineAttribute()) 112 , m_allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(settings.allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute()) 111 113 #if ENABLE(INDEXED_DATABASE_IN_WORKERS) 112 114 , m_indexedDBWorkersEnabled(RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled()) … … 185 187 settings.setAllowsInlineMediaPlaybackAfterFullscreen(m_allowsInlineMediaPlaybackAfterFullscreen); 186 188 settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(m_inlineMediaPlaybackRequiresPlaysInlineAttribute); 189 settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(m_allowsInlineMediaPlaybackWithPlaysInlineAttribute); 190 settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(m_allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute); 187 191 RuntimeEnabledFeatures::sharedFeatures().setPluginReplacementEnabled(m_pluginReplacementEnabled); 188 192 #if ENABLE(INDEXED_DATABASE_IN_WORKERS) … … 581 585 } 582 586 587 void InternalSettings::setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(bool requires, ExceptionCode& ec) 588 { 589 InternalSettingsGuardForSettings(); 590 settings()->setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(requires); 591 } 592 593 void InternalSettings::setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(bool requires, ExceptionCode& ec) 594 { 595 InternalSettingsGuardForSettings(); 596 settings()->setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(requires); 597 } 598 583 599 void InternalSettings::setIndexedDBWorkersEnabled(bool enabled, ExceptionCode&) 584 600 { -
trunk/Source/WebCore/testing/InternalSettings.h
r203484 r203520 109 109 bool m_allowsInlineMediaPlaybackAfterFullscreen; 110 110 bool m_inlineMediaPlaybackRequiresPlaysInlineAttribute; 111 bool m_allowsInlineMediaPlaybackWithPlaysInlineAttribute; 112 bool m_allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute; 111 113 #if ENABLE(INDEXED_DATABASE_IN_WORKERS) 112 114 bool m_indexedDBWorkersEnabled; … … 164 166 void setAllowsInlineMediaPlaybackAfterFullscreen(bool, ExceptionCode&); 165 167 void setInlineMediaPlaybackRequiresPlaysInlineAttribute(bool, ExceptionCode&); 168 void setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(bool, ExceptionCode&); 169 void setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(bool, ExceptionCode&); 166 170 void setIndexedDBWorkersEnabled(bool, ExceptionCode&); 167 171 String userInterfaceDirectionPolicy(ExceptionCode&); -
trunk/Source/WebCore/testing/InternalSettings.idl
r203484 r203520 79 79 [RaisesException] void setAllowsInlineMediaPlaybackAfterFullscreen(boolean allows); 80 80 [RaisesException] void setInlineMediaPlaybackRequiresPlaysInlineAttribute(boolean requires); 81 [RaisesException] void setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(boolean requires); 82 [RaisesException] void setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(boolean requires); 81 83 82 84 [RaisesException] void setIndexedDBWorkersEnabled(boolean requires); -
trunk/Source/WebKit/mac/ChangeLog
r203484 r203520 1 2016-07-21 Myles C. Maxfield <mmaxfield@apple.com> 2 3 [iPhone] Playing a video on tudou.com plays only sound, no video 4 https://bugs.webkit.org/show_bug.cgi?id=159967 5 <rdar://problem/26964090> 6 7 Reviewed by Jon Lee, Jeremy Jones, and Anders Carlsson. 8 9 Add the two preferences to WebPreferences. 10 11 * WebView/WebPreferenceKeysPrivate.h: 12 * WebView/WebPreferences.mm: 13 (+[WebPreferences initialize]): 14 (-[WebPreferences allowsInlineMediaPlaybackWithPlaysInlineAttribute]): 15 (-[WebPreferences setAllowsInlineMediaPlaybackWithPlaysInlineAttribute:]): 16 (-[WebPreferences allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute]): 17 (-[WebPreferences setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute:]): 18 * WebView/WebPreferencesPrivate.h: 19 * WebView/WebView.mm: 20 (-[WebView _preferencesChanged:]): 21 1 22 2016-07-20 Commit Queue <commit-queue@webkit.org> 2 23 -
trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
r203484 r203520 128 128 #define WebKitAllowsInlineMediaPlaybackAfterFullscreenPreferenceKey @"WebKitAllowsInlineMediaPlaybackAfterFullscreen" 129 129 #define WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey @"InlineMediaPlaybackRequiresPlaysInlineAttribute" 130 #define WebKitAllowsInlineMediaPlaybackWithPlaysInlineAttributeKey @"AllowsInlineMediaPlaybackWithPlaysInlineAttribute" 131 #define WebKitAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttributeKey @"AllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute" 130 132 #define WebKitInvisibleAutoplayNotPermittedKey @"InvisibleAutoplayNotPermitted" 131 133 #define WebKitAllowsPictureInPictureMediaPlaybackPreferenceKey @"WebKitAllowsPictureInPictureMediaPlayback" -
trunk/Source/WebKit/mac/WebView/WebPreferences.mm
r203484 r203520 526 526 [NSNumber numberWithBool:YES], WebKitAllowsInlineMediaPlaybackPreferenceKey, 527 527 [NSNumber numberWithBool:NO], WebKitAllowsInlineMediaPlaybackAfterFullscreenPreferenceKey, 528 [NSNumber numberWithBool:NO], WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey, 528 [NSNumber numberWithBool:NO], WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey, 529 [NSNumber numberWithBool:NO], WebKitAllowsInlineMediaPlaybackWithPlaysInlineAttributeKey, 530 [NSNumber numberWithBool:NO], WebKitAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttributeKey, 529 531 [NSNumber numberWithBool:YES], WebKitMediaControlsScaleWithPageZoomPreferenceKey, 530 532 [NSNumber numberWithBool:NO], WebKitWebAudioEnabledPreferenceKey, … … 540 542 [NSNumber numberWithBool:allowsInlineMediaPlaybackAfterFullscreen], WebKitAllowsInlineMediaPlaybackAfterFullscreenPreferenceKey, 541 543 [NSNumber numberWithBool:requiresPlaysInlineAttribute], WebKitInlineMediaPlaybackRequiresPlaysInlineAttributeKey, 544 [NSNumber numberWithBool:requiresPlaysInlineAttribute], WebKitAllowsInlineMediaPlaybackWithPlaysInlineAttributeKey, 545 [NSNumber numberWithBool:requiresPlaysInlineAttribute], WebKitAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttributeKey, 542 546 [NSNumber numberWithBool:NO], WebKitMediaControlsScaleWithPageZoomPreferenceKey, 543 547 [NSNumber numberWithUnsignedInt:AudioSession::None], WebKitAudioSessionCategoryOverride, … … 2294 2298 } 2295 2299 2300 - (BOOL)allowsInlineMediaPlaybackWithPlaysInlineAttribute 2301 { 2302 return [self _boolValueForKey:WebKitAllowsInlineMediaPlaybackWithPlaysInlineAttributeKey]; 2303 } 2304 2305 - (void)setAllowsInlineMediaPlaybackWithPlaysInlineAttribute:(BOOL)flag 2306 { 2307 [self _setBoolValue:flag forKey:WebKitAllowsInlineMediaPlaybackWithPlaysInlineAttributeKey]; 2308 } 2309 2310 - (BOOL)allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute 2311 { 2312 return [self _boolValueForKey:WebKitAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttributeKey]; 2313 } 2314 2315 - (void)setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute:(BOOL)flag 2316 { 2317 [self _setBoolValue:flag forKey:WebKitAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttributeKey]; 2318 } 2319 2296 2320 - (BOOL)invisibleAutoplayNotPermitted 2297 2321 { -
trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
r203484 r203520 266 266 - (BOOL)inlineMediaPlaybackRequiresPlaysInlineAttribute; 267 267 268 - (void)setAllowsInlineMediaPlaybackWithPlaysInlineAttribute:(BOOL)flag; 269 - (BOOL)allowsInlineMediaPlaybackWithPlaysInlineAttribute; 270 271 - (void)setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute:(BOOL)flag; 272 - (BOOL)allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute; 273 268 274 - (void)setInvisibleAutoplayNotPermitted:(BOOL)flag; 269 275 - (BOOL)invisibleAutoplayNotPermitted; -
trunk/Source/WebKit/mac/WebView/WebView.mm
r203484 r203520 2350 2350 settings.setAllowsInlineMediaPlaybackAfterFullscreen([preferences allowsInlineMediaPlaybackAfterFullscreen]); 2351 2351 settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute([preferences inlineMediaPlaybackRequiresPlaysInlineAttribute]); 2352 settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute([preferences allowsInlineMediaPlaybackWithPlaysInlineAttribute]); 2353 settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute([preferences allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute]); 2352 2354 settings.setInvisibleAutoplayNotPermitted([preferences invisibleAutoplayNotPermitted]); 2353 2355 settings.setAllowsPictureInPictureMediaPlayback([preferences allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback()); -
trunk/Source/WebKit2/ChangeLog
r203508 r203520 1 2016-07-21 Myles C. Maxfield <mmaxfield@apple.com> 2 3 [iPhone] Playing a video on tudou.com plays only sound, no video 4 https://bugs.webkit.org/show_bug.cgi?id=159967 5 <rdar://problem/26964090> 6 7 Reviewed by Jon Lee, Jeremy Jones, and Anders Carlsson. 8 9 Add the two preferences to WKWebViewConfiguration and WKPreferences to cover both 10 the Obj-C API and the C SPI. 11 12 * Shared/WebPreferencesDefinitions.h: 13 * UIProcess/API/C/WKPreferences.cpp: 14 (WKPreferencesSetAllowsInlineMediaPlaybackWithPlaysInlineAttribute): 15 (WKPreferencesGetAllowsInlineMediaPlaybackWithPlaysInlineAttribute): 16 (WKPreferencesSetAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute): 17 (WKPreferencesGetAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute): 18 * UIProcess/API/C/WKPreferencesRefPrivate.h: 19 * UIProcess/API/Cocoa/WKWebView.mm: 20 (-[WKWebView _initializeWithConfiguration:]): 21 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 22 (-[WKWebViewConfiguration init]): 23 (-[WKWebViewConfiguration copyWithZone:]): 24 (-[WKWebViewConfiguration _allowsInlineMediaPlaybackWithPlaysInlineAttribute]): 25 (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackWithPlaysInlineAttribute:]): 26 (-[WKWebViewConfiguration _allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute]): 27 (-[WKWebViewConfiguration _setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute:]): 28 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: 29 * WebProcess/WebPage/WebPage.cpp: 30 (WebKit::WebPage::updatePreferences): 31 1 32 2016-07-21 Yongjun Zhang <yongjun_zhang@apple.com> 2 33 -
trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h
r203484 r203520 67 67 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_AFTER_FULLSCREEN true 68 68 #define DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE true 69 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_WITH_PLAYS_INLINE_ATTRIBUTE true 70 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_WITH_WEBKIT_PLAYS_INLINE_ATTRIBUTE true 69 71 #define DEFAULT_INVISIBLE_AUTOPLAY_NOT_PERMITTED true 70 72 #define DEFAULT_MEDIA_DATA_LOADS_AUTOMATICALLY false … … 84 86 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_AFTER_FULLSCREEN false 85 87 #define DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE false 88 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_WITH_PLAYS_INLINE_ATTRIBUTE false 89 #define DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_WITH_WEBKIT_PLAYS_INLINE_ATTRIBUTE false 86 90 #define DEFAULT_INVISIBLE_AUTOPLAY_NOT_PERMITTED false 87 91 #define DEFAULT_MEDIA_DATA_LOADS_AUTOMATICALLY true … … 154 158 macro(AllowsInlineMediaPlaybackAfterFullscreen, allowsInlineMediaPlaybackAfterFullscreen, Bool, bool, DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_AFTER_FULLSCREEN, "", "") \ 155 159 macro(InlineMediaPlaybackRequiresPlaysInlineAttribute, inlineMediaPlaybackRequiresPlaysInlineAttribute, Bool, bool, DEFAULT_INLINE_MEDIA_PLAYBACK_REQUIRES_PLAYS_INLINE_ATTRIBUTE, "", "") \ 160 macro(AllowsInlineMediaPlaybackWithPlaysInlineAttribute, allowsInlineMediaPlaybackWithPlaysInlineAttribute, Bool, bool, DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_WITH_PLAYS_INLINE_ATTRIBUTE, "", "") \ 161 macro(AllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute, allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute, Bool, bool, DEFAULT_ALLOWS_INLINE_MEDIA_PLAYBACK_WITH_WEBKIT_PLAYS_INLINE_ATTRIBUTE, "", "") \ 156 162 macro(InvisibleAutoplayNotPermitted, invisibleAutoplayNotPermitted, Bool, bool, DEFAULT_INVISIBLE_AUTOPLAY_NOT_PERMITTED, "", "") \ 157 163 macro(MediaDataLoadsAutomatically, mediaDataLoadsAutomatically, Bool, bool, DEFAULT_MEDIA_DATA_LOADS_AUTOMATICALLY, "", "") \ -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
r203484 r203520 804 804 } 805 805 806 void WKPreferencesSetAllowsInlineMediaPlaybackWithPlaysInlineAttribute(WKPreferencesRef preferencesRef, bool flag) 807 { 808 toImpl(preferencesRef)->setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(flag); 809 } 810 811 bool WKPreferencesGetAllowsInlineMediaPlaybackWithPlaysInlineAttribute(WKPreferencesRef preferencesRef) 812 { 813 return toImpl(preferencesRef)->allowsInlineMediaPlaybackWithPlaysInlineAttribute(); 814 } 815 816 void WKPreferencesSetAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(WKPreferencesRef preferencesRef, bool flag) 817 { 818 toImpl(preferencesRef)->setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(flag); 819 } 820 821 bool WKPreferencesGetAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(WKPreferencesRef preferencesRef) 822 { 823 return toImpl(preferencesRef)->allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(); 824 } 825 806 826 void WKPreferencesSetMediaControlsScaleWithPageZoom(WKPreferencesRef preferencesRef, bool flag) 807 827 { -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h
r203484 r203520 196 196 WK_EXPORT bool WKPreferencesGetInlineMediaPlaybackRequiresPlaysInlineAttribute(WKPreferencesRef preferencesRef); 197 197 198 // Defaults to true on iOS, false elsewhere. 199 WK_EXPORT void WKPreferencesSetAllowsInlineMediaPlaybackWithPlaysInlineAttribute(WKPreferencesRef preferencesRef, bool flag); 200 WK_EXPORT bool WKPreferencesGetAllowsInlineMediaPlaybackWithPlaysInlineAttribute(WKPreferencesRef preferencesRef); 201 202 // Defaults to true on iOS, false elsewhere. 203 WK_EXPORT void WKPreferencesSetAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(WKPreferencesRef preferencesRef, bool flag); 204 WK_EXPORT bool WKPreferencesGetAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(WKPreferencesRef preferencesRef); 205 198 206 // Defaults to false on iOS, true elsewhere. 199 207 WK_EXPORT void WKPreferencesSetMediaControlsScaleWithPageZoom(WKPreferencesRef preferencesRef, bool flag); -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
r203484 r203520 457 457 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackAfterFullscreenKey(), WebKit::WebPreferencesStore::Value(!![_configuration _allowsInlineMediaPlaybackAfterFullscreen])); 458 458 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::inlineMediaPlaybackRequiresPlaysInlineAttributeKey(), WebKit::WebPreferencesStore::Value(!![_configuration _inlineMediaPlaybackRequiresPlaysInlineAttribute])); 459 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackWithPlaysInlineAttributeKey(), WebKit::WebPreferencesStore::Value(!![_configuration _allowsInlineMediaPlaybackWithPlaysInlineAttribute])); 460 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsInlineMediaPlaybackWithWebKitPlaysInlineAttributeKey(), WebKit::WebPreferencesStore::Value(!![_configuration _allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute])); 459 461 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::allowsPictureInPictureMediaPlaybackKey(), WebKit::WebPreferencesStore::Value(!![_configuration allowsPictureInPictureMediaPlayback] && shouldAllowPictureInPictureMediaPlayback())); 460 462 pageConfiguration->preferenceValues().set(WebKit::WebPreferencesKey::userInterfaceDirectionPolicyKey(), WebKit::WebPreferencesStore::Value(static_cast<uint32_t>(WebCore::UserInterfaceDirectionPolicy::Content))); -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
r203484 r203520 109 109 BOOL _allowsInlineMediaPlayback; 110 110 BOOL _inlineMediaPlaybackRequiresPlaysInlineAttribute; 111 BOOL _allowsInlineMediaPlaybackWithPlaysInlineAttribute; 112 BOOL _allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute; 111 113 BOOL _allowsInlineMediaPlaybackAfterFullscreen; 112 114 #endif … … 139 141 _allowsInlineMediaPlayback = WebCore::deviceClass() == MGDeviceClassiPad; 140 142 _inlineMediaPlaybackRequiresPlaysInlineAttribute = !_allowsInlineMediaPlayback; 143 _allowsInlineMediaPlaybackWithPlaysInlineAttribute = !_allowsInlineMediaPlayback; 144 _allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute = !_allowsInlineMediaPlayback; 141 145 _allowsInlineMediaPlaybackAfterFullscreen = !_allowsInlineMediaPlayback; 142 146 _mediaDataLoadsAutomatically = NO; … … 290 294 configuration->_allowsInlineMediaPlaybackAfterFullscreen = self->_allowsInlineMediaPlaybackAfterFullscreen; 291 295 configuration->_inlineMediaPlaybackRequiresPlaysInlineAttribute = self->_inlineMediaPlaybackRequiresPlaysInlineAttribute; 296 configuration->_allowsInlineMediaPlaybackWithPlaysInlineAttribute = self->_allowsInlineMediaPlaybackWithPlaysInlineAttribute; 297 configuration->_allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute = self->_allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute; 292 298 configuration->_allowsPictureInPictureMediaPlayback = self->_allowsPictureInPictureMediaPlayback; 293 299 configuration->_alwaysRunsAtForegroundPriority = _alwaysRunsAtForegroundPriority; … … 579 585 } 580 586 587 - (BOOL)_allowsInlineMediaPlaybackWithPlaysInlineAttribute 588 { 589 return _allowsInlineMediaPlaybackWithPlaysInlineAttribute; 590 } 591 592 - (void)_setAllowsInlineMediaPlaybackWithPlaysInlineAttribute:(BOOL)requires 593 { 594 _allowsInlineMediaPlaybackWithPlaysInlineAttribute = requires; 595 } 596 597 - (BOOL)_allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute 598 { 599 return _allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute; 600 } 601 602 - (void)_setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute:(BOOL)requires 603 { 604 _allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute = requires; 605 } 606 581 607 - (BOOL)_allowsInlineMediaPlaybackAfterFullscreen 582 608 { -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h
r203484 r203520 61 61 @property (nonatomic, setter=_setAlwaysRunsAtForegroundPriority:) BOOL _alwaysRunsAtForegroundPriority WK_API_AVAILABLE(ios(9_0)); 62 62 @property (nonatomic, setter=_setInlineMediaPlaybackRequiresPlaysInlineAttribute:) BOOL _inlineMediaPlaybackRequiresPlaysInlineAttribute WK_API_AVAILABLE(ios(WK_IOS_TBA)); 63 @property (nonatomic, setter=_setAllowsInlineMediaPlaybackWithPlaysInlineAttribute:) BOOL _allowsInlineMediaPlaybackWithPlaysInlineAttribute WK_API_AVAILABLE(ios(WK_IOS_TBA)); 64 @property (nonatomic, setter=_setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute:) BOOL _allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute WK_API_AVAILABLE(ios(WK_IOS_TBA)); 63 65 @property (nonatomic, setter=_setAllowsInlineMediaPlaybackAfterFullscreen:) BOOL _allowsInlineMediaPlaybackAfterFullscreen WK_API_AVAILABLE(ios(WK_IOS_TBA)); 64 66 #else -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r203484 r203520 2987 2987 settings.setAllowsInlineMediaPlaybackAfterFullscreen(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackAfterFullscreenKey())); 2988 2988 settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(store.getBoolValueForKey(WebPreferencesKey::inlineMediaPlaybackRequiresPlaysInlineAttributeKey())); 2989 settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackWithPlaysInlineAttributeKey())); 2990 settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(store.getBoolValueForKey(WebPreferencesKey::allowsInlineMediaPlaybackWithWebKitPlaysInlineAttributeKey())); 2989 2991 settings.setInvisibleAutoplayNotPermitted(store.getBoolValueForKey(WebPreferencesKey::invisibleAutoplayNotPermittedKey())); 2990 2992 settings.setMediaDataLoadsAutomatically(store.getBoolValueForKey(WebPreferencesKey::mediaDataLoadsAutomaticallyKey())); -
trunk/Tools/ChangeLog
r203512 r203520 1 2016-07-21 Myles C. Maxfield <mmaxfield@apple.com> 2 3 [iPhone] Playing a video on tudou.com plays only sound, no video 4 https://bugs.webkit.org/show_bug.cgi?id=159967 5 <rdar://problem/26964090> 6 7 Reviewed by Jon Lee, Jeremy Jones, and Anders Carlsson. 8 9 Migrate tests to use new SPI. 10 11 * TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm: 12 (RequiresUserActionForPlaybackTest::SetUp): 13 * WebKitTestRunner/cocoa/TestControllerCocoa.mm: 14 (WTR::initializeWebViewConfiguration): 15 1 16 2016-07-21 Csaba Osztrogonác <ossy@webkit.org> 2 17 -
trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm
r200951 r203520 78 78 configuration.get().allowsInlineMediaPlayback = YES; 79 79 configuration.get()._inlineMediaPlaybackRequiresPlaysInlineAttribute = NO; 80 configuration.get()._allowsInlineMediaPlaybackWithPlaysInlineAttribute = NO; 81 configuration.get()._allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute = NO; 80 82 #endif 81 83 } -
trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm
r203075 r203520 63 63 globalWebViewConfiguration.allowsInlineMediaPlayback = YES; 64 64 globalWebViewConfiguration._inlineMediaPlaybackRequiresPlaysInlineAttribute = NO; 65 globalWebViewConfiguration._allowsInlineMediaPlaybackWithPlaysInlineAttribute = NO; 66 globalWebViewConfiguration._allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute = NO; 65 67 globalWebViewConfiguration._invisibleAutoplayNotPermitted = NO; 66 68 globalWebViewConfiguration._mediaDataLoadsAutomatically = YES;
Note:
See TracChangeset
for help on using the changeset viewer.