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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/ChromeTabbedActivityLollipopAndAboveTest.java

Issue 1235523003: Standardize parameters passed when Tabs are created asynchronously. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments Created 5 years, 5 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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.chrome.browser; 5 package org.chromium.chrome.browser;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.content.Context; 8 import android.content.Context;
9 import android.os.Build; 9 import android.os.Build;
10 import android.test.suitebuilder.annotation.MediumTest; 10 import android.test.suitebuilder.annotation.MediumTest;
11 11
12 import org.chromium.base.ApplicationStatus; 12 import org.chromium.base.ApplicationStatus;
13 import org.chromium.base.ThreadUtils; 13 import org.chromium.base.ThreadUtils;
14 import org.chromium.base.test.util.MinAndroidSdkLevel; 14 import org.chromium.base.test.util.MinAndroidSdkLevel;
15 import org.chromium.base.test.util.Restriction; 15 import org.chromium.base.test.util.Restriction;
16 import org.chromium.chrome.browser.document.ChromeLauncherActivity; 16 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
17 import org.chromium.chrome.browser.document.DocumentActivity; 17 import org.chromium.chrome.browser.document.DocumentActivity;
18 import org.chromium.chrome.browser.document.DocumentMetricIds; 18 import org.chromium.chrome.browser.tabmodel.document.AsyncTabCreationParams;
19 import org.chromium.chrome.browser.util.FeatureUtilities; 19 import org.chromium.chrome.browser.util.FeatureUtilities;
20 import org.chromium.chrome.test.ChromeTabbedActivityTestBase; 20 import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
21 import org.chromium.chrome.test.util.ActivityUtils; 21 import org.chromium.chrome.test.util.ActivityUtils;
22 import org.chromium.content.browser.test.util.Criteria; 22 import org.chromium.content.browser.test.util.Criteria;
23 import org.chromium.content.browser.test.util.CriteriaHelper; 23 import org.chromium.content.browser.test.util.CriteriaHelper;
24 import org.chromium.content_public.browser.LoadUrlParams;
24 25
25 import java.lang.ref.WeakReference; 26 import java.lang.ref.WeakReference;
26 import java.util.List; 27 import java.util.List;
27 28
28 /** 29 /**
29 * Tests for ChromeTabbedActivity that need to run on L+ devices. 30 * Tests for ChromeTabbedActivity that need to run on L+ devices.
30 */ 31 */
31 @MinAndroidSdkLevel(Build.VERSION_CODES.LOLLIPOP) 32 @MinAndroidSdkLevel(Build.VERSION_CODES.LOLLIPOP)
32 public class ChromeTabbedActivityLollipopAndAboveTest extends ChromeTabbedActivi tyTestBase { 33 public class ChromeTabbedActivityLollipopAndAboveTest extends ChromeTabbedActivi tyTestBase {
33 /** 34 /**
(...skipping 13 matching lines...) Expand all
47 } 48 }
48 })); 49 }));
49 50
50 // Try launching a DocumentActivity. 51 // Try launching a DocumentActivity.
51 Runnable runnable = new Runnable() { 52 Runnable runnable = new Runnable() {
52 @Override 53 @Override
53 public void run() { 54 public void run() {
54 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 55 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
55 @Override 56 @Override
56 public void run() { 57 public void run() {
57 ChromeLauncherActivity.launchDocumentInstance(null, fals e, 58 AsyncTabCreationParams asyncParams = new AsyncTabCreatio nParams(
58 ChromeLauncherActivity.LAUNCH_MODE_FOREGROUND, " about:blank", 59 new LoadUrlParams("about:blank"));
59 DocumentMetricIds.STARTED_BY_UNKNOWN, 0, null); 60 ChromeLauncherActivity.launchDocumentInstance(null, fals e, asyncParams);
60 } 61 }
61 }); 62 });
62 } 63 }
63 }; 64 };
64 final Activity documentActivity = ActivityUtils.waitForActivity( 65 final Activity documentActivity = ActivityUtils.waitForActivity(
65 getInstrumentation(), DocumentActivity.class, runnable); 66 getInstrumentation(), DocumentActivity.class, runnable);
66 67
67 // ApplicationStatus should note that the DocumentActivity isn't running anymore. 68 // ApplicationStatus should note that the DocumentActivity isn't running anymore.
68 assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() { 69 assertTrue(CriteriaHelper.pollForUIThreadCriteria(new Criteria() {
69 @Override 70 @Override
70 public boolean isSatisfied() { 71 public boolean isSatisfied() {
71 List<WeakReference<Activity>> activities = ApplicationStatus.get RunningActivities(); 72 List<WeakReference<Activity>> activities = ApplicationStatus.get RunningActivities();
72 for (WeakReference<Activity> activity : activities) { 73 for (WeakReference<Activity> activity : activities) {
73 if (activity.get() == documentActivity) return false; 74 if (activity.get() == documentActivity) return false;
74 } 75 }
75 return true; 76 return true;
76 } 77 }
77 })); 78 }));
78 } 79 }
79 80
80 @Override 81 @Override
81 public void startMainActivity() throws InterruptedException { 82 public void startMainActivity() throws InterruptedException {
82 startMainActivityOnBlankPage(); 83 startMainActivityOnBlankPage();
83 } 84 }
84 } 85 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698