diff options
Diffstat (limited to 'WebKit/android/nav')
-rw-r--r-- | WebKit/android/nav/WebView.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/WebKit/android/nav/WebView.cpp b/WebKit/android/nav/WebView.cpp index 16ec826..9eff795 100644 --- a/WebKit/android/nav/WebView.cpp +++ b/WebKit/android/nav/WebView.cpp @@ -123,6 +123,7 @@ struct JavaGlue { jmethodID m_viewInvalidate; jmethodID m_viewInvalidateRect; jmethodID m_postInvalidateDelayed; + jmethodID m_inFullScreenMode; jfieldID m_rectLeft; jfieldID m_rectTop; jmethodID m_rectWidth; @@ -158,6 +159,7 @@ WebView(JNIEnv* env, jobject javaWebView, int viewImpl) : m_javaGlue.m_viewInvalidateRect = GetJMethod(env, clazz, "viewInvalidate", "(IIII)V"); m_javaGlue.m_postInvalidateDelayed = GetJMethod(env, clazz, "viewInvalidateDelayed", "(JIIII)V"); + m_javaGlue.m_inFullScreenMode = GetJMethod(env, clazz, "inFullScreenMode", "()Z"); env->DeleteLocalRef(clazz); jclass rectClass = env->FindClass("android/graphics/Rect"); @@ -422,7 +424,7 @@ void drawCursorPostamble() bool drawGL(WebCore::IntRect& viewRect, float scale, int extras) { #if USE(ACCELERATED_COMPOSITING) - if (!m_baseLayer) + if (!m_baseLayer || inFullScreenMode()) return false; if (!m_glWebViewState) { @@ -1331,6 +1333,15 @@ void postInvalidateDelayed(int64_t delay, const WebCore::IntRect& bounds) checkException(env); } +bool inFullScreenMode() +{ + JNIEnv* env = JSC::Bindings::getJNIEnv(); + jboolean result = env->CallBooleanMethod(m_javaGlue.object(env).get(), + m_javaGlue.m_inFullScreenMode); + checkException(env); + return result; +} + int moveGeneration() { return m_viewImpl->m_moveGeneration; |