Set the WebWidgetClient from WebViewFrameWidget.

When making a WebViewFrameWidget have it set the WebWidgetClient on the
WebViewImpl. This delays setting a client until the main frame is
created.

Conservatively, if making a remote main frame, have RenderViewImpl
explictly set the WebWidgetClient on the WebViewImpl directly even
though there's no WebFrameClient. We'll work to remove that as there
should be no WebWidgetClient when there's no local main frame and
WebWidget.

When the WebViewFrameWidget closes it removes the WebWidgetClient,
however to be conservative.. RenderViewImpl immediately puts the
WebWidgetClient back similar to the remote main frame case during
init.

R=dcheng@chromium.org
TBR=dcheng

Change-Id: I4b0f04a2d5c74d012f5f71b4b72fc573cef45f8c
Bug: 912193
Reviewed-on: https://chromium-review.googlesource.com/c/1407630
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623315}
9 files changed