diff options
| author | Tao Bai <michaelbai@google.com> | 2014-05-14 18:08:21 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-05-14 18:08:21 +0000 |
| commit | 440030f0992eec8da2b717566ad4895d9621041c (patch) | |
| tree | 6f211186400b35757a2d3f2665982257207915bc /src/com/android/browser/Tab.java | |
| parent | f6b6a1c69074801f8f4429cb22bc389e63f27de9 (diff) | |
| parent | e1b6b3b2f9c0dbf201234162101023770835df9e (diff) | |
| download | packages_apps_Browser-440030f0992eec8da2b717566ad4895d9621041c.tar.gz packages_apps_Browser-440030f0992eec8da2b717566ad4895d9621041c.tar.bz2 packages_apps_Browser-440030f0992eec8da2b717566ad4895d9621041c.zip | |
Merge "Use general permission API."
Diffstat (limited to 'src/com/android/browser/Tab.java')
| -rw-r--r-- | src/com/android/browser/Tab.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java index ed20e6708..668786c54 100644 --- a/src/com/android/browser/Tab.java +++ b/src/com/android/browser/Tab.java @@ -50,7 +50,9 @@ import android.webkit.BrowserDownloadListener; import android.webkit.ClientCertRequest; import android.webkit.ConsoleMessage; import android.webkit.GeolocationPermissions; +import android.webkit.GeolocationPermissions.Callback; import android.webkit.HttpAuthHandler; +import android.webkit.PermissionRequest; import android.webkit.SslErrorHandler; import android.webkit.URLUtil; import android.webkit.ValueCallback; @@ -135,6 +137,8 @@ class Tab implements PictureListener { // The Geolocation permissions prompt private GeolocationPermissionsPrompt mGeolocationPermissionsPrompt; + // The permissions prompt + private PermissionsPrompt mPermissionsPrompt; // Main WebView wrapper private View mContainer; // Main WebView @@ -912,6 +916,19 @@ class Tab implements PictureListener { } } + @Override + public void onPermissionRequest(PermissionRequest request) { + if (!mInForeground) return; + getPermissionsPrompt().show(request); + } + + @Override + public void onPermissionRequestCanceled(PermissionRequest request) { + if (mInForeground && mPermissionsPrompt != null) { + mPermissionsPrompt.hide(); + } + } + /* Adds a JavaScript error message to the system log and if the JS * console is enabled in the about:debug options, to that console * also. @@ -1232,6 +1249,10 @@ class Tab implements PictureListener { mGeolocationPermissionsPrompt.hide(); } + if (mPermissionsPrompt != null) { + mPermissionsPrompt.hide(); + } + mWebViewController.onSetWebView(this, w); if (mMainView != null) { @@ -1539,6 +1560,18 @@ class Tab implements PictureListener { } /** + * @return The permissions prompt for this tab. + */ + PermissionsPrompt getPermissionsPrompt() { + if (mPermissionsPrompt == null) { + ViewStub stub = (ViewStub) mContainer + .findViewById(R.id.permissions_prompt); + mPermissionsPrompt = (PermissionsPrompt) stub.inflate(); + } + return mPermissionsPrompt; + } + + /** * @return The application id string */ String getAppId() { |
