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

Side by Side Diff: chrome/browser/permissions/permission_prompt_android.cc

Issue 2923393002: Make UI with PermissionRequestManager enabled match PermissionQueueController (Closed)
Patch Set: address comments Created 3 years, 6 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
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_prompt_android.h" 5 #include "chrome/browser/permissions/permission_prompt_android.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "chrome/browser/infobars/infobar_service.h" 8 #include "chrome/browser/infobars/infobar_service.h"
9 #include "chrome/browser/permissions/grouped_permission_infobar_delegate_android .h" 9 #include "chrome/browser/permissions/grouped_permission_infobar_delegate_android .h"
10 #include "chrome/browser/permissions/permission_dialog_delegate.h" 10 #include "chrome/browser/permissions/permission_dialog_delegate.h"
11 #include "chrome/browser/permissions/permission_request.h" 11 #include "chrome/browser/permissions/permission_request.h"
12 #include "chrome/common/url_constants.h" 12 #include "chrome/common/url_constants.h"
13 #include "chrome/grit/generated_resources.h"
14 #include "chrome/grit/theme_resources.h"
13 #include "components/strings/grit/components_strings.h" 15 #include "components/strings/grit/components_strings.h"
16 #include "components/url_formatter/elide_url.h"
14 #include "ui/base/l10n/l10n_util.h" 17 #include "ui/base/l10n/l10n_util.h"
15 18
16 PermissionPromptAndroid::PermissionPromptAndroid( 19 PermissionPromptAndroid::PermissionPromptAndroid(
17 content::WebContents* web_contents) 20 content::WebContents* web_contents)
18 : web_contents_(web_contents), delegate_(nullptr) { 21 : web_contents_(web_contents), delegate_(nullptr) {
19 DCHECK(web_contents); 22 DCHECK(web_contents);
20 } 23 }
21 24
22 PermissionPromptAndroid::~PermissionPromptAndroid() {} 25 PermissionPromptAndroid::~PermissionPromptAndroid() {}
23 26
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 return true; 104 return true;
102 } 105 }
103 106
104 ContentSettingsType PermissionPromptAndroid::GetContentSettingType( 107 ContentSettingsType PermissionPromptAndroid::GetContentSettingType(
105 size_t position) const { 108 size_t position) const {
106 const std::vector<PermissionRequest*>& requests = delegate_->Requests(); 109 const std::vector<PermissionRequest*>& requests = delegate_->Requests();
107 DCHECK_LT(position, requests.size()); 110 DCHECK_LT(position, requests.size());
108 return requests[position]->GetContentSettingsType(); 111 return requests[position]->GetContentSettingsType();
109 } 112 }
110 113
111 int PermissionPromptAndroid::GetIconIdForPermission(size_t position) const { 114 // Grouped permission requests can only be Mic+Camera or Camera+Mic
112 const std::vector<PermissionRequest*>& requests = delegate_->Requests(); 115 static void CheckValidRequestGroup(
113 DCHECK_LT(position, requests.size()); 116 const std::vector<PermissionRequest*>& requests) {
114 return requests[position]->GetIconId(); 117 DCHECK_EQ(static_cast<size_t>(2), requests.size());
118 DCHECK_EQ(requests[0]->GetOrigin(), requests[1]->GetOrigin());
119 DCHECK((requests[0]->GetPermissionRequestType() ==
120 PermissionRequestType::PERMISSION_MEDIASTREAM_MIC &&
121 requests[1]->GetPermissionRequestType() ==
122 PermissionRequestType::PERMISSION_MEDIASTREAM_CAMERA) ||
123 (requests[0]->GetPermissionRequestType() ==
124 PermissionRequestType::PERMISSION_MEDIASTREAM_CAMERA &&
125 requests[1]->GetPermissionRequestType() ==
126 PermissionRequestType::PERMISSION_MEDIASTREAM_MIC));
115 } 127 }
116 128
117 base::string16 PermissionPromptAndroid::GetMessageText(size_t position) const { 129 int PermissionPromptAndroid::GetIconId() const {
118 const std::vector<PermissionRequest*>& requests = delegate_->Requests(); 130 const std::vector<PermissionRequest*>& requests = delegate_->Requests();
119 DCHECK_LT(position, requests.size()); 131 if (requests.size() == 1)
120 return requests[position]->GetMessageText(); 132 return requests[0]->GetIconId();
133 CheckValidRequestGroup(requests);
134 return IDR_INFOBAR_MEDIA_STREAM_CAMERA;
121 } 135 }
122 136
123 base::string16 PermissionPromptAndroid::GetMessageTextFragment( 137 base::string16 PermissionPromptAndroid::GetMessageText() const {
124 size_t position) const {
125 const std::vector<PermissionRequest*>& requests = delegate_->Requests(); 138 const std::vector<PermissionRequest*>& requests = delegate_->Requests();
126 DCHECK_LT(position, requests.size()); 139 if (requests.size() == 1)
127 return requests[position]->GetMessageTextFragment(); 140 return requests[0]->GetMessageText();
141 CheckValidRequestGroup(requests);
142 return l10n_util::GetStringFUTF16(
143 IDS_MEDIA_CAPTURE_AUDIO_AND_VIDEO,
144 url_formatter::FormatUrlForSecurityDisplay(
145 requests[0]->GetOrigin(),
146 url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC));
128 } 147 }
129 148
130 base::string16 PermissionPromptAndroid::GetLinkText() const { 149 base::string16 PermissionPromptAndroid::GetLinkText() const {
131 if (GetContentSettingType(0) == 150 if (GetContentSettingType(0) ==
132 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER) { 151 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER) {
133 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); 152 return l10n_util::GetStringUTF16(IDS_LEARN_MORE);
134 } 153 }
135 return base::string16(); 154 return base::string16();
136 } 155 }
137 156
138 GURL PermissionPromptAndroid::GetLinkURL() const { 157 GURL PermissionPromptAndroid::GetLinkURL() const {
139 if (GetContentSettingType(0) == 158 if (GetContentSettingType(0) ==
140 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER) { 159 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER) {
141 return GURL(chrome::kEnhancedPlaybackNotificationLearnMoreURL); 160 return GURL(chrome::kEnhancedPlaybackNotificationLearnMoreURL);
142 } 161 }
143 return GURL(); 162 return GURL();
144 } 163 }
145 164
146 // static 165 // static
147 std::unique_ptr<PermissionPrompt> PermissionPrompt::Create( 166 std::unique_ptr<PermissionPrompt> PermissionPrompt::Create(
148 content::WebContents* web_contents) { 167 content::WebContents* web_contents) {
149 return base::MakeUnique<PermissionPromptAndroid>(web_contents); 168 return base::MakeUnique<PermissionPromptAndroid>(web_contents);
150 } 169 }
OLDNEW
« no previous file with comments | « chrome/browser/permissions/permission_prompt_android.h ('k') | chrome/browser/permissions/permission_request_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698