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

Side by Side Diff: chrome/browser/safe_browsing/permission_reporter.cc

Issue 2153763002: Add user gesture field to permission report (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@add-source-ui-to-permission-report
Patch Set: Add user gesture mark 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 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 "base/memory/ptr_util.h" 5 #include "base/memory/ptr_util.h"
6 #include "chrome/browser/safe_browsing/permission_reporter.h" 6 #include "chrome/browser/safe_browsing/permission_reporter.h"
7 #include "chrome/common/safe_browsing/permission_report.pb.h" 7 #include "chrome/common/safe_browsing/permission_report.pb.h"
8 #include "components/variations/active_field_trials.h" 8 #include "components/variations/active_field_trials.h"
9 #include "content/public/browser/permission_type.h" 9 #include "content/public/browser/permission_type.h"
10 #include "net/url_request/report_sender.h" 10 #include "net/url_request/report_sender.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 100
101 PermissionReporter::PermissionReporter( 101 PermissionReporter::PermissionReporter(
102 std::unique_ptr<net::ReportSender> report_sender) 102 std::unique_ptr<net::ReportSender> report_sender)
103 : permission_report_sender_(std::move(report_sender)) {} 103 : permission_report_sender_(std::move(report_sender)) {}
104 104
105 PermissionReporter::~PermissionReporter() {} 105 PermissionReporter::~PermissionReporter() {}
106 106
107 void PermissionReporter::SendReport(const GURL& origin, 107 void PermissionReporter::SendReport(const GURL& origin,
108 content::PermissionType permission, 108 content::PermissionType permission,
109 PermissionAction action, 109 PermissionAction action,
110 PermissionSourceUI source_ui) { 110 PermissionSourceUI source_ui,
111 bool user_gesture) {
111 std::string serialized_report; 112 std::string serialized_report;
112 BuildReport(origin, permission, action, source_ui, &serialized_report); 113 BuildReport(origin, permission, action, source_ui, user_gesture,
114 &serialized_report);
113 permission_report_sender_->Send(GURL(kPermissionActionReportingUploadUrl), 115 permission_report_sender_->Send(GURL(kPermissionActionReportingUploadUrl),
114 serialized_report); 116 serialized_report);
115 } 117 }
116 118
117 // static 119 // static
118 bool PermissionReporter::BuildReport(const GURL& origin, 120 bool PermissionReporter::BuildReport(const GURL& origin,
119 PermissionType permission, 121 PermissionType permission,
120 PermissionAction action, 122 PermissionAction action,
121 PermissionSourceUI source_ui, 123 PermissionSourceUI source_ui,
124 bool user_gesture,
122 std::string* output) { 125 std::string* output) {
123 PermissionReport report; 126 PermissionReport report;
124 report.set_origin(origin.spec()); 127 report.set_origin(origin.spec());
125 report.set_permission(PermissionTypeForReport(permission)); 128 report.set_permission(PermissionTypeForReport(permission));
126 report.set_action(PermissionActionForReport(action)); 129 report.set_action(PermissionActionForReport(action));
127 report.set_source_ui(SourceUIForReport(source_ui)); 130 report.set_source_ui(SourceUIForReport(source_ui));
131 if (user_gesture)
132 report.add_request_trigger(PermissionReport::AFTER_GESTURE);
128 133
129 // Collect platform data. 134 // Collect platform data.
130 #if defined(OS_ANDROID) 135 #if defined(OS_ANDROID)
131 report.set_platform_type(PermissionReport::ANDROID_PLATFORM); 136 report.set_platform_type(PermissionReport::ANDROID_PLATFORM);
132 #elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_CHROMEOS) || \ 137 #elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_CHROMEOS) || \
133 defined(OS_LINUX) 138 defined(OS_LINUX)
134 report.set_platform_type(PermissionReport::DESKTOP_PLATFORM); 139 report.set_platform_type(PermissionReport::DESKTOP_PLATFORM);
135 #else 140 #else
136 #error Unsupported platform. 141 #error Unsupported platform.
137 #endif 142 #endif
138 143
139 // Collect field trial data. 144 // Collect field trial data.
140 std::vector<variations::ActiveGroupId> active_group_ids; 145 std::vector<variations::ActiveGroupId> active_group_ids;
141 variations::GetFieldTrialActiveGroupIds(&active_group_ids); 146 variations::GetFieldTrialActiveGroupIds(&active_group_ids);
142 for (auto active_group_id : active_group_ids) { 147 for (auto active_group_id : active_group_ids) {
143 PermissionReport::FieldTrial* field_trial = report.add_field_trials(); 148 PermissionReport::FieldTrial* field_trial = report.add_field_trials();
144 field_trial->set_name_id(active_group_id.name); 149 field_trial->set_name_id(active_group_id.name);
145 field_trial->set_group_id(active_group_id.group); 150 field_trial->set_group_id(active_group_id.group);
146 } 151 }
147 return report.SerializeToString(output); 152 return report.SerializeToString(output);
148 } 153 }
149 154
150 } // namespace safe_browsing 155 } // namespace safe_browsing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698