Add findings to the primary tabs

Screenshot: https://imgur.com/a/lXlFseh

Change-Id: Id53ff79fc0a640fb01578a467d2b9468ddffdd68
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
index bd21015..51fabe8 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
@@ -535,23 +535,25 @@
         </div>
       </section>
 
-      <section class="patchInfo">
-        <template is="dom-if" if="[[_showPrimaryTabs]]">
-          <paper-tabs id="primaryTabs" on-selected-changed="_handleFileTabChange">
-            <paper-tab data-name$="[[_files_tab_name]]">Files</paper-tab>
-            <template is="dom-repeat" items="[[_dynamicTabHeaderEndpoints]]"
-              as="tabHeader">
-              <paper-tab data-name$="[[tabHeader]]">
-                  <gr-endpoint-decorator name$="[[tabHeader]]">
-                      <gr-endpoint-param name="change" value="[[_change]]">
-                      </gr-endpoint-param>
-                      <gr-endpoint-param name="revision" value="[[_selectedRevision]]">
-                      </gr-endpoint-param>
-                  </gr-endpoint-decorator>
-              </paper-tab>
-            </template>
-          </paper-tabs>
+      <paper-tabs id="primaryTabs" on-selected-changed="_handleFileTabChange">
+        <paper-tab data-name$="[[_files_tab_name]]">Files</paper-tab>
+        <template is="dom-repeat" items="[[_dynamicTabHeaderEndpoints]]"
+          as="tabHeader">
+          <paper-tab data-name$="[[tabHeader]]">
+              <gr-endpoint-decorator name$="[[tabHeader]]">
+                  <gr-endpoint-param name="change" value="[[_change]]">
+                  </gr-endpoint-param>
+                  <gr-endpoint-param name="revision" value="[[_selectedRevision]]">
+                  </gr-endpoint-param>
+              </gr-endpoint-decorator>
+          </paper-tab>
         </template>
+        <paper-tab data-name$="[[_findings_tab_name]]">
+          Findings
+        </paper-tab>
+      </paper-tabs>
+
+      <section class="patchInfo">
         <div hidden$="[[!_findIfTabMatches(_currentTabName, _files_tab_name)]]">
           <gr-file-list-header
             id="fileListHeader"
@@ -573,15 +575,14 @@
             base-patch-num="{{_patchRange.basePatchNum}}"
             files-expanded="[[_filesExpanded]]"
             diff-prefs-disabled="[[_diffPrefsDisabled]]"
-            show-title="[[!_showPrimaryTabs]]"
             on-open-diff-prefs="_handleOpenDiffPrefs"
             on-open-download-dialog="_handleOpenDownloadDialog"
             on-open-upload-help-dialog="_handleOpenUploadHelpDialog"
             on-open-included-in-dialog="_handleOpenIncludedInDialog"
             on-expand-diffs="_expandAllDiffs"
             on-collapse-diffs="_collapseAllDiffs">
-        </gr-file-list-header>
-        <gr-file-list
+          </gr-file-list-header>
+          <gr-file-list
             id="fileList"
             class="hideOnMobileOverlay"
             diff-prefs="{{_diffPrefs}}"
@@ -600,9 +601,27 @@
             file-list-increment="{{_numFilesShown}}"
             on-files-shown-changed="_setShownFiles"
             on-file-action-tap="_handleFileActionTap"
-            on-reload-drafts="_reloadDraftsWithCallback"></gr-file-list>
+            on-reload-drafts="_reloadDraftsWithCallback">
+          </gr-file-list>
         </div>
 
+        <template is="dom-if" if="[[_findIfTabMatches(_currentTabName, _findings_tab_name)]]">
+          <gr-dropdown-list
+            class="patch-set-dropdown"
+            items="[[_robotCommentsPatchSetDropdownItems]]"
+            on-value-change="_handleRobotCommentPatchSetChanged"
+            value="[[_currentRobotCommentsPatchSet]]">
+          </gr-dropdown-list>
+          <gr-thread-list
+              threads="[[_robotCommentThreads]]"
+              change="[[_change]]"
+              change-num="[[_changeNum]]"
+              logged-in="[[_loggedIn]]"
+              comment-tab="[[_currentView]]"
+              hide-toggle-buttons
+              on-thread-list-modified="_handleReloadDiffComments"></gr-thread-list>
+        </template>
+
         <template is="dom-if" if="[[_findIfTabMatches(_currentTabName, _selectedTabPluginHeader)]]">
           <gr-endpoint-decorator name$="[[_selectedTabPluginEndpoint]]">
             <gr-endpoint-param name="change" value="[[_change]]">
@@ -631,9 +650,7 @@
               title$="[[_computeTotalCommentCounts(_change.unresolved_comment_count, _changeComments)]]">
             <span>Comment Threads</span></gr-tooltip-content>
         </paper-tab>
