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

Side by Side Diff: chrome/browser/page_load_metrics/observers/resource_tracking_page_load_metrics_observer_unittest.cc

Issue 2780003003: Send an event to the page load metrics to track resource starting. (Closed)
Patch Set: Fix browser tests Created 3 years, 8 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/page_load_metrics/observers/resource_tracking_page_load _metrics_observer.h"
6
7 #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_ test_harness.h"
8
9 namespace {
10 // const char kFakeUrl[] = "http://www.google.com/nothingotseehere.html";
RyanSturm 2017/04/14 20:08:43 Switch back to using the commented out kFakeUrl?
Pete Williamson 2017/04/17 18:53:11 Done (oops, I was planning to fix that before send
11 } // namespace
12
13 namespace page_load_metrics {
14
15 const char kFakeURL[] = "http://www.google.com/nothingotseehere.html";
16
17 class ResourceTrackingPageLoadMetricsObserverTest
18 : public page_load_metrics::PageLoadMetricsObserverTestHarness {
19 public:
20 ResourceTrackingPageLoadMetricsObserverTest() : observer_(nullptr) {}
21
22 protected:
23 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override {
24 std::unique_ptr<page_load_metrics::ResourceTrackingPageLoadMetricsObserver>
25 observer(
26 new page_load_metrics::ResourceTrackingPageLoadMetricsObserver());
27 // Keep track of the observer pointer so we can check it in the unit test.
28 observer_ = observer.get();
29 tracker->AddObserver(std::move(observer));
30 }
31
32 void SetUp() override {
33 page_load_metrics::PageLoadMetricsObserverTestHarness::SetUp();
34 }
35
36 page_load_metrics::ResourceTrackingPageLoadMetricsObserver* observer() {
37 return observer_;
38 }
39
40 private:
41 page_load_metrics::ResourceTrackingPageLoadMetricsObserver* observer_;
42 };
43
44 TEST_F(ResourceTrackingPageLoadMetricsObserverTest, StartAndFinish) {
45 page_load_metrics::ExtraRequestStartInfo start_info_1{
46 content::ResourceType::RESOURCE_TYPE_IMAGE};
47
48 page_load_metrics::ExtraRequestStartInfo start_info_2{
49 content::ResourceType::RESOURCE_TYPE_IMAGE};
50
51 page_load_metrics::ExtraRequestCompleteInfo done_info = {
52 false /*was_cached*/, 1024 * 40 /* raw_body_bytes */,
53 false /* data_reduction_proxy_used*/,
54 1024 * 40 /* original_network_content_length */,
55 content::ResourceType::RESOURCE_TYPE_IMAGE};
56
57 // Start the navigation. This will create the page load tracker and register
58 // the observers.
59 NavigateAndCommit(GURL(kFakeURL));
60
61 // Simulate starting two images, and completing one.
62 SimulateStartedResource(start_info_1);
63 SimulateStartedResource(start_info_2);
64 SimulateLoadedResource(done_info);
65
66 int64_t started = -1;
67 int64_t completed = -1;
68 EXPECT_NE(nullptr, observer());
69 observer()->GetCountsForType(content::ResourceType::RESOURCE_TYPE_IMAGE,
70 started, completed);
71 EXPECT_EQ(2, started);
72 EXPECT_EQ(1, completed);
73 }
74
75 } // namespace page_load_metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698