Chromium Code Reviews| Index: content/browser/frame_host/render_frame_host_manager.cc |
| diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc |
| index 3ec87d36263b55afd0769088dbaf5edcc6980a7e..956a40740f7b623722ba49c635f7458186d48ac3 100644 |
| --- a/content/browser/frame_host/render_frame_host_manager.cc |
| +++ b/content/browser/frame_host/render_frame_host_manager.cc |
| @@ -2168,6 +2168,15 @@ void RenderFrameHostManager::CommitPending() { |
| // The process will no longer try to exit, so we can decrement the count. |
| render_frame_host_->GetProcess()->RemovePendingView(); |
| + // Save off the old background color before possibly deleting the |
| + // old RenderWidgetHostView. |
| + SkColor old_background_color = SK_ColorWHITE; |
| + bool has_old_background_color = false; |
| + if (old_render_frame_host && old_render_frame_host->GetView()) { |
|
nasko
2017/03/08 22:54:20
Why null check old_render_frame_host? It is set un
chrishtr
2017/03/08 23:02:59
Done.
|
| + has_old_background_color = true; |
| + old_background_color = old_render_frame_host->GetView()->background_color(); |
| + } |
| + |
| // The RenderViewHost keeps track of the main RenderFrameHost routing id. |
| // If this is committing a main frame navigation, update it and set the |
| // routing id in the RenderViewHost associated with the old RenderFrameHost |
| @@ -2244,6 +2253,11 @@ void RenderFrameHostManager::CommitPending() { |
| delegate_->NotifySwappedFromRenderManager( |
| old_render_frame_host.get(), render_frame_host_.get(), is_main_frame); |
| + if (has_old_background_color) { |
| + delegate_->NotifyInitialBackground(old_background_color, |
|
nasko
2017/03/08 22:54:20
Is there any specific reason to go through the del
chrishtr
2017/03/08 23:02:59
Just thought it might be cleaner. I'm happy to inl
|
| + render_frame_host_.get()); |
| + } |
| + |
| // Swap out the old frame now that the new one is visible. |
| // This will swap it out and schedule it for deletion when the swap out ack |
| // arrives (or immediately if the process isn't live). |