diff options
author | Chris Craik <ccraik@google.com> | 2011-11-30 10:50:43 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-11-30 10:50:43 -0800 |
commit | ed5d84ae70b5ff966ed7a934d5658f6648088d30 (patch) | |
tree | ccdbc1b22881ea9f7347cf29e24598faeaa6403d /Source/WebKit/android/nav/WebView.cpp | |
parent | c75d89bc16f0cf638347ee3348f782b8309d8be3 (diff) | |
parent | 807ee5ec662a7864dee505040ade9a9b3eab143c (diff) | |
download | external_webkit-ed5d84ae70b5ff966ed7a934d5658f6648088d30.zip external_webkit-ed5d84ae70b5ff966ed7a934d5658f6648088d30.tar.gz external_webkit-ed5d84ae70b5ff966ed7a934d5658f6648088d30.tar.bz2 |
am 807ee5ec: Merge "synchronize animation starts with webkit" into ics-mr1
* commit '807ee5ec662a7864dee505040ade9a9b3eab143c':
synchronize animation starts with webkit
Diffstat (limited to 'Source/WebKit/android/nav/WebView.cpp')
-rw-r--r-- | Source/WebKit/android/nav/WebView.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index 2de9ac6..544e284 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -169,7 +169,7 @@ WebView(JNIEnv* env, jobject javaWebView, int viewImpl, WTF::String drawableDir, m_javaGlue.m_viewInvalidateRect = GetJMethod(env, clazz, "viewInvalidate", "(IIII)V"); m_javaGlue.m_postInvalidateDelayed = GetJMethod(env, clazz, "viewInvalidateDelayed", "(JIIII)V"); - m_javaGlue.m_pageSwapCallback = GetJMethod(env, clazz, "pageSwapCallback", "()V"); + m_javaGlue.m_pageSwapCallback = GetJMethod(env, clazz, "pageSwapCallback", "(Z)V"); m_javaGlue.m_inFullScreenMode = GetJMethod(env, clazz, "inFullScreenMode", "()Z"); m_javaGlue.m_getTextHandleScale = GetJMethod(env, clazz, "getTextHandleScale", "()F"); env->DeleteLocalRef(clazz); @@ -502,17 +502,18 @@ bool drawGL(WebCore::IntRect& viewRect, WebCore::IntRect* invalRect, // once the correct scale is set if (!m_visibleRect.hasValidCoordinates()) return false; - bool pagesSwapped = false; + bool treesSwapped = false; + bool newTreeHasAnim = false; bool ret = m_glWebViewState->drawGL(viewRect, m_visibleRect, invalRect, webViewRect, titleBarHeight, clip, scale, - &pagesSwapped); - if (m_pageSwapCallbackRegistered && pagesSwapped) { + &treesSwapped, &newTreeHasAnim); + if (treesSwapped && (m_pageSwapCallbackRegistered || newTreeHasAnim)) { m_pageSwapCallbackRegistered = false; LOG_ASSERT(m_javaGlue.m_obj, "A java object was not associated with this native WebView!"); JNIEnv* env = JSC::Bindings::getJNIEnv(); AutoJObject javaObject = m_javaGlue.object(env); if (javaObject.get()) { - env->CallVoidMethod(javaObject.get(), m_javaGlue.m_pageSwapCallback); + env->CallVoidMethod(javaObject.get(), m_javaGlue.m_pageSwapCallback, newTreeHasAnim); checkException(env); } } |