Clear children from a subframe when it does a cross process navigation.
Previously we'd had this behavior just for main frames (via
AttachToFrameTree) but we should do it for child frames too.
Eliminate AttachToFrameTree altogether. Move tracking of the focused
frame to hinge on removal of a frame from the tree. Note that this
means that frame focus is retained on cross-process navigation,
which matches the behavior of an in-process navigation, and also
matches the behavior we had [on cross-process RVH nav] before
focus was tracked per-frame.
Add a test that exercises the interaction of focus and detach.
Bonus: Add a covariant getter for WebContentsImpl::GetFocusedFrame()
BUG=476628,444563,425248
Review URL: https://codereview.chromium.org/
1104723002
Cr-Commit-Position: refs/heads/master@{#326681}