Merge "Change page load report to report all navigation and resource timings"
diff --git a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
index 55f8abd..ae5cb67 100644
--- a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
+++ b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
@@ -284,23 +284,17 @@
    */
   appStarted() {
     this.timeEnd(TIMING.APP_STARTED);
-    this.pageLoaded();
+    this._reportNavResTimes();
   },
 
   /**
-   * Page load time and other metrics, should be reported at any time
-   * after navigation.
+   * Browser's navigation and resource timings
    */
-  pageLoaded() {
-    if (this.performanceTiming.loadEventEnd === 0) {
-      console.error('pageLoaded should be called after window.onload');
-      this.async(this.pageLoaded, 100);
-    } else {
-      const perfEvents = Object.keys(this.performanceTiming.toJSON());
-      perfEvents.forEach(
-          eventName => this._reportPerformanceTiming(eventName)
-      );
-    }
+  _reportNavResTimes() {
+    const perfEvents = Object.keys(this.performanceTiming.toJSON());
+    perfEvents.forEach(
+        eventName => this._reportPerformanceTiming(eventName)
+    );
   },
 
   _reportPerformanceTiming(eventName, eventDetails) {
diff --git a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html
index ad9903e..bd1584e 100644
--- a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html
+++ b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html
@@ -79,6 +79,12 @@
         element.reporter.calledWithMatch(
             'timing-report', 'UI Latency', 'App Started', 42
         ));
+    assert.isTrue(
+        element.reporter.calledWithExactly(
+            'timing-report', 'UI Latency', 'NavResTime - loadEventEnd',
+            fakePerformance.loadEventEnd - fakePerformance.navigationStart,
+            undefined, true)
+    );
   });
 
   test('WebComponentsReady', () => {
@@ -89,16 +95,6 @@
     ));
   });
 
-  test('pageLoaded', () => {
-    element.pageLoaded();
-    assert.isTrue(
-        element.reporter.calledWithExactly(
-            'timing-report', 'UI Latency', 'NavResTime - loadEventEnd',
-            fakePerformance.loadEventEnd - fakePerformance.navigationStart,
-            undefined, true)
-    );
-  });
-
   test('beforeLocationChanged', () => {
     element._baselines['garbage'] = 'monster';
     sandbox.stub(element, 'time');