commit | 5f534197944cdb2e4947e9aca7ceaee68ee3608d | [log] [tgz] |
---|---|---|
author | Elly Fong-Jones <ellyjones@chromium.org> | Thu Dec 13 17:30:23 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Dec 13 17:30:23 2018 |
tree | 261043b7653ef24f3cb3701e01547571e4a112ee | |
parent | c2844308876309ec17a9a607ac0e4e41538c1396 [diff] |
Revert "Reland "base: Don't keep running tasks after nested run loop quits on iOS"" This reverts commit 6a988bfbbdae7880bd3fba26f96c120600a76db5. Reason for revert: should not have relanded Original change's description: > Reland "base: Don't keep running tasks after nested run loop quits on iOS" > > This reverts commit d0de086966fe7e05b6aa69d3ec69eedad2aa9e64. > > Reason for revert: broke ios-simulator bots > > Original change's description: > > Revert "base: Don't keep running tasks after nested run loop quits on iOS" > > > > This reverts commit 3ce69a991fd9ca03030738e324a1833c02462da0. > > > > Reason for revert: > > Sheriff suspects this broke a handful of menu tests on macOS 10.12: > > > > https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac10.12%20Tests/17564 > > > > e.g.: > > WebViewTest.TestContextMenu > > > > Original change's description: > > > base: Don't keep running tasks after nested run loop quits on iOS > > > > > > The CoreFoundation message pump (MessagePumpCFRunLoop) scheduled an extra call > > > to Delegate::DoWork in the following scenario: > > > > > > 1. Start a run loop and schedule DoWork. > > > 2. In DoWork, start a second run nested run loop which quits immediately. > > > 3. After the nested run loop quits, schedule another DoWork which quits the > > > original run loop. > > > > > > After step #3, the message pump would call DoWork again because the nested > > > run loop triggered the execution of the nesting deferred work source. > > > > > > This patch fixes the issue by checking whether the further work is allowed > > > before calling DoWork. Note that this check can't be done just for the nested > > > deferred work source, because in the flow above that source is what triggers > > > the call to DoWork in step #3, i.e., the run loop hasn't quit yet at that point. > > > > > > The patch also includes a fix to > > > WebContentsViewMacInteractiveTest.SelectMenuLifetime; the test had the > > > following sequence in it (while a select menu is open): > > > > > > 1. Quit an outer run loop. > > > 2. Post a task onto an inner run loop to continue the test. > > > > > > The assumption here was that a select menu causes an inner run loop to > > > be active while the menu is open. This wasn't strictly correct: the > > > inner run loop is a native (CoreFoundation) run loop as opposed to a > > > base::RunLoop, which can't be explicitly exited with RunLoop::Quit(). > > > This means that the Quit() in step #1 affects the same run loop as the > > > PostTask in step #2, i.e., the task is prevented from running. > > > > > > This patch changes the test to only quit the test run loop after the > > > posted task (which closes the select menu) has run. > > > > > > Bug: 891670 > > > Change-Id: I6fe21289205664c4e1b1469547495667c753f56d > > > Reviewed-on: https://chromium-review.googlesource.com/c/1373754 > > > Reviewed-by: Mark Mentovai <mark@chromium.org> > > > Commit-Queue: Sami Kyöstilä <skyostil@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#615967} > > > > TBR=skyostil@chromium.org,mark@chromium.org > > > > Change-Id: If6e3b032ae40a391df56b62ae78f0bc1ed8d93f6 > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: 891670 > > Reviewed-on: https://chromium-review.googlesource.com/c/1375382 > > Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org> > > Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#616297} > > TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org > > Change-Id: I68d7b4687fd1f2a4906961f55b31038199089ff3 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 891670 > Reviewed-on: https://chromium-review.googlesource.com/c/1376249 > Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org> > Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org> > Cr-Commit-Position: refs/heads/master@{#616350} TBR=ellyjones@chromium.org,skyostil@chromium.org,mark@chromium.org Change-Id: Ia05259cd2f2d60b41efdc7b73702da865680c1a3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 891670 Reviewed-on: https://chromium-review.googlesource.com/c/1376250 Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org> Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#616352}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .