Move BrowserControl methods from WebLayerTreeView to WebWidgetClient.

We are removing the WebLayerTreeView interface as it is redundant with
WebWidgetClient now that we always composite web contents.

More importantly this helps us Close/Restart the WebWidget parts of
WebViewImpl by not requiring plumbing 2 pointers with slightly different
lifetimes (WebLayerTreeView is created inside the Init of the
WebWidgetClient). This will help avoid a bunch of complexity in
creating WebFrameWidgets and other WebWidgets.

This CL is mostly a refactor but has a slight behavior change.
WebViewImpl::DidUpdateBrowserControls had a conditional gated on
layer_tree_view_. This CL replaces the conditional with a check for local main
frame.

Change-Id: Iaab168eaef0aa2b396f92e9d2cd049176d4efbf9
Bug: 912193
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1728339
Commit-Queue: Erik Chen <erikchen@chromium.org>
Auto-Submit: Erik Chen <erikchen@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#684097}
9 files changed