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

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

Issue 2874663005: [Page Load Metrics] Add mojom file to page load metrics. (Closed)
Patch Set: 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 3756f33e770e4e1ae738afc5b3060a07513acdb1..6d586ca6ac7741ba478803aa031067ba2801bb2e 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
@@ -17,13 +17,14 @@ namespace page_load_metrics {
// MockTimer instance.
class TestPageTimingMetricsSender : public PageTimingMetricsSender {
public:
- explicit TestPageTimingMetricsSender(IPC::Sender* ipc_sender,
- const PageLoadTiming& initial_timing)
+ explicit TestPageTimingMetricsSender(
+ IPC::Sender* ipc_sender,
+ mojo::StructPtr<PageLoadTiming> initial_timing)
: PageTimingMetricsSender(
ipc_sender,
MSG_ROUTING_NONE,
std::unique_ptr<base::Timer>(new base::MockTimer(false, false)),
- initial_timing) {}
+ std::move(initial_timing)) {}
base::MockTimer* mock_timer() const {
return reinterpret_cast<base::MockTimer*>(timer());
@@ -33,8 +34,9 @@ class TestPageTimingMetricsSender : public PageTimingMetricsSender {
class PageTimingMetricsSenderTest : public testing::Test {
public:
PageTimingMetricsSenderTest()
- : metrics_sender_(new TestPageTimingMetricsSender(&fake_ipc_sender_,
- PageLoadTiming())) {}
+ : metrics_sender_(
+ new TestPageTimingMetricsSender(&fake_ipc_sender_,
+ PageLoadTiming::New())) {}
protected:
FakePageTimingMetricsIPCSender fake_ipc_sender_;
@@ -46,10 +48,11 @@ TEST_F(PageTimingMetricsSenderTest, Basic) {
base::TimeDelta first_layout = base::TimeDelta::FromMillisecondsD(2);
PageLoadTiming timing;
+ page_load_metrics::InitPageLoadTimingForTest(&timing);
timing.navigation_start = nav_start;
- timing.document_timing.first_layout = first_layout;
+ timing.document_timing->first_layout = first_layout;
- metrics_sender_->Send(timing);
+ metrics_sender_->Send(timing.Clone());
// Firing the timer should trigger sending of an OnTimingUpdated IPC.
fake_ipc_sender_.ExpectPageLoadTiming(timing);
@@ -62,7 +65,7 @@ TEST_F(PageTimingMetricsSenderTest, Basic) {
// Attempt to send the same timing instance again. The send should be
// suppressed, since the timing instance hasn't changed since the last send.
- metrics_sender_->Send(timing);
+ metrics_sender_->Send(timing.Clone());
EXPECT_FALSE(metrics_sender_->mock_timer()->IsRunning());
}
@@ -72,16 +75,17 @@ TEST_F(PageTimingMetricsSenderTest, CoalesceMultipleIPCs) {
base::TimeDelta load_event = base::TimeDelta::FromMillisecondsD(4);
PageLoadTiming timing;
+ page_load_metrics::InitPageLoadTimingForTest(&timing);
timing.navigation_start = nav_start;
- timing.document_timing.first_layout = first_layout;
+ timing.document_timing->first_layout = first_layout;
- metrics_sender_->Send(timing);
+ metrics_sender_->Send(timing.Clone());
ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
// Send an updated PageLoadTiming before the timer has fired. When the timer
// fires, the updated PageLoadTiming should be sent.
- timing.document_timing.load_event_start = load_event;
- metrics_sender_->Send(timing);
+ timing.document_timing->load_event_start = load_event;
+ metrics_sender_->Send(timing.Clone());
// Firing the timer should trigger sending of the OnTimingUpdated IPC with
// the most recently provided PageLoadTiming instance.
@@ -96,10 +100,11 @@ TEST_F(PageTimingMetricsSenderTest, MultipleIPCs) {
base::TimeDelta load_event = base::TimeDelta::FromMillisecondsD(4);
PageLoadTiming timing;
+ page_load_metrics::InitPageLoadTimingForTest(&timing);
timing.navigation_start = nav_start;
- timing.document_timing.first_layout = first_layout;
+ timing.document_timing->first_layout = first_layout;
- metrics_sender_->Send(timing);
+ metrics_sender_->Send(timing.Clone());
ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());
fake_ipc_sender_.ExpectPageLoadTiming(timing);
metrics_sender_->mock_timer()->Fire();
@@ -108,8 +113,8 @@ TEST_F(PageTimingMetricsSenderTest, MultipleIPCs) {
// Send an updated PageLoadTiming after the timer for the first send request
// has fired, and verify that a second IPC is sent.
- timing.document_timing.load_event_start = load_event;
- metrics_sender_->Send(timing);
+ 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);
metrics_sender_->mock_timer()->Fire();
@@ -118,13 +123,14 @@ TEST_F(PageTimingMetricsSenderTest, MultipleIPCs) {
TEST_F(PageTimingMetricsSenderTest, SendIPCOnDestructor) {
PageLoadTiming timing;
+ page_load_metrics::InitPageLoadTimingForTest(&timing);
timing.navigation_start = base::Time::FromDoubleT(10);
- timing.document_timing.first_layout = base::TimeDelta::FromMilliseconds(10);
+ timing.document_timing->first_layout = base::TimeDelta::FromMilliseconds(10);
// This test wants to verify behavior in the PageTimingMetricsSender
// destructor. The EXPECT_CALL will be satisfied when the |metrics_sender_|
// is destroyed below.
- metrics_sender_->Send(timing);
+ metrics_sender_->Send(timing.Clone());
fake_ipc_sender_.ExpectPageLoadTiming(timing);
ASSERT_TRUE(metrics_sender_->mock_timer()->IsRunning());

Powered by Google App Engine
This is Rietveld 408576698