[bfcache] Make password_manager to create driver on demand.
This is 100% similar to: https://chromium-review.googlesource.com/c/chromium/src/+/1826885 The password_manager component is associating a password_manager driver on every RenderFrameHost by observing: - WebContentsObserver::RenderFrameCreated(render_frame_host) - WebContentsObserver::RenderFrameDeleted(render_frame_host) The problem is that it starts observing when the WebContent is being added to the tab strip. It means some RenderFrameCreated events are missing. To resolve that, this component was simulating receiving RenderFrameCreated() for every active frame. This is not sufficient, because it misses RenderFrameHost pending deletion and the ones in the BackForwardCache. To fix that, create the password_manager driver on demand when they are needed. (+ some small refactor when they were needed.) Bug: 999842 Change-Id: If558a5541d2a6e831d4cf20d7322e655d553da25 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1843971 Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org> Reviewed-by:Vadym Doroshenko <dvadym@chromium.org> Reviewed-by:
Avi Drissman <avi@chromium.org> Cr-Commit-Position: refs/heads/master@{#704172}
Showing
Please register or sign in to comment