Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Side by Side Diff: android_webview/javatests/src/org/chromium/android_webview/test/AwContentsTest.java

Issue 1073983005: Take a snapshot of the AXTree (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@assist-3
Patch Set: address feedback Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698