Index: android_webview/javatests/src/org/chromium/android_webview/test/TestAwContentsClient.java |
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/TestAwContentsClient.java b/android_webview/javatests/src/org/chromium/android_webview/test/TestAwContentsClient.java |
index 70c8fc251071ccb2cc6ffbec346191b54e2ac7f7..97cb7f1ad457ee4969b75c1633d5e53a6c391682 100644 |
--- a/android_webview/javatests/src/org/chromium/android_webview/test/TestAwContentsClient.java |
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/TestAwContentsClient.java |
@@ -23,6 +23,7 @@ class TestAwContentsClient extends NullContentsClient { |
private final AddMessageToConsoleHelper mAddMessageToConsoleHelper; |
private final OnScaleChangedHelper mOnScaleChangedHelper; |
private final PictureListenerHelper mPictureListenerHelper; |
+ private final ShouldOverrideUrlLoadingHelper mShouldOverrideUrlLoadingHelper; |
public TestAwContentsClient() { |
super(ThreadUtils.getUiThreadLooper()); |
@@ -33,6 +34,7 @@ class TestAwContentsClient extends NullContentsClient { |
mAddMessageToConsoleHelper = new AddMessageToConsoleHelper(); |
mOnScaleChangedHelper = new OnScaleChangedHelper(); |
mPictureListenerHelper = new PictureListenerHelper(); |
+ mShouldOverrideUrlLoadingHelper = new ShouldOverrideUrlLoadingHelper(); |
} |
public OnPageStartedHelper getOnPageStartedHelper() { |
@@ -51,6 +53,10 @@ class TestAwContentsClient extends NullContentsClient { |
return mOnEvaluateJavaScriptResultHelper; |
} |
+ public ShouldOverrideUrlLoadingHelper getShouldOverrideUrlLoadingHelper() { |
+ return mShouldOverrideUrlLoadingHelper; |
+ } |
+ |
public AddMessageToConsoleHelper getAddMessageToConsoleHelper() { |
return mAddMessageToConsoleHelper; |
} |
@@ -167,4 +173,44 @@ class TestAwContentsClient extends NullContentsClient { |
public void onNewPicture(Picture picture) { |
mPictureListenerHelper.notifyCalled(picture); |
} |
+ |
+ public static class ShouldOverrideUrlLoadingHelper extends CallbackHelper { |
+ private String mShouldOverrideUrlLoadingUrl; |
+ private String mPreviousShouldOverrideUrlLoadingUrl; |
+ private boolean mShouldOverrideUrlLoadingReturnValue = false; |
+ void setShouldOverrideUrlLoadingUrl(String url) { |
+ mShouldOverrideUrlLoadingUrl = url; |
+ } |
+ void setPreviousShouldOverrideUrlLoadingUrl(String url) { |
+ mPreviousShouldOverrideUrlLoadingUrl = url; |
+ } |
+ void setShouldOverrideUrlLoadingReturnValue(boolean value) { |
+ mShouldOverrideUrlLoadingReturnValue = value; |
+ } |
+ public String getShouldOverrideUrlLoadingUrl() { |
+ assert getCallCount() > 0; |
+ return mShouldOverrideUrlLoadingUrl; |
+ } |
+ public String getPreviousShouldOverrideUrlLoadingUrl() { |
+ assert getCallCount() > 1; |
+ return mPreviousShouldOverrideUrlLoadingUrl; |
+ } |
+ public boolean getShouldOverrideUrlLoadingReturnValue() { |
+ return mShouldOverrideUrlLoadingReturnValue; |
+ } |
+ public void notifyCalled(String url) { |
+ mPreviousShouldOverrideUrlLoadingUrl = mShouldOverrideUrlLoadingUrl; |
+ mShouldOverrideUrlLoadingUrl = url; |
+ notifyCalled(); |
+ } |
+ } |
+ |
+ @Override |
+ public boolean shouldOverrideUrlLoading(String url) { |
+ super.shouldOverrideUrlLoading(url); |
+ boolean returnValue = |
+ mShouldOverrideUrlLoadingHelper.getShouldOverrideUrlLoadingReturnValue(); |
+ mShouldOverrideUrlLoadingHelper.notifyCalled(url); |
+ return returnValue; |
+ } |
} |