summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/nav/WebView.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-03-20 10:01:59 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-03-20 10:01:59 -0700
commit92f133bc695b6812d789c6e71feab3b6a8557ad1 (patch)
tree9e567e7775afd37d3d214ee78f44ff46720480d6 /Source/WebKit/android/nav/WebView.cpp
parent696cf3d1df6a07f13757e175b190aae7dc2d405c (diff)
parenta144ac64329978c258faadf3bc484cf4ae6c5d0d (diff)
downloadexternal_webkit-92f133bc695b6812d789c6e71feab3b6a8557ad1.zip
external_webkit-92f133bc695b6812d789c6e71feab3b6a8557ad1.tar.gz
external_webkit-92f133bc695b6812d789c6e71feab3b6a8557ad1.tar.bz2
Merge "Canvas on a texture"
Diffstat (limited to 'Source/WebKit/android/nav/WebView.cpp')
-rw-r--r--Source/WebKit/android/nav/WebView.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp
index eddf0ab..0b2eaf6 100644
--- a/Source/WebKit/android/nav/WebView.cpp
+++ b/Source/WebKit/android/nav/WebView.cpp
@@ -633,6 +633,17 @@ void mapLayerRect(int layerId, SkIRect& rect) {
}
}
+// This is called when WebView switches rendering modes in a more permanent fashion
+// such as when the layer type is set or the view is attached/detached from the window
+int setHwAccelerated(bool hwAccelerated) {
+ if (!m_glWebViewState)
+ return 0;
+ LayerAndroid* root = compositeRoot();
+ if (root)
+ return root->setHwAccelerated(hwAccelerated);
+ return 0;
+}
+
bool m_isDrawingPaused;
private: // local state for WebView
// private to getFrameCache(); other functions operate in a different thread
@@ -1176,6 +1187,13 @@ static void nativeMapLayerRect(JNIEnv *env, jobject obj, jint nativeView,
GraphicsJNI::irect_to_jrect(nativeRect, env, rect);
}
+static jint nativeSetHwAccelerated(JNIEnv *env, jobject obj, jint nativeView,
+ jboolean hwAccelerated)
+{
+ WebView* webview = reinterpret_cast<WebView*>(nativeView);
+ return webview->setHwAccelerated(hwAccelerated);
+}
+
/*
* JNI registration
*/
@@ -1254,6 +1272,8 @@ static JNINativeMethod gJavaWebViewMethods[] = {
(void*) nativeIsBaseFirst },
{ "nativeMapLayerRect", "(IILandroid/graphics/Rect;)V",
(void*) nativeMapLayerRect },
+ { "nativeSetHwAccelerated", "(IZ)I",
+ (void*) nativeSetHwAccelerated },
};
int registerWebView(JNIEnv* env)