Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Issue 2457333002: sync compositor: Keep draw after ComputeScroll synchronous (Closed)

Created:
4 years, 1 month ago by boliu
Modified:
4 years, 1 month ago
Reviewers:
Tobias Sargeant
CC:
chromium-reviews, jam, darin-cc_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

sync compositor: Keep draw after ComputeScroll synchronous Async draw will asynchronously send scroll updates that happen between BeginFrame (which is synchronous) and Draw to the UI thread. Although the frame is synchronously delivered to the render thread with the frame future. The problem with any such scroll is that any children of webview is scrolled according to the position of the webview will appear to be out of sync with webview content itself. THere are two sources of such scrolls: 1) ComputeScroll, which only happen during fling animations 2) Blink main scroll being committed/activated. This CL fixes 1) by making draws after ComputeScroll always synchronous. Could reduce this further by checking of webview actually has children. But this CL is good enough to ship. Case 2) is generally rarer. In theory, commits should not happen between BeginFrame and Draw, but webview can't make this guarantee due to other constraints. BUG=636164 Committed: https://crrev.com/0be8dd04aef3283ea273061512f53a0f7df9bc69 Cr-Commit-Position: refs/heads/master@{#428734}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -1 line) Patch
M content/browser/android/synchronous_compositor_host.h View 1 chunk +3 lines, -0 lines 0 comments Download
M content/browser/android/synchronous_compositor_host.cc View 3 chunks +12 lines, -1 line 0 comments Download

Messages

Total messages: 20 (10 generated)
boliu
for monday..
4 years, 1 month ago (2016-10-30 01:14:33 UTC) #8
Tobias Sargeant
On 2016/10/30 01:14:33, boliu wrote: > for monday.. Couldn't BVR set allow_async_draw_ = false in ...
4 years, 1 month ago (2016-10-31 10:15:25 UTC) #9
boliu
On 2016/10/31 10:15:25, Tobias Sargeant wrote: > On 2016/10/30 01:14:33, boliu wrote: > > for ...
4 years, 1 month ago (2016-10-31 13:46:00 UTC) #10
Tobias Sargeant
On 2016/10/31 13:46:00, boliu wrote: > On 2016/10/31 10:15:25, Tobias Sargeant wrote: > > On ...
4 years, 1 month ago (2016-10-31 15:24:05 UTC) #11
boliu
On 2016/10/31 15:24:05, Tobias Sargeant wrote: > On 2016/10/31 13:46:00, boliu wrote: > > On ...
4 years, 1 month ago (2016-10-31 15:51:45 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2457333002/1
4 years, 1 month ago (2016-10-31 15:55:23 UTC) #14
Tobias Sargeant
On 2016/10/31 15:51:45, boliu wrote: > On 2016/10/31 15:24:05, Tobias Sargeant wrote: > > On ...
4 years, 1 month ago (2016-10-31 15:56:37 UTC) #15
boliu
On 2016/10/31 15:56:37, Tobias Sargeant wrote: > On 2016/10/31 15:51:45, boliu wrote: > > On ...
4 years, 1 month ago (2016-10-31 16:01:39 UTC) #16
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 1 month ago (2016-10-31 16:26:06 UTC) #18
commit-bot: I haz the power
4 years, 1 month ago (2016-10-31 16:45:50 UTC) #20
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/0be8dd04aef3283ea273061512f53a0f7df9bc69
Cr-Commit-Position: refs/heads/master@{#428734}

Powered by Google App Engine
This is Rietveld 408576698