Index: chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java |
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java |
index 40d494f5184414759b666a898340bae39d336412..997fcd91f73e0c91455684849d18a6a605667100 100644 |
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java |
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/ChromeInstrumentationTestRunner.java |
@@ -16,10 +16,12 @@ import junit.framework.TestCase; |
import org.chromium.base.test.BaseChromiumInstrumentationTestRunner; |
import org.chromium.base.test.BaseTestResult; |
+import org.chromium.base.test.util.DisableIfSkipCheck; |
import org.chromium.base.test.util.RestrictionSkipCheck; |
import org.chromium.base.test.util.SkipCheck; |
import org.chromium.chrome.browser.ChromeVersionInfo; |
import org.chromium.chrome.browser.util.FeatureUtilities; |
+import org.chromium.chrome.test.util.ChromeDisableIf; |
import org.chromium.chrome.test.util.ChromeRestriction; |
import org.chromium.chrome.test.util.DisableInTabbedMode; |
import org.chromium.policy.test.annotations.Policies; |
@@ -49,6 +51,7 @@ public class ChromeInstrumentationTestRunner extends BaseChromiumInstrumentation |
super.addTestHooks(result); |
result.addSkipCheck(new DisableInTabbedModeSkipCheck()); |
result.addSkipCheck(new ChromeRestrictionSkipCheck(getTargetContext())); |
+ result.addSkipCheck(new ChromeDisableIfSkipCheck(getTargetContext())); |
result.addPreTestHook(Policies.getRegistrationHook()); |
} |
@@ -118,4 +121,30 @@ public class ChromeInstrumentationTestRunner extends BaseChromiumInstrumentation |
return false; |
} |
} |
+ |
+ private class ChromeDisableIfSkipCheck extends DisableIfSkipCheck { |
+ |
+ private final Context mTargetContext; |
+ |
+ public ChromeDisableIfSkipCheck(Context targetContext) { |
+ mTargetContext = targetContext; |
+ } |
+ |
+ @Override |
+ protected boolean deviceTypeApplies(String type) { |
+ if (TextUtils.equals(type, ChromeDisableIf.PHONE) |
+ && !DeviceFormFactor.isTablet(getTargetContext())) { |
+ return true; |
+ } |
+ if (TextUtils.equals(type, ChromeDisableIf.TABLET) |
+ && DeviceFormFactor.isTablet(getTargetContext())) { |
+ return true; |
+ } |
+ if (TextUtils.equals(type, ChromeDisableIf.LARGETABLET) |
+ && DeviceFormFactor.isLargeTablet(getTargetContext())) { |
+ return true; |
+ } |
+ return false; |
+ } |
+ } |
} |