Merge "Make checks UI more align with Gerrit"
diff --git a/gr-checks/gr-checks-chip-view.js b/gr-checks/gr-checks-chip-view.js
index c19671d..07ae391 100644
--- a/gr-checks/gr-checks-chip-view.js
+++ b/gr-checks/gr-checks-chip-view.js
@@ -100,7 +100,7 @@
     },
 
     observers: [
-      '_pollChecksRegularly(change, revision, getChecks)',
+      '_pollChecksRegularly(change, getChecks)',
     ],
 
     listeners: {
@@ -115,7 +115,7 @@
                 bubbles: true,
                 composed: true,
                 detail: {
-                  tab: 'change-view-tab-content-checks',
+                  tab: 'change-view-tab-header-checks',
                 },
               })
       );
@@ -123,13 +123,14 @@
 
     /**
      * @param {!Defs.Change} change
-     * @param {!Defs.Revision} revision
      * @param {function(number, number): !Promise<!Object>} getChecks
      */
-    _fetchChecks(change, revision, getChecks) {
-      if (!getChecks || !change || !revision) return;
+    _fetchChecks(change, getChecks) {
+      if (!getChecks || !change) return;
 
-      getChecks(change._number, revision._number).then(checks => {
+      // change.current_revision always points to latest patchset
+      getChecks(change._number, change.revisions[change.current_revision]
+          ._number).then(checks => {
         this.set('_hasChecks', checks.length > 0);
         if (checks.length > 0) {
           this._downgradeFailureToWarning =
@@ -149,14 +150,14 @@
         clearInterval(this.pollChecksInterval);
         return;
       }
-      this._pollChecksRegularly(this.change, this.revision, this.getChecks);
+      this._pollChecksRegularly(this.change, this.getChecks);
     },
 
-    _pollChecksRegularly(change, revision, getChecks) {
+    _pollChecksRegularly(change, getChecks) {
       if (this.pollChecksInterval) {
         clearInterval(this.pollChecksInterval);
       }
-      const poll = () => this._fetchChecks(change, revision, getChecks);
+      const poll = () => this._fetchChecks(change, getChecks);
       poll();
       this.pollChecksInterval = setInterval(poll, CHECKS_POLL_INTERVAL_MS);
       if (!this.visibilityChangeListenerAdded) {
diff --git a/gr-checks/gr-checks-chip-view_test.html b/gr-checks/gr-checks-chip-view_test.html
index e926e60..105227c 100644
--- a/gr-checks/gr-checks-chip-view_test.html
+++ b/gr-checks/gr-checks-chip-view_test.html
@@ -48,6 +48,12 @@
         getChecks: getChecksSpy,
         change: {
           _number: 314,
+          current_revision: 'abcd',
+          revisions: {
+            abcd: {
+              _number: 271,
+            },
+          },
         },
         revision: {
           _number: 271,
@@ -62,6 +68,14 @@
       assert.include(element.textContent.trim(), 'Checks:');
     });
 
+    test('updating revision does not update getChecks call', done => {
+      element.revision = {_number: 272};
+      flush(() => {
+        assert.isFalse(getChecksSpy.calledWith(314, 272));
+        done();
+      });
+    });
+
     suite('builds chip contents', () => {
       test('queries the checks', () => {
         assert.isTrue(getChecksSpy.called);