New issue
Advanced search Search tips

Issue 836912 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Feature


Sign in to add a comment

Make scrollbars work by creating foreign layers in PaintArtifactCompositor

Project Member Reported by pdr@chromium.org, Apr 25 2018

Issue description

Scrollbars don't currently work with paint artifact compositor. We need to create them and hook them up properly in paint artifact compositor, likely using foreign layers.
 
Components: -Blink

Comment 2 by bokan@chromium.org, Apr 26 2018

Status: Assigned (was: Untriaged)
Actually I think they are currently created and painted, just not correctly hooked up as foreign layers.

They are created and attached to GraphicsLayer tree as content layer through this code path:
CompositedLayerMapping::ToggleScrollbarLayerIfNeeded()
  ScrollingCoordinator::ScrollableAreaScrollbarLayerDidChange()
    CreateScrollbarLayer()
    SetupScrollbarLayer()
      GraphicsLayer::SetContentsToPlatformLayer()

The shim code I added in local_frame_view.cc currently doesn't collect content layers: https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/frame/local_frame_view.cc?rcl=8434b6df4190dafeea2c6ea9a915d04fe8f5aff2&l=3420
That's why scrollbar layers (also videos, directly composited images) don't draw properly.

It shouldn't be too difficult to finish that TODO... Though I would expect there may be some additional work to do to teach impl-thread to update thumb position.
Blockedon: 840037

Comment 5 by bokan@chromium.org, May 9 2018

Blockedon: 841342

Comment 6 by bokan@chromium.org, May 9 2018

Blockedon: 841357

Comment 7 by bokan@chromium.org, May 9 2018

Blockedon: 840017

Comment 8 by bokan@chromium.org, May 9 2018

Blockedon: 841423
Blockedon: 841519

Comment 10 by bokan@chromium.org, Jun 20 2018

Blockedon: -840017

Comment 11 by bokan@chromium.org, Jun 20 2018

Blockedon: 836910
Blockedon: 870520
Blockedon: 870531
Blockedon: 874445
Blockedon: -874445
Status: Fixed (was: Assigned)
Owner: chrishtr@chromium.org
Status: Assigned (was: Fixed)
Reopening for:
 crbug.com/836912  compositing/squashing/no-squashing-into-another-clip-layer.html [ Failure ]
 crbug.com/836912  compositing/scrollbars/nested-overlay-scrollbars.html [ Failure ]

Chris, can you look into this one, in particular nested-overlay-scrollbars.html?
For compositing/scrollbars/nested-overlay-scrollbars.html, as far as I can tell
the new value is correct and should be rebaselined.
The other test also has an incorrect flag-specific baseline.
Sending a rebaseline CL now.
Project Member

Comment 20 by bugdroid1@chromium.org, Sep 13

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

commit 840917d42bdd5966e442f3bc1bbfcc2c06cd3b41
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Thu Sep 13 13:46:53 2018

[BGPT] Rebaseline two tests that are working correctly.

One test seems to be a progression from non-BGPT mode, positioning a nested scrollbar
at the correct position. The other restores a graphics layer sizing that was incorrect
in the flag-specific baseline.

Bug:  836912 

Cq-Include-Trybots: luci.chromium.try:linux-blink-gen-property-trees;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I39f59bd3a8c65607fc846a49bae1345137d9aee1
Reviewed-on: https://chromium-review.googlesource.com/1222992
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590992}
[modify] https://crrev.com/840917d42bdd5966e442f3bc1bbfcc2c06cd3b41/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
[add] https://crrev.com/840917d42bdd5966e442f3bc1bbfcc2c06cd3b41/third_party/WebKit/LayoutTests/flag-specific/enable-blink-gen-property-trees/compositing/scrollbars/nested-overlay-scrollbars-expected.png
[modify] https://crrev.com/840917d42bdd5966e442f3bc1bbfcc2c06cd3b41/third_party/WebKit/LayoutTests/flag-specific/enable-blink-gen-property-trees/compositing/squashing/no-squashing-into-another-clip-layer-expected.txt

Status: Fixed (was: Assigned)

Sign in to add a comment