summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2014-06-20 17:27:56 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-06-20 03:04:09 +0000
commitbedf4e4bc5d190729c1ee70e234a6c5cd2414df2 (patch)
tree24c35bbc44794025fe10c13e4792c2fb9f8bf78d
parentc3d558b55a255f032811635801003e342cc56597 (diff)
parentd9cda1802d6209d4b76f3a57f2b0b663e5457837 (diff)
downloadwebview-l-preview.tar.gz
Merge "Merge up to 6904764 from chromium-dev."l-preview
-rw-r--r--chromium/java/com/android/webview/chromium/WebViewChromium.java79
1 files changed, 44 insertions, 35 deletions
diff --git a/chromium/java/com/android/webview/chromium/WebViewChromium.java b/chromium/java/com/android/webview/chromium/WebViewChromium.java
index 954d48e..259ade8 100644
--- a/chromium/java/com/android/webview/chromium/WebViewChromium.java
+++ b/chromium/java/com/android/webview/chromium/WebViewChromium.java
@@ -250,7 +250,8 @@ class WebViewChromium implements WebViewProvider,
private void initForReal() {
mAwContents = new AwContents(mFactory.getBrowserContext(), mWebView, mWebView.getContext(),
- new InternalAccessAdapter(), mContentsClientAdapter, mWebSettings.getAwSettings());
+ new InternalAccessAdapter(), new WebViewNativeGLDelegate(),
+ mContentsClientAdapter, mWebSettings.getAwSettings());
if (mAppTargetSdkVersion >= Build.VERSION_CODES.KITKAT) {
// On KK and above, favicons are automatically downloaded as the method
@@ -1704,9 +1705,6 @@ class WebViewChromium implements WebViewProvider,
}
mAwContents.onDetachedFromWindow();
- if (mGLfunctor != null) {
- mGLfunctor.detach();
- }
}
@Override
@@ -1930,6 +1928,12 @@ class WebViewChromium implements WebViewProvider,
// we won't need it again.
}
+ @Override
+ public PrintDocumentAdapter createPrintDocumentAdapter() {
+ checkThread();
+ return new AwPrintDocumentAdapter(mAwContents.getPdfExporter());
+ }
+
// WebViewProvider.ScrollDelegate implementation ----------------------------------------------
@Override
@@ -2022,10 +2026,42 @@ class WebViewChromium implements WebViewProvider,
mAwContents.computeScroll();
}
- @Override
- public PrintDocumentAdapter createPrintDocumentAdapter() {
- checkThread();
- return new AwPrintDocumentAdapter(mAwContents.getPdfExporter());
+ // AwContents.NativeGLDelegate implementation --------------------------------------
+ private class WebViewNativeGLDelegate implements AwContents.NativeGLDelegate {
+ public boolean requestDrawGL(Canvas canvas) {
+ return requestDrawGL(canvas, false, mWebView);
+ }
+
+ // @Override
+ public boolean requestDrawGL(Canvas canvas, boolean waitForCompletion,
+ View containerView) {
+ if (mGLfunctor == null) {
+ mGLfunctor = new DrawGLFunctor(mAwContents.getAwDrawGLViewContext());
+ }
+ boolean result = mGLfunctor.requestDrawGL((HardwareCanvas)canvas,
+ containerView.getViewRootImpl());
+ if (result && waitForCompletion) {
+ Runnable r = new Runnable() {
+ @Override
+ public void run() {
+ }
+ };
+ result = containerView.executeHardwareAction(r);
+ }
+ return result;
+ }
+
+ // @Override
+ public boolean executeHardwareAction(Runnable action) {
+ return mWebView.executeHardwareAction(action);
+ }
+
+ @Override
+ public void detachGLFunctor() {
+ if (mGLfunctor != null) {
+ mGLfunctor.detach();
+ }
+ }
}
// AwContents.InternalAccessDelegate implementation --------------------------------------
@@ -2108,32 +2144,5 @@ class WebViewChromium implements WebViewProvider,
public void setMeasuredDimension(int measuredWidth, int measuredHeight) {
mWebViewPrivate.setMeasuredDimension(measuredWidth, measuredHeight);
}
-
- public boolean requestDrawGL(Canvas canvas) {
- return requestDrawGL(canvas, false);
- }
-
- // @Override
- public boolean requestDrawGL(Canvas canvas, boolean waitForCompletion) {
- if (mGLfunctor == null) {
- mGLfunctor = new DrawGLFunctor(mAwContents.getAwDrawGLViewContext());
- }
- boolean result = mGLfunctor.requestDrawGL((HardwareCanvas)canvas,
- mWebView.getViewRootImpl());
- if (result && waitForCompletion) {
- Runnable r = new Runnable() {
- @Override
- public void run() {
- }
- };
- result = mWebView.executeHardwareAction(r);
- }
- return result;
- }
-
- // @Override
- public boolean executeHardwareAction(Runnable action) {
- return mWebView.executeHardwareAction(action);
- }
}
}