Page MenuHomePhabricator

Chrome double-click selection behavior has changed in LayoutNG
Open, LowPublic

Description

See https://discourse.phabricator-community.org/t/unable-to-quick-select-copy-task-number-and-custom-fields/3262/ and https://discourse.phabricator-community.org/t/copying-and-pasting-the-differential-number-pulls-in-differential/3251/.

Both threads report bad double-click selection behavior in Chrome. Since the behavior is fine in Safari and Firefox, the underlying markup has explicit spaces aimed at effecting the desired behavior, it seems likely that this is a change in Chrome.

I'm going to try to find an even simpler and more-obviously-broken test case since our I think our markup is extremely unambiguous.


I originally noted this similar issue, but no longer believe it is related:

This comment in the Chromium bug tracker suggests it may have changed in Version 77:

https://bugs.chromium.org/p/chromium/issues/detail?id=39795#c22

That bug has a simple test case which now fails, so this is very likely a regression.

Event Timeline

epriestley created this task.

Here's a simple reproduction case:

<html>
  <head>
    <style type="text/css">
      span {
        float: left;
      }
    </style>
  <head>
  <body>
    <span>AAAAA</span>
    <span> BBBBB</span>
  </body>
</html>

I filed this in the Chrome upstream here: https://bugs.chromium.org/p/chromium/issues/detail?id=1022815

A questionable workaround is to disable "LayoutNG" in chrome://flags.

epriestley renamed this task from Chrome double-click selection behavior has changed in Chrome ~78? to Chrome double-click selection behavior has changed in LayoutNG.Nov 8 2019, 4:06 PM
epriestley updated the task description. (Show Details)

I'm planning to give Chrome some time to triage the report. If it sits there for a while or they decide it's how LayoutNG is going to handle this case, I'll look for workarounds. I don't think our intent/markup is totally unambiguous, and it may be reasonable to decide that this behavior is acceptable, even though Safari and Firefox have different behavior.

See PHI2090 for another report of this. Chrome hasn't changed behavior since the last update, so I'm more inclined to look at workarounds.