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

Side by Side Diff: chrome/browser/android/permissions/permission_group_infobar_delegate_android.cc

Issue 1332063003: permissions: implement coalesced permissions on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@request-multiple
Patch Set: Bring CL up to scratch with mocks Created 5 years, 3 months 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/android/permissions/permission_group_infobar_delegate_a ndroid.h"
6
7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h"
9 #include "base/strings/string16.h"
10 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/infobars/infobar_service.h"
12 #include "chrome/browser/permissions/permission_infobar_request.h"
13 #include "chrome/browser/ui/android/infobars/permission_group_infobar_android.h"
14 #include "chrome/grit/generated_resources.h"
15 #include "components/url_formatter/url_formatter.h"
16 #include "grit/theme_resources.h"
17 #include "ui/base/l10n/l10n_util.h"
18 #include "ui/gfx/android/java_bitmap.h"
19
20 using base::android::ConvertJavaStringToUTF8;
21 using base::android::ConvertJavaStringToUTF16;
22 using base::android::ConvertUTF8ToJavaString;
23 using base::android::ConvertUTF16ToJavaString;
24
25 PermissionGroupInfoBarDelegateAndroid::
26 PermissionGroupInfoBarDelegateAndroid(
27 const GURL& requesting_frame,
28 const std::string& display_languages,
29 const base::Callback<void(
30 bool, const std::vector<ContentSetting>&)>& callback)
31 : requesting_frame_(requesting_frame),
32 display_languages_(display_languages),
33 callback_(callback) {
34 }
35
36 PermissionGroupInfoBarDelegateAndroid::
37 ~PermissionGroupInfoBarDelegateAndroid() {
38 }
39
40 void PermissionGroupInfoBarDelegateAndroid::OnCheckedStateUpdate(
41 jboolean* raw_checked_states,
42 int array_size) {
43 checked_states_.clear();
44
45 for (int i = 0; i < array_size; ++i) {
46 checked_states_.push_back(raw_checked_states[i] == JNI_TRUE
47 ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK);
48 }
49 }
50
51 gfx::Image PermissionGroupInfoBarDelegateAndroid::GetIcon() const {
52 return gfx::Image();
53 }
54
55 base::string16 PermissionGroupInfoBarDelegateAndroid::GetMessageText() const {
56 return l10n_util::GetStringFUTF16(
57 IDS_COALESCED_PERMISSION_INFOBAR_QUESTION,
58 url_formatter::FormatUrl(
59 requesting_frame_.GetOrigin(), display_languages_,
60 url_formatter::kFormatUrlOmitUsernamePassword |
61 url_formatter::kFormatUrlOmitTrailingSlashOnBareHostname,
62 net::UnescapeRule::SPACES, nullptr, nullptr, nullptr));
63 }
64
65 int PermissionGroupInfoBarDelegateAndroid::GetButtons() const {
66 return BUTTON_OK;
67 }
68
69 bool PermissionGroupInfoBarDelegateAndroid::Accept() {
70 callback_.Run(true, checked_states_);
71 return true;
72 }
73
74 void PermissionGroupInfoBarDelegateAndroid::InfoBarDismissed() {
75 callback_.Run(false, checked_states_);
76 }
77
78 bool PermissionGroupInfoBarDelegateAndroid::LinkClicked(
79 WindowOpenDisposition disposition) {
80 return true;
81 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698