From 613b49c64e2400501cc46c2128005dd046940333 Mon Sep 17 00:00:00 2001 From: Kasper Nilsson Date: Wed, 24 Aug 2016 14:44:21 -0700 Subject: [PATCH] Fix copy/paste in diff view The addition of syntax highlighting silently broke copy/paste functionality due to the addition of another layer of div nesting. Related to this bug are some issues with correct text selection in unified diff view, so this patch addresses them as well. Bug: Issue 4317 Change-Id: Iac7379de4131ab4e44905a54218d42fcfe67ce62 --- .../diff/gr-diff-builder/gr-diff-builder.js | 8 +++- .../gr-diff-selection/gr-diff-selection.html | 12 +++--- .../gr-diff-selection/gr-diff-selection.js | 13 ++++--- .../gr-diff-selection_test.html | 37 +++++++++++++------ .../app/elements/diff/gr-diff/gr-diff.html | 7 ---- 5 files changed, 46 insertions(+), 31 deletions(-) diff --git a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder.js b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder.js index 670885a21f..6844416cb2 100644 --- a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder.js +++ b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder.js @@ -340,6 +340,9 @@ side, this._comments.meta.projectConfig); threadEl.comments = comments; + if (opt_side) { + threadEl.setAttribute('data-side', opt_side); + } return threadEl; }; @@ -363,11 +366,14 @@ GrDiffBuilder.prototype._createTextEl = function(line, opt_side) { var td = this._createElement('td'); + var text = line.text; if (line.type !== GrDiffLine.Type.BLANK) { td.classList.add('content'); + if (!text) { + text = '\xa0'; + } } td.classList.add(line.type); - var text = line.text; var html = util.escapeHTML(text); html = this._addTabWrappers(html, this._prefs.tab_size); diff --git a/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.html b/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.html index 09cab0b2f0..bc551299bc 100644 --- a/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.html +++ b/polygerrit-ui/app/elements/diff/gr-diff-selection/gr-diff-selection.html @@ -18,17 +18,19 @@ limitations under the License.