Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1638)

Unified Diff: android_webview/java/src/org/chromium/android_webview/AwContents.java

Issue 2263043002: android_webview: Let AwContents manage TouchHandleDrawable (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: create drawable from Java Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/java/src/org/chromium/android_webview/AwContents.java
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index a3dbd95e3576653464aabdc50a83f32b418d5df6..d823259860fc3daa1592aa060a4cea7d1fec077a 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -81,7 +81,9 @@ import java.io.File;
import java.lang.annotation.Annotation;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
@@ -288,6 +290,8 @@ public class AwContents implements SmartClipProvider,
private final AwSettings mSettings;
private final ScrollAccessibilityHelper mScrollAccessibilityHelper;
+ private final List<PopupTouchHandleDrawable> mTouchHandleDrawables = new ArrayList<>();
+
private boolean mIsPaused;
private boolean mIsViewVisible;
private boolean mIsWindowVisible;
@@ -934,6 +938,9 @@ public class AwContents implements SmartClipProvider,
mAwPdfExporter.setContainerView(mContainerView);
}
mWebContentsDelegate.setContainerView(mContainerView);
+ for (PopupTouchHandleDrawable drawable: mTouchHandleDrawables) {
+ drawable.onContainerViewChanged(newContainerView);
+ }
onContainerViewChanged();
}
@@ -1177,6 +1184,7 @@ public class AwContents implements SmartClipProvider,
onDetachedFromWindow();
}
mIsDestroyed = true;
+ mTouchHandleDrawables.clear();
mHandler.post(new Runnable() {
@Override
public void run() {
@@ -2681,6 +2689,14 @@ public class AwContents implements SmartClipProvider,
mFavicon = bitmap;
}
+ @CalledByNative
+ private long onCreateTouchHandle() {
+ PopupTouchHandleDrawable drawable =
+ new PopupTouchHandleDrawable(mContentViewCore, mDIPScale);
+ mTouchHandleDrawables.add(drawable);
+ return drawable.getNativeDrawable();
+ }
+
/** Callback for generateMHTML. */
@CalledByNative
private static void generateMHTMLCallback(

Powered by Google App Engine
This is Rietveld 408576698