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

Issue 1797153002: Reinstate wait-for-Initialize when Chrome is run in Mash (Closed)

Created:
4 years, 9 months ago by Ken Rockot(use gerrit already)
Modified:
4 years, 9 months ago
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, jam, kalyank, qsr+mojo_chromium.org, sadrul, tfarina, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@shell-client
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reinstate wait-for-Initialize when Chrome is run in Mash Mus Views needs to completely block the main thread during initialization, including any pending tasks. This means incoming messages on any other pipe will never be dispatched. If ShellClient::Initialize is blocked, the pipe views is waiting on will in turn never be able to signal, resulting in an effective deadlock. So we need to wait for Initialize before proceeding with the rest of the main thread setup. This adds a temporary switch to explicitly opt in to wait-for-Initialize behavior on MojoShellConnection, and adds that switch when running in mash. BUG=594636, 594852 TEST=views_mus_unittests, mus_ws_unittests, and chrome --mash renders as well as it did before I broke it. Committed: https://crrev.com/27eb4409b17331235123e5e0a6837aa760203816 Cr-Commit-Position: refs/heads/master@{#381182}

Patch Set 1 #

Patch Set 2 : fix views_mus_unittests too #

Unified diffs Side-by-side diffs Delta from patch set Stats (+57 lines, -9 lines) Patch
M chrome/app/mash/mash_runner.cc View 1 chunk +1 line, -0 lines 0 comments Download
M content/common/mojo/mojo_shell_connection_impl.h View 1 chunk +1 line, -0 lines 0 comments Download
M content/common/mojo/mojo_shell_connection_impl.cc View 4 chunks +21 lines, -1 line 0 comments Download
M content/public/common/content_switches.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M content/public/common/content_switches.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
M mojo/edk/embedder/embedder.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M mojo/shell/public/cpp/lib/shell_connection.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M mojo/shell/public/cpp/shell_connection.h View 3 chunks +7 lines, -0 lines 0 comments Download
M ui/views/mus/platform_test_helper_mus.cc View 1 2 chunks +7 lines, -0 lines 0 comments Download
M ui/views/mus/screen_mus.h View 1 chunk +0 lines, -1 line 0 comments Download
M ui/views/mus/screen_mus.cc View 2 chunks +4 lines, -5 lines 0 comments Download

Messages

Total messages: 11 (6 generated)
Ken Rockot(use gerrit already)
doh
4 years, 9 months ago (2016-03-15 02:18:35 UTC) #5
Ben Goodger (Google)
lgtm
4 years, 9 months ago (2016-03-15 02:28:12 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1797153002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1797153002/20001
4 years, 9 months ago (2016-03-15 04:49:24 UTC) #8
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 9 months ago (2016-03-15 05:58:09 UTC) #9
commit-bot: I haz the power
4 years, 9 months ago (2016-03-15 05:59:48 UTC) #11
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/27eb4409b17331235123e5e0a6837aa760203816
Cr-Commit-Position: refs/heads/master@{#381182}

Powered by Google App Engine
This is Rietveld 408576698