OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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.test; | 5 package org.chromium.android_webview.test; |
6 | 6 |
7 import android.graphics.Bitmap; | 7 import android.graphics.Bitmap; |
8 import android.graphics.BitmapFactory; | 8 import android.graphics.BitmapFactory; |
9 import android.graphics.Canvas; | 9 import android.graphics.Canvas; |
10 import android.os.Build; | 10 import android.os.Build; |
(...skipping 15 matching lines...) Expand all Loading... |
26 import org.chromium.android_webview.AwContents; | 26 import org.chromium.android_webview.AwContents; |
27 import org.chromium.android_webview.AwSettings; | 27 import org.chromium.android_webview.AwSettings; |
28 import org.chromium.android_webview.test.TestAwContentsClient.OnDownloadStartHel
per; | 28 import org.chromium.android_webview.test.TestAwContentsClient.OnDownloadStartHel
per; |
29 import org.chromium.android_webview.test.util.CommonResources; | 29 import org.chromium.android_webview.test.util.CommonResources; |
30 import org.chromium.base.annotations.SuppressFBWarnings; | 30 import org.chromium.base.annotations.SuppressFBWarnings; |
31 import org.chromium.base.test.util.Feature; | 31 import org.chromium.base.test.util.Feature; |
32 import org.chromium.base.test.util.MinAndroidSdkLevel; | 32 import org.chromium.base.test.util.MinAndroidSdkLevel; |
33 import org.chromium.content.browser.test.util.CallbackHelper; | 33 import org.chromium.content.browser.test.util.CallbackHelper; |
34 import org.chromium.content.browser.test.util.Criteria; | 34 import org.chromium.content.browser.test.util.Criteria; |
35 import org.chromium.content.browser.test.util.CriteriaHelper; | 35 import org.chromium.content.browser.test.util.CriteriaHelper; |
| 36 import org.chromium.content_public.browser.AccessibilitySnapshotCallback; |
| 37 import org.chromium.content_public.browser.AccessibilitySnapshotNode; |
36 import org.chromium.content_public.browser.LoadUrlParams; | 38 import org.chromium.content_public.browser.LoadUrlParams; |
37 import org.chromium.net.test.util.TestWebServer; | 39 import org.chromium.net.test.util.TestWebServer; |
38 | 40 |
39 import java.io.InputStream; | 41 import java.io.InputStream; |
40 import java.net.URL; | 42 import java.net.URL; |
41 import java.util.ArrayList; | 43 import java.util.ArrayList; |
42 import java.util.HashMap; | 44 import java.util.HashMap; |
43 import java.util.List; | 45 import java.util.List; |
44 import java.util.Map; | 46 import java.util.Map; |
45 import java.util.concurrent.Callable; | 47 import java.util.concurrent.Callable; |
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 AwTestContainerView testView = createAwTestContainerViewOnMainSync(mCont
entsClient); | 621 AwTestContainerView testView = createAwTestContainerViewOnMainSync(mCont
entsClient); |
620 AwContents awContents = testView.getAwContents(); | 622 AwContents awContents = testView.getAwContents(); |
621 | 623 |
622 String script = "window.Notification || window.PushManager"; | 624 String script = "window.Notification || window.PushManager"; |
623 | 625 |
624 enableJavaScriptOnUiThread(awContents); | 626 enableJavaScriptOnUiThread(awContents); |
625 loadUrlSync(awContents, mContentsClient.getOnPageFinishedHelper(), "abou
t:blank"); | 627 loadUrlSync(awContents, mContentsClient.getOnPageFinishedHelper(), "abou
t:blank"); |
626 assertEquals("null", executeJavaScriptAndWaitForResult(awContents, mCont
entsClient, | 628 assertEquals("null", executeJavaScriptAndWaitForResult(awContents, mCont
entsClient, |
627 script)); | 629 script)); |
628 } | 630 } |
| 631 |
| 632 /** |
| 633 * Verifies that AX tree is returned. |
| 634 */ |
| 635 @Feature({"AndroidWebView"}) |
| 636 @SmallTest |
| 637 public void testRequestAccessibilitySnapshot() throws Throwable { |
| 638 final AwTestContainerView testView = createAwTestContainerViewOnMainSync
(mContentsClient); |
| 639 final AwContents awContents = testView.getAwContents(); |
| 640 final CallbackHelper loadHelper = mContentsClient.getOnPageFinishedHelpe
r(); |
| 641 loadDataSync(awContents, loadHelper, "<button>Click</button>", "text/htm
l", false); |
| 642 |
| 643 final CallbackHelper callbackHelper = new CallbackHelper(); |
| 644 final AccessibilitySnapshotCallback callback = new AccessibilitySnapshot
Callback() { |
| 645 @Override |
| 646 public void onAccessibilitySnapshot(AccessibilitySnapshotNode root)
{ |
| 647 assertEquals(1, root.children.size()); |
| 648 assertEquals("", root.text); |
| 649 AccessibilitySnapshotNode child = root.children.get(0); |
| 650 assertEquals(1, child.children.size()); |
| 651 assertEquals("", child.text); |
| 652 AccessibilitySnapshotNode grandChild = child.children.get(0); |
| 653 assertEquals(0, grandChild.children.size()); |
| 654 assertEquals("Click", grandChild.text); |
| 655 callbackHelper.notifyCalled(); |
| 656 } |
| 657 }; |
| 658 |
| 659 runTestOnUiThread(new Runnable() { |
| 660 @Override |
| 661 public void run() { |
| 662 awContents.requestAccessibilitySnapshot(callback); |
| 663 } |
| 664 }); |
| 665 callbackHelper.waitForCallback(callbackHelper.getCallCount()); |
| 666 } |
629 } | 667 } |
OLD | NEW |