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

Side by Side Diff: android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java

Issue 970883002: [Android WebView] Synthesize a fake page loading event on page source modification (Re-land) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.android_webview; 5 package org.chromium.android_webview;
6 6
7 import org.chromium.content.browser.WebContentsObserver; 7 import org.chromium.content.browser.WebContentsObserver;
8 import org.chromium.content_public.browser.WebContents; 8 import org.chromium.content_public.browser.WebContents;
9 import org.chromium.net.NetError; 9 import org.chromium.net.NetError;
10 10
11 /** 11 /**
12 * Routes notifications from WebContents to AwContentsClient and other listeners . 12 * Routes notifications from WebContents to AwContentsClient and other listeners .
13 */ 13 */
14 public class AwWebContentsObserver extends WebContentsObserver { 14 public class AwWebContentsObserver extends WebContentsObserver {
15 private final AwContentsClient mAwContentsClient; 15 private final AwContentsClient mAwContentsClient;
16 private boolean mDidStartProvisionalLoadForFrameFired = false;
Charlie Reis 2015/03/03 22:21:01 nit: Did...Fired sounds strange to me, but I'll de
mnaganov (inactive) 2015/03/04 10:30:29 Yeah. I was so much tired battling with the code t
16 17
17 public AwWebContentsObserver(WebContents webContents, AwContentsClient awCon tentsClient) { 18 public AwWebContentsObserver(WebContents webContents, AwContentsClient awCon tentsClient) {
18 super(webContents); 19 super(webContents);
19 mAwContentsClient = awContentsClient; 20 mAwContentsClient = awContentsClient;
20 } 21 }
21 22
23 boolean getDidStartProvisionalLoadForFrameFired() {
24 return mDidStartProvisionalLoadForFrameFired;
25 }
26
22 @Override 27 @Override
23 public void didFinishLoad(long frameId, String validatedUrl, boolean isMainF rame) { 28 public void didFinishLoad(long frameId, String validatedUrl, boolean isMainF rame) {
24 String unreachableWebDataUrl = AwContentsStatics.getUnreachableWebDataUr l(); 29 String unreachableWebDataUrl = AwContentsStatics.getUnreachableWebDataUr l();
25 boolean isErrorUrl = 30 boolean isErrorUrl =
26 unreachableWebDataUrl != null && unreachableWebDataUrl.equals(va lidatedUrl); 31 unreachableWebDataUrl != null && unreachableWebDataUrl.equals(va lidatedUrl);
27 if (isMainFrame && !isErrorUrl) { 32 if (isMainFrame && !isErrorUrl) {
28 mAwContentsClient.onPageFinished(validatedUrl); 33 mAwContentsClient.onPageFinished(validatedUrl);
29 } 34 }
30 } 35 }
31 36
(...skipping 28 matching lines...) Expand all
60 // navigations where only the hash fragment changes. 65 // navigations where only the hash fragment changes.
61 if (isFragmentNavigation) { 66 if (isFragmentNavigation) {
62 mAwContentsClient.onPageFinished(url); 67 mAwContentsClient.onPageFinished(url);
63 } 68 }
64 } 69 }
65 70
66 @Override 71 @Override
67 public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload ) { 72 public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload ) {
68 mAwContentsClient.doUpdateVisitedHistory(url, isReload); 73 mAwContentsClient.doUpdateVisitedHistory(url, isReload);
69 } 74 }
75
76 @Override
77 public void didStartProvisionalLoadForFrame(
78 long frameId,
79 long parentFrameId,
80 boolean isMainFrame,
81 String validatedUrl,
82 boolean isErrorPage,
83 boolean isIframeSrcdoc) {
84 mDidStartProvisionalLoadForFrameFired = true;
85 }
70 } 86 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698