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

Issue 11371: Fix infinite paint loop on Linux. (Closed)

Created:
12 years, 1 month ago by Evan Martin
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Fix infinite paint loop on Linux. In response to an invalidation, we call into WebKit to do layout. On Windows, WM_PAINT is a virtual message so any extra Invalidates that come up while it's doing layout are implicitly swallowed as soon as we actually do drawing via BeginPaint. Though GTK does know how to collapse multiple paint requests, it won't erase paint requests from the future when we start drawing. So the solution is to track whether we're currently handling a redraw, and during that if we get told by WebKit that a region has become invalid, we still add that region to the local dirty rect but *don't* enqueue yet another "do a paint" message.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -2 lines) Patch
M webkit/tools/test_shell/webwidget_host_gtk.cc View 3 chunks +8 lines, -2 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
darin (slow to review)
12 years, 1 month ago (2008-11-22 00:05:30 UTC) #1
LGTM

Powered by Google App Engine
This is Rietveld 408576698