Page MenuHomePhabricator

D19836.id47361.diff
No OneTemporary

D19836.id47361.diff

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;
}

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 20, 7:03 AM (13 h, 28 m ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7712740
Default Alt Text
D19836.id47361.diff (4 KB)

Event Timeline