diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-28 15:28:34 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-28 13:54:51 +0000 |
commit | 2a19c63448c84c1805fb1a585c3651318bb86ca7 (patch) | |
tree | eb17888e8531aa6ee5e85721bd553b832a7e5156 /chromium/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc | |
parent | b014812705fc80bff0a5c120dfcef88f349816dc (diff) | |
download | qtwebengine-chromium-2a19c63448c84c1805fb1a585c3651318bb86ca7.tar.gz |
BASELINE: Update Chromium to 69.0.3497.70
Change-Id: I2b7b56e4e7a8b26656930def0d4575dc32b900a0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc b/chromium/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc new file mode 100644 index 00000000000..437c346c9f7 --- /dev/null +++ b/chromium/third_party/blink/renderer/core/html/anchor_element_metrics_sender.cc @@ -0,0 +1,50 @@ +// Copyright 2018 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 "third_party/blink/renderer/core/html/anchor_element_metrics_sender.h" + +#include "services/service_manager/public/cpp/interface_provider.h" +#include "third_party/blink/renderer/core/dom/document.h" +#include "third_party/blink/renderer/core/frame/local_frame.h" + +namespace blink { + +// static +const char AnchorElementMetricsSender::kSupplementName[] = + "DocumentAnchorElementMetricsSender"; + +AnchorElementMetricsSender::~AnchorElementMetricsSender() = default; + +AnchorElementMetricsSender* AnchorElementMetricsSender::From( + Document& document) { + // Only root document owns the AnchorElementMetricsSender. + DCHECK(!document.ParentDocument()); + + AnchorElementMetricsSender* sender = + Supplement<Document>::From<AnchorElementMetricsSender>(document); + if (!sender) { + sender = new AnchorElementMetricsSender(document); + ProvideTo(document, sender); + } + return sender; +} + +void AnchorElementMetricsSender::SendClickedAnchorMetricsToBrowser( + mojom::blink::AnchorElementMetricsPtr metric) const { + metrics_host_->UpdateAnchorElementMetrics(std::move(metric)); +} + +void AnchorElementMetricsSender::Trace(blink::Visitor* visitor) { + Supplement<Document>::Trace(visitor); +} + +AnchorElementMetricsSender::AnchorElementMetricsSender(Document& document) + : Supplement<Document>(document) { + DCHECK(!document.ParentDocument()); + + document.GetFrame()->LocalFrameRoot().GetInterfaceProvider().GetInterface( + mojo::MakeRequest(&metrics_host_)); +} + +} // namespace blink |