Toggle left diff on Shift+A

Feature: Issue 3926
Change-Id: Ia52334f2aefeae4b3f115e5779da3b61af25ba11
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 3c3536b..d6a3bc0 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
@@ -230,7 +230,13 @@
           }
           break;
         case 65:  // 'a'
-          if (!this._loggedIn) { return; }
+          if (e.shiftKey) { // Hide left diff.
+            e.preventDefault();
+            this.$.diff.toggleLeftDiff();
+            break;
+          }
+
+          if (!this._loggedIn) { break; }
 
           this.set('changeViewState.showReplyDialog', true);
           /* falls through */ // required by JSHint
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
index ede18f6..0a4d6b6 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
@@ -47,6 +47,13 @@
       element = fixture('basic');
     });
 
+    test('toggle left diff with a hotkey', function() {
+      var toggleLeftDiffStub = sinon.stub(element.$.diff, 'toggleLeftDiff');
+      MockInteractions.pressAndReleaseKeyOn(element, 65, 'shift');  // 'a'
+      assert.isTrue(toggleLeftDiffStub.calledOnce);
+      toggleLeftDiffStub.restore();
+    });
+
     test('keyboard shortcuts', function() {
       element._changeNum = '42';
       element._patchRange = {