| 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 |