Clean up WebPagePopup APIs and move them from WebWidget to WebView.

This moves WebWidget::GetPagePopup() to WebView, as there is only 1
popup per view, not per widget. WebTest code was grabbing the popup
off the WebWidget and is changed to grab it from the WebView instead
when the WebWidget is for the main frame (which it always is right now
but we add conditions for correctness regardless).

WebViewImpl had a bunch of ways to close the current popup, and we
remove most of the redundant ways: HideSelectPopup() is removed.
HidePopups() is removed, and CancelPagePopup() is changed to replace
it.

SetLastHiddenPagePopup() is removed from the public API of WebViewImpl
as it is no longer used externally, and code inside changed to use the
variable directly.

WebPagePopupClient::ClosePopup() is renamed to CancelPopup() to give
consistent naming throughout the Cancel code.

WebViewTestProxy changed to defer WidgetClient() through to the
WebViewTestClient, like it does for other methods, and we pass the
ProxyWebWidgetClient to the WebViewTestClient for it to hand out,
instead of giving it null.

R=dcheng@chromium.org
TBR=

Change-Id: Ibaddec943ead28153290cd03a3d94790ac5d4fe0
Bug: 912193
Reviewed-on: https://chromium-review.googlesource.com/c/1372657
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616455}
31 files changed