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

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

Issue 2153133002: Add gesture type value from desktop prompt to permission report (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@add-user-gesture-to-reporting-part
Patch Set: Created 4 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_context_base.h" 5 #include "chrome/browser/permissions/permission_context_base.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 171
172 #if !defined(OS_ANDROID) 172 #if !defined(OS_ANDROID)
173 PermissionRequestManager* permission_request_manager = 173 PermissionRequestManager* permission_request_manager =
174 PermissionRequestManager::FromWebContents(web_contents); 174 PermissionRequestManager::FromWebContents(web_contents);
175 // TODO(felt): sometimes |permission_request_manager| is null. This check is 175 // TODO(felt): sometimes |permission_request_manager| is null. This check is
176 // meant to prevent crashes. See crbug.com/457091. 176 // meant to prevent crashes. See crbug.com/457091.
177 if (!permission_request_manager) 177 if (!permission_request_manager)
178 return; 178 return;
179 std::unique_ptr<PermissionBubbleRequest> request_ptr( 179 std::unique_ptr<PermissionBubbleRequest> request_ptr(
180 new PermissionBubbleRequestImpl( 180 new PermissionBubbleRequestImpl(
181 requesting_origin, permission_type_, profile_, 181 requesting_origin, permission_type_, user_gesture, profile_,
182 base::Bind(&PermissionContextBase::PermissionDecided, 182 base::Bind(&PermissionContextBase::PermissionDecided,
183 weak_factory_.GetWeakPtr(), id, requesting_origin, 183 weak_factory_.GetWeakPtr(), id, requesting_origin,
184 embedding_origin, callback), 184 embedding_origin, user_gesture, callback),
185 base::Bind(&PermissionContextBase::CleanUpBubble, 185 base::Bind(&PermissionContextBase::CleanUpBubble,
186 weak_factory_.GetWeakPtr(), id))); 186 weak_factory_.GetWeakPtr(), id)));
187 PermissionBubbleRequest* request = request_ptr.get(); 187 PermissionBubbleRequest* request = request_ptr.get();
188 188
189 bool inserted = 189 bool inserted =
190 pending_bubbles_.add(id.ToString(), std::move(request_ptr)).second; 190 pending_bubbles_.add(id.ToString(), std::move(request_ptr)).second;
191 DCHECK(inserted) << "Duplicate id " << id.ToString(); 191 DCHECK(inserted) << "Duplicate id " << id.ToString();
192 permission_request_manager->AddRequest(request); 192 permission_request_manager->AddRequest(request);
193 #else 193 #else
194 // TODO(stefanocs): Get user gesture from infobar.
raymes 2016/07/18 00:58:43 Hmm, what does this mean?
stefanocs 2016/07/18 04:28:44 I edited the comment, does it make sense for you o
raymes 2016/07/18 07:31:58 Looks good, thanks!
194 GetQueueController()->CreateInfoBarRequest( 195 GetQueueController()->CreateInfoBarRequest(
195 id, requesting_origin, embedding_origin, 196 id, requesting_origin, embedding_origin,
196 base::Bind(&PermissionContextBase::PermissionDecided, 197 base::Bind(&PermissionContextBase::PermissionDecided,
197 weak_factory_.GetWeakPtr(), id, requesting_origin, 198 weak_factory_.GetWeakPtr(), id, requesting_origin,
198 embedding_origin, callback, 199 embedding_origin, user_gesture, callback,
199 // the queue controller takes care of persisting the 200 // the queue controller takes care of persisting the
200 // permission 201 // permission
201 false)); 202 false));
202 #endif 203 #endif
203 } 204 }
204 205
205 void PermissionContextBase::PermissionDecided( 206 void PermissionContextBase::PermissionDecided(
206 const PermissionRequestID& id, 207 const PermissionRequestID& id,
207 const GURL& requesting_origin, 208 const GURL& requesting_origin,
208 const GURL& embedding_origin, 209 const GURL& embedding_origin,
210 bool user_gesture,
209 const BrowserPermissionCallback& callback, 211 const BrowserPermissionCallback& callback,
210 bool persist, 212 bool persist,
211 ContentSetting content_setting) { 213 ContentSetting content_setting) {
212 #if !defined(OS_ANDROID) 214 #if !defined(OS_ANDROID)
213 // Infobar persistence and its related UMA is tracked on the infobar 215 // Infobar persistence and its related UMA is tracked on the infobar
214 // controller directly. 216 // controller directly.
215 if (persist) { 217 if (persist) {
216 DCHECK(content_setting == CONTENT_SETTING_ALLOW || 218 DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
217 content_setting == CONTENT_SETTING_BLOCK); 219 content_setting == CONTENT_SETTING_BLOCK);
218 if (content_setting == CONTENT_SETTING_ALLOW) 220 if (content_setting == CONTENT_SETTING_ALLOW)
raymes 2016/07/18 00:58:43 nit: add {}
stefanocs 2016/07/18 04:28:45 Done.
219 PermissionUmaUtil::PermissionGranted(permission_type_, requesting_origin, 221 PermissionUmaUtil::PermissionGranted(permission_type_, user_gesture,
220 profile_); 222 requesting_origin, profile_);
221 else 223 else
raymes 2016/07/18 00:58:43 nit: add {}
stefanocs 2016/07/18 04:28:44 Done.
222 PermissionUmaUtil::PermissionDenied(permission_type_, requesting_origin, 224 PermissionUmaUtil::PermissionDenied(permission_type_, user_gesture,
223 profile_); 225 requesting_origin, profile_);
224 } else { 226 } else {
225 DCHECK_EQ(content_setting, CONTENT_SETTING_DEFAULT); 227 DCHECK_EQ(content_setting, CONTENT_SETTING_DEFAULT);
226 PermissionUmaUtil::PermissionDismissed(permission_type_, requesting_origin, 228 PermissionUmaUtil::PermissionDismissed(permission_type_, user_gesture,
227 profile_); 229 requesting_origin, profile_);
228 } 230 }
229 #endif 231 #endif
230 232
231 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, 233 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
232 persist, content_setting); 234 persist, content_setting);
233 } 235 }
234 236
235 #if defined(OS_ANDROID) 237 #if defined(OS_ANDROID)
236 PermissionQueueController* PermissionContextBase::GetQueueController() { 238 PermissionQueueController* PermissionContextBase::GetQueueController() {
237 return permission_queue_controller_.get(); 239 return permission_queue_controller_.get();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 content_setting); 289 content_setting);
288 } 290 }
289 291
290 bool PermissionContextBase::IsPermissionKillSwitchOn() const { 292 bool PermissionContextBase::IsPermissionKillSwitchOn() const {
291 const std::string param = variations::GetVariationParamValue( 293 const std::string param = variations::GetVariationParamValue(
292 kPermissionsKillSwitchFieldStudy, 294 kPermissionsKillSwitchFieldStudy,
293 PermissionUtil::GetPermissionString(permission_type_)); 295 PermissionUtil::GetPermissionString(permission_type_));
294 296
295 return param == kPermissionsKillSwitchBlockedValue; 297 return param == kPermissionsKillSwitchBlockedValue;
296 } 298 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698