Move frame tree from WebFrame to Frame

Moves frame tree from WebFrame to Frame.

The parent frame is required in the Frame constructors (e.g. by AdTracker) so we set it there.
After the constructor, the frame will be in a provisional state where the parent frame is set, but not attached to the frame tree.
By calling InsertAfter, the Frame can be inserted into the frame tree.

Bug: 1100056
Change-Id: I9a8226ef9611a7c0e453af3353781a9576ccdc71
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2350208
Commit-Queue: Keishi Hattori <[email protected]>
Reviewed-by: Kentaro Hara <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#801919}
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 846717d..3c8ad0bd 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -312,7 +312,7 @@
   // depend on the frame being at its proper spot.
   //
   // Virtual for web tests to inject their own behaviour into the WebLocalFrame.
-  virtual void Initialize();
+  virtual void Initialize(blink::WebFrame* parent);
 
   // Notifications from RenderWidget.
   void WasHidden();