OLD | NEW |
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.webapps; | 5 package org.chromium.chrome.browser.webapps; |
6 | 6 |
7 import android.content.Intent; | |
8 import android.test.suitebuilder.annotation.MediumTest; | 7 import android.test.suitebuilder.annotation.MediumTest; |
9 | 8 |
10 import org.chromium.base.test.util.DisableIf; | |
11 import org.chromium.base.test.util.Feature; | 9 import org.chromium.base.test.util.Feature; |
12 import org.chromium.chrome.browser.ShortcutHelper; | |
13 import org.chromium.components.security_state.ConnectionSecurityLevel; | 10 import org.chromium.components.security_state.ConnectionSecurityLevel; |
| 11 import org.chromium.content.browser.test.NativeLibraryTestBase; |
14 | 12 |
15 /** | 13 /** |
16 * Tests the logic in top controls visibility delegate in WebappActivity. | 14 * Tests for {@link WebappDelegateFactory}. |
17 */ | 15 */ |
18 public class WebappVisibilityTest extends WebappActivityTestBase { | 16 public class WebappVisibilityTest extends NativeLibraryTestBase { |
19 private static final String WEBAPP_URL = "http://originalwebsite.com"; | 17 private static final String WEBAPP_URL = "http://originalwebsite.com"; |
20 | 18 |
21 @Override | 19 @Override |
22 protected Intent createIntent() { | |
23 Intent intent = super.createIntent(); | |
24 intent.putExtra(ShortcutHelper.EXTRA_URL, WEBAPP_URL); | |
25 return intent; | |
26 } | |
27 | |
28 @Override | |
29 protected void setUp() throws Exception { | 20 protected void setUp() throws Exception { |
30 super.setUp(); | 21 super.setUp(); |
31 startWebappActivity(); | 22 loadNativeLibraryNoBrowserProcess(); |
32 } | 23 } |
33 | 24 |
34 @MediumTest | 25 @MediumTest |
35 @Feature({"Webapps"}) | 26 @Feature({"Webapps"}) |
36 @DisableIf.Build(sdk_is_greater_than = 22, message = "crbug.com/614336") | |
37 public void testShouldShowTopControls() { | 27 public void testShouldShowTopControls() { |
38 // Show top controls for out-of-domain URLs. | 28 // Show top controls for out-of-domain URLs. |
39 assertTrue(getActivity().shouldShowTopControls( | 29 assertTrue(shouldShowTopControls( |
40 "http://notoriginalwebsite.com", ConnectionSecurityLevel.NONE)); | 30 WEBAPP_URL, "http://notoriginalwebsite.com", ConnectionSecurityL
evel.NONE)); |
41 assertTrue(getActivity().shouldShowTopControls( | 31 assertTrue(shouldShowTopControls( |
42 "http://otherwebsite.com", ConnectionSecurityLevel.NONE)); | 32 WEBAPP_URL, "http://otherwebsite.com", ConnectionSecurityLevel.N
ONE)); |
43 | 33 |
44 // Do not show top controls for subdomains and private registries that a
re secure. | 34 // Do not show top controls for subdomains and private registries that a
re secure. |
45 assertFalse(getActivity().shouldShowTopControls( | 35 assertFalse(shouldShowTopControls( |
46 "http://sub.originalwebsite.com", ConnectionSecurityLevel.NONE))
; | 36 WEBAPP_URL, "http://sub.originalwebsite.com", ConnectionSecurity
Level.NONE)); |
47 assertFalse(getActivity().shouldShowTopControls( | 37 assertFalse(shouldShowTopControls( |
48 "http://thing.originalwebsite.com", ConnectionSecurityLevel.NONE
)); | 38 WEBAPP_URL, "http://thing.originalwebsite.com", ConnectionSecuri
tyLevel.NONE)); |
49 assertFalse(getActivity().shouldShowTopControls(WEBAPP_URL, ConnectionSe
curityLevel.NONE)); | 39 assertFalse(shouldShowTopControls(WEBAPP_URL, WEBAPP_URL, ConnectionSecu
rityLevel.NONE)); |
50 assertFalse(getActivity().shouldShowTopControls( | 40 assertFalse(shouldShowTopControls( |
51 WEBAPP_URL + "/things.html", ConnectionSecurityLevel.NONE)); | 41 WEBAPP_URL, WEBAPP_URL + "/things.html", ConnectionSecurityLevel
.NONE)); |
52 assertFalse(getActivity().shouldShowTopControls( | 42 assertFalse(shouldShowTopControls( |
53 WEBAPP_URL + "/stuff.html", ConnectionSecurityLevel.NONE)); | 43 WEBAPP_URL, WEBAPP_URL + "/stuff.html", ConnectionSecurityLevel.
NONE)); |
54 | 44 |
55 // Do not show top controls when URL is not available yet. | 45 // Do not show top controls when URL is not available yet. |
56 assertFalse(getActivity().shouldShowTopControls("", ConnectionSecurityLe
vel.NONE)); | 46 assertFalse(shouldShowTopControls(WEBAPP_URL, "", ConnectionSecurityLeve
l.NONE)); |
57 | 47 |
58 // Show top controls for non secure URLs. | 48 // Show top controls for non secure URLs. |
59 assertTrue(getActivity().shouldShowTopControls( | 49 assertTrue(shouldShowTopControls(WEBAPP_URL, "http://sub.originalwebsite
.com", |
60 "http://sub.originalwebsite.com", ConnectionSecurityLevel.SECURI
TY_WARNING)); | 50 ConnectionSecurityLevel.SECURITY_WARNING)); |
61 assertTrue(getActivity().shouldShowTopControls( | 51 assertTrue(shouldShowTopControls(WEBAPP_URL, "http://notoriginalwebsite.
com", |
62 "http://notoriginalwebsite.com", ConnectionSecurityLevel.SECURIT
Y_ERROR)); | 52 ConnectionSecurityLevel.SECURITY_ERROR)); |
63 assertTrue(getActivity().shouldShowTopControls( | 53 assertTrue(shouldShowTopControls( |
64 "http://otherwebsite.com", ConnectionSecurityLevel.SECURITY_ERRO
R)); | 54 WEBAPP_URL, "http://otherwebsite.com", ConnectionSecurityLevel.S
ECURITY_ERROR)); |
65 assertTrue(getActivity().shouldShowTopControls( | 55 assertTrue(shouldShowTopControls(WEBAPP_URL, "http://thing.originalwebsi
te.com", |
66 "http://thing.originalwebsite.com", ConnectionSecurityLevel.SECU
RITY_ERROR)); | 56 ConnectionSecurityLevel.SECURITY_ERROR)); |
67 assertTrue(getActivity().shouldShowTopControls( | 57 assertTrue(shouldShowTopControls( |
68 WEBAPP_URL, ConnectionSecurityLevel.SECURITY_WARNING)); | 58 WEBAPP_URL, WEBAPP_URL, ConnectionSecurityLevel.SECURITY_WARNING
)); |
69 assertTrue(getActivity().shouldShowTopControls( | 59 assertTrue(shouldShowTopControls( |
70 WEBAPP_URL + "/things.html", ConnectionSecurityLevel.SECURITY_WA
RNING)); | 60 WEBAPP_URL, WEBAPP_URL + "/things.html", ConnectionSecurityLevel
.SECURITY_WARNING)); |
71 assertTrue(getActivity().shouldShowTopControls( | 61 assertTrue(shouldShowTopControls( |
72 WEBAPP_URL + "/stuff.html", ConnectionSecurityLevel.SECURITY_WAR
NING)); | 62 WEBAPP_URL, WEBAPP_URL + "/stuff.html", ConnectionSecurityLevel.
SECURITY_WARNING)); |
| 63 } |
| 64 |
| 65 /** |
| 66 * Convenience wrapper for WebappDelegateFactory.TopControlsDelegate#shouldS
howTopControls() |
| 67 */ |
| 68 private static boolean shouldShowTopControls( |
| 69 String webappStartUrl, String url, int securityLevel) { |
| 70 return WebappDelegateFactory.TopControlsDelegate.shouldShowTopControls( |
| 71 webappStartUrl, url, securityLevel); |
73 } | 72 } |
74 } | 73 } |
OLD | NEW |