summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authorgrt <grt@chromium.org>2015-02-26 06:26:53 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-26 14:27:45 +0000
commitc2d96fa87b653355fc8335c0accecff8852cae5d (patch)
treef4c0a61e47ed90ba37f2b2b9ba4d78dad1d80677 /android_webview
parent49001892c02a5287233acc68edaaf2e0dc981163 (diff)
downloadchromium_src-c2d96fa87b653355fc8335c0accecff8852cae5d.zip
chromium_src-c2d96fa87b653355fc8335c0accecff8852cae5d.tar.gz
chromium_src-c2d96fa87b653355fc8335c0accecff8852cae5d.tar.bz2
Revert of [Android WebView] Synthesize a fake page loading event on page source modification (patchset #8 id:140001 of https://codereview.chromium.org/924833003/)
Reason for revert: Reverting to see if this caused AwContentsClientFullScreenTest#testPowerSaveBlockerIsTransferredToFullscreen failure here: http://crbug.com/462213. Original issue's description: > [Android WebView] Synthesize a fake page loading event on page source modification > > When a script modifies page source of a non-committed page, we need to > notify clients, so they can update the URL bar to avoid confusion. > > BUG=458569 > > Committed: https://crrev.com/e38bb6cdeb1170cb2cd7faae8507dc6c34c58c7d > Cr-Commit-Position: refs/heads/master@{#318222} TBR=torne@chromium.org,tedchoc@chromium.org,davidben@chromium.org,creis@chromium.org,mnaganov@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=458569 Review URL: https://codereview.chromium.org/958933002 Cr-Commit-Position: refs/heads/master@{#318231}
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwContents.java18
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java4
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java16
-rw-r--r--android_webview/java_library_common.mk1
-rw-r--r--android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java74
-rw-r--r--android_webview/libwebviewchromium.gypi1
-rw-r--r--android_webview/native/aw_web_contents_delegate.cc12
-rw-r--r--android_webview/native/aw_web_contents_delegate.h2
8 files changed, 23 insertions, 105 deletions
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java
index 1f42a1c..e53f4f7 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwContents.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -1239,19 +1239,6 @@ public class AwContents implements SmartClipProvider,
return url;
}
- /**
- * Gets the last committed URL. It represents the current page that is
- * displayed in WebContents. It represents the current security context.
- *
- * @return The URL of the current page or null if it's empty.
- */
- public String getLastCommittedUrl() {
- if (isDestroyed()) return null;
- String url = mWebContents.getLastCommittedUrl();
- if (url == null || url.trim().isEmpty()) return null;
- return url;
- }
-
public void requestFocus() {
mAwViewMethods.requestFocus();
}
@@ -1844,11 +1831,6 @@ public class AwContents implements SmartClipProvider,
return ports;
}
- public boolean hasAccessedInitialDocument() {
- if (isDestroyed()) return false;
- return mWebContents.hasAccessedInitialDocument();
- }
-
//--------------------------------------------------------------------------------------------
// View and ViewGroup method implementations
//--------------------------------------------------------------------------------------------
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java
index bf5af89..a0003e6 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegate.java
@@ -37,8 +37,4 @@ public abstract class AwWebContentsDelegate extends WebContentsDelegateAndroid {
// Call in response to a prior runFileChooser call.
protected static native void nativeFilesSelectedInChooser(int processId, int renderId,
int modeFlags, String[] filePath, String[] displayName);
-
- @Override
- @CalledByNative
- public abstract void navigationStateChanged(int flags);
}
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
index 10ae2a5..3f2c707 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
@@ -11,7 +11,6 @@ import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.provider.MediaStore;
-import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
@@ -20,7 +19,6 @@ import android.webkit.ValueCallback;
import org.chromium.base.ContentUriUtils;
import org.chromium.base.ThreadUtils;
-import org.chromium.content_public.browser.InvalidateTypes;
/**
* Adapts the AwWebContentsDelegate interface to the AwContentsClient interface.
@@ -215,20 +213,6 @@ class AwWebContentsDelegateAdapter extends AwWebContentsDelegate {
}
@Override
- public void navigationStateChanged(int flags) {
- if ((flags & InvalidateTypes.URL) != 0 && mAwContents.hasAccessedInitialDocument()) {
- // Hint the client to show the last committed url, as it may be unsafe to show
- // the pending entry.
- String url = mAwContents.getLastCommittedUrl();
- url = TextUtils.isEmpty(url) ? "about:blank" : url;
- mContentsClient.onPageStarted(url);
- mContentsClient.onLoadResource(url);
- mContentsClient.onProgressChanged(100);
- mContentsClient.onPageFinished(url);
- }
- }
-
- @Override
public void toggleFullscreenModeForTab(boolean enterFullscreen) {
if (enterFullscreen) {
mContentViewClient.enterFullscreen();
diff --git a/android_webview/java_library_common.mk b/android_webview/java_library_common.mk
index 0b29e70..9353cb4 100644
--- a/android_webview/java_library_common.mk
+++ b/android_webview/java_library_common.mk
@@ -55,7 +55,6 @@ $(call intermediates-dir-for,GYP,shared)/enums/console_message_level_java/org/ch
$(call intermediates-dir-for,GYP,shared)/enums/content_gamepad_mapping/org/chromium/content/browser/input/CanonicalAxisIndex.java \
$(call intermediates-dir-for,GYP,shared)/enums/content_gamepad_mapping/org/chromium/content/browser/input/CanonicalButtonIndex.java \
$(call intermediates-dir-for,GYP,shared)/enums/gesture_event_type_java/org/chromium/content/browser/GestureEventType.java \
-$(call intermediates-dir-for,GYP,shared)/enums/invalidate_types_java/org/chromium/content_public/browser/InvalidateTypes.java \
$(call intermediates-dir-for,GYP,shared)/enums/navigation_controller_java/org/chromium/content_public/browser/navigation_controller/LoadURLType.java \
$(call intermediates-dir-for,GYP,shared)/enums/navigation_controller_java/org/chromium/content_public/browser/navigation_controller/UserAgentOverrideOption.java \
$(call intermediates-dir-for,GYP,shared)/enums/popup_item_type_java/org/chromium/content/browser/input/PopupItemType.java \
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
index a59030d..a81e907 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/PopupWindowTest.java
@@ -5,14 +5,13 @@
package org.chromium.android_webview.test;
import android.os.Build;
-import android.test.suitebuilder.annotation.MediumTest;
+import android.test.suitebuilder.annotation.SmallTest;
import org.chromium.android_webview.AwContents;
import org.chromium.android_webview.test.util.AwTestTouchUtils;
import org.chromium.android_webview.test.util.CommonResources;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.MinAndroidSdkLevel;
-import org.chromium.content.browser.test.util.TestCallbackHelperContainer;
import org.chromium.net.test.util.TestWebServer;
import java.util.concurrent.Callable;
@@ -39,9 +38,6 @@ public class PopupWindowTest extends AwTestBase {
mParentContentsClient = new TestAwContentsClient();
mParentContainerView = createAwTestContainerViewOnMainSync(mParentContentsClient);
mParentContents = mParentContainerView.getAwContents();
- mPopupContentsClient = new TestAwContentsClient();
- mPopupContainerView = createAwTestContainerViewOnMainSync(mPopupContentsClient);
- mPopupContents = mPopupContainerView.getAwContents();
mWebServer = TestWebServer.start();
}
@@ -53,9 +49,7 @@ public class PopupWindowTest extends AwTestBase {
super.tearDown();
}
- // It is expected that the parent page contains a link that opens a popup window,
- // and the test server is already pre-loaded with both parent and popup pages.
- private void triggerPopup(String parentUrl) throws Throwable {
+ private void triggerPopup() throws Throwable {
enableJavaScriptOnUiThread(mParentContents);
getInstrumentation().runOnMainSync(new Runnable() {
@Override
@@ -65,6 +59,21 @@ public class PopupWindowTest extends AwTestBase {
}
});
+ final String popupPath = "/popup.html";
+
+ final String parentPageHtml = CommonResources.makeHtmlPageFrom("",
+ "<script>"
+ + "function tryOpenWindow() {"
+ + " var newWindow = window.open('" + popupPath + "');"
+ + "}</script>"
+ + "<a class=\"full_view\" onclick=\"tryOpenWindow();\">Click me!</a>");
+ final String popupPageHtml = CommonResources.makeHtmlPageFrom(
+ "<title>" + POPUP_TITLE + "</title>",
+ "This is a popup window");
+
+ final String parentUrl = mWebServer.setResponse("/popupParent.html", parentPageHtml, null);
+ mWebServer.setResponse(popupPath, popupPageHtml, null);
+
mParentContentsClient.getOnCreateWindowHelper().setReturnValue(true);
loadUrlSync(mParentContents,
mParentContentsClient.getOnPageFinishedHelper(),
@@ -79,6 +88,10 @@ public class PopupWindowTest extends AwTestBase {
}
private void connectPendingPopup() throws Exception {
+ mPopupContentsClient = new TestAwContentsClient();
+ mPopupContainerView = createAwTestContainerViewOnMainSync(mPopupContentsClient);
+ mPopupContents = mPopupContainerView.getAwContents();
+
getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
@@ -87,22 +100,10 @@ public class PopupWindowTest extends AwTestBase {
});
}
- @MediumTest
+ @SmallTest
@Feature({"AndroidWebView"})
public void testPopupWindow() throws Throwable {
- final String popupPath = "/popup.html";
- final String parentPageHtml = CommonResources.makeHtmlPageFrom("",
- "<script>"
- + "function tryOpenWindow() {"
- + " var newWindow = window.open('" + popupPath + "');"
- + "}</script>"
- + "<a class=\"full_view\" onclick=\"tryOpenWindow();\">Click me!</a>");
- final String popupPageHtml = CommonResources.makeHtmlPageFrom(
- "<title>" + POPUP_TITLE + "</title>",
- "This is a popup window");
- final String parentUrl = mWebServer.setResponse("/popupParent.html", parentPageHtml, null);
- mWebServer.setResponse(popupPath, popupPageHtml, null);
- triggerPopup(parentUrl);
+ triggerPopup();
connectPendingPopup();
poll(new Callable<Boolean>() {
@Override
@@ -111,33 +112,4 @@ public class PopupWindowTest extends AwTestBase {
}
});
}
-
- @MediumTest
- @Feature({"AndroidWebView"})
- public void testOnPageFinishedCalledAfterModifyingPageSource() throws Throwable {
- final String popupPath = "/popup.html";
- final String popupUrl = mWebServer.setResponseWithNoContentStatus(popupPath);
- final String parentHtml = CommonResources.makeHtmlPageFrom("",
- "<script>"
- + "function tryOpenWindow() {"
- + " window.popupWindow = window.open('" + popupPath + "');"
- + "}"
- + "function modifyDomOfPopup() {"
- + " window.popupWindow.document.body.innerHTML = 'Hello from the parent!';"
- + "}</script>"
- + "<a class='full_view' onclick='tryOpenWindow();'>Click me!</a>");
- final String parentUrl = mWebServer.setResponse("/parent.html", parentHtml, null);
- triggerPopup(parentUrl);
- TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
- mPopupContentsClient.getOnPageFinishedHelper();
- int onPageFinishedCallCount = onPageFinishedHelper.getCallCount();
- connectPendingPopup();
- onPageFinishedHelper.waitForCallback(onPageFinishedCallCount);
-
- onPageFinishedCallCount = onPageFinishedHelper.getCallCount();
- executeJavaScriptAndWaitForResult(mParentContents, mParentContentsClient,
- "modifyDomOfPopup()");
- onPageFinishedHelper.waitForCallback(onPageFinishedCallCount);
- assertEquals("about:blank", onPageFinishedHelper.getUrl());
- }
}
diff --git a/android_webview/libwebviewchromium.gypi b/android_webview/libwebviewchromium.gypi
index 691b1db..feff124 100644
--- a/android_webview/libwebviewchromium.gypi
+++ b/android_webview/libwebviewchromium.gypi
@@ -23,7 +23,6 @@
'../content/content.gyp:console_message_level_java',
'../content/content.gyp:content_gamepad_mapping',
'../content/content.gyp:gesture_event_type_java',
- '../content/content.gyp:invalidate_types_java',
'../content/content.gyp:navigation_controller_java',
'../content/content.gyp:popup_item_type_java',
'../content/content.gyp:result_codes_java',
diff --git a/android_webview/native/aw_web_contents_delegate.cc b/android_webview/native/aw_web_contents_delegate.cc
index d2a71e6..acece1b 100644
--- a/android_webview/native/aw_web_contents_delegate.cc
+++ b/android_webview/native/aw_web_contents_delegate.cc
@@ -163,18 +163,6 @@ void AwWebContentsDelegate::AddNewContents(WebContents* source,
}
}
-void AwWebContentsDelegate::NavigationStateChanged(
- content::WebContents* source,
- content::InvalidateTypes changed_flags) {
- JNIEnv* env = AttachCurrentThread();
-
- ScopedJavaLocalRef<jobject> java_delegate = GetJavaDelegate(env);
- if (java_delegate.obj()) {
- Java_AwWebContentsDelegate_navigationStateChanged(env, java_delegate.obj(),
- changed_flags);
- }
-}
-
// Notifies the delegate about the creation of a new WebContents. This
// typically happens when popups are created.
void AwWebContentsDelegate::WebContentsCreated(
diff --git a/android_webview/native/aw_web_contents_delegate.h b/android_webview/native/aw_web_contents_delegate.h
index afc881b..96cd325 100644
--- a/android_webview/native/aw_web_contents_delegate.h
+++ b/android_webview/native/aw_web_contents_delegate.h
@@ -40,8 +40,6 @@ class AwWebContentsDelegate
bool user_gesture,
bool* was_blocked) override;
- void NavigationStateChanged(content::WebContents* source,
- content::InvalidateTypes changed_flags) override;
void WebContentsCreated(content::WebContents* source_contents,
int opener_render_frame_id,
const base::string16& frame_name,