summaryrefslogtreecommitdiffstats
path: root/WebKit/android
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/android')
-rw-r--r--WebKit/android/nav/WebView.cpp13
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;