1009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen/* 2009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * Copyright (C) 2012 The Android Open Source Project 3009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * 4009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * Licensed under the Apache License, Version 2.0 (the "License"); 5009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * you may not use this file except in compliance with the License. 6009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * You may obtain a copy of the License at 7009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * 8009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * http://www.apache.org/licenses/LICENSE-2.0 9009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * 10009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * Unless required by applicable law or agreed to in writing, software 11009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * distributed under the License is distributed on an "AS IS" BASIS, 12009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * See the License for the specific language governing permissions and 14009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * limitations under the License. 15009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen */ 16009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 17009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenpackage com.android.webview.chromium; 18009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 19009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport android.webkit.GeolocationPermissions; 20009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport android.webkit.ValueCallback; 21009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 22009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport org.chromium.android_webview.AwGeolocationPermissions; 23009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 24009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport java.util.Set; 25009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 26aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon/** 27aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon * Chromium implementation of GeolocationPermissions -- forwards calls to the 28aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon * chromium internal implementation. 29aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon */ 30aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixonfinal class GeolocationPermissionsAdapter extends GeolocationPermissions { 31009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 32009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen private AwGeolocationPermissions mChromeGeolocationPermissions; 33009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 34009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen public GeolocationPermissionsAdapter(AwGeolocationPermissions chromeGeolocationPermissions) { 35009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen mChromeGeolocationPermissions = chromeGeolocationPermissions; 36009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen } 37009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 38aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon @Override 39009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen public void allow(String origin) { 40009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen mChromeGeolocationPermissions.allow(origin); 41009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen } 42009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 43aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon @Override 44009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen public void clear(String origin) { 45009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen mChromeGeolocationPermissions.clear(origin); 46009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen } 47009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 48aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon @Override 49009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen public void clearAll() { 50009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen mChromeGeolocationPermissions.clearAll(); 51009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen } 52009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 53aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon @Override 54009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen public void getAllowed(String origin, ValueCallback<Boolean> callback) { 55009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen mChromeGeolocationPermissions.getAllowed(origin, callback); 56009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen } 57009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen 58aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon @Override 59009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen public void getOrigins(ValueCallback<Set<String>> callback) { 60009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen mChromeGeolocationPermissions.getOrigins(callback); 61009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen } 62009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen} 63