summaryrefslogtreecommitdiffstats
path: root/WebKit/android
diff options
context:
space:
mode:
authorAndrei Popescu <andreip@google.com>2010-01-12 08:17:31 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-01-12 08:17:31 -0800
commitc4c0128707c7c8818db4a0922fdd8a05d0ca55e6 (patch)
treec853c84d954a73e2457277964b10121ab48f07b2 /WebKit/android
parent5614dd47c1ca7363ffdea0df59310fb1a68c35fb (diff)
parente83d054d07e84938705c758f55ef5ac701b3acce (diff)
downloadexternal_webkit-c4c0128707c7c8818db4a0922fdd8a05d0ca55e6.zip
external_webkit-c4c0128707c7c8818db4a0922fdd8a05d0ca55e6.tar.gz
external_webkit-c4c0128707c7c8818db4a0922fdd8a05d0ca55e6.tar.bz2
Merge "Implement timeupdate events for video tag."
Diffstat (limited to 'WebKit/android')
-rw-r--r--WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp b/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp
index 00e973e..1bb8802 100644
--- a/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/MediaPlayerPrivateAndroid.cpp
@@ -121,7 +121,7 @@ bool MediaPlayerPrivate::hasAudio() const
bool MediaPlayerPrivate::hasVideo() const
{
- return false;
+ return m_hasVideo;
}
void MediaPlayerPrivate::setVisible(bool visible)
@@ -282,6 +282,7 @@ MediaPlayerPrivate::MediaPlayerPrivate(MediaPlayer* player)
m_duration(6000),
m_currentTime(0),
m_paused(true),
+ m_hasVideo(false),
m_readyState(MediaPlayer::HaveNothing),
m_networkState(MediaPlayer::Empty),
m_poster(0),
@@ -352,6 +353,7 @@ void MediaPlayerPrivate::onPrepared(int duration, int width, int height) {
m_duration = duration / 1000.0f;
m_naturalSize = IntSize(width, height);
m_naturalSizeUnknown = false;
+ m_hasVideo = true;
m_player->durationChanged();
m_player->sizeChanged();
}
@@ -361,6 +363,7 @@ void MediaPlayerPrivate::onEnded() {
m_player->timeChanged();
m_paused = true;
m_currentTime = 0;
+ m_hasVideo = false;
m_networkState = MediaPlayer::Idle;
m_readyState = MediaPlayer::HaveNothing;
}
@@ -379,6 +382,11 @@ void MediaPlayerPrivate::onPosterFetched(SkBitmap* poster) {
}
}
+void MediaPlayerPrivate::onTimeupdate(int position) {
+ m_currentTime = position / 1000.0f;
+ m_player->timeChanged();
+}
+
}
namespace android {
@@ -408,6 +416,13 @@ static void OnPosterFetched(JNIEnv* env, jobject obj, jobject poster, int pointe
player->onPosterFetched(posterNative);
}
+static void OnTimeupdate(JNIEnv* env, jobject obj, int position, int pointer) {
+ if (pointer) {
+ WebCore::MediaPlayerPrivate* player = reinterpret_cast<WebCore::MediaPlayerPrivate*>(pointer);
+ player->onTimeupdate(position);
+ }
+}
+
/*
* JNI registration
*/
@@ -418,6 +433,8 @@ static JNINativeMethod g_MediaPlayerMethods[] = {
(void*) OnEnded },
{ "nativeOnPosterFetched", "(Landroid/graphics/Bitmap;I)V",
(void*) OnPosterFetched },
+ { "nativeOnTimeupdate", "(II)V",
+ (void*) OnTimeupdate },
};
int register_mediaplayer(JNIEnv* env)