| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "components/rappor/rappor_recorder_impl.h" |
| |
| #include <memory> |
| |
| #include "components/rappor/public/rappor_utils.h" |
| #include "components/rappor/rappor_service_impl.h" |
| #include "mojo/public/cpp/bindings/strong_binding.h" |
| |
| namespace rappor { |
| |
| RapporRecorderImpl::RapporRecorderImpl(RapporServiceImpl* rappor_service) |
| : rappor_service_(rappor_service) {} |
| |
| RapporRecorderImpl::~RapporRecorderImpl() = default; |
| |
| // static |
| void RapporRecorderImpl::Create( |
| RapporServiceImpl* rappor_service, |
| mojom::RapporRecorderRequest request) { |
| mojo::MakeStrongBinding(std::make_unique<RapporRecorderImpl>(rappor_service), |
| std::move(request)); |
| } |
| |
| void RapporRecorderImpl::RecordRappor(const std::string& metric, |
| const std::string& sample) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| SampleString(rappor_service_, metric, ETLD_PLUS_ONE_RAPPOR_TYPE, sample); |
| } |
| |
| void RapporRecorderImpl::RecordRapporURL(const std::string& metric, |
| const GURL& sample) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| SampleDomainAndRegistryFromGURL(rappor_service_, metric, sample); |
| } |
| |
| } // namespace rappor |