Add a keyboard shortcut [v] for toggling side-by-side / unified view.

Bug: Issue 7557
Change-Id: Ieae237f9bb1d2d614147d362f1b3478c0968ff2f
diff --git a/polygerrit-ui/app/elements/core/gr-keyboard-shortcuts-dialog/gr-keyboard-shortcuts-dialog.html b/polygerrit-ui/app/elements/core/gr-keyboard-shortcuts-dialog/gr-keyboard-shortcuts-dialog.html
index 202093a..ca24bb0 100644
--- a/polygerrit-ui/app/elements/core/gr-keyboard-shortcuts-dialog/gr-keyboard-shortcuts-dialog.html
+++ b/polygerrit-ui/app/elements/core/gr-keyboard-shortcuts-dialog/gr-keyboard-shortcuts-dialog.html
@@ -486,6 +486,12 @@
             <td><span class="key">,</span></td>
             <td>Show diff preferences</td>
           </tr>
+         <tr>
+            <td>
+              <span class="key">v</span>
+            </td>
+            <td>Toggle Unified/Side-by-side diff</td>
+          </tr>
         </tbody>
       </table>
     </main>
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
index de9905a..8bf492e 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.js
@@ -182,6 +182,7 @@
       'a shift+a': '_handleAKey',
       'u': '_handleUKey',
       ',': '_handleCommaKey',
+      'v': '_handleVKey',
     },
 
     attached() {
@@ -421,6 +422,18 @@
       this.$.diffPreferences.open();
     },
 
+    _handleVKey(e) {
+      if (this.shouldSuppressKeyboardShortcut(e) ||
+          this.modifierPressed(e)) { return; }
+
+      e.preventDefault();
+      if (this.changeViewState.diffMode=='SIDE_BY_SIDE') {
+        this.set('changeViewState.diffMode', 'UNIFIED_DIFF');
+      } else {
+        this.set('changeViewState.diffMode', 'SIDE_BY_SIDE');
+      }
+    },
+
     _navToChangeView() {
       if (!this._changeNum || !this._patchRange.patchNum) { return; }
       this._navigateToChange(