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

Side by Side Diff: chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc

Issue 2189543002: Notify page load metrics when the app enters the background. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@clankbackgroundcallback
Patch Set: rename method Created 4 years, 4 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
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #include "base/macros.h" 5 #include "base/macros.h"
6 #include "base/test/histogram_tester.h" 6 #include "base/test/histogram_tester.h"
7 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
7 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse rver.h" 8 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse rver.h"
8 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me trics_observer.h" 9 #include "chrome/browser/page_load_metrics/observers/document_write_page_load_me trics_observer.h"
10 #include "chrome/browser/ui/browser.h"
11 #include "chrome/browser/ui/tabs/tab_strip_model.h"
9 #include "chrome/common/url_constants.h" 12 #include "chrome/common/url_constants.h"
10 #include "chrome/test/base/in_process_browser_test.h" 13 #include "chrome/test/base/in_process_browser_test.h"
11 #include "chrome/test/base/ui_test_utils.h" 14 #include "chrome/test/base/ui_test_utils.h"
12 #include "net/test/embedded_test_server/embedded_test_server.h" 15 #include "net/test/embedded_test_server/embedded_test_server.h"
13 16
14 class MetricsWebContentsObserverBrowserTest : public InProcessBrowserTest { 17 class MetricsWebContentsObserverBrowserTest : public InProcessBrowserTest {
15 public: 18 public:
16 MetricsWebContentsObserverBrowserTest() {} 19 MetricsWebContentsObserverBrowserTest() {}
17 ~MetricsWebContentsObserverBrowserTest() override {} 20 ~MetricsWebContentsObserverBrowserTest() override {}
18 21
19 protected: 22 protected:
20 void NavigateToUntrackedUrl() { 23 void NavigateToUntrackedUrl() {
21 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); 24 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
22 } 25 }
23 26
24 base::HistogramTester histogram_tester_; 27 base::HistogramTester histogram_tester_;
25 28
26 DISALLOW_COPY_AND_ASSIGN(MetricsWebContentsObserverBrowserTest); 29 DISALLOW_COPY_AND_ASSIGN(MetricsWebContentsObserverBrowserTest);
27 }; 30 };
28 31
29 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, NoNavigation) { 32 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, NoNavigation) {
30 ASSERT_TRUE(embedded_test_server()->Start()); 33 ASSERT_TRUE(embedded_test_server()->Start());
31 34
32 histogram_tester_.ExpectTotalCount(internal::kHistogramCommit, 0); 35 histogram_tester_.ExpectTotalCount(internal::kHistogramCommit, 0);
33 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 0); 36 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 0);
34 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 0); 37 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 0);
35 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 0); 38 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 0);
36 } 39 }
37 40
41 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, GetAllObservers) {
42 ASSERT_TRUE(embedded_test_server()->Start());
43
44 ASSERT_FALSE(
45 page_load_metrics::MetricsWebContentsObserver::GetAllObservers().empty());
46
47 TabStripModel* tab_strip_model = browser()->tab_strip_model();
48 content::WebContentsDestroyedWatcher destroyed_watcher(
49 tab_strip_model->GetActiveWebContents());
50 tab_strip_model->CloseAllTabs();
51 destroyed_watcher.Wait();
52
53 ASSERT_TRUE(
54 page_load_metrics::MetricsWebContentsObserver::GetAllObservers().empty());
55 }
56
38 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, NewPage) { 57 IN_PROC_BROWSER_TEST_F(MetricsWebContentsObserverBrowserTest, NewPage) {
39 ASSERT_TRUE(embedded_test_server()->Start()); 58 ASSERT_TRUE(embedded_test_server()->Start());
40 59
41 ui_test_utils::NavigateToURL(browser(), 60 ui_test_utils::NavigateToURL(browser(),
42 embedded_test_server()->GetURL("/title1.html")); 61 embedded_test_server()->GetURL("/title1.html"));
43 NavigateToUntrackedUrl(); 62 NavigateToUntrackedUrl();
44 63
45 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 1); 64 histogram_tester_.ExpectTotalCount(internal::kHistogramDomContentLoaded, 1);
46 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 1); 65 histogram_tester_.ExpectTotalCount(internal::kHistogramLoad, 1);
47 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 1); 66 histogram_tester_.ExpectTotalCount(internal::kHistogramFirstLayout, 1);
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 ASSERT_TRUE(embedded_test_server()->Start()); 233 ASSERT_TRUE(embedded_test_server()->Start());
215 234
216 ui_test_utils::NavigateToURL( 235 ui_test_utils::NavigateToURL(
217 browser(), embedded_test_server()->GetURL( 236 browser(), embedded_test_server()->GetURL(
218 "/page_load_metrics/document_write_no_script.html")); 237 "/page_load_metrics/document_write_no_script.html"));
219 NavigateToUntrackedUrl(); 238 NavigateToUntrackedUrl();
220 239
221 histogram_tester_.ExpectTotalCount( 240 histogram_tester_.ExpectTotalCount(
222 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0); 241 internal::kHistogramDocWriteBlockParseStartToFirstContentfulPaint, 0);
223 } 242 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698