Move Smart Selection blocking logic into SmartSelectionClient

Tests testSmartSelectionNormalFlow() and testSmartSelectionRest() are
flaky due to the bots are not always provisioned.

This CL fixed the flakiness by moving the blocking logic into
SmartSelectionClient. It simplifies the logic of
SelectionPopupController#showSelectionMenu(), makes the logic explicitly
related to Smart Selection.

In order to make it work, two tests in SelectionPopupControllerTest are
updated.

Bug: 967811
Change-Id: Ic758c46c3f51eab05d5619f295ccd8270567d8a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1661292
Commit-Queue: Shimi Zhang <ctzsm@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#670197}
4 files changed