OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/permissions/permission_dialog_delegate.h" | 5 #include "chrome/browser/permissions/permission_dialog_delegate.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 env, reinterpret_cast<uintptr_t>(this), tab_->GetJavaObject(), | 141 env, reinterpret_cast<uintptr_t>(this), tab_->GetJavaObject(), |
142 base::android::ToJavaIntArray(env, content_settings_types).obj(), | 142 base::android::ToJavaIntArray(env, content_settings_types).obj(), |
143 ResourceMapper::MapFromChromiumId(infobar_delegate_->GetIconId()), | 143 ResourceMapper::MapFromChromiumId(infobar_delegate_->GetIconId()), |
144 ConvertUTF16ToJavaString(env, infobar_delegate_->GetMessageText()), | 144 ConvertUTF16ToJavaString(env, infobar_delegate_->GetMessageText()), |
145 ConvertUTF16ToJavaString(env, infobar_delegate_->GetLinkText()), | 145 ConvertUTF16ToJavaString(env, infobar_delegate_->GetLinkText()), |
146 primaryButtonText, secondaryButtonText, | 146 primaryButtonText, secondaryButtonText, |
147 infobar_delegate_->ShouldShowPersistenceToggle())); | 147 infobar_delegate_->ShouldShowPersistenceToggle())); |
148 return; | 148 return; |
149 } | 149 } |
150 | 150 |
151 // TODO(timloh): Handle grouped media permissions (camera + microphone). | 151 std::vector<int> content_settings_types; |
152 DCHECK_EQ(1u, permission_prompt_->PermissionCount()); | 152 for (size_t i = 0; i < permission_prompt_->PermissionCount(); ++i) { |
153 | 153 content_settings_types.push_back( |
154 std::vector<int> content_settings_types{ | 154 permission_prompt_->GetContentSettingType(i)); |
155 permission_prompt_->GetContentSettingType(0)}; | 155 } |
156 | 156 |
157 j_delegate_.Reset(Java_PermissionDialogDelegate_create( | 157 j_delegate_.Reset(Java_PermissionDialogDelegate_create( |
158 env, reinterpret_cast<uintptr_t>(this), tab_->GetJavaObject(), | 158 env, reinterpret_cast<uintptr_t>(this), tab_->GetJavaObject(), |
159 base::android::ToJavaIntArray(env, content_settings_types).obj(), | 159 base::android::ToJavaIntArray(env, content_settings_types).obj(), |
160 ResourceMapper::MapFromChromiumId(permission_prompt_->GetIconId()), | 160 ResourceMapper::MapFromChromiumId(permission_prompt_->GetIconId()), |
161 ConvertUTF16ToJavaString(env, permission_prompt_->GetMessageText()), | 161 ConvertUTF16ToJavaString(env, permission_prompt_->GetMessageText()), |
162 ConvertUTF16ToJavaString(env, permission_prompt_->GetLinkText()), | 162 ConvertUTF16ToJavaString(env, permission_prompt_->GetLinkText()), |
163 primaryButtonText, secondaryButtonText, | 163 primaryButtonText, secondaryButtonText, |
164 permission_prompt_->ShouldShowPersistenceToggle())); | 164 permission_prompt_->ShouldShowPersistenceToggle())); |
165 } | 165 } |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 navigation_handle->IsSameDocument()) { | 260 navigation_handle->IsSameDocument()) { |
261 return; | 261 return; |
262 } | 262 } |
263 | 263 |
264 DismissDialog(); | 264 DismissDialog(); |
265 } | 265 } |
266 | 266 |
267 void PermissionDialogDelegate::WebContentsDestroyed() { | 267 void PermissionDialogDelegate::WebContentsDestroyed() { |
268 DismissDialog(); | 268 DismissDialog(); |
269 } | 269 } |
OLD | NEW |