diff --git a/core/gesture.js b/core/gesture.js index a5a4cd2ec..cf5d94ef5 100644 --- a/core/gesture.js +++ b/core/gesture.js @@ -774,7 +774,7 @@ Blockly.Gesture.prototype.doWorkspaceClick_ = function(e) { } else if (Blockly.selected) { Blockly.selected.unselect(); } - this.fireWorkspaceClick_(ws); + this.fireWorkspaceClick_(this.startWorkspace_ || ws); }; /* End functions defining what actions to take to execute clicks on each type diff --git a/tests/mocha/gesture_test.js b/tests/mocha/gesture_test.js index 133ef3861..4372151bc 100644 --- a/tests/mocha/gesture_test.js +++ b/tests/mocha/gesture_test.js @@ -70,7 +70,7 @@ suite('Gesture', function() { gestureIsFieldClick_InFlyoutHelper.call(this, flyout, true); }); - test('Workspace click - Shift click enters accessibility mode', function() { + test('Workspace click in accessibility mode - moves the cursor', function() { var event = { shiftKey : true, clientX : 10, diff --git a/tests/playground.html b/tests/playground.html index 483b187f0..d977fca25 100644 --- a/tests/playground.html +++ b/tests/playground.html @@ -147,8 +147,10 @@ function start() { document.getElementById('importExport').value = text; } // Restore event logging state. - var state = sessionStorage.getItem('logEvents'); - logEvents(Boolean(Number(state))); + var logMainEventsState = sessionStorage.getItem('logEvents'); + logEvents(Boolean(Number(logMainEventsState))); + var logToolboxFlyoutEventsState = sessionStorage.getItem('logFlyoutEvents'); + logFlyoutEvents(Boolean(Number(logToolboxFlyoutEventsState))); } else { // MSIE 11 does not support sessionStorage on file:// URLs. logEvents(false); @@ -361,6 +363,20 @@ function logEvents(state) { } } +function logFlyoutEvents(state) { + var checkbox = document.getElementById('logFlyoutCheck'); + checkbox.checked = state; + if (sessionStorage) { + sessionStorage.setItem('logFlyoutEvents', Number(state)); + } + var flyoutWorkspace = workspace.getFlyout().getWorkspace(); + if (state) { + flyoutWorkspace.addChangeListener(logger); + } else { + flyoutWorkspace.removeChangeListener(logger); + } +} + function configureContextMenu(menuOptions, e) { var screenshotOption = { text: 'Download Screenshot', @@ -537,9 +553,13 @@ var spaghettiXml = [