Commit caf1a9b1 authored by dbeam@chromium.org's avatar dbeam@chromium.org

history: left/right arrow should change focus even when history is read-only.

R=estade@chromium.org
BUG=393489

Review URL: https://codereview.chromium.org/444093003

Cr-Commit-Position: refs/heads/master@{#288421}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288421 0039d316-1c4b-4281-b951-d872f2087c98
parent 6e37c541
......@@ -171,9 +171,10 @@ Visit.prototype.getResultDOM = function(propertyBag) {
entryBox.setAttribute('for', checkbox.id);
entryBox.addEventListener('mousedown', entryBoxMousedown);
entryBox.addEventListener('click', entryBoxClick);
entryBox.addEventListener('keydown', this.handleKeydown_.bind(this));
}
entryBox.addEventListener('keydown', this.handleKeydown_.bind(this));
// Keep track of the drop down that triggered the menu, so we know
// which element to apply the command to.
// TODO(dubroy): Ideally we'd use 'activate', but MenuButton swallows it.
......
......@@ -778,7 +778,7 @@ TEST_F('HistoryWebUIRealBackendTest', 'basic', function() {
});
TEST_F('HistoryWebUIRealBackendTest', 'atLeastOneFocusable', function() {
assertEquals(1, document.querySelectorAll('[tabindex="0"]').length);
expectEquals(1, document.querySelectorAll('[tabindex="0"]').length);
testDone();
});
......@@ -827,6 +827,27 @@ TEST_F('HistoryWebUIRealBackendTest', 'singleDeletion', function() {
});
});
TEST_F('HistoryWebUIRealBackendTest', 'leftRightChangeFocus', function() {
var visit = document.querySelector('.entry').visit;
visit.titleLink.focus();
assertEquals(visit.titleLink, document.activeElement);
var right = document.createEvent('KeyboardEvent');
right.initKeyboardEvent('keydown', true, true, window, 'Right');
assertEquals('Right', right.keyIdentifier);
expectFalse(visit.titleLink.dispatchEvent(right));
assertEquals(visit.dropDown, document.activeElement);
var left = document.createEvent('KeyboardEvent');
left.initKeyboardEvent('keydown', true, true, window, 'Left');
assertEquals('Left', left.keyIdentifier);
expectFalse(visit.dropDown.dispatchEvent(left));
expectEquals(visit.titleLink, document.activeElement);
testDone();
});
/**
* Fixture for History WebUI testing when deletions are prohibited.
* @extends {HistoryWebUIRealBackendTest}
......@@ -868,7 +889,28 @@ TEST_F('HistoryWebUIDeleteProhibitedTest', 'deleteProhibited', function() {
});
TEST_F('HistoryWebUIDeleteProhibitedTest', 'atLeastOneFocusable', function() {
assertEquals(1, document.querySelectorAll('[tabindex="0"]').length);
expectEquals(1, document.querySelectorAll('[tabindex="0"]').length);
testDone();
});
TEST_F('HistoryWebUIDeleteProhibitedTest', 'leftRightChangeFocus', function() {
var visit = document.querySelector('.entry').visit;
visit.titleLink.focus();
assertEquals(visit.titleLink, document.activeElement);
var right = document.createEvent('KeyboardEvent');
right.initKeyboardEvent('keydown', true, true, window, 'Right');
assertEquals('Right', right.keyIdentifier);
expectFalse(visit.titleLink.dispatchEvent(right));
assertEquals(visit.dropDown, document.activeElement);
var left = document.createEvent('KeyboardEvent');
left.initKeyboardEvent('keydown', true, true, window, 'Left');
assertEquals('Left', left.keyIdentifier);
expectFalse(visit.dropDown.dispatchEvent(left));
expectEquals(visit.titleLink, document.activeElement);
testDone();
});
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment