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

Issue 635724 link

Starred by 11 users

Cursor gets stuck scrolling right in CC: list on Monorail

Project Member Reported by kbr@chromium.org, Aug 9 2016

Issue description

Version: 54.0.2823.0 (Official Build) canary (64-bit)
OS: Mac OS 10.11.6 (Retina MacBook Pro, NVIDIA GPU)

What steps will reproduce the problem?
(1) Open http://crbug.com/633053 from an account with editbugs privileges
(2) Click the CC: field
(3) Attempt to scroll right (Option + Right Arrow is fastest)

What is the expected output?

Expect to be able to scroll to the end of the CC: list.

What do you see instead?

The cursor seems to warp backwards, getting stuck in a cycle and preventing appending email addresses. Also, clicking and dragging to move the cursor to the end of the text field, and then clicking to de-select, causes the selected text to change every time the caret would otherwise blink.

This used to work in earlier Canaries.  Issue 633376  is related, and the fix improved the situation, but things are still broken.

It's probably related to Monorail's auto-complete drop-down for the email addresses in this text field. It doesn't happen with simple text fields like that in https://bugs.chromium.org/p/chromium/issues/detail?id=633376#c13 .

P1 because Chromium can't be used to (easily) edit Chromium's own bugs right now.

 

Comment 1 by yosin@chromium.org, Aug 9 2016

Labels: Needs-Feedback
Owner: kbr@chromium.org
Status: Unconfirmed (was: Untriaged)
kbr@, I could not reproduce on Mac. 

To understand your situation:
 - Could you try this on other platform?
 - Could you upload video to see your situation?
Labels: Needs-Bisect
Cc: ranjitkan@chromium.org
Labels: -Needs-Feedback -Needs-Bisect Needs-triage OS-Windows
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue and is a regression broken in M54 on MAC OS and Windows 10. Below are the bisect details:

Bisect Info:
============
54.0.2800.0 - Good Build
54.0.2803.0 - Bad Build

Bisect URL: https://chromium.googlesource.com/chromium/src/+log/178c750299b0c864c76bbe64e6830144d02816ea..326934c3dd341e43ecaa2c05fbf7597f7c21764d

Unable to find a possible culprit from the bisect URL. 

@ kbr: Request you to please take a look into it and please find an owner for the same.

Adding Needs-Triage label and removing Bisect label.

Thanks.!


Comment 4 by yosin@chromium.org, Aug 9 2016

Cc: -ranjitkan@chromium.org kbr@chromium.org
Owner: ranjitkan@chromium.org
Status: Assigned (was: Untriaged)
ranjitkan@, could you upload video for reproduce?
I still could not reproduce this.
Thanks!
Cc: ranjitkan@chromium.org
Owner: yosin@chromium.org
Hi Yosin,

Attached is the screencast of the issue. Please see that once the cursor reaches to the right on pressing option + Right arrow key on Mac it gets stuck and oscillates. Please do let me know if any more details are required.

Thanks.! 
Cursor Positioning.mov
6.1 MB Download

Comment 6 by kbr@chromium.org, Aug 9 2016

Maybe the behavior is caused by an experiment. Here is the entirety of about:version from my Canary instance.

54.0.2823.0 (Official Build) canary (64-bit)
Revision	c6b7050c321314686730fb679a7122341f16c7c2-refs/heads/master@{#410278}
OS	Mac OS X 
JavaScript	V8 5.4.364
Flash	22.0.0.209
User Agent	Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2823.0 Safari/537.36
Command Line	/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary --flag-switches-begin --enable-wasm --flag-switches-end
Executable Path	/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary
Profile Path	/Users/kbr/Library/Application Support/Google/Chrome Canary/Default
Variations	6a89113b-2bdd0794
16e0dd70-3f4a17df
90757ebb-870290a7
31101bd6-f23d1dea
b3888d8d-459fc675
4a449931-3f4a17df
70281f79-f23d1dea
918346b9-3f4a17df
6345b824-3f4a17df
7c1bc906-ff96eb58
1c752ce9-1c752ce9
ba3f87da-f23d1dea
f049a919-3f4a17df
76b48ab8-a2567007
31362330-3f4a17df
c70841c8-a2567007
f15c1c09-ca7d8d80
43d0dd1e-3f4a17df
bcc907f7-65bced95
2e109477-bcf405c8
6d340565-ca7d8d80
9e243dd-3f4a17df
165e16d1-3f4a17df
9e5c75f1-7491430a
6b121ae7-5e15bfb2
5139837c-3f4a17df
f5dd6118-2f5721af
f79cb77b-3f4a17df
b7786474-54f732d1
fb448877-f23d1dea
23a898eb-ca7d8d80
74df3f1-3f4a17df
7382e39a-3f4a17df
868bda90-3f4a17df
4ea303a6-712e0294
3d7e3f6a-2eb01455
7a3692af-99f3d462
f2e050c6-94cb2461
f8c15c50-3f4a17df
fe9bec35-80f9a33e
9736de91-3f4a17df
dbffab5d-ca7d8d80
de03e059-3f4a17df
f069f10b-3f4a17df
ad6d27cc-3e870323
ca314179-ca7d8d80
69bf80fa-f23d1dea
867c4c68-3f4a17df
76923fa8-9cf3205c
3ac60855-3ec2a267
f296190c-d0fe63d6
4442aae2-e1cc0f14
ed1d377-e1cc0f14
75f0f0a0-6bdfffe7
e2b18481-cdc3d902
e7e71889-e1cc0f14
85963571-3f4a17df
fe05be5f-97e7f871
61b920c1-e2a9a88d
46567c16-3f4a17df
cd9fec2f-cd9fec2f
828a5926-d8f52f32
52954db7-f23d1dea

Comment 7 by yosin@chromium.org, Aug 10 2016

Cc: -ranjitkan@chromium.org yosin@chromium.org
Labels: Needs-Feedback
Owner: ranjitkan@chromium.org
>#c6, Maybe the behavior is caused by an experiment.
Is this in chrome://flags?

Does "Reset All Button" in chrome://flags changes this behavior?

Comment 8 by kbr@chromium.org, Aug 10 2016

> Is this in chrome://flags?

No, Finch experiments.

> Does "Reset All Button" in chrome://flags changes this behavior?

No effect. I tried it; behavior with CC: field in http://crbug.com/633053 still reproduces.

Cc: -yosin@chromium.org ranjitkan@chromium.org
Labels: -Needs-Feedback
Owner: yosin@chromium.org

Comment 10 by yosin@chromium.org, Aug 10 2016

How do we identify the experiment which causes this issue?

My repro on:

Google Chrome	54.0.2824.0 (Official Build) canary (64-bit)
Revision	facabd3224aecbcab4bea9daadad31c67488d78c-refs/heads/master@{#410520}
OS	Windows 
JavaScript	V8 5.4.374
Flash	22.0.0.209
User Agent	Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2824.0 Safari/537.36
Command Line	"C:\Users\yosin\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --enable-heap-profiling --flag-switches-begin --enable-experimental-web-platform-features --flag-switches-end
Executable Path	C:\Users\yosin\AppData\Local\Google\Chrome SxS\Application\chrome.exe
Profile Path	C:\Users\yosin\AppData\Local\Google\Chrome SxS\User Data\Default
Variations	6a89113b-f23d1dea
16e0dd70-3f4a17df
90757ebb-870290a7
b3888d8d-459fc675
4a449931-3f4a17df
7c1bc906-f55a7974
ba3f87da-a6404135
f049a919-3f4a17df
76b48ab8-a2567007
31362330-3f4a17df
6ead10fa-af3092c7
f15c1c09-ca7d8d80
43d0dd1e-3f4a17df
bcc907f7-65bced95
8ca44045-3f4a17df
93731dca-3f4a17df
2e109477-bcf405c8
6d340565-ca7d8d80
9e5c75f1-7491430a
6b121ae7-df25e660
f79cb77b-3f4a17df
b7786474-54f732d1
23a898eb-4c21fc8d
868bda90-3f4a17df
4ea303a6-602367d6
7aa46da5-4995b330
7a3692af-b8c27ec3
f2e050c6-bc6856d9
fe9bec35-80f9a33e
9736de91-3f4a17df
de03e059-f23d1dea
ad6d27cc-3e870323
ca314179-ca7d8d80
69bf80fa-f23d1dea
867c4c68-3f4a17df
6844d8aa-669a04e0
3ac60855-3ec2a267
f296190c-eaceac83
4442aae2-a90023b1
ed1d377-e1cc0f14
75f0f0a0-4ad60575
e2b18481-5c63917a
e7e71889-e1cc0f14
85963571-3f4a17df
fe05be5f-486e2a9c
61b920c1-f23d1dea
46567c16-f23d1dea
cd9fec2f-cd9fec2f
828a5926-71de01c2

Comment 11 by kbr@chromium.org, Aug 10 2016

Have you tested on a Retina MacBook Pro? This might be high-DPI related.

Comment 12 by kbr@chromium.org, Aug 10 2016

Also, I'm not sure whether it's expected to do anything, but I tried running with --disable-field-trial-config and it didn't seem to have any effect.

Comment 13 by kbr@chromium.org, Aug 10 2016

Talking with the field trials team, it sounds like:
  --enable-benchmarking
is supposed to set all field trials back to their default state. This has no effect on my machine; the bug still reproduces.

They helped me figure out the names of all of the active experiments on my Canary instance:
AutofillFieldMetadata-Enabled
AutofillProfileCleanup-Control_Dogfood
AutofillSingleClick-Control
AutomaticTabDiscarding-Enabled_Once_10_Dogfood
BrowserHangFixesExperiment-Enabled
Canvas2DImageChromium-Control
CaptivePortalInterstitial-Enabled
ChildAccountDetection-Enabled
ClientSideDetectionModel-Model3
DefaultEnableGpuRasterization-DefaultEnableGpuRasterization
DisallowFetchForDocWrittenScriptsInMainFrame-Control
EnableMediaRouter-Enabled
ExtensionContentVerification-Enforce
ExtensionDeveloperModeWarning-Enabled
ExtensionInstallVerification-Enforce
GFE-Default
MainFrameBeforeActivation-Enabled
MaterialDesignSettings-Enabled_Dogfood
NetworkTimeQueries-NetworkTimeQueriesDisabled
NewMediaPlaybackUi-Default
NonValidatingReloadOnNormalReload-Enabled
OfferUploadCreditCards-Enabled
OmniboxBundledExperimentV1-DevDogfoodControlR6_Dogfood
ParseHTMLOnMainThread-Enabled_SyncTokenize
PassiveDocumentEventListeners-Enabled
PasswordBranding-SmartLockBrandingSavePromptOnly
PasswordGeneration-Enabled
PasswordManagerSettingsMigration-Enable_Dogfood
Pepper3DImageChromium-Control
PersistentHistograms-Default
PluginPowerSaverTiny-Enabled
PointerEvent-Enabled
PreconnectMore-Enabled
QUIC-EnabledConnectionMigration
ReportCertificateErrors-ShowAndPossiblySend
SSLBufferSizeRecv-17408 (Control)
SSLBufferSizeSend-4096
SSLCommonNameMismatchHandling-Enabled
SSLPostQuantum-enabled
SafeBrowsingIncidentReportingService-Enabled
SafeBrowsingUpdateFrequency-Default
SafeBrowsingV4LocalDatabaseManagerEnabled-Enabled
SecurityWarningIconUpdate-Enabled
SimpleCacheTrial-ExperimentYes
SiteEngagement-Default
SiteIsolationExtensions-Control
StrictSecureCookies-Enabled
TranslateNewUX-ControlUx
UMA-Population-Restrict-dogfood
UMA-Uniformity-Trial-1-Percent-group_62
UMA-Uniformity-Trial-10-Percent-group_01
UMA-Uniformity-Trial-100-Percent-group_01
UMA-Uniformity-Trial-20-Percent-group_02
UMA-Uniformity-Trial-5-Percent-group_10
UMA-Uniformity-Trial-50-Percent-group_01
UseGoogleLocalNtp-Enabled
V8CacheStrategiesForCacheStorage-none
V8Ignition-Ignition_Lazy
V8_ES2015_TailCalls-Enabled
WeakMemoryCache-WeakMemoryCache
WebFontsInterventionV2-Enabled-slow2g
WebGLImageChromium-Control


so I attempted to turn them all off:
--disable-feature=AutofillFieldMetadata
--disable-feature=AutofillProfileCleanup
--disable-feature=AutofillSingleClick
--disable-feature=AutomaticTabDiscarding
--disable-feature=BrowserHangFixesExperiment
--disable-feature=Canvas2DImageChromium
--disable-feature=CaptivePortalInterstitial
--disable-feature=ChildAccountDetection
--disable-feature=ClientSideDetectionModel
--disable-feature=DefaultEnableGpuRasterization
--disable-feature=DisallowFetchForDocWrittenScriptsInMainFrame
--disable-feature=EnableMediaRouter
--disable-feature=ExtensionContentVerification
--disable-feature=ExtensionDeveloperModeWarning
--disable-feature=ExtensionInstallVerification
--disable-feature=GFE
--disable-feature=MainFrameBeforeActivation
--disable-feature=MaterialDesignSettings
--disable-feature=NetworkTimeQueries
--disable-feature=NewMediaPlaybackUi
--disable-feature=NonValidatingReloadOnNormalReload
--disable-feature=OfferUploadCreditCards
--disable-feature=OmniboxBundledExperimentV1
--disable-feature=ParseHTMLOnMainThread
--disable-feature=PassiveDocumentEventListeners
--disable-feature=PasswordBranding
--disable-feature=PasswordGeneration
--disable-feature=PasswordManagerSettingsMigration
--disable-feature=Pepper3DImageChromium
--disable-feature=PersistentHistograms
--disable-feature=PluginPowerSaverTiny
--disable-feature=PointerEvent
--disable-feature=PreconnectMore
--disable-feature=QUIC
--disable-feature=ReportCertificateErrors
--disable-feature=SSLBufferSizeRecv
--disable-feature=SSLBufferSizeSend
--disable-feature=SSLCommonNameMismatchHandling
--disable-feature=SSLPostQuantum
--disable-feature=SafeBrowsingIncidentReportingService
--disable-feature=SafeBrowsingUpdateFrequency
--disable-feature=SafeBrowsingV4LocalDatabaseManagerEnabled
--disable-feature=SecurityWarningIconUpdate
--disable-feature=SimpleCacheTrial
--disable-feature=SiteEngagement
--disable-feature=SiteIsolationExtensions
--disable-feature=StrictSecureCookies
--disable-feature=TranslateNewUX
--disable-feature=UseGoogleLocalNtp
--disable-feature=V8CacheStrategiesForCacheStorage
--disable-feature=V8Ignition
--disable-feature=V8_ES2015_TailCalls
--disable-feature=WeakMemoryCache
--disable-feature=WebFontsInterventionV2
--disable-feature=WebGLImageChromium


but this also had no effect; the bug still reproduces.

Comment 14 by kbr@chromium.org, Aug 11 2016

Cc: ccameron@chromium.org vmi...@chromium.org ericrk@chromium.org
Components: Internals>GPU>Rasterization
I was using the wrong command line argument. It should have been --disable-features with a comma separated list.

With this, I've confirmed the experiment that's causing the problem is:
DefaultEnableGpuRasterization

On my Canary instance,
--disable-features=DefaultEnableGpuRasterization

makes the "stuck cursor" problem go away, though the caret still doesn't render 100% properly. (It disappears in certain places on the line.)

So yosin@, I think:
--enable-features=DefaultEnableGpuRasterization

should make the problem reproduce.

I think this is probably a bug ericrk@ should take.

Comment 15 by kbr@chromium.org, Aug 16 2016

Cc: yosin@chromium.org
Owner: ericrk@chromium.org
Assigning to ericrk.

Labels: -Needs-triage
I was able to reproduce this locally - at least on my machine this can occur with both GPU rasterization as well as SW rasterization (although the visual glitches are different in each).

This seems like an issue with Blink paint invalidation (we aren't invalidating an area we should, and aren't drawing new content there). Doing a bisect w/ SW raster only to try to find the issue.
Components: -Internals>GPU>Rasterization Blink>Paint>Invalidation
Owner: chrishtr@chromium.org
Did a manual bisect and it appears that https://chromium.googlesource.com/chromium/src/+/66797e1dd0c3366619ebcc6a5ce3f546055d9103 is the culprit.

Due to partial raster being enabled w/ GPU (and not SW), this issue may be more easy to repro with GPU.

By highlighting and scrolling around at the end of the text field I was able to consistently repro with SW.

Comment 19 by kbr@chromium.org, Aug 22 2016

What is the status of this? This bug is marked P1. I am still seeing issues interacting with Monorail's CC: list in 54.0.2836.0 (Official Build) canary (64-bit).

Status: Started (was: Assigned)
Reduced testcase:

<!DOCTYPE html> 
<input  size="90"  value="test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test">
 
Requires --enable-prefer-compositing-to-lcd-text to reproduce.
Cc: chrishtr@chromium.org
 Issue 635037  has been merged into this issue.

Comment 23 by yosin@chromium.org, Aug 24 2016

Cc: tapted@chromium.org reve...@chromium.org
 Issue 633981  has been merged into this issue.
Issue 636283 has been merged into this issue.

Comment 26 by yosin@chromium.org, Aug 29 2016

 Issue 641492  has been merged into this issue.
Project Member

Comment 27 by bugdroid1@chromium.org, Aug 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b1d694f3370e4b6d6e723382c086617f85c94e93

commit b1d694f3370e4b6d6e723382c086617f85c94e93
Author: chrishtr <chrishtr@chromium.org>
Date: Mon Aug 29 15:36:32 2016

Fix paint invalidation and painting for composited-scrolling input elements.

In, particular, the following issues:

1. Paint invalidation missed cases when elements had "intrinsic scrollability",
in particular input elements.
2. Invalidation of carets incorrectly included scrolling for composited input
elements.
3. The DisplayItemClient must be distinct for case #2, because it paints into
a different GraphicsLayer than the rest of the LayoutBlock.

BUG= 635724 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2271883002
Cr-Commit-Position: refs/heads/master@{#415013}

[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container.html
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container.html
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container.html
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/editing/CaretBase.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/editing/CaretBase.h
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/editing/DragCaretController.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.h
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/b1d694f3370e4b6d6e723382c086617f85c94e93/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h

Labels: M-53 Merge-Request-54
Project Member

Comment 29 by bugdroid1@chromium.org, Aug 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/248ea715cec99c6673390d100ac9d664388abb8a

commit 248ea715cec99c6673390d100ac9d664388abb8a
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Mon Aug 29 17:17:46 2016

Auto-rebaseline for r415013

https://chromium.googlesource.com/chromium/src/+/b1d694f33

BUG= 635724 
TBR=chrishtr@chromium.org

Review URL: https://codereview.chromium.org/2288323002 .

Cr-Commit-Position: refs/heads/master@{#415021}

[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/TestExpectations
[rename] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/android/paint/selection/selection-in-composited-scrolling-container-expected.txt
[rename] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/android/paint/selection/selection-in-non-composited-scrolling-container-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/fast/repaint/4776765-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/fast/repaint/caret-invalidation-in-overflow-scroll-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/fast/repaint/caret-outside-block-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/fast/repaint/caret-with-transformation-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/fast/repaint/delete-into-nested-block-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/fast/repaint/inline-outline-repaint-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/fast/repaint/selection-after-delete-expected.txt
[rename] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[rename] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/selection/selection-in-composited-scrolling-container-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/repaint/caret-invalidation-in-overflow-scroll-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/selection/selection-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/selection/selection-in-non-composited-scrolling-container-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/fast/repaint/4776765-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/fast/repaint/caret-invalidation-in-overflow-scroll-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/fast/repaint/caret-with-transformation-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/paint/selection/selection-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/mac/paint/selection/selection-in-non-composited-scrolling-container-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/fast/repaint/4776765-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/fast/repaint/caret-invalidation-in-overflow-scroll-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/fast/repaint/caret-outside-block-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/fast/repaint/caret-with-transformation-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/fast/repaint/delete-into-nested-block-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/fast/repaint/inline-outline-repaint-expected.txt
[modify] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/fast/repaint/selection-after-delete-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/paint/selection/selection-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/248ea715cec99c6673390d100ac9d664388abb8a/third_party/WebKit/LayoutTests/platform/win/paint/selection/selection-in-non-composited-scrolling-container-expected.txt

Labels: -ReleaseBlock-Stable ReleaseBlock-Beta
Per comment #3, this is a regression on M54 not on M53. If it is NOT a regression on M53, please remove "M-53" label. Thank you.
Tseters: another testcase to use for verification:

http://jsbin.com/muluqoquve/edit?html,output

Instructions:

1. Load that page
2. Try selecting text in the input element, or focusing it. The blinking caret
and selection region should be correct.
3. Now scroll the input horizonally (using the arrow keys once focused, or on
Android, with a swipe-left gesture), and then repeat #2.

(Step #3 used to fail before the fix to this bug.)
Labels: -Merge-Request-54 Merge-Approved-54
This change meets the bar and is approved for merging into M54 (build 2840)
To clarify: the bisect in comment 18 is the correct one. This is an M53 regression. Hence the request to merge to M53 as well as M54.
Cc: pbomm...@chromium.org
Thank you  chrishtr@. 

* M54 merge is approved at #33. Please merge to M54 ASAP.
* Please add "Merge-Request-53" label for M53 merge. I will approve M53 merge once change is baked/verified in M55 Canary and M54 Dev. 

Note: M53 merge has to happen tomorrow, Tuesday before 3:00 PM PT in order to make into the desktop Stable final build cut. Thank you.



Labels: ReleaseBlock-Stable
Project Member

Comment 37 by bugdroid1@chromium.org, Aug 29 2016

Labels: -merge-approved-54 merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/096f5bf603212251bff19486f9d487e0c8a4f123

commit 096f5bf603212251bff19486f9d487e0c8a4f123
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Aug 29 22:55:25 2016

Fix paint invalidation and painting for composited-scrolling input elements.

In, particular, the following issues:

1. Paint invalidation missed cases when elements had "intrinsic scrollability",
in particular input elements.
2. Invalidation of carets incorrectly included scrolling for composited input
elements.
3. The DisplayItemClient must be distinct for case #2, because it paints into
a different GraphicsLayer than the rest of the LayoutBlock.

BUG= 635724 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2271883002
Cr-Commit-Position: refs/heads/master@{#415013}
(cherry picked from commit b1d694f3370e4b6d6e723382c086617f85c94e93)

Review URL: https://codereview.chromium.org/2291793003 .

Cr-Commit-Position: refs/branch-heads/2840@{#25}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container.html
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container.html
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container.html
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/CaretBase.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/CaretBase.h
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/DragCaretController.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.h
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h

Cc: anan...@chromium.org
+ Anantha
M54 merge is now done. What remains is an M53 merge.
Labels: Merge-Request-53
Adding "Merge-Request-53" label per comment #39.

Please see #35 on M53 merge approval and when the merge should happen. Thank you.

Ok. Waiting for approval..
Labels: TE-Verified-M54 TE-Verified-M55 TE-Verified-54.0.2840.6 TE-Verified-55.0.2844.0
Rechecked this on chrome M54 Dev version 54.0.2840.6 and Canary version 55.0.2844.0 on Windows 10 and MAC 10.11.6 as per the steps provided in the bug and as per the test case provided in comment#32. Fix is working as intended. 

No cursor stuk is observed and horizontal input scroll is smooth. Adding TE-verified labels.

Thanks.!

Comment 43 by kbr@chromium.org, Aug 30 2016

Thank you for fixing this. I can confirm it's fixed in 55.0.2844.0 (Official Build) canary (64-bit).

Great, glad to hear it worked.

FYI still wainting for M53 approval to manually merge.
Labels: -Merge-Request-53 Merge-Approved-53
Approving merge to M53 branch 2785 based on comment #42 and #43. Please merge ASAP. Thank you.
Project Member

Comment 46 by bugdroid1@chromium.org, Aug 30 2016

Labels: -merge-approved-53 merge-merged-2785
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/164d02f8dd0ba9cd25faef0747a08b48cf73022d

commit 164d02f8dd0ba9cd25faef0747a08b48cf73022d
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Tue Aug 30 21:38:58 2016

Cherry-pick r415013 to M53.

TBR=wkorman
Ref: https://codereview.chromium.org/2271883002

BUG= 635724 

Review URL: https://codereview.chromium.org/2292353003 .

Cr-Commit-Position: refs/branch-heads/2785@{#795}
Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382}

[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/editing/CaretBase.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/editing/CaretBase.h
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/editing/DragCaretController.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp
[modify] https://crrev.com/164d02f8dd0ba9cd25faef0747a08b48cf73022d/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h

Status: Fixed (was: Started)
Labels: TE-Verified-53.0.2785.89 TE-Verified-M53
Rechecked this on chrome version 53.0.2785.89 on MAC 10.11.6 and Windows 10. Merge is working as intended. Adding TE-verified labels.

Thanks.!
Issue 641308 has been merged into this issue.

Comment 50 by tkent@chromium.org, Oct 12 2016

Components: -Blink>TextSelection Blink>Editing>Selection
Project Member

Comment 51 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/096f5bf603212251bff19486f9d487e0c8a4f123

commit 096f5bf603212251bff19486f9d487e0c8a4f123
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Mon Aug 29 22:55:25 2016

Fix paint invalidation and painting for composited-scrolling input elements.

In, particular, the following issues:

1. Paint invalidation missed cases when elements had "intrinsic scrollability",
in particular input elements.
2. Invalidation of carets incorrectly included scrolling for composited input
elements.
3. The DisplayItemClient must be distinct for case #2, because it paints into
a different GraphicsLayer than the rest of the LayoutBlock.

BUG= 635724 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2271883002
Cr-Commit-Position: refs/heads/master@{#415013}
(cherry picked from commit b1d694f3370e4b6d6e723382c086617f85c94e93)

Review URL: https://codereview.chromium.org/2291793003 .

Cr-Commit-Position: refs/branch-heads/2840@{#25}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-composited-scrolling-container.html
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-composited-scrolling-container.html
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container-expected.txt
[add] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/LayoutTests/paint/selection/selection-in-non-composited-scrolling-container.html
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/CaretBase.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/CaretBase.h
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/DragCaretController.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/layout/LayoutObject.h
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/BlockPainter.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.h
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/096f5bf603212251bff19486f9d487e0c8a4f123/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h

Sign in to add a comment