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

Side by Side Diff: chrome/browser/push_messaging/push_messaging_permission_context.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/push_messaging/push_messaging_permission_context.h" 5 #include "chrome/browser/push_messaging/push_messaging_permission_context.h"
6 6
7 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 7 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
8 #include "chrome/browser/permissions/permission_manager.h" 8 #include "chrome/browser/permissions/permission_manager.h"
9 #include "chrome/browser/permissions/permission_request_id.h" 9 #include "chrome/browser/permissions/permission_request_id.h"
10 #include "chrome/browser/permissions/permission_uma_util.h" 10 #include "chrome/browser/permissions/permission_uma_util.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, 83 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
84 false /* persist */, CONTENT_SETTING_BLOCK); 84 false /* persist */, CONTENT_SETTING_BLOCK);
85 return; 85 return;
86 } 86 }
87 87
88 PermissionManager::Get(profile_)->RequestPermission( 88 PermissionManager::Get(profile_)->RequestPermission(
89 content::PermissionType::NOTIFICATIONS, web_contents->GetMainFrame(), 89 content::PermissionType::NOTIFICATIONS, web_contents->GetMainFrame(),
90 requesting_origin, user_gesture, 90 requesting_origin, user_gesture,
91 base::Bind(&PushMessagingPermissionContext::DecidePushPermission, 91 base::Bind(&PushMessagingPermissionContext::DecidePushPermission,
92 weak_factory_ui_thread_.GetWeakPtr(), id, requesting_origin, 92 weak_factory_ui_thread_.GetWeakPtr(), id, requesting_origin,
93 embedding_origin, callback)); 93 embedding_origin, user_gesture, callback));
94 #else 94 #else
95 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, 95 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
96 false /* persist */, CONTENT_SETTING_BLOCK); 96 false /* persist */, CONTENT_SETTING_BLOCK);
97 #endif 97 #endif
98 } 98 }
99 99
100 bool PushMessagingPermissionContext::IsRestrictedToSecureOrigins() const { 100 bool PushMessagingPermissionContext::IsRestrictedToSecureOrigins() const {
101 return true; 101 return true;
102 } 102 }
103 103
104 void PushMessagingPermissionContext::DecidePushPermission( 104 void PushMessagingPermissionContext::DecidePushPermission(
105 const PermissionRequestID& id, 105 const PermissionRequestID& id,
106 const GURL& requesting_origin, 106 const GURL& requesting_origin,
107 const GURL& embedding_origin, 107 const GURL& embedding_origin,
108 bool user_gesture,
raymes 2016/07/18 00:58:43 I would say don't bother passing this for now sinc
stefanocs 2016/07/18 04:28:45 Done.
108 const BrowserPermissionCallback& callback, 109 const BrowserPermissionCallback& callback,
109 blink::mojom::PermissionStatus notification_status) { 110 blink::mojom::PermissionStatus notification_status) {
110 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 111 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
111 DCHECK_NE(notification_status, blink::mojom::PermissionStatus::ASK); 112 DCHECK_NE(notification_status, blink::mojom::PermissionStatus::ASK);
112 113
113 ContentSetting push_content_setting = 114 ContentSetting push_content_setting =
114 HostContentSettingsMapFactory::GetForProfile(profile_) 115 HostContentSettingsMapFactory::GetForProfile(profile_)
115 ->GetContentSettingAndMaybeUpdateLastUsage( 116 ->GetContentSettingAndMaybeUpdateLastUsage(
116 requesting_origin, embedding_origin, content_settings_type(), 117 requesting_origin, embedding_origin, content_settings_type(),
117 std::string()); 118 std::string());
118 119
119 if (push_content_setting == CONTENT_SETTING_BLOCK) { 120 if (push_content_setting == CONTENT_SETTING_BLOCK) {
120 DVLOG(1) << "Push permission was explicitly blocked."; 121 DVLOG(1) << "Push permission was explicitly blocked.";
121 PermissionUmaUtil::PermissionDenied(permission_type(), requesting_origin, 122 PermissionUmaUtil::PermissionDenied(permission_type(), user_gesture,
122 profile_); 123 requesting_origin, profile_);
123 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, 124 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
124 true /* persist */, CONTENT_SETTING_BLOCK); 125 true /* persist */, CONTENT_SETTING_BLOCK);
125 return; 126 return;
126 } 127 }
127 128
128 if (notification_status == blink::mojom::PermissionStatus::DENIED) { 129 if (notification_status == blink::mojom::PermissionStatus::DENIED) {
129 DVLOG(1) << "Notification permission has not been granted."; 130 DVLOG(1) << "Notification permission has not been granted.";
130 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, 131 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
131 false /* persist */, CONTENT_SETTING_BLOCK); 132 false /* persist */, CONTENT_SETTING_BLOCK);
132 return; 133 return;
133 } 134 }
134 135
135 PermissionUmaUtil::PermissionGranted(permission_type(), requesting_origin, 136 PermissionUmaUtil::PermissionGranted(permission_type(), user_gesture,
136 profile_); 137 requesting_origin, profile_);
137 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback, 138 NotifyPermissionSet(id, requesting_origin, embedding_origin, callback,
138 true /* persist */, CONTENT_SETTING_ALLOW); 139 true /* persist */, CONTENT_SETTING_ALLOW);
139 } 140 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698