Page MenuHomePhabricator

D10102.id24311.diff
No OneTemporary

D10102.id24311.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -7,11 +7,11 @@
*/
return array(
'names' => array(
- 'core.pkg.css' => 'cd8c18d3',
+ 'core.pkg.css' => '66ada2ec',
'core.pkg.js' => 'ba6a742f',
'darkconsole.pkg.js' => 'df001cab',
'differential.pkg.css' => '4a93db37',
- 'differential.pkg.js' => '7528cfc9',
+ 'differential.pkg.js' => 'c748ec1f',
'diffusion.pkg.css' => '591664fa',
'diffusion.pkg.js' => 'bfc0737b',
'maniphest.pkg.css' => 'f5d89daf',
@@ -105,7 +105,7 @@
'rsrc/css/application/uiexample/example.css' => '528b19de',
'rsrc/css/core/core.css' => '40151074',
'rsrc/css/core/remarkup.css' => '7fd5585f',
- 'rsrc/css/core/syntax.css' => '3c18c1cb',
+ 'rsrc/css/core/syntax.css' => '863f3cd8',
'rsrc/css/core/z-index.css' => 'd1c137f2',
'rsrc/css/diviner/diviner-shared.css' => '38813222',
'rsrc/css/font/font-awesome.css' => '73d075c3',
@@ -390,7 +390,6 @@
'rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js' => 'e5822781',
'rsrc/js/application/files/behavior-icon-composer.js' => '8ef9ab58',
'rsrc/js/application/files/behavior-launch-icon-composer.js' => '48086888',
- 'rsrc/js/application/harbormaster/behavior-reorder-steps.js' => 'b716477f',
'rsrc/js/application/herald/HeraldRuleEditor.js' => '3fc2c8f2',
'rsrc/js/application/herald/PathTypeahead.js' => 'f7fc67ec',
'rsrc/js/application/herald/herald-rule-editor.js' => '7ebaeed3',
@@ -441,7 +440,7 @@
'rsrc/js/application/uiexample/gesture-example.js' => '558829c2',
'rsrc/js/application/uiexample/notification-example.js' => '7a9677fc',
'rsrc/js/core/Busy.js' => '6453c869',
- 'rsrc/js/core/DragAndDropFileUpload.js' => '1d8ad5c3',
+ 'rsrc/js/core/DragAndDropFileUpload.js' => '63b79ceb',
'rsrc/js/core/DraggableList.js' => '2cad29d1',
'rsrc/js/core/FileUpload.js' => 'a4ae61bf',
'rsrc/js/core/Hovercard.js' => '7e8468ae',
@@ -591,7 +590,6 @@
'javelin-behavior-error-log' => 'a5d7cf86',
'javelin-behavior-fancy-datepicker' => 'a5573bcd',
'javelin-behavior-global-drag-and-drop' => '3672899b',
- 'javelin-behavior-harbormaster-reorder-steps' => 'b716477f',
'javelin-behavior-herald-rule-editor' => '7ebaeed3',
'javelin-behavior-high-security-warning' => '8fc1c918',
'javelin-behavior-history-install' => '7ee2b591',
@@ -717,7 +715,7 @@
'phabricator-countdown-css' => '86b7b0a0',
'phabricator-crumbs-view-css' => '7fbf25b8',
'phabricator-dashboard-css' => 'a2bfdcbf',
- 'phabricator-drag-and-drop-file-upload' => '1d8ad5c3',
+ 'phabricator-drag-and-drop-file-upload' => '63b79ceb',
'phabricator-draggable-list' => '2cad29d1',
'phabricator-fatal-config-template-css' => '25d446d6',
'phabricator-feed-css' => '4e544db4',
@@ -829,7 +827,7 @@
'sprite-payments-css' => 'cc085d44',
'sprite-projects-css' => '7578fa56',
'sprite-tokens-css' => '1706b943',
- 'syntax-highlighting-css' => '3c18c1cb',
+ 'syntax-highlighting-css' => '863f3cd8',
'tokens-css' => '3d0f239e',
),
'requires' => array(
@@ -961,14 +959,6 @@
'javelin-util',
'phabricator-keyboard-shortcut-manager',
),
- '1d8ad5c3' => array(
- 'javelin-install',
- 'javelin-util',
- 'javelin-request',
- 'javelin-dom',
- 'javelin-uri',
- 'phabricator-file-upload',
- ),
'1def2711' => array(
'javelin-install',
'javelin-dom',
@@ -1240,6 +1230,14 @@
'javelin-magical-init',
'javelin-util',
),
+ '63b79ceb' => array(
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-request',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'phabricator-file-upload',
+ ),
'6453c869' => array(
'javelin-install',
'javelin-dom',
@@ -1620,13 +1618,6 @@
'javelin-install',
'javelin-util',
),
- 'b716477f' => array(
- 'javelin-behavior',
- 'javelin-stratcom',
- 'javelin-workflow',
- 'javelin-dom',
- 'phabricator-draggable-list',
- ),
'bba9eedf' => array(
'javelin-behavior',
'javelin-stratcom',
diff --git a/webroot/rsrc/js/core/DragAndDropFileUpload.js b/webroot/rsrc/js/core/DragAndDropFileUpload.js
--- a/webroot/rsrc/js/core/DragAndDropFileUpload.js
+++ b/webroot/rsrc/js/core/DragAndDropFileUpload.js
@@ -39,16 +39,19 @@
members : {
_node : null,
+ _dragging : false,
_depth : 0,
_updateDepth : function(delta) {
if (this._depth === 0 && delta > 0) {
this.invoke('didBeginDrag');
+ this._dragging = true;
}
this._depth += delta;
if (this._depth === 0 && delta < 0) {
this.invoke('didEndDrag');
+ this._dragging = false;
}
},
@@ -66,6 +69,20 @@
return false;
}
+ // Firefox has some issues sometimes; implement this click handler so
+ // the user can recover. See T5188.
+ JX.DOM.listen(
+ this._node,
+ 'click',
+ null,
+ JX.bind(this, function (e) {
+ if (this._dragging) {
+ e.kill();
+ // Force depth to 0.
+ this._updateDepth(-this._depth);
+ }
+ }));
+
// We track depth so that the _node may have children inside of it and
// not become unselected when they are dragged over.
JX.DOM.listen(

File Metadata

Mime Type
text/plain
Expires
Tue, Jul 2, 11:05 PM (3 d, 20 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6348799
Default Alt Text
D10102.id24311.diff (5 KB)

Event Timeline