Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(437)

Unified Diff: chrome/browser/permissions/permission_dialog_delegate.cc

Issue 2496473003: Allow modal permission prompts on Android to request system permissions. (Closed)
Patch Set: -enum Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/java_sources.gni ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/permissions/permission_dialog_delegate.cc
diff --git a/chrome/browser/permissions/permission_dialog_delegate.cc b/chrome/browser/permissions/permission_dialog_delegate.cc
index 091d7d2ae379ee5fe49852ef5dbc7ff73e20176f..33e510f33e4f5cedc113a914001adaf702e6b22d 100644
--- a/chrome/browser/permissions/permission_dialog_delegate.cc
+++ b/chrome/browser/permissions/permission_dialog_delegate.cc
@@ -7,10 +7,12 @@
#include <utility>
#include "base/android/jni_android.h"
+#include "base/android/jni_array.h"
#include "base/android/jni_string.h"
#include "base/feature_list.h"
#include "build/build_config.h"
#include "chrome/browser/android/resource_mapper.h"
+#include "chrome/browser/android/tab_android.h"
#include "chrome/browser/geolocation/geolocation_infobar_delegate_android.h"
#include "chrome/browser/media/midi_permission_infobar_delegate_android.h"
#include "chrome/browser/media/protected_media_identifier_infobar_delegate_android.h"
@@ -20,7 +22,6 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_features.h"
#include "components/variations/variations_associated_data.h"
-#include "content/public/browser/android/content_view_core.h"
#include "content/public/browser/web_contents.h"
#include "jni/PermissionDialogController_jni.h"
#include "jni/PermissionDialogDelegate_jni.h"
@@ -88,13 +89,15 @@ bool PermissionDialogDelegate::RegisterPermissionDialogDelegate(JNIEnv* env) {
ScopedJavaLocalRef<jobject> PermissionDialogDelegate::CreateJavaDelegate(
JNIEnv* env) {
- content::ContentViewCore* cvc =
- content::ContentViewCore::FromWebContents(web_contents());
- DCHECK(cvc);
+ TabAndroid* tab = TabAndroid::FromWebContents(web_contents());
+ DCHECK(tab);
+
+ std::vector<int> content_settings{infobar_delegate_->content_settings()};
return Java_PermissionDialogDelegate_create(
env, reinterpret_cast<uintptr_t>(this),
- cvc->GetWindowAndroid()->GetJavaObject(),
+ tab->GetJavaObject(),
+ base::android::ToJavaIntArray(env, content_settings).obj(),
ResourceMapper::MapFromChromiumId(infobar_delegate_->GetIconId()),
ConvertUTF16ToJavaString(env, infobar_delegate_->GetMessageText()),
ConvertUTF16ToJavaString(env, infobar_delegate_->GetLinkText()),
« no previous file with comments | « chrome/android/java_sources.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698