| Index: chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc
|
| diff --git a/chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc b/chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc
|
| index a585f7817e3f1726272388db8bac8c4b1b6053c3..b753590c37ddd5907cea827305ff0a8b1fb0ebe1 100644
|
| --- a/chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc
|
| +++ b/chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc
|
| @@ -6,8 +6,9 @@
|
|
|
| #include "base/time/time.h"
|
| #include "base/timer/mock_timer.h"
|
| -#include "chrome/common/page_load_metrics/page_load_metrics.mojom.h"
|
| -#include "chrome/renderer/page_load_metrics/fake_page_timing_sender.h"
|
| +#include "chrome/common/page_load_metrics/page_load_timing.h"
|
| +#include "chrome/renderer/page_load_metrics/fake_page_timing_metrics_ipc_sender.h"
|
| +#include "ipc/ipc_message.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace page_load_metrics {
|
| @@ -16,11 +17,11 @@
|
| // MockTimer instance.
|
| class TestPageTimingMetricsSender : public PageTimingMetricsSender {
|
| public:
|
| - explicit TestPageTimingMetricsSender(
|
| - std::unique_ptr<PageTimingSender> page_timing_sender,
|
| - mojom::PageLoadTimingPtr initial_timing)
|
| + explicit TestPageTimingMetricsSender(IPC::Sender* ipc_sender,
|
| + mojom::PageLoadTimingPtr initial_timing)
|
| : PageTimingMetricsSender(
|
| - std::move(page_timing_sender),
|
| + ipc_sender,
|
| + MSG_ROUTING_NONE,
|
| std::unique_ptr<base::Timer>(new base::MockTimer(false, false)),
|
| std::move(initial_timing)) {}
|
|
|
| @@ -32,12 +33,12 @@
|
| class PageTimingMetricsSenderTest : public testing::Test {
|
| public:
|
| PageTimingMetricsSenderTest()
|
| - : metrics_sender_(new TestPageTimingMetricsSender(
|
| - base::MakeUnique<FakePageTimingSender>(&validator_),
|
| - mojom::PageLoadTiming::New())) {}
|
| + : metrics_sender_(
|
| + new TestPageTimingMetricsSender(&fake_ipc_sender_,
|
| + mojom::PageLoadTiming::New())) {}
|
|
|
| protected:
|
| - FakePageTimingSender::PageTimingValidator validator_;
|
| + FakePageTimingMetricsIPCSender fake_ipc_sender_;
|
| std::unique_ptr<TestPageTimingMetricsSender> metrics_sender_;
|
| };
|
|
|
| @@ -46,20 +47,20 @@
|
| base::TimeDelta first_layout = base::TimeDelta::FromMillisecondsD(2);
|
|
|
| mojom::PageLoadTiming timing;
|
| - InitPageLoadTimingForTest(&timing);
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = nav_start;
|
| timing.document_timing->first_layout = first_layout;
|
|
|
| metrics_sender_->Send(timing.Clone());
|
|
|
| - // Firing the timer should trigger sending of an SendTiming call.
|
| - validator_.ExpectPageLoadTiming(timing);
|
| + // Firing the timer should trigger sending of an OnTimingUpdated IPC.
|
| + fake_ipc_sender_.ExpectPageLoadTiming(timing);
|
| ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
|
| metrics_sender_->mock_timer()->Fire();
|
| EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
|
|
|
| - // At this point, we should have triggered the send of the SendTiming call.
|
| - validator_.VerifyExpectedTimings();
|
| + // At this point, we should have triggered the send of the PageLoadTiming IPC.
|
| + fake_ipc_sender_.VerifyExpectedTimings();
|
|
|
| // Attempt to send the same timing instance again. The send should be
|
| // suppressed, since the timing instance hasn't changed since the last send.
|
| @@ -67,13 +68,13 @@
|
| EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
|
| }
|
|
|
| -TEST_F(PageTimingMetricsSenderTest, CoalesceMultipleTimings) {
|
| +TEST_F(PageTimingMetricsSenderTest, CoalesceMultipleIPCs) {
|
| base::Time nav_start = base::Time::FromDoubleT(10);
|
| base::TimeDelta first_layout = base::TimeDelta::FromMillisecondsD(2);
|
| base::TimeDelta load_event = base::TimeDelta::FromMillisecondsD(4);
|
|
|
| mojom::PageLoadTiming timing;
|
| - InitPageLoadTimingForTest(&timing);
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = nav_start;
|
| timing.document_timing->first_layout = first_layout;
|
|
|
| @@ -85,43 +86,43 @@
|
| timing.document_timing->load_event_start = load_event;
|
| metrics_sender_->Send(timing.Clone());
|
|
|
| - // Firing the timer should trigger sending of the SendTiming call with
|
| + // Firing the timer should trigger sending of the OnTimingUpdated IPC with
|
| // the most recently provided PageLoadTiming instance.
|
| - validator_.ExpectPageLoadTiming(timing);
|
| + fake_ipc_sender_.ExpectPageLoadTiming(timing);
|
| metrics_sender_->mock_timer()->Fire();
|
| EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
|
| }
|
|
|
| -TEST_F(PageTimingMetricsSenderTest, MultipleTimings) {
|
| +TEST_F(PageTimingMetricsSenderTest, MultipleIPCs) {
|
| base::Time nav_start = base::Time::FromDoubleT(10);
|
| base::TimeDelta first_layout = base::TimeDelta::FromMillisecondsD(2);
|
| base::TimeDelta load_event = base::TimeDelta::FromMillisecondsD(4);
|
|
|
| mojom::PageLoadTiming timing;
|
| - InitPageLoadTimingForTest(&timing);
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = nav_start;
|
| timing.document_timing->first_layout = first_layout;
|
|
|
| metrics_sender_->Send(timing.Clone());
|
| ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
|
| - validator_.ExpectPageLoadTiming(timing);
|
| + fake_ipc_sender_.ExpectPageLoadTiming(timing);
|
| metrics_sender_->mock_timer()->Fire();
|
| EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
|
| - validator_.VerifyExpectedTimings();
|
| + fake_ipc_sender_.VerifyExpectedTimings();
|
|
|
| // Send an updated PageLoadTiming after the timer for the first send request
|
| - // has fired, and verify that a second timing is sent.
|
| + // has fired, and verify that a second IPC is sent.
|
| timing.document_timing->load_event_start = load_event;
|
| metrics_sender_->Send(timing.Clone());
|
| ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
|
| - validator_.ExpectPageLoadTiming(timing);
|
| + fake_ipc_sender_.ExpectPageLoadTiming(timing);
|
| metrics_sender_->mock_timer()->Fire();
|
| EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
|
| }
|
|
|
| -TEST_F(PageTimingMetricsSenderTest, SendTimingOnDestructor) {
|
| +TEST_F(PageTimingMetricsSenderTest, SendIPCOnDestructor) {
|
| mojom::PageLoadTiming timing;
|
| - InitPageLoadTimingForTest(&timing);
|
| + page_load_metrics::InitPageLoadTimingForTest(&timing);
|
| timing.navigation_start = base::Time::FromDoubleT(10);
|
| timing.document_timing->first_layout = base::TimeDelta::FromMilliseconds(10);
|
|
|
| @@ -129,7 +130,7 @@
|
| // destructor. The EXPECT_CALL will be satisfied when the |metrics_sender_|
|
| // is destroyed below.
|
| metrics_sender_->Send(timing.Clone());
|
| - validator_.ExpectPageLoadTiming(timing);
|
| + fake_ipc_sender_.ExpectPageLoadTiming(timing);
|
| ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
|
|
|
| // Destroy |metrics_sender_|, in order to force its destructor to run.
|
|
|