| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_PAGE_LOAD_METRICS_OBSERVER_TE
ST_HARNESS_H_ | 5 #ifndef CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_PAGE_LOAD_METRICS_OBSERVER_TE
ST_HARNESS_H_ |
| 6 #define CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_PAGE_LOAD_METRICS_OBSERVER_TE
ST_HARNESS_H_ | 6 #define CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_PAGE_LOAD_METRICS_OBSERVER_TE
ST_HARNESS_H_ |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/test/histogram_tester.h" | 9 #include "base/test/histogram_tester.h" |
| 10 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" | 10 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 // an observer, override RegisterObservers and call tracker->AddObserver. This | 21 // an observer, override RegisterObservers and call tracker->AddObserver. This |
| 22 // will attach the observer to all main frame navigations. | 22 // will attach the observer to all main frame navigations. |
| 23 class PageLoadMetricsObserverTestHarness | 23 class PageLoadMetricsObserverTestHarness |
| 24 : public ChromeRenderViewHostTestHarness { | 24 : public ChromeRenderViewHostTestHarness { |
| 25 public: | 25 public: |
| 26 PageLoadMetricsObserverTestHarness(); | 26 PageLoadMetricsObserverTestHarness(); |
| 27 ~PageLoadMetricsObserverTestHarness() override; | 27 ~PageLoadMetricsObserverTestHarness() override; |
| 28 | 28 |
| 29 // Helper that fills in any timing fields that MWCO requires but that are | 29 // Helper that fills in any timing fields that MWCO requires but that are |
| 30 // currently missing. | 30 // currently missing. |
| 31 static void PopulateRequiredTimingFields(PageLoadTiming* inout_timing); | 31 static void PopulateRequiredTimingFields(mojom::PageLoadTiming* inout_timing); |
| 32 | 32 |
| 33 void SetUp() override; | 33 void SetUp() override; |
| 34 | 34 |
| 35 virtual void RegisterObservers(PageLoadTracker* tracker) {} | 35 virtual void RegisterObservers(PageLoadTracker* tracker) {} |
| 36 | 36 |
| 37 // Simulates starting a navigation to the given gurl, without committing the | 37 // Simulates starting a navigation to the given gurl, without committing the |
| 38 // navigation. | 38 // navigation. |
| 39 void StartNavigation(const GURL& gurl); | 39 void StartNavigation(const GURL& gurl); |
| 40 | 40 |
| 41 // Simulates committing a navigation to the given URL with the given | 41 // Simulates committing a navigation to the given URL with the given |
| 42 // PageTransition. | 42 // PageTransition. |
| 43 void NavigateWithPageTransitionAndCommit(const GURL& url, | 43 void NavigateWithPageTransitionAndCommit(const GURL& url, |
| 44 ui::PageTransition transition); | 44 ui::PageTransition transition); |
| 45 | 45 |
| 46 // Navigates to a URL that is not tracked by page_load_metrics. Useful for | 46 // Navigates to a URL that is not tracked by page_load_metrics. Useful for |
| 47 // forcing the OnComplete method of a PageLoadMetricsObserver to run. | 47 // forcing the OnComplete method of a PageLoadMetricsObserver to run. |
| 48 void NavigateToUntrackedUrl() { | 48 void NavigateToUntrackedUrl() { |
| 49 NavigateAndCommit(GURL(url::kAboutBlankURL)); | 49 NavigateAndCommit(GURL(url::kAboutBlankURL)); |
| 50 } | 50 } |
| 51 | 51 |
| 52 // Call this to simulate sending a PageLoadTiming IPC from the render process | 52 // Call this to simulate sending a PageLoadTiming IPC from the render process |
| 53 // to the browser process. These will update the timing information for the | 53 // to the browser process. These will update the timing information for the |
| 54 // most recently committed navigation. | 54 // most recently committed navigation. |
| 55 void SimulateTimingUpdate(const PageLoadTiming& timing); | 55 void SimulateTimingUpdate(const mojom::PageLoadTiming& timing); |
| 56 void SimulateTimingAndMetadataUpdate(const PageLoadTiming& timing, | 56 void SimulateTimingAndMetadataUpdate(const mojom::PageLoadTiming& timing, |
| 57 const PageLoadMetadata& metadata); | 57 const mojom::PageLoadMetadata& metadata); |
| 58 | 58 |
| 59 // Simulates a loaded resource. | 59 // Simulates a loaded resource. |
| 60 void SimulateStartedResource(const ExtraRequestStartInfo& info); | 60 void SimulateStartedResource(const ExtraRequestStartInfo& info); |
| 61 | 61 |
| 62 // Simulates a loaded resource. | 62 // Simulates a loaded resource. |
| 63 void SimulateLoadedResource(const ExtraRequestCompleteInfo& info); | 63 void SimulateLoadedResource(const ExtraRequestCompleteInfo& info); |
| 64 | 64 |
| 65 // Simulates a user input. | 65 // Simulates a user input. |
| 66 void SimulateInputEvent(const blink::WebInputEvent& event); | 66 void SimulateInputEvent(const blink::WebInputEvent& event); |
| 67 | 67 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 79 private: | 79 private: |
| 80 base::HistogramTester histogram_tester_; | 80 base::HistogramTester histogram_tester_; |
| 81 MetricsWebContentsObserver* observer_; | 81 MetricsWebContentsObserver* observer_; |
| 82 | 82 |
| 83 DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsObserverTestHarness); | 83 DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsObserverTestHarness); |
| 84 }; | 84 }; |
| 85 | 85 |
| 86 } // namespace page_load_metrics | 86 } // namespace page_load_metrics |
| 87 | 87 |
| 88 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_PAGE_LOAD_METRICS_OBSERVER
_TEST_HARNESS_H_ | 88 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_OBSERVERS_PAGE_LOAD_METRICS_OBSERVER
_TEST_HARNESS_H_ |
| OLD | NEW |