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

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

Issue 2857063002: Add a way to send the resource percentage signal to the RC. (Closed)
Patch Set: Turn off other metrics which might require tab helpers when background loading 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/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc
diff --git a/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc
index 73611a0e1356f36cb57b75fb400145631bba66c3..f44468efe1038d35607008a6e817892958878da4 100644
--- a/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc
@@ -4,7 +4,11 @@
#include "chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer.h"
+#include "chrome/browser/offline_pages/offliner_user_data.h"
#include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h"
+#include "components/offline_pages/core/background/offliner_stub.h"
+#include "components/offline_pages/core/background/resource_tracker_observer.h"
+#include "components/offline_pages/core/background/resource_tracker_observer_stub.h"
namespace {
const char kFakeUrl[] = "http://www.google.com/nothingotseehere.html";
@@ -15,13 +19,15 @@ namespace page_load_metrics {
class ResourceTrackingPageLoadMetricsObserverTest
: public page_load_metrics::PageLoadMetricsObserverTestHarness {
public:
- ResourceTrackingPageLoadMetricsObserverTest() : observer_(nullptr) {}
+ ResourceTrackingPageLoadMetricsObserverTest() : observer_(nullptr) {
+ resource_watcher_.reset(new offline_pages::ResourceTrackerObserverStub);
+ }
protected:
void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override {
std::unique_ptr<page_load_metrics::ResourceTrackingPageLoadMetricsObserver>
- observer(
- new page_load_metrics::ResourceTrackingPageLoadMetricsObserver());
+ observer(new page_load_metrics::ResourceTrackingPageLoadMetricsObserver(
+ resource_watcher()));
// Keep track of the observer pointer so we can check it in the unit test.
observer_ = observer.get();
tracker->AddObserver(std::move(observer));
@@ -31,10 +37,15 @@ class ResourceTrackingPageLoadMetricsObserverTest
return observer_;
}
+ offline_pages::ResourceTrackerObserverStub* resource_watcher() {
+ return resource_watcher_.get();
+ }
+
private:
// observer_ is owned by the last created PageLoadTracker, and its lifetime is
// dictated by that tracker's lifetime.
page_load_metrics::ResourceTrackingPageLoadMetricsObserver* observer_;
+ std::unique_ptr<offline_pages::ResourceTrackerObserverStub> resource_watcher_;
};
TEST_F(ResourceTrackingPageLoadMetricsObserverTest, StartAndFinish) {
@@ -54,6 +65,12 @@ TEST_F(ResourceTrackingPageLoadMetricsObserverTest, StartAndFinish) {
content::ResourceType::RESOURCE_TYPE_IMAGE,
};
+ // Add some OfflinerUserData to the web_contents so that our tracker will
+ // be called.
+ offline_pages::OfflinerStub offliner_stub;
+ offline_pages::OfflinerUserData::AddToWebContents(web_contents(),
+ &offliner_stub);
+
// Start the navigation. This will create the page load tracker and register
// the observers.
NavigateAndCommit(GURL(kFakeUrl));
@@ -63,13 +80,14 @@ TEST_F(ResourceTrackingPageLoadMetricsObserverTest, StartAndFinish) {
SimulateStartedResource(start_info_2);
SimulateLoadedResource(done_info);
- int64_t started = -1;
- int64_t completed = -1;
- EXPECT_NE(nullptr, observer());
- observer()->GetCountsForTypeForTesting(
- content::ResourceType::RESOURCE_TYPE_IMAGE, &started, &completed);
- EXPECT_EQ(2, started);
- EXPECT_EQ(1, completed);
+ int64_t resource_watcher_started = -1;
+ int64_t resource_watcher_completed = -1;
+ ASSERT_NE(nullptr, resource_watcher());
+ resource_watcher()->GetResourcePercentageCounts(
+ offline_pages::ResourceDataType::IMAGE, &resource_watcher_started,
+ &resource_watcher_completed);
+ EXPECT_EQ(2, resource_watcher_started);
+ EXPECT_EQ(1, resource_watcher_completed);
}
} // namespace page_load_metrics

Powered by Google App Engine
This is Rietveld 408576698