| Index: chrome/browser/ui/tabs/tab_strip_model.cc
|
| diff --git a/chrome/browser/ui/tabs/tab_strip_model.cc b/chrome/browser/ui/tabs/tab_strip_model.cc
|
| index 737b80928761843e6208a44f179f180653d14358..1aebba7279140ab69321f1c0de7171a0d479c481 100644
|
| --- a/chrome/browser/ui/tabs/tab_strip_model.cc
|
| +++ b/chrome/browser/ui/tabs/tab_strip_model.cc
|
| @@ -25,6 +25,7 @@
|
| #include "chrome/browser/ui/web_contents_sizer.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "components/web_modal/web_contents_modal_dialog_manager.h"
|
| +#include "components/zoom/zoom_controller.h"
|
| #include "content/public/browser/render_process_host.h"
|
| #include "content/public/browser/user_metrics.h"
|
| #include "content/public/browser/web_contents.h"
|
| @@ -342,6 +343,13 @@ WebContents* TabStripModel::ReplaceWebContentsAt(int index,
|
|
|
| contents_data_[index]->SetWebContents(new_contents);
|
|
|
| + // Notify the ZoomController of the replacement of its WebContents so that it
|
| + // may clone any per-tab zoom information.
|
| + zoom::ZoomController* zoom_controller =
|
| + zoom::ZoomController::FromWebContents(old_contents);
|
| + if (zoom_controller)
|
| + zoom_controller->WebContentsReplaced(new_contents);
|
| +
|
| for (auto& observer : observers_)
|
| observer.TabReplacedAt(this, old_contents, new_contents, index);
|
|
|
|
|