From 189d4fd8fad9e3c776873be51938cd31a42b6177 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 20 May 2021 09:47:09 +0200 Subject: BASELINE: Update Chromium to 90.0.4430.221 Change-Id: Iff4d9d18d2fcf1a576f3b1f453010f744a232920 Reviewed-by: Allan Sandfeld Jensen --- .../core/testing/scoped_fake_ukm_recorder.h | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 chromium/third_party/blink/renderer/core/testing/scoped_fake_ukm_recorder.h (limited to 'chromium/third_party/blink/renderer/core/testing/scoped_fake_ukm_recorder.h') diff --git a/chromium/third_party/blink/renderer/core/testing/scoped_fake_ukm_recorder.h b/chromium/third_party/blink/renderer/core/testing/scoped_fake_ukm_recorder.h new file mode 100644 index 00000000000..c7423756c41 --- /dev/null +++ b/chromium/third_party/blink/renderer/core/testing/scoped_fake_ukm_recorder.h @@ -0,0 +1,42 @@ +// Copyright 2020 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. + +#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_TESTING_SCOPED_FAKE_UKM_RECORDER_H_ +#define THIRD_PARTY_BLINK_RENDERER_CORE_TESTING_SCOPED_FAKE_UKM_RECORDER_H_ + +#include "components/ukm/test_ukm_recorder.h" +#include "mojo/public/cpp/bindings/receiver.h" + +namespace blink { + +// Class used to mock the UKM recorder living in the browser process and being +// served UKM events over Mojo. When instantiated, this class will register +// itself as the Mojo interface for the UkmRecorderInterface in the +// BrowserInterfaceBroker. It will then forward UKM logging events to a +// TestUkmRecorder instance it owns and make it available for validation. +// Consumers of this class should make sure to instantiate it before any other +// instance takes a dependency on that mojo interface. +class ScopedFakeUkmRecorder : public ukm::mojom::UkmRecorderInterface { + public: + explicit ScopedFakeUkmRecorder(); + ~ScopedFakeUkmRecorder() override; + + // ukm::mojom::UkmRecorderInterface: + void AddEntry(ukm::mojom::UkmEntryPtr entry) override; + void UpdateSourceURL(int64_t source_id, const std::string& url) override; + + void ResetRecorder(); + + ukm::TestUkmRecorder* recorder() { return recorder_.get(); } + + private: + void SetHandle(mojo::ScopedMessagePipeHandle handle); + + std::unique_ptr> receiver_; + std::unique_ptr recorder_; +}; + +} // namespace blink + +#endif // THIRD_PARTY_BLINK_RENDERER_CORE_TESTING_SCOPED_FAKE_UKM_RECORDER_H_ -- cgit v1.2.1