-        <paper-tab class="robotComments">Findings</paper-tab>
       </paper-tabs>
-
       <section class="changeLog">
         <template is="dom-if" if="[[_isSelectedView(_currentView,
           _commentTabs.CHANGE_LOG)]]">
@@ -660,23 +677,6 @@
               only-show-robot-comments-with-human-reply
               on-thread-list-modified="_handleReloadDiffComments"></gr-thread-list>
         </template>
-        <template is="dom-if" if="[[_isSelectedView(_currentView,
-          _commentTabs.ROBOT_COMMENTS)]]">
-          <gr-dropdown-list
-            class="patch-set-dropdown"
-            items="[[_robotCommentsPatchSetDropdownItems]]"
-            on-value-change="_handleRobotCommentPatchSetChanged"
-            value="[[_currentRobotCommentsPatchSet]]">
-          </gr-dropdown-list>
-          <gr-thread-list
-              threads="[[_robotCommentThreads]]"
-              change="[[_change]]"
-              change-num="[[_changeNum]]"
-              logged-in="[[_loggedIn]]"
-              comment-tab="[[_currentView]]"
-              hide-toggle-buttons
-              on-thread-list-modified="_handleReloadDiffComments"></gr-thread-list>
-        </template>
       </section>
     </div>
 
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
index b55d964..8550a9d 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.js
@@ -68,7 +68,9 @@
   const CHANGE_DATA_TIMING_LABEL = 'ChangeDataLoaded';
   const CHANGE_RELOAD_TIMING_LABEL = 'ChangeReloaded';
   const SEND_REPLY_TIMING_LABEL = 'SendReply';
-  const FILES_TAB_NAME = 'files';
+  // Making the tab names more unique in case a plugin adds one with same name
+  const FILES_TAB_NAME = '__gerrit_internal_files';
+  const FINDINGS_TAB_NAME = '__gerrit_internal_findings';
 
   /**
    * @appliesMixin Gerrit.FireMixin
@@ -315,10 +317,6 @@
         _dynamicTabHeaderEndpoints: {
           type: Array,
         },
-        _showPrimaryTabs: {
-          type: Boolean,
-          computed: '_computeShowPrimaryTabs(_dynamicTabHeaderEndpoints)',
-        },
         /** @type {Array<string>} */
         _dynamicTabContentEndpoints: {
           type: Array,
@@ -343,6 +341,10 @@
           type: String,
           value: FILES_TAB_NAME,
         },
+        _findings_tab_name: {
+          type: String,
+          value: FINDINGS_TAB_NAME,
+        },
         _currentTabName: {
           type: String,
           value: FILES_TAB_NAME,
@@ -1111,10 +1113,6 @@
       return 'PARENT';
     }
 
-    _computeShowPrimaryTabs(dynamicTabHeaderEndpoints) {
-      return dynamicTabHeaderEndpoints && dynamicTabHeaderEndpoints.length > 0;
-    }
-
     _computeChangeUrl(change) {
       return Gerrit.Nav.getUrlForChange(change);
     }
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
index 3fe8faf..9b40f3e 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.html
@@ -330,7 +330,8 @@
         assert(element._dynamicTabHeaderEndpoints.includes(
             'change-view-tab-header-url'));
         const paperTabs = element.shadowRoot.querySelector('#primaryTabs');
-        assert.equal(paperTabs.querySelectorAll('paper-tab').length, 2);
+        // 3 Tabs are : Files, Plugin, Findings
+        assert.equal(paperTabs.querySelectorAll('paper-tab').length, 3);
         assert.equal(paperTabs.querySelectorAll('paper-tab')[1].dataset.name,
             'change-view-tab-header-url');
       });
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
index 600f2ab..79f6c50 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.html
@@ -154,10 +154,6 @@
     </style>
     <div class$="patchInfo-header [[_computeEditModeClass(editMode)]] [[_computePatchInfoClass(patchNum, allPatchSets)]]">
       <div class="patchInfo-left">
-        <template is="dom-if"
-            if="[[showTitle]]">
-          <h3 class="label">Files</h3>
-        </template>
         <div class="patchInfoContent">
           <gr-patch-range-select
               id="rangeSelect"
diff --git a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js
index eb7c1f9..34e1cfa 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js
+++ b/polygerrit-ui/app/elements/change/gr-file-list-header/gr-file-list-header.js
@@ -93,10 +93,6 @@
           type: String,
           value: '',
         },
-        showTitle: {
-          type: Boolean,
-          value: true,
-        },
         _descriptionReadOnly: {
           type: Boolean,
           computed: '_computeDescriptionReadOnly(loggedIn, change, account)',