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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java

Issue 2754103003: Adds metric to help assess last_n impact on tab restores. (Closed)
Patch Set: Reverted the observer API; resetting the restoring flag after observer calls. Created 3 years, 9 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/android/java/src/org/chromium/chrome/browser/tab/Tab.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
index da0941dab8e8cd358b35cc5d4304800486da6fe9..bd2087dd7d9a9ed8112f72a9f349e6c31d3557b5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/Tab.java
@@ -895,7 +895,9 @@ public class Tab
public void stopLoading() {
if (isLoading()) {
RewindableIterator<TabObserver> observers = getTabObservers();
- while (observers.hasNext()) observers.next().onPageLoadFinished(this);
+ while (observers.hasNext()) {
+ observers.next().onPageLoadFinished(this);
+ }
}
if (getWebContents() != null) getWebContents().stop();
}
@@ -1525,7 +1527,6 @@ public class Tab
* Called when a page has finished loading.
*/
protected void didFinishPageLoad() {
- mIsBeingRestored = false;
mIsTabStateDirty = true;
updateTitle();
updateFullscreenEnabledState();
@@ -1540,6 +1541,7 @@ public class Tab
if (mTabUma != null) mTabUma.onPageLoadFinished();
for (TabObserver observer : mObservers) observer.onPageLoadFinished(this);
+ mIsBeingRestored = false;
}
/**
@@ -1547,9 +1549,11 @@ public class Tab
* @param errorCode The error code causing the page to fail loading.
*/
protected void didFailPageLoad(int errorCode) {
- mIsBeingRestored = false;
if (mTabUma != null) mTabUma.onLoadFailed(errorCode);
- for (TabObserver observer : mObservers) observer.onPageLoadFailed(this, errorCode);
+ for (TabObserver observer : mObservers) {
+ observer.onPageLoadFailed(this, errorCode);
+ }
+ mIsBeingRestored = false;
}
/**
@@ -2546,9 +2550,15 @@ public class Tab
*/
void handleTabCrash() {
mIsLoading = false;
- mIsBeingRestored = false;
if (mTabUma != null) mTabUma.onRendererCrashed();
+
+ boolean sadTabShown = isShowingSadTab();
+ RewindableIterator<TabObserver> observers = getTabObservers();
+ while (observers.hasNext()) {
+ observers.next().onCrash(this, sadTabShown);
+ }
+ mIsBeingRestored = false;
}
/**

Powered by Google App Engine
This is Rietveld 408576698