Changeset 119742 in webkit
- Timestamp:
- Jun 7, 2012 11:37:39 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r119741 r119742 1 2012-06-07 Ami Fischman <fischman@chromium.org> 2 3 Plumb CORS attribute information from HTMLMediaElement to media players so it can be used 4 https://bugs.webkit.org/show_bug.cgi?id=88349 5 6 Reviewed by Adam Barth. 7 8 * http/tests/security/resources/video-cross-origin-allow.php: Added. 9 * http/tests/security/video-cross-origin-readback-expected.txt: Added. 10 * http/tests/security/video-cross-origin-readback.html: Added. 11 * platform/efl/Skipped: 12 * platform/gtk/TestExpectations: 13 * platform/mac/Skipped: 14 * platform/qt/Skipped: 15 * platform/win/Skipped: 16 * platform/wk2/Skipped: 17 1 18 2012-06-07 Stephen White <senorblanco@chromium.org> 2 19 -
trunk/LayoutTests/platform/efl/Skipped
r119659 r119742 302 302 fast/images/exif-orientation.html 303 303 fast/images/exif-orientation-css.html 304 305 # No CORS support for media elements is implemented yet. 306 http/tests/security/video-cross-origin-readback.html 304 307 305 308 # -------------------------------- -
trunk/LayoutTests/platform/gtk/TestExpectations
r119731 r119742 316 316 // CSS Variables are not yet enabled. 317 317 BUGWK85580 SKIP : fast/css/variables = PASS FAIL 318 319 // No CORS support for media elements is implemented yet. 320 BUGWKGTK SKIP : http/tests/security/video-cross-origin-readback.html = FAIL 318 321 319 322 ////////////////////////////////////////////////////////////////////////////////////////// -
trunk/LayoutTests/platform/mac/Skipped
r119722 r119742 814 814 fast/sub-pixel/file-upload-control-at-fractional-offset.html 815 815 816 # No CORS support for media elements is implemented yet. 817 http/tests/security/video-cross-origin-readback.html 818 816 819 # media/audio-repaint.html sometimes fails on Lion Debug (Tests) 817 820 # https://bugs.webkit.org/show_bug.cgi?id=84357 -
trunk/LayoutTests/platform/qt/Skipped
r119728 r119742 433 433 fast/events/page-visibility-iframe-propagation-test.html 434 434 fast/events/page-visibility-transition-test.html 435 436 # No CORS support for media elements is implemented yet. 437 http/tests/security/video-cross-origin-readback.html 435 438 436 439 # =========================================================================== # -
trunk/LayoutTests/platform/win/Skipped
r119722 r119742 1752 1752 fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html 1753 1753 fast/sub-pixel/file-upload-control-at-fractional-offset.html 1754 1755 # No CORS support for media elements is implemented yet. 1756 http/tests/security/video-cross-origin-readback.html 1754 1757 1755 1758 # http://webkit.org/b/82886 -
trunk/LayoutTests/platform/wk2/Skipped
r119659 r119742 1056 1056 editing/inserting/typing-space-to-trigger-smart-link.html 1057 1057 1058 # No CORS support for media elements is implemented yet. 1059 http/tests/security/video-cross-origin-readback.html 1060 1058 1061 ### END OF (2) Classified failures without bug reports (yet) 1059 1062 ######################################## -
trunk/Source/WebCore/ChangeLog
r119740 r119742 1 2012-06-07 Ami Fischman <fischman@chromium.org> 2 3 Plumb CORS attribute information from HTMLMediaElement to media players so it can be used 4 https://bugs.webkit.org/show_bug.cgi?id=88349 5 6 Reviewed by Adam Barth. 7 8 Test: http/tests/security/video-cross-origin-readback.html 9 10 * html/HTMLMediaElement.cpp: 11 (WebCore::HTMLMediaElement::mediaPlayerCORSMode): 12 (WebCore): 13 * html/HTMLMediaElement.h: 14 (HTMLMediaElement): 15 * html/canvas/CanvasRenderingContext.cpp: 16 (WebCore::CanvasRenderingContext::wouldTaintOrigin): 17 * platform/graphics/MediaPlayer.cpp: 18 (WebCore::MediaPlayer::didPassCORSAccessCheck): 19 (WebCore): 20 * platform/graphics/MediaPlayer.h: 21 (WebCore::MediaPlayerClient::mediaPlayerCORSMode): 22 (MediaPlayer): 23 * platform/graphics/MediaPlayerPrivate.h: 24 (WebCore::MediaPlayerPrivateInterface::didPassCORSAccessCheck): 25 (MediaPlayerPrivateInterface): 26 1 27 2012-06-07 Mark Hahnenberg <mhahnenberg@apple.com> 2 28 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r119712 r119742 4457 4457 } 4458 4458 4459 MediaPlayerClient::CORSMode HTMLMediaElement::mediaPlayerCORSMode() const 4460 { 4461 if (!fastHasAttribute(HTMLNames::crossoriginAttr)) 4462 return Unspecified; 4463 if (equalIgnoringCase(fastGetAttribute(HTMLNames::crossoriginAttr), "use-credentials")) 4464 return UseCredentials; 4465 return Anonymous; 4466 } 4467 4459 4468 bool HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks() const 4460 4469 { -
trunk/Source/WebCore/html/HTMLMediaElement.h
r119712 r119742 428 428 virtual String mediaPlayerReferrer() const OVERRIDE; 429 429 virtual String mediaPlayerUserAgent() const OVERRIDE; 430 virtual CORSMode mediaPlayerCORSMode() const OVERRIDE; 430 431 431 432 virtual bool mediaPlayerNeedsSiteSpecificHacks() const OVERRIDE; -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext.cpp
r119712 r119742 78 78 return false; 79 79 80 if ( wouldTaintOrigin(video->currentSrc()))80 if (!video->hasSingleSecurityOrigin()) 81 81 return true; 82 82 83 if (! video->hasSingleSecurityOrigin())83 if (!(video->player() && video->player()->didPassCORSAccessCheck()) && wouldTaintOrigin(video->currentSrc())) 84 84 return true; 85 85 86 #else 86 87 UNUSED_PARAM(video); -
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp
r119712 r119742 835 835 } 836 836 837 bool MediaPlayer::didPassCORSAccessCheck() const 838 { 839 return m_private->didPassCORSAccessCheck(); 840 } 841 837 842 MediaPlayer::MovieLoadType MediaPlayer::movieLoadType() const 838 843 { -
trunk/Source/WebCore/platform/graphics/MediaPlayer.h
r119712 r119742 102 102 class MediaPlayerClient { 103 103 public: 104 enum CORSMode { Unspecified, Anonymous, UseCredentials }; 105 104 106 virtual ~MediaPlayerClient() { } 105 107 … … 179 181 virtual String mediaPlayerReferrer() const { return String(); } 180 182 virtual String mediaPlayerUserAgent() const { return String(); } 183 virtual CORSMode mediaPlayerCORSMode() const { return Unspecified; } 181 184 }; 182 185 … … 354 357 355 358 bool hasSingleSecurityOrigin() const; 359 360 bool didPassCORSAccessCheck() const; 356 361 357 362 float mediaTimeForTimeValue(float) const; -
trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
r119712 r119742 136 136 virtual bool hasSingleSecurityOrigin() const { return false; } 137 137 138 virtual bool didPassCORSAccessCheck() const { return false; } 139 138 140 virtual MediaPlayer::MovieLoadType movieLoadType() const { return MediaPlayer::Unknown; } 139 141 -
trunk/Source/WebKit/chromium/ChangeLog
r119732 r119742 1 2012-06-07 Ami Fischman <fischman@chromium.org> 2 3 Plumb CORS attribute information from HTMLMediaElement to media players so it can be used 4 https://bugs.webkit.org/show_bug.cgi?id=88349 5 6 Reviewed by Adam Barth. 7 8 * public/WebMediaPlayer.h: 9 (WebMediaPlayer): 10 * src/AssertMatchingEnums.cpp: 11 * src/WebMediaPlayerClientImpl.cpp: 12 (WebKit::WebMediaPlayerClientImpl::loadInternal): 13 (WebKit::WebMediaPlayerClientImpl::didPassCORSAccessCheck): 14 (WebKit): 15 * src/WebMediaPlayerClientImpl.h: 16 (WebMediaPlayerClientImpl): 17 1 18 2012-06-07 Daniel Erat <derat@chromium.org> 2 19 -
trunk/Source/WebKit/chromium/public/WebMediaPlayer.h
r119712 r119742 109 109 virtual ~WebMediaPlayer() {} 110 110 111 virtual void load(const WebURL& ) = 0;111 virtual void load(const WebURL&, CORSMode) = 0; 112 112 virtual void cancelLoad() = 0; 113 113 … … 155 155 156 156 virtual bool hasSingleSecurityOrigin() const = 0; 157 virtual bool didPassCORSAccessCheck() const = 0; 157 158 virtual MovieLoadType movieLoadType() const = 0; 158 159 -
trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
r119712 r119742 582 582 COMPILE_ASSERT_MATCHING_ENUM(WebURLResponse::HTTP_1_0, ResourceResponse::HTTP_1_0); 583 583 COMPILE_ASSERT_MATCHING_ENUM(WebURLResponse::HTTP_1_1, ResourceResponse::HTTP_1_1); 584 585 COMPILE_ASSERT_MATCHING_ENUM(WebMediaPlayer::CORSModeUnspecified, MediaPlayerClient::Unspecified); 586 COMPILE_ASSERT_MATCHING_ENUM(WebMediaPlayer::CORSModeAnonymous, MediaPlayerClient::Anonymous); 587 COMPILE_ASSERT_MATCHING_ENUM(WebMediaPlayer::CORSModeUseCredentials, MediaPlayerClient::UseCredentials); -
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
r119712 r119742 319 319 m_audioSourceProvider.wrap(m_webMediaPlayer->audioSourceProvider()); 320 320 #endif 321 m_webMediaPlayer->load(KURL(ParsedURLString, m_url)); 321 m_webMediaPlayer->load( 322 KURL(ParsedURLString, m_url), 323 static_cast<WebMediaPlayer::CORSMode>(m_mediaPlayer->mediaPlayerClient()->mediaPlayerCORSMode())); 322 324 } 323 325 } … … 660 662 if (m_webMediaPlayer) 661 663 return m_webMediaPlayer->hasSingleSecurityOrigin(); 664 return false; 665 } 666 667 bool WebMediaPlayerClientImpl::didPassCORSAccessCheck() const 668 { 669 if (m_webMediaPlayer) 670 return m_webMediaPlayer->didPassCORSAccessCheck(); 662 671 return false; 663 672 } -
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
r119712 r119742 132 132 virtual void setPreload(WebCore::MediaPlayer::Preload); 133 133 virtual bool hasSingleSecurityOrigin() const; 134 virtual bool didPassCORSAccessCheck() const; 134 135 virtual WebCore::MediaPlayer::MovieLoadType movieLoadType() const; 135 136 virtual float mediaTimeForTimeValue(float timeValue) const;
Note: See TracChangeset
for help on using the changeset viewer.