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

Unified Diff: chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc

Issue 2681193003: Page load metrics observers cleanup (Closed)
Patch Set: address comment Created 3 years, 10 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/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
diff --git a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
index 9a87792b8ad8032c1fc491d0db18d7bfbedf2933..48cc20a226b8852349ead7d245fdb4a07fbe11ac 100644
--- a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
+++ b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h"
#include <memory>
+#include <string>
#include "base/macros.h"
#include "base/memory/ptr_util.h"
@@ -40,6 +41,18 @@ class TestPageLoadMetricsEmbedderInterface
DISALLOW_COPY_AND_ASSIGN(TestPageLoadMetricsEmbedderInterface);
};
+base::Optional<base::TimeDelta> OptionalMin(
+ const base::Optional<base::TimeDelta>& a,
+ const base::Optional<base::TimeDelta>& b) {
+ if (a && !b)
+ return a;
+ if (b && !a)
+ return b;
+ if (!a && !b)
+ return a; // doesn't matter which
+ return base::Optional<base::TimeDelta>(std::min(a.value(), b.value()));
+}
+
} // namespace
PageLoadMetricsObserverTestHarness::PageLoadMetricsObserverTestHarness()
@@ -50,17 +63,17 @@ PageLoadMetricsObserverTestHarness::~PageLoadMetricsObserverTestHarness() {}
// static
void PageLoadMetricsObserverTestHarness::PopulateRequiredTimingFields(
PageLoadTiming* inout_timing) {
- if (inout_timing->first_meaningful_paint && !inout_timing->first_paint) {
- inout_timing->first_paint = inout_timing->first_meaningful_paint;
- }
- if (inout_timing->first_contentful_paint && !inout_timing->first_paint) {
- inout_timing->first_paint = inout_timing->first_contentful_paint;
+ if (inout_timing->first_meaningful_paint &&
+ !inout_timing->first_contentful_paint) {
+ inout_timing->first_contentful_paint = inout_timing->first_meaningful_paint;
}
- if (inout_timing->first_text_paint && !inout_timing->first_paint) {
- inout_timing->first_paint = inout_timing->first_text_paint;
- }
- if (inout_timing->first_image_paint && !inout_timing->first_paint) {
- inout_timing->first_paint = inout_timing->first_image_paint;
+ if ((inout_timing->first_text_paint || inout_timing->first_image_paint ||
+ inout_timing->first_contentful_paint) &&
+ !inout_timing->first_paint) {
+ inout_timing->first_paint =
+ OptionalMin(OptionalMin(inout_timing->first_text_paint,
+ inout_timing->first_image_paint),
+ inout_timing->first_contentful_paint);
}
if (inout_timing->first_paint && !inout_timing->first_layout) {
inout_timing->first_layout = inout_timing->first_paint;
@@ -133,6 +146,14 @@ void PageLoadMetricsObserverTestHarness::SimulateTimingAndMetadataUpdate(
web_contents()->GetMainFrame());
}
+void PageLoadMetricsObserverTestHarness::SimulateLoadedResource(
+ const ExtraRequestInfo& info) {
+ observer_->OnRequestComplete(
+ content::GlobalRequestID(), content::RESOURCE_TYPE_SCRIPT,
+ info.was_cached, info.data_reduction_proxy_used, info.raw_body_bytes,
+ info.original_network_content_length, base::TimeTicks::Now());
+}
+
void PageLoadMetricsObserverTestHarness::SimulateInputEvent(
const blink::WebInputEvent& event) {
observer_->OnInputEvent(event);

Powered by Google App Engine
This is Rietveld 408576698