Correct various minor diff copy behaviors

Summary:
Ref T12822. Fixes a few things:

  - Firefox selection of weird ranges with an inline between the start and end of the range now works correctly.
  - "Show More Context" rows now render, highlight, and select properly.
  - Prepares for nodes to have copy-text which is different from display-text.
  - Don't do anything too fancy in 1-up/unified mode. We don't copy line numbers after the `content: attr(data-n)` change, but that's as far as we go, because trying to do more than that is kind of weird and not terribly intuitive.

Test Plan:
  - Selected and copied weird ranges in Firefox.
  - Kept an eye on "Show More Context" rows across select and copy operations.
  - Generally poked around in Safari/Firefox/Chrome.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T12822

Differential Revision: https://secure.phabricator.com/D20192
This commit is contained in:
epriestley
2019-02-17 07:58:26 -08:00
parent 37f12a05ea
commit efccd75ae3
6 changed files with 175 additions and 77 deletions

View File

@@ -10,9 +10,9 @@ return array(
'conpherence.pkg.css' => '3c8a0668',
'conpherence.pkg.js' => '020aebcf',
'core.pkg.css' => '261ee8cf',
'core.pkg.js' => '5ba0b6d7',
'differential.pkg.css' => 'd1b29c9c',
'differential.pkg.js' => '0e2b0e2c',
'core.pkg.js' => 'e368deda',
'differential.pkg.css' => '249b542d',
'differential.pkg.js' => '53f8d00c',
'diffusion.pkg.css' => '42c75c37',
'diffusion.pkg.js' => '91192d85',
'maniphest.pkg.css' => '35995d6d',
@@ -61,7 +61,7 @@ return array(
'rsrc/css/application/dashboard/dashboard.css' => '4267d6c6',
'rsrc/css/application/diff/inline-comment-summary.css' => '81eb368d',
'rsrc/css/application/differential/add-comment.css' => '7e5900d9',
'rsrc/css/application/differential/changeset-view.css' => 'e2b81e85',
'rsrc/css/application/differential/changeset-view.css' => 'cc3fd795',
'rsrc/css/application/differential/core.css' => 'bdb93065',
'rsrc/css/application/differential/phui-inline-comment.css' => '48acce5b',
'rsrc/css/application/differential/revision-comment.css' => '7dbc8d1d',
@@ -375,7 +375,7 @@ return array(
'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '1e413dc9',
'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => '9b1cbd76',
'rsrc/js/application/diff/DiffChangeset.js' => 'd0a85a85',
'rsrc/js/application/diff/DiffChangesetList.js' => '26fb79ba',
'rsrc/js/application/diff/DiffChangesetList.js' => '04023d82',
'rsrc/js/application/diff/DiffInline.js' => 'a4a14a94',
'rsrc/js/application/diff/behavior-preview-link.js' => 'f51e9c17',
'rsrc/js/application/differential/behavior-diff-radios.js' => '925fe8cd',
@@ -473,7 +473,7 @@ return array(
'rsrc/js/core/behavior-linked-container.js' => '74446546',
'rsrc/js/core/behavior-more.js' => '506aa3f4',
'rsrc/js/core/behavior-object-selector.js' => 'a4af0b4a',
'rsrc/js/core/behavior-oncopy.js' => 'f20d66c1',
'rsrc/js/core/behavior-oncopy.js' => 'de59bf15',
'rsrc/js/core/behavior-phabricator-nav.js' => 'f166c949',
'rsrc/js/core/behavior-phabricator-remarkup-assist.js' => '2f80333f',
'rsrc/js/core/behavior-read-only-warning.js' => 'b9109f8f',
@@ -541,7 +541,7 @@ return array(
'conpherence-thread-manager' => 'aec8e38c',
'conpherence-transaction-css' => '3a3f5e7e',
'd3' => 'd67475f5',
'differential-changeset-view-css' => 'e2b81e85',
'differential-changeset-view-css' => 'cc3fd795',
'differential-core-view-css' => 'bdb93065',
'differential-revision-add-comment-css' => '7e5900d9',
'differential-revision-comment-css' => '7dbc8d1d',
@@ -636,7 +636,7 @@ return array(
'javelin-behavior-phabricator-nav' => 'f166c949',
'javelin-behavior-phabricator-notification-example' => '29819b75',
'javelin-behavior-phabricator-object-selector' => 'a4af0b4a',
'javelin-behavior-phabricator-oncopy' => 'f20d66c1',
'javelin-behavior-phabricator-oncopy' => 'de59bf15',
'javelin-behavior-phabricator-remarkup-assist' => '2f80333f',
'javelin-behavior-phabricator-reveal-content' => 'b105a3a6',
'javelin-behavior-phabricator-search-typeahead' => '1cb7d027',
@@ -754,7 +754,7 @@ return array(
'phabricator-darkmessage' => '26cd4b73',
'phabricator-dashboard-css' => '4267d6c6',
'phabricator-diff-changeset' => 'd0a85a85',
'phabricator-diff-changeset-list' => '26fb79ba',
'phabricator-diff-changeset-list' => '04023d82',
'phabricator-diff-inline' => 'a4a14a94',
'phabricator-drag-and-drop-file-upload' => '4370900d',
'phabricator-draggable-list' => '3c6bd549',
@@ -907,6 +907,10 @@ return array(
'javelin-uri',
'javelin-util',
),
'04023d82' => array(
'javelin-install',
'phuix-button-view',
),
'04f8a1e3' => array(
'javelin-behavior',
'javelin-stratcom',
@@ -1087,10 +1091,6 @@ return array(
'javelin-json',
'phabricator-draggable-list',
),
'26fb79ba' => array(
'javelin-install',
'phuix-button-view',
),
'27daef73' => array(
'multirow-row-manager',
'javelin-install',
@@ -1961,6 +1961,9 @@ return array(
'javelin-util',
'phabricator-keyboard-shortcut-manager',
),
'cc3fd795' => array(
'phui-inline-comment-view-css',
),
'cf32921f' => array(
'javelin-behavior',
'javelin-dom',
@@ -2007,6 +2010,10 @@ return array(
'javelin-uri',
'phabricator-notification',
),
'de59bf15' => array(
'javelin-behavior',
'javelin-dom',
),
'dfa1d313' => array(
'javelin-behavior',
'javelin-dom',
@@ -2032,9 +2039,6 @@ return array(
'javelin-dom',
'javelin-stratcom',
),
'e2b81e85' => array(
'phui-inline-comment-view-css',
),
'e562708c' => array(
'javelin-install',
),
@@ -2086,10 +2090,6 @@ return array(
'javelin-request',
'javelin-util',
),
'f20d66c1' => array(
'javelin-behavior',
'javelin-dom',
),
'f340a484' => array(
'javelin-install',
'javelin-dom',