Commit 6638923b authored by sangwoo.ko's avatar sangwoo.ko Committed by Commit Bot

Use TabStripModelObserver's new API in chrome/browser/prerender

Replace old API with new API. This CL is a refactor
ans has no intended behavior change.

Bug: 842194
Change-Id: Ic1527d6bff78bc71b46df9d684b9b6b223c9cdea
Reviewed-on: https://chromium-review.googlesource.com/1179428Reviewed-by: default avatarErik Chen <erikchen@chromium.org>
Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Commit-Queue: Sang Woo Ko <sangwoo108@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585436}
parent 81230539
...@@ -428,21 +428,27 @@ class NavigationOrSwapObserver : public WebContentsObserver, ...@@ -428,21 +428,27 @@ class NavigationOrSwapObserver : public WebContentsObserver,
} }
// TabStripModelObserver implementation: // TabStripModelObserver implementation:
void TabReplacedAt(TabStripModel* tab_strip_model, void OnTabStripModelChanged(
WebContents* old_contents, TabStripModel* tab_strip_model,
WebContents* new_contents, const TabStripModelChange& change,
int index) override { const TabStripSelectionChange& selection) override {
if (old_contents != web_contents()) if (change.type() != TabStripModelChange::kReplaced)
return; return;
// Switch to observing the new WebContents.
Observe(new_contents); for (const auto& delta : change.deltas()) {
if (new_contents->IsLoading()) { if (delta.replace.old_contents != web_contents())
// If the new WebContents is still loading, wait for it to complete. Only continue;
// one load post-swap is supported.
did_start_loading_ = true; // Switch to observing the new WebContents.
number_of_loads_ = 1; Observe(delta.replace.new_contents);
} else { if (delta.replace.new_contents->IsLoading()) {
loop_.Quit(); // If the new WebContents is still loading, wait for it to complete.
// Only one load post-swap is supported.
did_start_loading_ = true;
number_of_loads_ = 1;
} else {
loop_.Quit();
}
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment