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

Issue 9225050: Defer render_widget draw until host window is available (Closed)

Created:
8 years, 10 months ago by jamesr
Modified:
8 years, 10 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, piman
Visibility:
Public.

Description

Defer render_widget draw until host window is available In accelerated compositing mode we can't start rendering until the native window (HWND/gtk widget) are created on Windows and GTK without aura. For most render_widgets the code today is racy, but for window.open() and similar creation paths this is a race that we pretty much always lose. This defers the first DoDeferredUpdate on a render_widget until its host_window_ is available. Also defers querying for GL_CHROMIUM_supports_swapbuffers_callback extension until the first draw, since the context isn't ready until the host window is available. BUG=106815 TEST=start with --force-compositing-mode and --show-fps-counter, load up a page that uses window.open() to open a popup, and confirm that the popup is in compositing mode Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=119977 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=120111 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=120839

Patch Set 1 #

Total comments: 2

Patch Set 2 : initialize members in RenderViewImpl ctor #

Patch Set 3 : aura sets host_window_ to NULL, so check for set-ness instead of null-ness #

Unified diffs Side-by-side diffs Delta from patch set Stats (+36 lines, -12 lines) Patch
M content/renderer/render_view_impl.h View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 2 chunks +15 lines, -7 lines 0 comments Download
M content/renderer/render_widget.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 6 chunks +13 lines, -5 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
jamesr
This + https://bugs.webkit.org/show_bug.cgi?id=77269 fix the --force-compositing-mode window.open() bug. Amusingly, this patch also seems to speed ...
8 years, 10 months ago (2012-01-30 01:34:07 UTC) #1
piman
https://chromiumcodereview.appspot.com/9225050/diff/1/content/renderer/render_view_impl.cc File content/renderer/render_view_impl.cc (right): https://chromiumcodereview.appspot.com/9225050/diff/1/content/renderer/render_view_impl.cc#newcode4499 content/renderer/render_view_impl.cc:4499: return context_has_swapbuffers_complete_callback_; I'm not sure caching this is a ...
8 years, 10 months ago (2012-01-30 18:10:22 UTC) #2
jamesr
On 2012/01/30 18:10:22, piman wrote: > https://chromiumcodereview.appspot.com/9225050/diff/1/content/renderer/render_view_impl.cc > File content/renderer/render_view_impl.cc (right): > > https://chromiumcodereview.appspot.com/9225050/diff/1/content/renderer/render_view_impl.cc#newcode4499 > ...
8 years, 10 months ago (2012-01-30 18:21:12 UTC) #3
nduca
Oh dear. LGTM but not ugh.
8 years, 10 months ago (2012-01-30 18:52:17 UTC) #4
piman
lgtm
8 years, 10 months ago (2012-01-31 01:24:18 UTC) #5
jamesr
I've sent additional tryjobs on the mac_rel failure and it looks like the test itself ...
8 years, 10 months ago (2012-01-31 20:50:09 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/9225050/1
8 years, 10 months ago (2012-01-31 20:50:20 UTC) #7
commit-bot: I haz the power
Change committed as 119977
8 years, 10 months ago (2012-01-31 22:39:28 UTC) #8
jamesr
I forgot to initialize new bools on render_view_impl, so various bots exploded since the initial ...
8 years, 10 months ago (2012-02-01 04:12:14 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/9225050/15001
8 years, 10 months ago (2012-02-01 20:32:23 UTC) #10
commit-bot: I haz the power
Change committed as 120111
8 years, 10 months ago (2012-02-01 21:54:22 UTC) #11
jamesr
This failed on chromeos + aura because on that platform the host_window_ is always set ...
8 years, 10 months ago (2012-02-06 21:14:09 UTC) #12
jamesr
Trybots are happy - Antoine, mind taking a look at the patch set 3 diffs ...
8 years, 10 months ago (2012-02-07 02:25:17 UTC) #13
piman
lgtm
8 years, 10 months ago (2012-02-07 02:44:24 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamesr@chromium.org/9225050/21001
8 years, 10 months ago (2012-02-07 02:48:16 UTC) #15
commit-bot: I haz the power
8 years, 10 months ago (2012-02-07 06:54:32 UTC) #16
The commit queue went berserk retrying too often for a
seemingly flaky test. Builder is mac_rel, revision is 120728, job name
was 9225050-21001 (previous was lost) (retry) (retry) (retry).

Powered by Google App Engine
This is Rietveld 408576698