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

Side by Side Diff: chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java

Issue 2760153002: Convert chrome compositor test's InstrumentationTestCases (Closed)
Patch Set: Rebase Created 3 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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.test; 5 package org.chromium.chrome.test;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.os.Build; 8 import android.os.Build;
9 import android.os.Bundle; 9 import android.os.Bundle;
10 import android.text.TextUtils; 10 import android.text.TextUtils;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 50
51 @Override 51 @Override
52 protected void addTestHooks(BaseTestResult result) { 52 protected void addTestHooks(BaseTestResult result) {
53 super.addTestHooks(result); 53 super.addTestHooks(result);
54 result.addSkipCheck(new ChromeRestrictionSkipCheck(getTargetContext())); 54 result.addSkipCheck(new ChromeRestrictionSkipCheck(getTargetContext()));
55 result.addSkipCheck(new ChromeDisableIfSkipCheck(getTargetContext())); 55 result.addSkipCheck(new ChromeDisableIfSkipCheck(getTargetContext()));
56 56
57 result.addPreTestHook(Policies.getRegistrationHook()); 57 result.addPreTestHook(Policies.getRegistrationHook());
58 } 58 }
59 59
60 private class ChromeRestrictionSkipCheck extends RestrictionSkipCheck { 60 static class ChromeRestrictionSkipCheck extends RestrictionSkipCheck {
61 private VrDaydreamApi mDaydreamApi; 61 private VrDaydreamApi mDaydreamApi;
62 private boolean mAttemptedToGetApi; 62 private boolean mAttemptedToGetApi;
63 private Context mTargetContext;
63 64
64 public ChromeRestrictionSkipCheck(Context targetContext) { 65 public ChromeRestrictionSkipCheck(Context targetContext) {
65 super(targetContext); 66 super(targetContext);
67 mTargetContext = targetContext;
jbudorick 2017/03/22 15:58:07 This should not store the target context. Restrict
the real yoland 2017/03/22 17:43:33 Done
66 } 68 }
67 69
68 @SuppressWarnings("unchecked") 70 @SuppressWarnings("unchecked")
69 private VrDaydreamApi getDaydreamApi() { 71 private VrDaydreamApi getDaydreamApi() {
70 if (!mAttemptedToGetApi) { 72 if (!mAttemptedToGetApi) {
71 mAttemptedToGetApi = true; 73 mAttemptedToGetApi = true;
72 try { 74 try {
73 Class<? extends VrClassesWrapper> vrClassesBuilderClass = 75 Class<? extends VrClassesWrapper> vrClassesBuilderClass =
74 (Class<? extends VrClassesWrapper>) Class.forName( 76 (Class<? extends VrClassesWrapper>) Class.forName(
75 "org.chromium.chrome.browser.vr_shell.VrClas sesWrapperImpl"); 77 "org.chromium.chrome.browser.vr_shell.VrClas sesWrapperImpl");
76 Constructor<?> vrClassesBuilderConstructor = 78 Constructor<?> vrClassesBuilderConstructor =
77 vrClassesBuilderClass.getConstructor(); 79 vrClassesBuilderClass.getConstructor();
78 VrClassesWrapper vrClassesBuilder = 80 VrClassesWrapper vrClassesBuilder =
79 (VrClassesWrapper) vrClassesBuilderConstructor.newIn stance(); 81 (VrClassesWrapper) vrClassesBuilderConstructor.newIn stance();
80 mDaydreamApi = vrClassesBuilder.createVrDaydreamApi(getTarge tContext()); 82 mDaydreamApi = vrClassesBuilder.createVrDaydreamApi(mTargetC ontext);
jbudorick 2017/03/22 15:58:07 Perhaps we should expose that context via a method
the real yoland 2017/03/22 17:43:33 Done
81 } catch (ClassNotFoundException | InstantiationException | Illeg alAccessException 83 } catch (ClassNotFoundException | InstantiationException | Illeg alAccessException
82 | IllegalArgumentException | InvocationTargetException 84 | IllegalArgumentException | InvocationTargetException
83 | NoSuchMethodException e) { 85 | NoSuchMethodException e) {
84 return null; 86 return null;
85 } 87 }
86 } 88 }
87 return mDaydreamApi; 89 return mDaydreamApi;
88 } 90 }
89 91
90 private boolean isDaydreamReady() { 92 private boolean isDaydreamReady() {
(...skipping 23 matching lines...) Expand all
114 } 116 }
115 117
116 private boolean supportsWebVr() { 118 private boolean supportsWebVr() {
117 // WebVR support is tied to VR Services support, which is only on K+ 119 // WebVR support is tied to VR Services support, which is only on K+
118 return Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; 120 return Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
119 } 121 }
120 122
121 @Override 123 @Override
122 protected boolean restrictionApplies(String restriction) { 124 protected boolean restrictionApplies(String restriction) {
123 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE _PHONE) 125 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE _PHONE)
124 && DeviceFormFactor.isTablet(getTargetContext())) { 126 && DeviceFormFactor.isTablet(mTargetContext)) {
125 return true; 127 return true;
126 } 128 }
127 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE _TABLET) 129 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE _TABLET)
128 && !DeviceFormFactor.isTablet(getTargetContext())) { 130 && !DeviceFormFactor.isTablet(mTargetContext)) {
131 return true;
132 }
133 if (TextUtils.equals(
134 restriction, ChromeRestriction.RESTRICTION_TYPE_GOOGLE_P LAY_SERVICES)
135 && (ConnectionResult.SUCCESS
136 != GoogleApiAvailability.getInstance().isGooglePl ayServicesAvailable(
137 mTargetContext))) {
129 return true; 138 return true;
130 } 139 }
131 if (TextUtils.equals(restriction, 140 if (TextUtils.equals(restriction,
132 ChromeRestriction.RESTRICTION_TYPE_GOOGLE_PLAY_SERVICES)
133 && (ConnectionResult.SUCCESS != GoogleApiAvailability.getIns tance()
134 .isGooglePlayServicesAvailable(getTargetContext()))) {
135 return true;
136 }
137 if (TextUtils.equals(restriction,
138 ChromeRestriction.RESTRICTION_TYPE_OFFICIAL_BUILD) 141 ChromeRestriction.RESTRICTION_TYPE_OFFICIAL_BUILD)
139 && (!ChromeVersionInfo.isOfficialBuild())) { 142 && (!ChromeVersionInfo.isOfficialBuild())) {
140 return true; 143 return true;
141 } 144 }
142 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE _DEVICE_DAYDREAM) 145 if (TextUtils.equals(restriction, ChromeRestriction.RESTRICTION_TYPE _DEVICE_DAYDREAM)
143 || TextUtils.equals(restriction, 146 || TextUtils.equals(restriction,
144 ChromeRestriction.RESTRICTION_TYPE_DEVICE_NON_DAY DREAM)) { 147 ChromeRestriction.RESTRICTION_TYPE_DEVICE_NON_DAY DREAM)) {
145 boolean isDaydream = isDaydreamReady(); 148 boolean isDaydream = isDaydreamReady();
146 if (TextUtils.equals( 149 if (TextUtils.equals(
147 restriction, ChromeRestriction.RESTRICTION_TYPE_DEVI CE_DAYDREAM) 150 restriction, ChromeRestriction.RESTRICTION_TYPE_DEVI CE_DAYDREAM)
(...skipping 30 matching lines...) Expand all
178 } else if (TextUtils.equals(restriction, 181 } else if (TextUtils.equals(restriction,
179 ChromeRestriction.RESTRICTION_TYPE_WEBVR_UNSU PPORTED) 182 ChromeRestriction.RESTRICTION_TYPE_WEBVR_UNSU PPORTED)
180 && webvrSupported) { 183 && webvrSupported) {
181 return true; 184 return true;
182 } 185 }
183 } 186 }
184 return false; 187 return false;
185 } 188 }
186 } 189 }
187 190
188 private class ChromeDisableIfSkipCheck extends DisableIfSkipCheck { 191 static class ChromeDisableIfSkipCheck extends DisableIfSkipCheck {
189
190 private final Context mTargetContext; 192 private final Context mTargetContext;
191 193
192 public ChromeDisableIfSkipCheck(Context targetContext) { 194 public ChromeDisableIfSkipCheck(Context targetContext) {
193 mTargetContext = targetContext; 195 mTargetContext = targetContext;
194 } 196 }
195 197
196 @Override 198 @Override
197 protected boolean deviceTypeApplies(String type) { 199 protected boolean deviceTypeApplies(String type) {
198 if (TextUtils.equals(type, ChromeDisableIf.PHONE) 200 if (TextUtils.equals(type, ChromeDisableIf.PHONE)
199 && !DeviceFormFactor.isTablet(getTargetContext())) { 201 && !DeviceFormFactor.isTablet(mTargetContext)) {
200 return true; 202 return true;
201 } 203 }
202 if (TextUtils.equals(type, ChromeDisableIf.TABLET) 204 if (TextUtils.equals(type, ChromeDisableIf.TABLET)
203 && DeviceFormFactor.isTablet(getTargetContext())) { 205 && DeviceFormFactor.isTablet(mTargetContext)) {
204 return true; 206 return true;
205 } 207 }
206 if (TextUtils.equals(type, ChromeDisableIf.LARGETABLET) 208 if (TextUtils.equals(type, ChromeDisableIf.LARGETABLET)
207 && DeviceFormFactor.isLargeTablet(getTargetContext())) { 209 && DeviceFormFactor.isLargeTablet(mTargetContext)) {
208 return true; 210 return true;
209 } 211 }
210 return false; 212 return false;
211 } 213 }
212 } 214 }
213 } 215 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698