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

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: isFragmentNavigation Created 3 years, 11 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..48128e1a0fe2e6c20c3f2e88aec8ec0f85d18bc9 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,31 @@ 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 isErrorPage) {
+ if (isInMainFrame) {
+ mTab.didStartPageLoad(url, isErrorPage);
+ }
- mTab.handleDidStartProvisionalLoadForFrame(isMainFrame, validatedUrl);
+ RewindableIterator<TabObserver> observers = mTab.getTabObservers();
+ while (observers.hasNext()) {
+ observers.next().onDidStartNavigation(mTab, url, isInMainFrame, 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, int httpStatusCode) {
+ RewindableIterator<TabObserver> observers = mTab.getTabObservers();
+ if (errorCode != 0) {
+ mTab.updateThemeColorIfNeeded(true);
+ if (isInMainFrame) mTab.didFailPageLoad(errorCode);
+
+ // TODO(shaktisahu): Find out how to get the description for this error.
+ recordErrorInPolicyAuditor(url, "", errorCode);
shaktisahu 2017/01/31 01:57:53 I didn't find a way to retrieve the error descript
Ted C 2017/01/31 18:57:48 I wonder if we could just do net::ErrorToShortStri
Bernhard Bauer 2017/02/07 13:19:16 I think error_page::LocalizedError::GetErrorDetail
shaktisahu 2017/02/07 18:08:22 Hmm... but error_page is in components and we may
Ted C 2017/02/08 05:31:15 Why wouldn't we able to use it here? We're in chr
shaktisahu 2017/02/08 06:32:10 Oh, I was trying to add this to web_contents_obser
Bernhard Bauer 2017/02/08 10:26:38 That sounds good to me, thanks!
shaktisahu 2017/02/10 08:07:41 Seems like error_page::LocalizedError::GetErrorDet
+ }
Ted C 2017/01/31 18:57:47 Should we return in the errorCode case?
shaktisahu 2017/02/03 06:56:16 Done. Yes. In that case I would move the block ha
+
+ if (isInMainFrame && hasCommitted && 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,65 +226,36 @@ public class TabWebContentsObserver extends WebContentsObserver {
UmaUtils.setRunningApplicationStart(false);
}
- if (isMainFrame) {
+ if (isInMainFrame && hasCommitted) {
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();
while (observers.hasNext()) {
- observers.next().onUrlUpdated(mTab);
+ observers.next().onDidFinishNavigation(mTab, url, isInMainFrame, isErrorPage,
+ hasCommitted, isSamePage, isFragmentNavigation, pageTransition, errorCode,
+ httpStatusCode);
}
- if (!isMainFrame) return;
- mTab.handleDidCommitProvisonalLoadForFrame(url, transitionType);
- }
+ if (hasCommitted) {
+ observers.rewind();
+ while (observers.hasNext()) {
+ observers.next().onUrlUpdated(mTab);
+ }
+ }
- @Override
- public void didNavigateMainFrame(String url, String baseUrl,
- boolean isNavigationToDifferentPage, boolean isFragmentNavigation, int statusCode) {
FullscreenManager fullscreenManager = mTab.getFullscreenManager();
- if (isNavigationToDifferentPage && fullscreenManager != null) {
+ if (isInMainFrame && hasCommitted && !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);
- }
- }
-
- @Override
public void didFirstVisuallyNonEmptyPaint() {
RewindableIterator<TabObserver> observers = mTab.getTabObservers();
while (observers.hasNext()) {
@@ -320,14 +308,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