1 // Copyright 2017 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. 4 5 #include "services/metrics/ukm_recorder_interface.h" 6 7 #include "base/atomic_sequence_num.h" 8 #include "mojo/public/cpp/bindings/self_owned_receiver.h" 9 #include "services/metrics/public/cpp/ukm_recorder.h" 10 #include "services/metrics/public/cpp/ukm_source_id.h" 11 #include "url/gurl.h" 12 13 namespace metrics { 14 UkmRecorderInterface(ukm::UkmRecorder * ukm_recorder)15UkmRecorderInterface::UkmRecorderInterface(ukm::UkmRecorder* ukm_recorder) 16 : ukm_recorder_(ukm_recorder) {} 17 18 UkmRecorderInterface::~UkmRecorderInterface() = default; 19 20 // static Create(ukm::UkmRecorder * ukm_recorder,mojo::PendingReceiver<ukm::mojom::UkmRecorderInterface> receiver)21void UkmRecorderInterface::Create( 22 ukm::UkmRecorder* ukm_recorder, 23 mojo::PendingReceiver<ukm::mojom::UkmRecorderInterface> receiver) { 24 mojo::MakeSelfOwnedReceiver( 25 std::make_unique<UkmRecorderInterface>(ukm_recorder), 26 std::move(receiver)); 27 } 28 AddEntry(ukm::mojom::UkmEntryPtr ukm_entry)29void UkmRecorderInterface::AddEntry(ukm::mojom::UkmEntryPtr ukm_entry) { 30 ukm_recorder_->AddEntry(std::move(ukm_entry)); 31 } 32 UpdateSourceURL(int64_t source_id,const std::string & url)33void UkmRecorderInterface::UpdateSourceURL(int64_t source_id, 34 const std::string& url) { 35 ukm_recorder_->UpdateSourceURL(source_id, GURL(url)); 36 } 37 38 } // namespace metrics 39