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

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

Issue 2642303002: PlzNavigate: Chrome UI changes for new methods of WebContentsObserver (Closed)
Patch Set: undo changes for error description Created 3 years, 10 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/TabWebContentsObserver.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
index bf4d756e1fa0d9738c2b3f0016c1bb4985a87122..cb2d19cc50368e03d62047f2bc1fc9e8cd1704de 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsObserver.java
@@ -156,17 +156,20 @@ public class TabWebContentsObserver extends WebContentsObserver {
}
@Override
- public void didFailLoad(boolean isProvisionalLoad, boolean isMainFrame, int errorCode,
- String description, String failingUrl, boolean wasIgnoredByHandler) {
+ public void didFailLoad(
+ boolean isMainFrame, int errorCode, String description, String failingUrl) {
mTab.updateThemeColorIfNeeded(true);
RewindableIterator<TabObserver> observers = mTab.getTabObservers();
while (observers.hasNext()) {
- observers.next().onDidFailLoad(mTab, isProvisionalLoad, isMainFrame, errorCode,
- description, failingUrl);
+ observers.next().onDidFailLoad(mTab, isMainFrame, errorCode, description, failingUrl);
}
if (isMainFrame) mTab.didFailPageLoad(errorCode);
+ recordErrorInPolicyAuditor(failingUrl, description, errorCode);
+ }
+
+ private void recordErrorInPolicyAuditor(String failingUrl, String description, int errorCode) {
PolicyAuditor auditor =
((ChromeApplication) mTab.getApplicationContext()).getPolicyAuditor();
auditor.notifyAuditEvent(mTab.getApplicationContext(), AuditEvent.OPEN_URL_FAILURE,
@@ -183,17 +186,40 @@ public class TabWebContentsObserver extends WebContentsObserver {
}
@Override
- public void didStartProvisionalLoadForFrame(long frameId, long parentFrameId,
- boolean isMainFrame, String validatedUrl, boolean isErrorPage) {
- if (isMainFrame) mTab.didStartPageLoad(validatedUrl, isErrorPage);
+ public void didStartNavigation(
+ String url, boolean isInMainFrame, boolean isSamePage, boolean isErrorPage) {
+ if (isInMainFrame && !isSamePage) {
+ mTab.didStartPageLoad(url, isErrorPage);
+ }
- mTab.handleDidStartProvisionalLoadForFrame(isMainFrame, validatedUrl);
+ RewindableIterator<TabObserver> observers = mTab.getTabObservers();
+ while (observers.hasNext()) {
+ observers.next().onDidStartNavigation(
+ mTab, url, isInMainFrame, isSamePage, isErrorPage);
+ }
}
@Override
- public void didCommitProvisionalLoadForFrame(long frameId, boolean isMainFrame, String url,
- int transitionType) {
- if (isMainFrame && UmaUtils.isRunningApplicationStart()) {
+ public void didFinishNavigation(String url, boolean isInMainFrame, boolean isErrorPage,
+ boolean hasCommitted, boolean isSamePage, boolean isFragmentNavigation,
+ Integer pageTransition, int errorCode, String errorDescription, int httpStatusCode) {
+ RewindableIterator<TabObserver> observers = mTab.getTabObservers();
+ while (observers.hasNext()) {
+ observers.next().onDidFinishNavigation(mTab, url, isInMainFrame, isErrorPage,
+ hasCommitted, isSamePage, isFragmentNavigation, pageTransition, errorCode,
+ httpStatusCode);
+ }
+
+ if (errorCode != 0) {
+ mTab.updateThemeColorIfNeeded(true);
+ if (isInMainFrame) mTab.didFailPageLoad(errorCode);
+
+ recordErrorInPolicyAuditor(url, errorDescription, errorCode);
+ return;
+ }
+
+ if (!hasCommitted) return;
+ if (isInMainFrame && UmaUtils.isRunningApplicationStart()) {
// Current median is 550ms, and long tail is very long. ZoomedIn gives good view of the
// median and ZoomedOut gives a good overview.
RecordHistogram.recordCustomTimesHistogram(
@@ -209,15 +235,11 @@ public class TabWebContentsObserver extends WebContentsObserver {
UmaUtils.setRunningApplicationStart(false);
}
- if (isMainFrame) {
+ if (isInMainFrame) {
mTab.setIsTabStateDirty(true);
mTab.updateTitle();
- }
-
- RewindableIterator<TabObserver> observers = mTab.getTabObservers();
- while (observers.hasNext()) {
- observers.next().onDidCommitProvisionalLoadForFrame(
- mTab, frameId, isMainFrame, url, transitionType);
+ mTab.handleDidFinishNavigation(url, pageTransition);
+ mTab.setIsShowingErrorPage(isErrorPage);
}
observers.rewind();
@@ -225,45 +247,13 @@ public class TabWebContentsObserver extends WebContentsObserver {
observers.next().onUrlUpdated(mTab);
}
- if (!isMainFrame) return;
- mTab.handleDidCommitProvisonalLoadForFrame(url, transitionType);
- }
-
- @Override
- public void didNavigateMainFrame(String url, String baseUrl,
- boolean isNavigationToDifferentPage, boolean isFragmentNavigation, int statusCode) {
FullscreenManager fullscreenManager = mTab.getFullscreenManager();
- if (isNavigationToDifferentPage && fullscreenManager != null) {
+ if (isInMainFrame && !isSamePage && fullscreenManager != null) {
fullscreenManager.setPersistentFullscreenMode(false);
}
- RewindableIterator<TabObserver> observers = mTab.getTabObservers();
- while (observers.hasNext()) {
- observers.next().onDidNavigateMainFrame(
- mTab, url, baseUrl, isNavigationToDifferentPage,
- isFragmentNavigation, statusCode);
- }
-
- mTab.stopSwipeRefreshHandler();
- }
-
- @Override
- public void didStartNavigation(String url, boolean isInMainFrame, boolean isErrorPage) {
- RewindableIterator<TabObserver> observers = mTab.getTabObservers();
- while (observers.hasNext()) {
- observers.next().onDidStartNavigation(mTab, url, isInMainFrame, isErrorPage);
- }
- }
-
- @Override
- public void didFinishNavigation(String url, boolean isInMainFrame, boolean isErrorPage,
- boolean hasCommitted, boolean isSamePage, Integer pageTransition, int errorCode) {
- if (isInMainFrame && hasCommitted) mTab.setIsShowingErrorPage(isErrorPage);
-
- RewindableIterator<TabObserver> observers = mTab.getTabObservers();
- while (observers.hasNext()) {
- observers.next().onDidFinishNavigation(mTab, url, isInMainFrame, isErrorPage,
- hasCommitted, isSamePage, pageTransition, errorCode);
+ if (isInMainFrame) {
+ mTab.stopSwipeRefreshHandler();
}
}
@@ -320,14 +310,6 @@ public class TabWebContentsObserver extends WebContentsObserver {
}
@Override
- public void didStartNavigationToPendingEntry(String url) {
- RewindableIterator<TabObserver> observers = mTab.getTabObservers();
- while (observers.hasNext()) {
- observers.next().onDidStartNavigationToPendingEntry(mTab, url);
- }
- }
-
- @Override
public void destroy() {
MediaCaptureNotificationService.updateMediaNotificationForTab(
mTab.getApplicationContext(), mTab.getId(), 0, mTab.getUrl());

Powered by Google App Engine
This is Rietveld 408576698