Index: chrome/android/javatests/src/org/chromium/chrome/browser/ContentViewTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ContentViewTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ContentViewTest.java |
index 20a0f0f959f38609fbed7a4a9c3a7b43f745a1da..de75d28c55d1c053e8035fd69726ed0ce7860378 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ContentViewTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ContentViewTest.java |
@@ -4,7 +4,10 @@ |
package org.chromium.chrome.browser; |
-import android.graphics.Rect; |
+import android.os.Bundle; |
+import android.os.Handler; |
+import android.os.HandlerThread; |
+import android.os.Message; |
import android.test.suitebuilder.annotation.MediumTest; |
import org.chromium.base.ThreadUtils; |
@@ -12,7 +15,6 @@ import org.chromium.base.test.util.Feature; |
import org.chromium.chrome.shell.ChromeShellActivity; |
import org.chromium.chrome.shell.ChromeShellTestBase; |
import org.chromium.content.browser.ContentView; |
-import org.chromium.content.browser.ContentViewCore; |
import org.chromium.content.browser.test.util.CallbackHelper; |
import java.util.concurrent.TimeoutException; |
@@ -20,16 +22,61 @@ import java.util.concurrent.TimeoutException; |
/** |
* Tests for the ContentView. |
*/ |
-public class ContentViewTest extends ChromeShellTestBase { |
+public class ContentViewTest extends ChromeShellTestBase implements Handler.Callback { |
+ |
+ private static class MyCallbackHelper extends CallbackHelper { |
+ public String getTitle() { |
+ return mTitle; |
+ } |
+ |
+ public String getUrl() { |
+ return mUrl; |
+ } |
+ |
+ public void notifyCalled(String title, String url) { |
+ mTitle = title; |
+ mUrl = url; |
+ super.notifyCalled(); |
+ } |
+ |
+ private String mTitle; |
+ private String mUrl; |
+ } |
private ChromeShellActivity mActivity; |
- private CallbackHelper mCallbackHelper; |
+ private MyCallbackHelper mCallbackHelper; |
+ private HandlerThread mHandlerThread; |
+ private Handler mHandler; |
@Override |
public void setUp() throws Exception { |
super.setUp(); |
mActivity = launchChromeShellWithBlankPage(); |
- mCallbackHelper = new CallbackHelper(); |
+ mCallbackHelper = new MyCallbackHelper(); |
+ mHandlerThread = new HandlerThread("ContentViewTest thread"); |
+ mHandlerThread.start(); |
+ mHandler = new Handler(mHandlerThread.getLooper(), this); |
+ } |
+ |
+ @Override |
+ public void tearDown() throws Exception { |
+ try { |
+ mHandlerThread.quitSafely(); |
+ } finally { |
+ super.tearDown(); |
+ } |
+ } |
+ |
+ // Implements Handler.Callback |
+ @Override |
+ public boolean handleMessage(Message msg) { |
+ Bundle bundle = msg.getData(); |
+ assertNotNull(bundle); |
+ String url = bundle.getString("url"); |
+ String title = bundle.getString("title"); |
+ // We don't care about other values for now. |
+ mCallbackHelper.notifyCalled(title, url); |
+ return true; |
} |
@MediumTest |
@@ -40,15 +87,12 @@ public class ContentViewTest extends ChromeShellTestBase { |
public void run() { |
ContentView cv = (ContentView) getActivity().getActiveTab().getView(); |
assertNotNull(cv); |
- cv.setSmartClipDataListener(new ContentViewCore.SmartClipDataListener() { |
- public void onSmartClipDataExtracted(String result, Rect cliprect) { |
- // We don't care about the returned values for now. |
- mCallbackHelper.notifyCalled(); |
- } |
- }); |
- cv.extractSmartClipData(10, 10, 100, 100); |
+ cv.setSmartClipResultHandler(mHandler); |
+ cv.extractSmartClipData(10, 20, 100, 70); |
} |
}); |
mCallbackHelper.waitForCallback(0, 1); // call count: 0 --> 1 |
+ assertNotNull("about:blank", mCallbackHelper.getTitle()); |
+ assertNotNull("about:blank", mCallbackHelper.getUrl()); |
} |
} |