diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -10,9 +10,9 @@ 'conpherence.pkg.css' => 'e68cf1fa', 'conpherence.pkg.js' => '15191c65', 'core.pkg.css' => 'cff4ff6f', - 'core.pkg.js' => 'b5a949ca', + 'core.pkg.js' => '4bde473b', 'differential.pkg.css' => '06dc617c', - 'differential.pkg.js' => 'c1cfa143', + 'differential.pkg.js' => 'ef0b989b', 'diffusion.pkg.css' => 'a2d17c7d', 'diffusion.pkg.js' => '6134c5a1', 'maniphest.pkg.css' => '4845691a', @@ -207,7 +207,7 @@ 'rsrc/externals/font/lato/lato-regular.ttf' => 'e270165b', 'rsrc/externals/font/lato/lato-regular.woff' => '13d39fe2', 'rsrc/externals/font/lato/lato-regular.woff2' => '57a9f742', - 'rsrc/externals/javelin/core/Event.js' => '2ee659ce', + 'rsrc/externals/javelin/core/Event.js' => 'ef7e057f', 'rsrc/externals/javelin/core/Stratcom.js' => '327f418a', 'rsrc/externals/javelin/core/__tests__/event-stop-and-kill.js' => '717554e4', 'rsrc/externals/javelin/core/__tests__/install.js' => 'c432ee85', @@ -373,7 +373,7 @@ 'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375', 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63', 'rsrc/js/application/diff/DiffChangeset.js' => 'b49b59d6', - 'rsrc/js/application/diff/DiffChangesetList.js' => 'e0b984b5', + 'rsrc/js/application/diff/DiffChangesetList.js' => '0a84bcc1', 'rsrc/js/application/diff/DiffInline.js' => 'e83d28f3', 'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832', 'rsrc/js/application/differential/behavior-comment-preview.js' => '51c5ad07', @@ -688,7 +688,7 @@ 'javelin-diffusion-locate-file-source' => '00676f00', 'javelin-dom' => '4976858c', 'javelin-dynval' => 'f6555212', - 'javelin-event' => '2ee659ce', + 'javelin-event' => 'ef7e057f', 'javelin-fx' => '54b612ba', 'javelin-history' => 'd4505101', 'javelin-install' => '05270951', @@ -750,7 +750,7 @@ 'phabricator-darkmessage' => 'c48cccdd', 'phabricator-dashboard-css' => 'fe5b1869', 'phabricator-diff-changeset' => 'b49b59d6', - 'phabricator-diff-changeset-list' => 'e0b984b5', + 'phabricator-diff-changeset-list' => '0a84bcc1', 'phabricator-diff-inline' => 'e83d28f3', 'phabricator-drag-and-drop-file-upload' => '58dea2fa', 'phabricator-draggable-list' => 'bea6e7f4', @@ -944,6 +944,10 @@ 'javelin-dom', 'javelin-router', ), + '0a84bcc1' => array( + 'javelin-install', + 'phuix-button-view', + ), '0f764c35' => array( 'javelin-install', 'javelin-util', @@ -1049,9 +1053,6 @@ 'javelin-install', 'javelin-event', ), - '2ee659ce' => array( - 'javelin-install', - ), '31420f77' => array( 'javelin-behavior', ), @@ -2009,10 +2010,6 @@ 'phuix-icon-view', 'phabricator-prefab', ), - 'e0b984b5' => array( - 'javelin-install', - 'phuix-button-view', - ), 'e1d25dfb' => array( 'javelin-behavior', 'javelin-stratcom', @@ -2094,6 +2091,9 @@ 'javelin-behavior', 'javelin-uri', ), + 'ef7e057f' => array( + 'javelin-install', + ), 'efe49472' => array( 'javelin-install', 'javelin-util', diff --git a/webroot/rsrc/externals/javelin/core/Event.js b/webroot/rsrc/externals/javelin/core/Event.js --- a/webroot/rsrc/externals/javelin/core/Event.js +++ b/webroot/rsrc/externals/javelin/core/Event.js @@ -133,6 +133,20 @@ return r.which == 3 || r.button == 2; }, + + /** + * Get whether the mouse button associated with the mouse event is the + * left-side button in a browser-agnostic way. + * + * @return bool + * @task info + */ + isLeftButton: function() { + var r = this.getRawEvent(); + return (r.which == 1 || r.button == 0); + }, + + /** * Determine if a mouse event is a normal event (left mouse button, no * modifier keys). diff --git a/webroot/rsrc/js/application/diff/DiffChangesetList.js b/webroot/rsrc/js/application/diff/DiffChangesetList.js --- a/webroot/rsrc/js/application/diff/DiffChangesetList.js +++ b/webroot/rsrc/js/application/diff/DiffChangesetList.js @@ -1261,7 +1261,10 @@ _onrangedown: function(e) { // NOTE: We're allowing "mousedown" from a touch event through so users // can leave inlines on a single line. - if (e.isRightButton()) { + + // See PHI985. We want to exclude both right-mouse and middle-mouse + // clicks from continuing. + if (!e.isLeftButton()) { return; }