Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7676)

Unified Diff: chrome/browser/resource_coordinator/tab_manager_web_contents_data.cc

Issue 2931023002: [TooManyTabs] Add TabNavigationThrottle (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resource_coordinator/tab_manager_web_contents_data.cc
diff --git a/chrome/browser/resource_coordinator/tab_manager_web_contents_data.cc b/chrome/browser/resource_coordinator/tab_manager_web_contents_data.cc
index af91c398ac0163e9f1f4f1a940b81e12767f7434..11e41e30049e483c4e85dc9ead2178a0800e642a 100644
--- a/chrome/browser/resource_coordinator/tab_manager_web_contents_data.cc
+++ b/chrome/browser/resource_coordinator/tab_manager_web_contents_data.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/engagement/site_engagement_service.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/resource_coordinator/tab_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
@@ -32,6 +33,15 @@ void TabManager::WebContentsData::DidStartLoading() {
// Marks the tab as no longer discarded if it has been reloaded from another
// source (ie: context menu).
SetDiscardState(false);
+ tab_data_.has_finished_loading = false;
+}
+
+void TabManager::WebContentsData::DidStopLoading() {
nasko 2017/06/12 23:22:02 Just FYI, DidStartLoading and DidStopLoading can b
Zhen Wang 2017/06/13 23:33:20 Thanks for pointing this out! I switched to use Di
+ // TODO(zhenw): Switch to use tab done loading signal when it is ready.
Charlie Reis 2017/06/10 00:53:36 What does this refer to? Is there a bug number yo
Zhen Wang 2017/06/13 23:33:20 It is actually using the same bug number as this C
+ if (!tab_data_.has_finished_loading) {
+ tab_data_.has_finished_loading = true;
+ g_browser_process->GetTabManager()->HasFinishedLoadingTab(web_contents());
+ }
}
void TabManager::WebContentsData::WebContentsDestroyed() {
@@ -168,6 +178,7 @@ TabManager::WebContentsData::Data::Data()
: is_discarded(false),
discard_count(0),
is_recently_audible(false),
+ has_finished_loading(false),
last_audio_change_time(TimeTicks::UnixEpoch()),
last_discard_time(TimeTicks::UnixEpoch()),
last_reload_time(TimeTicks::UnixEpoch()),
@@ -178,6 +189,7 @@ TabManager::WebContentsData::Data::Data()
bool TabManager::WebContentsData::Data::operator==(const Data& right) const {
return is_discarded == right.is_discarded &&
is_recently_audible == right.is_recently_audible &&
+ has_finished_loading == right.has_finished_loading &&
last_audio_change_time == right.last_audio_change_time &&
last_discard_time == right.last_discard_time &&
last_reload_time == right.last_reload_time &&

Powered by Google App Engine
This is Rietveld 408576698