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

Side by Side Diff: android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java

Issue 1066053002: [Android] Allow custom ActionMode creation via ContentViewClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix null check Created 5 years, 8 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 unified diff | Download patch
« no previous file with comments | « no previous file | android_webview/java/src/org/chromium/android_webview/AwContentViewClient.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package com.android.webview.chromium; 5 package com.android.webview.chromium;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.graphics.Bitmap; 8 import android.graphics.Bitmap;
9 import android.graphics.BitmapFactory; 9 import android.graphics.BitmapFactory;
10 import android.graphics.Canvas; 10 import android.graphics.Canvas;
11 import android.graphics.Color; 11 import android.graphics.Color;
12 import android.graphics.Picture; 12 import android.graphics.Picture;
13 import android.net.Uri; 13 import android.net.Uri;
14 import android.net.http.SslError; 14 import android.net.http.SslError;
15 import android.os.Build; 15 import android.os.Build;
16 import android.os.Handler; 16 import android.os.Handler;
17 import android.os.Message; 17 import android.os.Message;
18 import android.util.Log; 18 import android.util.Log;
19 import android.view.ActionMode;
19 import android.view.KeyEvent; 20 import android.view.KeyEvent;
20 import android.view.View; 21 import android.view.View;
21 import android.webkit.ClientCertRequest; 22 import android.webkit.ClientCertRequest;
22 import android.webkit.ConsoleMessage; 23 import android.webkit.ConsoleMessage;
23 import android.webkit.DownloadListener; 24 import android.webkit.DownloadListener;
24 import android.webkit.GeolocationPermissions; 25 import android.webkit.GeolocationPermissions;
25 import android.webkit.JsDialogHelper; 26 import android.webkit.JsDialogHelper;
26 import android.webkit.JsPromptResult; 27 import android.webkit.JsPromptResult;
27 import android.webkit.JsResult; 28 import android.webkit.JsResult;
28 import android.webkit.PermissionRequest; 29 import android.webkit.PermissionRequest;
(...skipping 14 matching lines...) Expand all
43 import org.chromium.android_webview.AwWebResourceResponse; 44 import org.chromium.android_webview.AwWebResourceResponse;
44 import org.chromium.android_webview.JsPromptResultReceiver; 45 import org.chromium.android_webview.JsPromptResultReceiver;
45 import org.chromium.android_webview.JsResultReceiver; 46 import org.chromium.android_webview.JsResultReceiver;
46 import org.chromium.android_webview.permission.AwPermissionRequest; 47 import org.chromium.android_webview.permission.AwPermissionRequest;
47 import org.chromium.base.ThreadUtils; 48 import org.chromium.base.ThreadUtils;
48 import org.chromium.base.TraceEvent; 49 import org.chromium.base.TraceEvent;
49 import org.chromium.base.annotations.SuppressFBWarnings; 50 import org.chromium.base.annotations.SuppressFBWarnings;
50 import org.chromium.content.browser.ContentView; 51 import org.chromium.content.browser.ContentView;
51 import org.chromium.content.browser.ContentViewClient; 52 import org.chromium.content.browser.ContentViewClient;
52 import org.chromium.content.browser.ContentViewCore; 53 import org.chromium.content.browser.ContentViewCore;
54 import org.chromium.content.browser.SelectActionMode;
55 import org.chromium.content.browser.SelectActionModeCallback;
56 import org.chromium.content.browser.SelectActionModeCallback.ActionHandler;
53 57
54 import java.lang.ref.WeakReference; 58 import java.lang.ref.WeakReference;
55 import java.security.Principal; 59 import java.security.Principal;
56 import java.security.PrivateKey; 60 import java.security.PrivateKey;
57 import java.security.cert.X509Certificate; 61 import java.security.cert.X509Certificate;
58 import java.util.ArrayList; 62 import java.util.ArrayList;
59 import java.util.HashMap; 63 import java.util.HashMap;
60 import java.util.Map; 64 import java.util.Map;
61 import java.util.WeakHashMap; 65 import java.util.WeakHashMap;
62 66
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 try { 376 try {
373 TraceEvent.begin("WebViewContentsClientAdapter.onNewPicture"); 377 TraceEvent.begin("WebViewContentsClientAdapter.onNewPicture");
374 if (mPictureListener == null) return; 378 if (mPictureListener == null) return;
375 if (TRACE) Log.d(TAG, "onNewPicture"); 379 if (TRACE) Log.d(TAG, "onNewPicture");
376 mPictureListener.onNewPicture(mWebView, picture); 380 mPictureListener.onNewPicture(mWebView, picture);
377 } finally { 381 } finally {
378 TraceEvent.end("WebViewContentsClientAdapter.onNewPicture"); 382 TraceEvent.end("WebViewContentsClientAdapter.onNewPicture");
379 } 383 }
380 } 384 }
381 385
386 /**
387 * @See AwContentsClient#startActionMode(View,ActionHandler,boolean)
388 */
389 @Override
390 public SelectActionMode startActionMode(
391 View view, ActionHandler actionHandler, boolean floating) {
392 try {
393 TraceEvent.begin("WebViewContentsClientAdapter.startActionMode");
394 if (TRACE) Log.d(TAG, "startActionMode");
395 if (floating) return null;
396 ActionMode.Callback callback =
397 new SelectActionModeCallback(view.getContext(), actionHandle r);
398 ActionMode actionMode = view.startActionMode(callback);
399 return actionMode != null ? new SelectActionMode(actionMode) : null;
400 } finally {
401 TraceEvent.end("WebViewContentsClientAdapter.startActionMode");
402 }
403 }
404
405 /**
406 * @See AwContentsClient#supportsFloatingActionMode()
407 */
408 @Override
409 public boolean supportsFloatingActionMode() {
410 return false;
411 }
412
382 @Override 413 @Override
383 public void onLoadResource(String url) { 414 public void onLoadResource(String url) {
384 try { 415 try {
385 TraceEvent.begin("WebViewContentsClientAdapter.onLoadResource"); 416 TraceEvent.begin("WebViewContentsClientAdapter.onLoadResource");
386 if (TRACE) Log.d(TAG, "onLoadResource=" + url); 417 if (TRACE) Log.d(TAG, "onLoadResource=" + url);
387 mWebViewClient.onLoadResource(mWebView, url); 418 mWebViewClient.onLoadResource(mWebView, url);
388 } finally { 419 } finally {
389 TraceEvent.end("WebViewContentsClientAdapter.onLoadResource"); 420 TraceEvent.end("WebViewContentsClientAdapter.onLoadResource");
390 } 421 }
391 } 422 }
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after
1254 mAwPermissionRequest.deny(); 1285 mAwPermissionRequest.deny();
1255 } 1286 }
1256 } 1287 }
1257 1288
1258 @Override 1289 @Override
1259 public void deny() { 1290 public void deny() {
1260 mAwPermissionRequest.deny(); 1291 mAwPermissionRequest.deny();
1261 } 1292 }
1262 } 1293 }
1263 } 1294 }
OLDNEW
« no previous file with comments | « no previous file | android_webview/java/src/org/chromium/android_webview/AwContentViewClient.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698