| 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 27038d6798e536d1ea791b897a76ef8b924ee27e..17683d4cb34231214b32bff401fe968336fd715a 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
|
| @@ -21,6 +21,7 @@ import android.util.Log;
|
| import android.view.MotionEvent;
|
| import android.view.View;
|
| import android.view.ViewGroup;
|
| +import android.webkit.GeolocationPermissions;
|
| import android.webkit.ValueCallback;
|
|
|
| import org.chromium.base.CalledByNative;
|
| @@ -33,6 +34,7 @@ import org.chromium.content.browser.NavigationHistory;
|
| import org.chromium.content.browser.PageTransitionTypes;
|
| import org.chromium.content.common.CleanupReference;
|
| import org.chromium.content.components.navigation_interception.InterceptNavigationDelegate;
|
| +import org.chromium.net.GURLUtils;
|
| import org.chromium.net.X509Util;
|
| import org.chromium.ui.gfx.NativeWindow;
|
|
|
| @@ -831,6 +833,35 @@ public class AwContents {
|
| mContentsClient.onReceivedHttpAuthRequest(handler, host, realm);
|
| }
|
|
|
| + private static class ChromiumGeolocationCallback implements GeolocationPermissions.Callback {
|
| + final int mRenderProcessId;
|
| + final int mRenderViewId;
|
| + final int mBridgeId;
|
| + final String mRequestingFrame;
|
| +
|
| + private ChromiumGeolocationCallback(int renderProcessId, int renderViewId, int bridgeId,
|
| + String requestingFrame) {
|
| + mRenderProcessId = renderProcessId;
|
| + mRenderViewId = renderViewId;
|
| + mBridgeId = bridgeId;
|
| + mRequestingFrame = requestingFrame;
|
| + }
|
| +
|
| + @Override
|
| + public void invoke(String origin, boolean allow, boolean retain) {
|
| + // TODO(kristianm): Implement callback handling
|
| + }
|
| + }
|
| +
|
| + @CalledByNative
|
| + private void onGeolocationPermissionsShowPrompt(int renderProcessId, int renderViewId,
|
| + int bridgeId, String requestingFrame) {
|
| + // TODO(kristianm): Check with GeolocationPermissions if origin already has a policy set
|
| + mContentsClient.onGeolocationPermissionsShowPrompt(GURLUtils.getOrigin(requestingFrame),
|
| + new ChromiumGeolocationCallback(renderProcessId, renderViewId, bridgeId,
|
| + requestingFrame));
|
| + }
|
| +
|
| @CalledByNative
|
| public void onFindResultReceived(int activeMatchOrdinal, int numberOfMatches,
|
| boolean isDoneCounting) {
|
|
|