| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |