Skip to content

Commit

Permalink
Enabled the error event for Youtube [#853]
Browse files Browse the repository at this point in the history
  • Loading branch information
Christopher De Cairos committed Dec 8, 2011
1 parent 1d0c3d7 commit 0e08e7b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
9 changes: 9 additions & 0 deletions players/youtube/popcorn.youtube.js
Expand Up @@ -4,6 +4,7 @@ var onYouTubePlayerReady = function( containerId ) {
onYouTubePlayerReady[ containerId ] && onYouTubePlayerReady[ containerId ]();
};
onYouTubePlayerReady.stateChangeEventHandler = {};
onYouTubePlayerReady.onErrorEventHandler = {};

Popcorn.player( "youtube", {
_setup: function( options ) {
Expand Down Expand Up @@ -67,9 +68,17 @@ Popcorn.player( "youtube", {
}
};

onYouTubePlayerReady.onErrorEventHandler[ container.id ] = function( errorCode ) {
if ( [ 2, 100, 101, 150 ].indexOf( errorCode ) !== -1 ) {
media.dispatchEvent( "error" );
}
};

// youtube requires callbacks to be a string to a function path from the global scope
youtubeObject.addEventListener( "onStateChange", "onYouTubePlayerReady.stateChangeEventHandler." + container.id );

youtubeObject.addEventListener( "onError", "onYouTubePlayerReady.onErrorEventHandler." + container.id );

var timeupdate = function() {

if ( !media.paused ) {
Expand Down
12 changes: 12 additions & 0 deletions players/youtube/popcorn.youtube.unit.js
Expand Up @@ -435,3 +435,15 @@ test( "Player height and width", function() {
readyStatePoll();
});

test( "Player Errors", function() {
QUnit.reset();
expect( 1 );
stop();
var pop = Popcorn.youtube( "#video4", "http://www.youtube.com/watch?v=abcdefghijk" );

pop.listen( "error", function() {
ok( true, "error trigger by invalid URL" );
start();
});
});

0 comments on commit 0e08e7b

Please sign in to comment.