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

Issue 2005013002: mac: ensure ui::Compositor exists for visible RWHVs (Closed)

Created:
4 years, 7 months ago by enne (OOO)
Modified:
4 years, 6 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, nona+watch_chromium.org, shuchen+watch_chromium.org, James Su, yusukes+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

mac: ensure ui::Compositor exists for visible RWHVs RenderWidgetHostViewMac is careful about creating ui::Compositor and so currently only does this in Show and SwapCompositorFrame. However, if it the RenderWidgetHostView is created while the RenderWidgetHost is visible, then Show will early out and never create a ui::Compositor. This causes problems with begin frame scheduling, which wants to have the Display (which is created as part of creating the ui::Compositor's output surface currently) own the real begin frame source that drives everything. In that world, if no ui::Compositor exists, no frames ever are sent or swapped. So, the ui::Compositor needs to be created first. To avoid issues where there's inconsistencies between host impl hidden state and browser compositor existence, always ensure that the browser compositor exists in ::Show. R=asvitkine@chromium.org,ccameron@chromium.org Committed: https://crrev.com/a46e810069effce565efe42ccddfd13f74c5bc93 Cr-Commit-Position: refs/heads/master@{#401133}

Patch Set 1 #

Patch Set 2 : Also clean up swap buffers #

Patch Set 3 : Also clean up swap buffers #

Total comments: 2

Patch Set 4 : OOPS #

Patch Set 5 : OOPS #

Patch Set 6 : More unit test fixes #

Total comments: 3

Patch Set 7 : Add shutdown method #

Patch Set 8 : Rebase #

Patch Set 9 : Don't register display reconfig callback in tests #

Patch Set 10 : Fix gn analyze #

Patch Set 11 : More gn fixes #

Patch Set 12 : Fix for gyp, remove display config callback #

Patch Set 13 : Fixed hangs, more dchecks #

Patch Set 14 : Move dcheck #

Total comments: 1

Patch Set 15 : Add speculative WillOccluded check like Hide #

Patch Set 16 : Add speculative WillOccluded check like Hide #

Patch Set 17 : Ensure in ctor and always in show #

Unified diffs Side-by-side diffs Delta from patch set Stats (+46 lines, -7 lines) Patch
M content/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +6 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm View 1 2 3 4 5 6 3 chunks +9 lines, -5 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +5 lines, -0 lines 0 comments Download
M content/public/test/test_renderer_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +13 lines, -0 lines 0 comments Download
M content/test/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +5 lines, -0 lines 0 comments Download
M ui/accelerated_widget_mac/window_resize_helper_mac.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M ui/accelerated_widget_mac/window_resize_helper_mac.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 51 (21 generated)
enne (OOO)
4 years, 7 months ago (2016-05-23 22:10:49 UTC) #1
ccameron
lgtm
4 years, 7 months ago (2016-05-23 22:13:03 UTC) #2
enne (OOO)
Also went ahead and cleaned up swap buffers in this patch, as the two changes ...
4 years, 7 months ago (2016-05-24 00:24:46 UTC) #4
danakj
https://codereview.chromium.org/2005013002/diff/40001/content/browser/renderer_host/render_widget_host_view_mac.mm File content/browser/renderer_host/render_widget_host_view_mac.mm (right): https://codereview.chromium.org/2005013002/diff/40001/content/browser/renderer_host/render_widget_host_view_mac.mm#newcode1483 content/browser/renderer_host/render_widget_host_view_mac.mm:1483: if (!browser_compositor->compositor()) { Is this inverted? if (!a) a->Foo() ...
4 years, 7 months ago (2016-05-24 00:34:40 UTC) #6
ccameron
https://codereview.chromium.org/2005013002/diff/40001/content/browser/renderer_host/render_widget_host_view_mac.mm File content/browser/renderer_host/render_widget_host_view_mac.mm (right): https://codereview.chromium.org/2005013002/diff/40001/content/browser/renderer_host/render_widget_host_view_mac.mm#newcode1483 content/browser/renderer_host/render_widget_host_view_mac.mm:1483: if (!browser_compositor->compositor()) { On 2016/05/24 00:34:40, danakj wrote: > ...
4 years, 7 months ago (2016-05-24 00:37:39 UTC) #7
enne (OOO)
o7 "This change is too small to bother copying a patch file over. I'll just ...
4 years, 7 months ago (2016-05-24 17:08:03 UTC) #8
Alexei Svitkine (slow)
lgtm
4 years, 7 months ago (2016-05-24 17:32:13 UTC) #9
Alexei Svitkine (slow)
Would also encourage to find a way to write a unit test for this, if ...
4 years, 7 months ago (2016-05-24 17:32:46 UTC) #10
enne (OOO)
Thanks. On 2016/05/24 at 17:32:46, asvitkine wrote: > Would also encourage to find a way ...
4 years, 7 months ago (2016-05-24 17:42:27 UTC) #11
enne (OOO)
Ok, there's a few more tests that are failing that I needed to adjust. Sorry ...
4 years, 7 months ago (2016-05-26 00:07:06 UTC) #15
ccameron
https://codereview.chromium.org/2005013002/diff/100001/content/public/test/test_renderer_host.cc File content/public/test/test_renderer_host.cc (right): https://codereview.chromium.org/2005013002/diff/100001/content/public/test/test_renderer_host.cc#newcode220 content/public/test/test_renderer_host.cc:220: if (!ui::WindowResizeHelperMac::Get()->task_runner()) { On 2016/05/26 00:07:06, enne wrote: > ...
4 years, 7 months ago (2016-05-26 00:11:45 UTC) #16
enne (OOO)
phajdan.jr: content/public/test and content/test OWNERS
4 years, 6 months ago (2016-06-02 21:45:16 UTC) #18
Paweł Hajdan Jr.
LGTM
4 years, 6 months ago (2016-06-03 12:54:53 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2005013002/220001
4 years, 6 months ago (2016-06-03 17:19:01 UTC) #22
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years, 6 months ago (2016-06-03 18:11:23 UTC) #23
commit-bot: I haz the power
Patchset 12 (id:??) landed as https://crrev.com/9af6c23da7070f9423d5cf25856ed27f7d5d8e5e Cr-Commit-Position: refs/heads/master@{#397755}
4 years, 6 months ago (2016-06-03 18:13:27 UTC) #25
enne (OOO)
A revert of this CL (patchset #12 id:220001) has been created in https://codereview.chromium.org/2040013002/ by enne@chromium.org. ...
4 years, 6 months ago (2016-06-06 18:14:42 UTC) #26
enne (OOO)
Ok, this is finally ready to reland. ccameron, did you want to take another look ...
4 years, 6 months ago (2016-06-15 22:07:44 UTC) #27
ccameron
On 2016/06/15 22:07:44, enne wrote: > Ok, this is finally ready to reland. ccameron, did ...
4 years, 6 months ago (2016-06-16 18:44:11 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2005013002/260001
4 years, 6 months ago (2016-06-16 18:55:50 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/88906)
4 years, 6 months ago (2016-06-16 21:07:57 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2005013002/260001
4 years, 6 months ago (2016-06-16 21:11:59 UTC) #37
commit-bot: I haz the power
Committed patchset #14 (id:260001)
4 years, 6 months ago (2016-06-17 00:58:41 UTC) #38
commit-bot: I haz the power
Patchset 14 (id:??) landed as https://crrev.com/b08fb143ac17b3cc42def859e3b0a9c93bda06f3 Cr-Commit-Position: refs/heads/master@{#400324}
4 years, 6 months ago (2016-06-17 00:59:58 UTC) #40
enne (OOO)
A revert of this CL (patchset #14 id:260001) has been created in https://codereview.chromium.org/2079023002/ by enne@chromium.org. ...
4 years, 6 months ago (2016-06-17 17:05:05 UTC) #41
ccameron
lgtm
4 years, 6 months ago (2016-06-21 21:11:32 UTC) #44
enne (OOO)
I wasn't able to repro the bug that caused the last revert, but this patch ...
4 years, 6 months ago (2016-06-21 21:12:55 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2005013002/320001
4 years, 6 months ago (2016-06-21 21:13:44 UTC) #48
commit-bot: I haz the power
Committed patchset #17 (id:320001)
4 years, 6 months ago (2016-06-21 22:47:44 UTC) #49
commit-bot: I haz the power
4 years, 6 months ago (2016-06-21 22:50:03 UTC) #51
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/a46e810069effce565efe42ccddfd13f74c5bc93
Cr-Commit-Position: refs/heads/master@{#401133}

Powered by Google App Engine
This is Rietveld 408576698