mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 18:22:41 +01:00
Remove the ability to leave multi-line inline comments on touchscreen devices
Summary: Ref T12733. This ultimately conflicts with scrolling and took about two days to get reported as a bug/regression. See T12733 for a bunch of additional discussion. See T1026 for original discussion. Test Plan: - Left single-line and multi-line comments on desktop. - Tapped to leave single-line comments on mobile. - Dragged lines on mobile, got a scroll instead of a range comment. Reviewers: chad Reviewed By: chad Maniphest Tasks: T12733 Differential Revision: https://secure.phabricator.com/D18044
This commit is contained in:
parent
d20221dc7d
commit
cc0a6fd3aa
2 changed files with 10 additions and 41 deletions
|
@ -13,7 +13,7 @@ return array(
|
||||||
'core.pkg.js' => '1475bd91',
|
'core.pkg.js' => '1475bd91',
|
||||||
'darkconsole.pkg.js' => '1f9a31bc',
|
'darkconsole.pkg.js' => '1f9a31bc',
|
||||||
'differential.pkg.css' => '9ebe4f44',
|
'differential.pkg.css' => '9ebe4f44',
|
||||||
'differential.pkg.js' => '78b8497f',
|
'differential.pkg.js' => '40f4acb3',
|
||||||
'diffusion.pkg.css' => 'b93d9b8c',
|
'diffusion.pkg.css' => 'b93d9b8c',
|
||||||
'diffusion.pkg.js' => '84c8f8fd',
|
'diffusion.pkg.js' => '84c8f8fd',
|
||||||
'favicon.ico' => '30672e08',
|
'favicon.ico' => '30672e08',
|
||||||
|
@ -392,7 +392,7 @@ return array(
|
||||||
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375',
|
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375',
|
||||||
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63',
|
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63',
|
||||||
'rsrc/js/application/diff/DiffChangeset.js' => '3359ad02',
|
'rsrc/js/application/diff/DiffChangeset.js' => '3359ad02',
|
||||||
'rsrc/js/application/diff/DiffChangesetList.js' => '675f1ca3',
|
'rsrc/js/application/diff/DiffChangesetList.js' => 'b42eb5ff',
|
||||||
'rsrc/js/application/diff/DiffInline.js' => '45d37835',
|
'rsrc/js/application/diff/DiffInline.js' => '45d37835',
|
||||||
'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832',
|
'rsrc/js/application/diff/behavior-preview-link.js' => '051c7832',
|
||||||
'rsrc/js/application/differential/behavior-comment-preview.js' => '51c5ad07',
|
'rsrc/js/application/differential/behavior-comment-preview.js' => '51c5ad07',
|
||||||
|
@ -778,7 +778,7 @@ return array(
|
||||||
'phabricator-darkmessage' => 'c48cccdd',
|
'phabricator-darkmessage' => 'c48cccdd',
|
||||||
'phabricator-dashboard-css' => 'fe5b1869',
|
'phabricator-dashboard-css' => 'fe5b1869',
|
||||||
'phabricator-diff-changeset' => '3359ad02',
|
'phabricator-diff-changeset' => '3359ad02',
|
||||||
'phabricator-diff-changeset-list' => '675f1ca3',
|
'phabricator-diff-changeset-list' => 'b42eb5ff',
|
||||||
'phabricator-diff-inline' => '45d37835',
|
'phabricator-diff-inline' => '45d37835',
|
||||||
'phabricator-drag-and-drop-file-upload' => '58dea2fa',
|
'phabricator-drag-and-drop-file-upload' => '58dea2fa',
|
||||||
'phabricator-draggable-list' => 'bea6e7f4',
|
'phabricator-draggable-list' => 'bea6e7f4',
|
||||||
|
@ -1412,9 +1412,6 @@ return array(
|
||||||
'javelin-workflow',
|
'javelin-workflow',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
),
|
),
|
||||||
'675f1ca3' => array(
|
|
||||||
'javelin-install',
|
|
||||||
),
|
|
||||||
'680ea2c8' => array(
|
'680ea2c8' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
|
@ -1822,6 +1819,9 @@ return array(
|
||||||
'b3e7d692' => array(
|
'b3e7d692' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
),
|
),
|
||||||
|
'b42eb5ff' => array(
|
||||||
|
'javelin-install',
|
||||||
|
),
|
||||||
'b59e1e96' => array(
|
'b59e1e96' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-stratcom',
|
'javelin-stratcom',
|
||||||
|
|
|
@ -68,7 +68,7 @@ JX.install('DiffChangesetList', {
|
||||||
|
|
||||||
var onrangedown = JX.bind(this, this._ifawake, this._onrangedown);
|
var onrangedown = JX.bind(this, this._ifawake, this._onrangedown);
|
||||||
JX.Stratcom.listen(
|
JX.Stratcom.listen(
|
||||||
['touchstart', 'mousedown'],
|
'mousedown',
|
||||||
['differential-changeset', 'tag:th'],
|
['differential-changeset', 'tag:th'],
|
||||||
onrangedown);
|
onrangedown);
|
||||||
|
|
||||||
|
@ -78,15 +78,9 @@ JX.install('DiffChangesetList', {
|
||||||
['differential-changeset', 'tag:th'],
|
['differential-changeset', 'tag:th'],
|
||||||
onrangemove);
|
onrangemove);
|
||||||
|
|
||||||
var onrangetouchmove = JX.bind(this, this._ifawake, this._onrangetouchmove);
|
|
||||||
JX.Stratcom.listen(
|
|
||||||
'touchmove',
|
|
||||||
null,
|
|
||||||
onrangetouchmove);
|
|
||||||
|
|
||||||
var onrangeup = JX.bind(this, this._ifawake, this._onrangeup);
|
var onrangeup = JX.bind(this, this._ifawake, this._onrangeup);
|
||||||
JX.Stratcom.listen(
|
JX.Stratcom.listen(
|
||||||
['touchend', 'mouseup'],
|
'mouseup',
|
||||||
null,
|
null,
|
||||||
onrangeup);
|
onrangeup);
|
||||||
},
|
},
|
||||||
|
@ -1147,8 +1141,8 @@ JX.install('DiffChangesetList', {
|
||||||
},
|
},
|
||||||
|
|
||||||
_onrangedown: function(e) {
|
_onrangedown: function(e) {
|
||||||
// NOTE: We're allowing touch events through, including "touchstart". We
|
// NOTE: We're allowing "mousedown" from a touch event through so users
|
||||||
// need to kill the "touchstart" event so the page doesn't scroll.
|
// can leave inlines on a single line.
|
||||||
if (e.isRightButton()) {
|
if (e.isRightButton()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1238,31 +1232,6 @@ JX.install('DiffChangesetList', {
|
||||||
this._setHoverRange(this._rangeOrigin, this._rangeTarget);
|
this._setHoverRange(this._rangeOrigin, this._rangeTarget);
|
||||||
},
|
},
|
||||||
|
|
||||||
_onrangetouchmove: function(e) {
|
|
||||||
if (!this._rangeActive) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// NOTE: The target of a "touchmove" event is bogus. Use dark magic to
|
|
||||||
// identify the actual target. Some day, this might move into the core
|
|
||||||
// libraries. If this doesn't work, just bail.
|
|
||||||
|
|
||||||
var target;
|
|
||||||
try {
|
|
||||||
var raw_event = e.getRawEvent();
|
|
||||||
var touch = raw_event.touches[0];
|
|
||||||
target = document.elementFromPoint(touch.clientX, touch.clientY);
|
|
||||||
} catch (ex) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!JX.DOM.isType(target, 'th')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._updateRange(target, false);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onrangeup: function(e) {
|
_onrangeup: function(e) {
|
||||||
if (!this._rangeActive) {
|
if (!this._rangeActive) {
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue