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}
3 files changed