Adding instrumentation to locate the source of jankiness
[chromium-blink-merge.git] / chrome / browser / safe_browsing / incident_reporting / variations_seed_signature_analyzer.cc
blob5537bbbda158a94c80673526e23a48df786cf39d
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
3 // found in the LICENSE file.
5 #include "chrome/browser/safe_browsing/incident_reporting/variations_seed_signature_analyzer.h"
7 #include <string>
9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/metrics/variations/variations_service.h"
11 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
12 #include "chrome/common/safe_browsing/csd.pb.h"
14 namespace safe_browsing {
16 void RegisterVariationsSeedSignatureAnalysis() {
17 scoped_refptr<SafeBrowsingService> safe_browsing_service(
18 g_browser_process->safe_browsing_service());
20 safe_browsing_service->RegisterDelayedAnalysisCallback(
21 base::Bind(&VerifyVariationsSeedSignature));
24 void VerifyVariationsSeedSignature(const AddIncidentCallback& callback) {
25 if (g_browser_process->variations_service() == nullptr)
26 return;
27 std::string invalid_signature = g_browser_process->variations_service()
28 ->GetInvalidVariationsSeedSignature();
29 if (!invalid_signature.empty()) {
30 scoped_ptr<ClientIncidentReport_IncidentData> incident_data(
31 new ClientIncidentReport_IncidentData());
32 ClientIncidentReport_IncidentData_VariationsSeedSignatureIncident*
33 variations_seed_signature =
34 incident_data->mutable_variations_seed_signature();
35 variations_seed_signature->set_variations_seed_signature(invalid_signature);
36 callback.Run(incident_data.Pass());
40 } // namespace safe_browsing