| Index: android_webview/java/src/org/chromium/android_webview/AwWebContentsViewDelegate.java
|
| diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsViewDelegate.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsViewDelegate.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3edfe6b75f1e0b4cb1b1e4bd58b2bd6706edc192
|
| --- /dev/null
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsViewDelegate.java
|
| @@ -0,0 +1,37 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.android_webview;
|
| +
|
| +import android.view.ViewGroup;
|
| +
|
| +import org.chromium.base.CalledByNative;
|
| +import org.chromium.base.JNINamespace;
|
| +
|
| +import java.lang.ref.WeakReference;
|
| +
|
| +/**
|
| + * Java counter-part of AwWebContentsViewDelegate.
|
| + * Native object is owned by WebContents. Java object is owned by native one.
|
| + */
|
| +@JNINamespace("android_webview")
|
| +public class AwWebContentsViewDelegate {
|
| + // WeakReference so that we do not prevent GC of the view which triggers
|
| + // destruction of whole AwContents object tree.
|
| + private WeakReference<ViewGroup> mContainerView;
|
| +
|
| + // Package private. Called by AwContents.
|
| + AwWebContentsViewDelegate(ViewGroup containerView) {
|
| + mContainerView = new WeakReference<ViewGroup>(containerView);
|
| + }
|
| +
|
| + @CalledByNative
|
| + private void onShowContextMenu() {
|
| + // Context menu callback in Chromium is triggered by WebKit on an
|
| + // unhandled GestureLongPress event. Convert the context menu callback
|
| + // back into a long click event for Android WebView since the view
|
| + // system may choose to handle the gesture.
|
| + mContainerView.get().performLongClick();
|
| + }
|
| +}
|
|
|