From d2f17235d964fe960fba986c0288ebec8b793df5 Mon Sep 17 00:00:00 2001 From: Alexander Kryklia Date: Thu, 13 Feb 2014 12:49:53 +0200 Subject: [PATCH] Fix for saving video in studio when saving position. BLD-834 --- .../xmodule/js/spec/video/initialize_spec.js | 14 ++++++++++++++ .../xmodule/xmodule/js/src/video/01_initialize.js | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/common/lib/xmodule/xmodule/js/spec/video/initialize_spec.js b/common/lib/xmodule/xmodule/js/spec/video/initialize_spec.js index 75c1247061..6177d4303c 100644 --- a/common/lib/xmodule/xmodule/js/spec/video/initialize_spec.js +++ b/common/lib/xmodule/xmodule/js/spec/video/initialize_spec.js @@ -110,6 +110,20 @@ function (Initialize) { }); }); + it('data contains position 0, async is true', function () { + itSpec({ + asyncVal: true, + speedVal: undefined, + positionVal: 0, + data: { + saved_video_position: 0 + }, + ajaxData: { + saved_video_position: Time.formatFull(Math.round(0)) + } + }); + }); + return; function itSpec(value) { diff --git a/common/lib/xmodule/xmodule/js/src/video/01_initialize.js b/common/lib/xmodule/xmodule/js/src/video/01_initialize.js index 9b4e6be7bf..8ab4e0b785 100644 --- a/common/lib/xmodule/xmodule/js/src/video/01_initialize.js +++ b/common/lib/xmodule/xmodule/js/src/video/01_initialize.js @@ -674,6 +674,7 @@ function (VideoPlayer, VideoStorage) { } function saveState(async, data) { + if (!($.isPlainObject(data))) { data = { saved_video_position: this.videoPlayer.currentTime @@ -684,7 +685,7 @@ function (VideoPlayer, VideoStorage) { this.storage.setItem('speed', data.speed, true); } - if (data.saved_video_position) { + if (data.hasOwnProperty('saved_video_position')) { this.storage.setItem('savedVideoPosition', data.saved_video_position, true); data.saved_video_position = Time.formatFull(data.saved_video_position);