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

Issue 8528006: Fix resize issues when using threaded compositing (Closed)

Created:
9 years, 1 month ago by enne (OOO)
Modified:
8 years, 8 months ago
Reviewers:
jamesr, nduca, jam, jbates
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, dpranke-watch+content_chromium.org, piman, jbauman, klobag.chromium
Visibility:
Public.

Description

Fix resize issues when using threaded compositing Threaded compositing doesn't ever call DoDeferredUpdate, so never has a chance to send the resize ack via an update message back to the browser. Fix by piping through didBeginFrame (called at the beginning of a main thread frame) and didFinishFrame (called during the client side OnSwapBuffers when a main thread frame has been committed). This patch queues up update messages during didBeginFrame and then sends them out during the corresponding didFinishFrame. BUG=103776 TEST=run with threaded compositing, resize page multiple times Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=110599

Patch Set 1 #

Total comments: 2

Patch Set 2 : Rebase on ToT, simplify, send message on impl swap not client #

Total comments: 2

Patch Set 3 : Rename to match WebKit patch, also early out if update reply already pending #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+27 lines, -1 line) Patch
M content/browser/renderer_host/render_widget_host.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/render_widget.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 1 chunk +24 lines, -0 lines 2 comments Download

Messages

Total messages: 8 (0 generated)
enne (OOO)
This patch depends on piman's http://codereview.chromium.org/8498036 change by reusing the pending update queue. The WebKit ...
9 years, 1 month ago (2011-11-10 20:29:28 UTC) #1
jamesr
lgtm
9 years, 1 month ago (2011-11-10 22:55:05 UTC) #2
nduca
http://codereview.chromium.org/8528006/diff/1/content/renderer/render_widget.cc File content/renderer/render_widget.cc (left): http://codereview.chromium.org/8528006/diff/1/content/renderer/render_widget.cc#oldcode406 content/renderer/render_widget.cc:406: void RenderWidget::OnSwapBuffersPosted() { Can we get rid of this ...
9 years, 1 month ago (2011-11-11 06:01:08 UTC) #3
nduca
http://codereview.chromium.org/8528006/diff/6001/content/renderer/render_widget.cc File content/renderer/render_widget.cc (right): http://codereview.chromium.org/8528006/diff/6001/content/renderer/render_widget.cc#newcode975 content/renderer/render_widget.cc:975: void RenderWidget::didCompleteSwapbuffers() Should this be conditional on compositor thread ...
9 years, 1 month ago (2011-11-12 03:22:06 UTC) #4
nduca
Oh, also, LGTM
9 years, 1 month ago (2011-11-12 03:22:13 UTC) #5
enne (OOO)
http://codereview.chromium.org/8528006/diff/6001/content/renderer/render_widget.cc File content/renderer/render_widget.cc (right): http://codereview.chromium.org/8528006/diff/6001/content/renderer/render_widget.cc#newcode975 content/renderer/render_widget.cc:975: void RenderWidget::didCompleteSwapbuffers() On 2011/11/12 03:22:06, nduca wrote: > Should ...
9 years, 1 month ago (2011-11-12 19:29:19 UTC) #6
jam
lgtm http://codereview.chromium.org/8528006/diff/9001/content/renderer/render_widget.cc File content/renderer/render_widget.cc (right): http://codereview.chromium.org/8528006/diff/9001/content/renderer/render_widget.cc#newcode971 content/renderer/render_widget.cc:971: void RenderWidget::didCommitAndDrawCompositorFrame() nit: here and below, brace bracket ...
9 years, 1 month ago (2011-11-17 22:56:12 UTC) #7
jbates
8 years, 8 months ago (2012-04-16 23:41:35 UTC) #8
http://codereview.chromium.org/8528006/diff/9001/content/renderer/render_widg...
File content/renderer/render_widget.cc (right):

http://codereview.chromium.org/8528006/diff/9001/content/renderer/render_widg...
content/renderer/render_widget.cc:980: if (!next_paint_flags_ &&
!plugin_window_moves_.size())
This will blow up if someone adds new flags to ViewHostMsg_UpdateRect_Flags.

Powered by Google App Engine
This is Rietveld 408576698