New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 776526 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 776233
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-11-03
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Chrome 62 - user-select: none behavior changed and prevents selection in cases it didn't previously

Project Member Reported by elawrence@chromium.org, Oct 19 2017

Issue description

Chrome Version: 62.0.3202.62 

Install https://chrome.google.com/webstore/detail/circ/bebigdkelppomhhjaaianniiifjbgocn?hl=en-US

Attempt to select text in the main web view of the CIRC app.

OBSERVE: Text selection fails in app on Chrome 62, Chrome 64. Works properly in app on Chrome 61.

Perhaps a variant of  Issue 761433 ?
 
Adding a user-select:text to the messages-container DOM node seems to resolve the problem.

<div id="messages-container" **style="user-select: text;"**>
I don't see "user-select: none" in the source code for the CIRC app, but when I inspect the app in the debugger, that directive is present on the BODY element.

Comment 3 Deleted

Comment 4 by yosin@chromium.org, Oct 20 2017

Labels: Needs-Feedback
NextAction: 2017-11-03
Status: Unconfirmed (was: Untriaged)
Summary: NEEDS_FEEDBACK Text selection fails in "CIRC" Chrome App (was: Text selection fails in "CIRC" Chrome App)
Chrome doesn't add user-select:none automatically except for following rule
in UA style sheet:

input[type="button" i], input[type="submit" i], input[type="reset" i] {
    -webkit-appearance: push-button;
    -webkit-user-select: none;
    white-space: pre
}

It seems the framework used in CIRC app does so.

Could you provide minimal reproduce case for this?
Labels: -Needs-Feedback OS-Chrome OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
Summary: Text selection fails in "CIRC" Chrome App (was: NEEDS_FEEDBACK Text selection fails in "CIRC" Chrome App)
This has regressed across Mac, Windows, Linux, and Chrome OS.

I expect that "user-select: none" is the default for all Chrome App documents. I don't know exactly how that's added, but it doesn't seem to be very relevant.

Reduced repro:
1. Extract the ZIP to a local folder (e.g. C:\temp\app)
2. Visit chrome://extensions and tick "Developer mode"
3. Click Load Unpacked Extension
4. Select the folder where the app was unzipped
5. Click Launch
6. Attempt to select the first line of text.

Expect: Selectable
Actual: Text can only be selected in Chrome 61 and earlier

simpleapp.zip
16.8 KB Download
Labels: Needs-Triage-M62 Needs-Bisect
You are probably looking for a change made after 489358 (known good), but no later than 489388 (first known bad).
CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/2c0dbb478638cebb3606d74a69696e63d62529bd..72657e6cdc063501f68c8e95f2cbd9559367ce30

Of these, the suspect remains https://chromium.googlesource.com/chromium/src/+/7a66627f0f0a681fcf3111a9bb0f01a8e0790186
A simpler repro is attached; you don't need to use a Chrome App to reproduce this. Chrome Apps simply attach 'user-select: none' to the body automatically, while this repro page adds it explicitly.
repro.html
567 bytes View Download
Confirmed. You are probably looking for a change made after 489362 (known good), but no later than 489363 (first known bad).
CHANGELOG URL: https://chromium.googlesource.com/chromium/src/+log/17684e9d8dd252a678cc17989303eaf027cbb61a..7a66627f0f0a681fcf3111a9bb0f01a8e0790186
Cc: abdulsyed@chromium.org yosin@chromium.org
Labels: -Pri-2 -Needs-Bisect -Needs-Triage-M62 ReleaseBlock-Stable M-62 Pri-1
Owner: hu...@vewd.com
Status: Assigned (was: Untriaged)
Labels: M-63
Labels: OS-Android
Not sure this is applicable to Android or not but adding OS=Android as this is blink bug.
Cc: cma...@chromium.org
Do we have any progress on the fix here? Since hugoh@ is OOO can someone else look into this issue?  elawrence@?

Also, does this really affected Android? 
The POC in #8 doesn't seem to impact Android at all. 

In terms of fixing, maybe ask the reviewers of the regressing CL for suggestions?
FWIW, I think the new Chrome 62+ behavior matches the CSS4 draft specification:

https://drafts.csswg.org/css-ui-4/#content-selection
auto

 The computed value of auto is determined as follows:
   ... 
 if the computed value of user-select on the parent of this element is none, the computed value is none 

Because the CIRC app is using -webkit-user-select: initial instead of -webkit-user-select: text, and initial==auto, this ends up meaning 'none'.

Firefox 56 matches the new Chrome behavior (if the vendor prefixed version -webkit-user-select is specified on the text)
 
Safari 11.0 allows the selection if ANY -webkit-user-select value is specified on the text, including auto or initial.
elawrence@ regarding #16, if Chrome62 is following the specifications, does that mean this needs a change on the CIRC app side? Can we remove RB-Stable from this bug, since this may not necessarily be a Chrome bug. 
I don't think the currently-known impact warrants a Release-Block-Stable tag, but it seems probable that other scenarios are impacted and they simply haven't yet reached our notice. For instance, the regressing CL also caused  Issue 761433 , and over the course of the next few weeks after I reported that issue, other impacted sites and scenarios trickled in.

I submitted a pull request for the CIRC app a few days ago: https://github.com/flackr/circ/pull/424 but I haven't yet received a response. It's possible that the project was abandoned by the maintainer.
Labels: -ReleaseBlock-Stable
Removing RB-Stable per comment #18
Summary: Chrome 62 - user-select: none behavior changed and prevents selection in cases it didn't previously (was: Text selection fails in "CIRC" Chrome App)
It turns out that the developer of CIRC works on Chrome and accepted my PR. So that app is no longer impacted.

Leaving this bug alive only so hugoh@ can confirm that we want to keep the behavioral change despite potential compat impact.

Comment 21 by hu...@vewd.com, Oct 30 2017

Mergedinto: 776233
Status: Duplicate (was: Assigned)
Yes, we want to keep current behavior because it aligns us with the CSS spec.
The NextAction date has arrived: 2017-11-03

Sign in to add a comment