Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3600)

Unified Diff: chrome/renderer/page_load_metrics/page_timing_metrics_sender_unittest.cc

Issue 2823523003: [Page Load Metrics] PageLoadMetrics Mojofication. (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 b753590c37ddd5907cea827305ff0a8b1fb0ebe1..a585f7817e3f1726272388db8bac8c4b1b6053c3 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,9 +6,8 @@
#include "base/time/time.h"
#include "base/timer/mock_timer.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 "chrome/common/page_load_metrics/page_load_metrics.mojom.h"
+#include "chrome/renderer/page_load_metrics/fake_page_timing_sender.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace page_load_metrics {
@@ -17,11 +16,11 @@ namespace page_load_metrics {
// MockTimer instance.
class TestPageTimingMetricsSender : public PageTimingMetricsSender {
public:
- explicit TestPageTimingMetricsSender(IPC::Sender* ipc_sender,
- mojom::PageLoadTimingPtr initial_timing)
+ explicit TestPageTimingMetricsSender(
+ std::unique_ptr<PageTimingSender> page_timing_sender,
+ mojom::PageLoadTimingPtr initial_timing)
: PageTimingMetricsSender(
- ipc_sender,
- MSG_ROUTING_NONE,
+ std::move(page_timing_sender),
std::unique_ptr<base::Timer>(new base::MockTimer(false, false)),
std::move(initial_timing)) {}
@@ -33,12 +32,12 @@ class TestPageTimingMetricsSender : public PageTimingMetricsSender {
class PageTimingMetricsSenderTest : public testing::Test {
public:
PageTimingMetricsSenderTest()
- : metrics_sender_(
- new TestPageTimingMetricsSender(&fake_ipc_sender_,
- mojom::PageLoadTiming::New())) {}
+ : metrics_sender_(new TestPageTimingMetricsSender(
+ base::MakeUnique<FakePageTimingSender>(&validator_),
+ mojom::PageLoadTiming::New())) {}
protected:
- FakePageTimingMetricsIPCSender fake_ipc_sender_;
+ FakePageTimingSender::PageTimingValidator validator_;
std::unique_ptr<TestPageTimingMetricsSender> metrics_sender_;
};
@@ -47,20 +46,20 @@ TEST_F(PageTimingMetricsSenderTest, Basic) {
base::TimeDelta first_layout = base::TimeDelta::FromMillisecondsD(2);
mojom::PageLoadTiming timing;
- page_load_metrics::InitPageLoadTimingForTest(&timing);
+ 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 OnTimingUpdated IPC.
- fake_ipc_sender_.ExpectPageLoadTiming(timing);
+ // Firing the timer should trigger sending of an SendTiming call.
+ validator_.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 PageLoadTiming IPC.
- fake_ipc_sender_.VerifyExpectedTimings();
+ // At this point, we should have triggered the send of the SendTiming call.
+ validator_.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.
@@ -68,13 +67,13 @@ TEST_F(PageTimingMetricsSenderTest, Basic) {
EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
}
-TEST_F(PageTimingMetricsSenderTest, CoalesceMultipleIPCs) {
+TEST_F(PageTimingMetricsSenderTest, CoalesceMultipleTimings) {
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;
- page_load_metrics::InitPageLoadTimingForTest(&timing);
+ InitPageLoadTimingForTest(&timing);
timing.navigation_start = nav_start;
timing.document_timing->first_layout = first_layout;
@@ -86,43 +85,43 @@ TEST_F(PageTimingMetricsSenderTest, CoalesceMultipleIPCs) {
timing.document_timing->load_event_start = load_event;
metrics_sender_->Send(timing.Clone());
- // Firing the timer should trigger sending of the OnTimingUpdated IPC with
+ // Firing the timer should trigger sending of the SendTiming call with
// the most recently provided PageLoadTiming instance.
- fake_ipc_sender_.ExpectPageLoadTiming(timing);
+ validator_.ExpectPageLoadTiming(timing);
metrics_sender_->mock_timer()->Fire();
EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
}
-TEST_F(PageTimingMetricsSenderTest, MultipleIPCs) {
+TEST_F(PageTimingMetricsSenderTest, MultipleTimings) {
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;
- page_load_metrics::InitPageLoadTimingForTest(&timing);
+ 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());
- fake_ipc_sender_.ExpectPageLoadTiming(timing);
+ validator_.ExpectPageLoadTiming(timing);
metrics_sender_->mock_timer()->Fire();
EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
- fake_ipc_sender_.VerifyExpectedTimings();
+ validator_.VerifyExpectedTimings();
// Send an updated PageLoadTiming after the timer for the first send request
- // has fired, and verify that a second IPC is sent.
+ // has fired, and verify that a second timing is sent.
timing.document_timing->load_event_start = load_event;
metrics_sender_->Send(timing.Clone());
ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
- fake_ipc_sender_.ExpectPageLoadTiming(timing);
+ validator_.ExpectPageLoadTiming(timing);
metrics_sender_->mock_timer()->Fire();
EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
}
-TEST_F(PageTimingMetricsSenderTest, SendIPCOnDestructor) {
+TEST_F(PageTimingMetricsSenderTest, SendTimingOnDestructor) {
mojom::PageLoadTiming timing;
- page_load_metrics::InitPageLoadTimingForTest(&timing);
+ InitPageLoadTimingForTest(&timing);
timing.navigation_start = base::Time::FromDoubleT(10);
timing.document_timing->first_layout = base::TimeDelta::FromMilliseconds(10);
@@ -130,7 +129,7 @@ TEST_F(PageTimingMetricsSenderTest, SendIPCOnDestructor) {
// destructor. The EXPECT_CALL will be satisfied when the |metrics_sender_|
// is destroyed below.
metrics_sender_->Send(timing.Clone());
- fake_ipc_sender_.ExpectPageLoadTiming(timing);
+ validator_.ExpectPageLoadTiming(timing);
ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
// Destroy |metrics_sender_|, in order to force its destructor to run.

Powered by Google App Engine
This is Rietveld 408576698