| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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.test.suitebuilder.annotation.SmallTest; | 9 import android.test.suitebuilder.annotation.SmallTest; |
| 10 | 10 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 */ | 22 */ |
| 23 public class AwContentsClientFaviconTest extends AwTestBase { | 23 public class AwContentsClientFaviconTest extends AwTestBase { |
| 24 | 24 |
| 25 private static final String FAVICON1_URL = "/favicon1.png"; | 25 private static final String FAVICON1_URL = "/favicon1.png"; |
| 26 private static final String FAVICON1_PAGE_URL = "/favicon1.html"; | 26 private static final String FAVICON1_PAGE_URL = "/favicon1.html"; |
| 27 private static final String FAVICON1_PAGE_HTML = | 27 private static final String FAVICON1_PAGE_HTML = |
| 28 CommonResources.makeHtmlPageFrom( | 28 CommonResources.makeHtmlPageFrom( |
| 29 "<link rel=\"icon\" href=\""+ FAVICON1_URL + "\" />", | 29 "<link rel=\"icon\" href=\""+ FAVICON1_URL + "\" />", |
| 30 "Body"); | 30 "Body"); |
| 31 | 31 |
| 32 private static final String TOUCHICON_URL = "apple-touch-icon.png"; | |
| 33 private static final String TOUCHICON_PRECOMPOSED_URL = "apple-touch-icon-pr
ecomposed.png"; | |
| 34 | |
| 35 private static final String TOUCHICON_REL_LINK = "touch.png"; | 32 private static final String TOUCHICON_REL_LINK = "touch.png"; |
| 36 private static final String TOUCHICON_REL_LINK_72 = "touch_72.png"; | 33 private static final String TOUCHICON_REL_LINK_72 = "touch_72.png"; |
| 37 private static final String TOUCHICON_REL_URL = "/" + TOUCHICON_REL_LINK; | 34 private static final String TOUCHICON_REL_URL = "/" + TOUCHICON_REL_LINK; |
| 38 private static final String TOUCHICON_REL_URL_72 = "/" + TOUCHICON_REL_LINK_
72; | 35 private static final String TOUCHICON_REL_URL_72 = "/" + TOUCHICON_REL_LINK_
72; |
| 39 private static final String TOUCHICON_REL_PAGE_HTML = | 36 private static final String TOUCHICON_REL_PAGE_HTML = |
| 40 CommonResources.makeHtmlPageFrom( | 37 CommonResources.makeHtmlPageFrom( |
| 41 "<link rel=\"apple-touch-icon\" href=\""+ TOUCHICON_REL_URL + "\" />" + | 38 "<link rel=\"apple-touch-icon\" href=\""+ TOUCHICON_REL_URL + "\" />" + |
| 42 "<link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\""+ TOUCHICON_REL_
URL_72 + "\" />", | 39 "<link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\""+ TOUCHICON_REL_
URL_72 + "\" />", |
| 43 "Body"); | 40 "Body"); |
| 44 | 41 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 | 111 |
| 115 mContentsClient.mFaviconHelper.waitForCallback(callCount); | 112 mContentsClient.mFaviconHelper.waitForCallback(callCount); |
| 116 Object originalFaviconSource = (new URL(faviconUrl)).getContent(); | 113 Object originalFaviconSource = (new URL(faviconUrl)).getContent(); |
| 117 Bitmap originalFavicon = BitmapFactory.decodeStream((InputStream)origina
lFaviconSource); | 114 Bitmap originalFavicon = BitmapFactory.decodeStream((InputStream)origina
lFaviconSource); |
| 118 assertNotNull(originalFavicon); | 115 assertNotNull(originalFavicon); |
| 119 assertNotNull(mContentsClient.mFaviconHelper.mIcon); | 116 assertNotNull(mContentsClient.mFaviconHelper.mIcon); |
| 120 assertTrue(mContentsClient.mFaviconHelper.mIcon.sameAs(originalFavicon))
; | 117 assertTrue(mContentsClient.mFaviconHelper.mIcon.sameAs(originalFavicon))
; |
| 121 } | 118 } |
| 122 | 119 |
| 123 @SmallTest | 120 @SmallTest |
| 124 public void testReceiveBasicTouchIconRoot() throws Throwable { | |
| 125 init(new TestAwContentsClientTouchIcon()); | |
| 126 int callCount = mContentsClient.mFaviconHelper.getCallCount(); | |
| 127 | |
| 128 // Use the favicon page url. Since this does not specify a link rel for
touch icon, | |
| 129 // we should get the default touch icon urls in the callback. | |
| 130 final String pageUrl = mWebServer.setResponse(FAVICON1_PAGE_URL, FAVICON
1_PAGE_HTML, | |
| 131 CommonResources.getTextHtmlHeaders(true)); | |
| 132 | |
| 133 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), page
Url); | |
| 134 | |
| 135 mContentsClient.mFaviconHelper.waitForCallback(callCount, 2); | |
| 136 | |
| 137 HashMap<String, Boolean> touchIcons = mContentsClient.mFaviconHelper.mTo
uchIcons; | |
| 138 assertEquals(2, touchIcons.size()); | |
| 139 assertFalse(touchIcons.get(mWebServer.getBaseUrl() + TOUCHICON_URL)); | |
| 140 assertTrue(touchIcons.get(mWebServer.getBaseUrl() + TOUCHICON_PRECOMPOSE
D_URL)); | |
| 141 } | |
| 142 | |
| 143 @SmallTest | |
| 144 public void testReceiveBasicTouchIconLinkRel() throws Throwable { | 121 public void testReceiveBasicTouchIconLinkRel() throws Throwable { |
| 145 init(new TestAwContentsClientTouchIcon()); | 122 init(new TestAwContentsClientTouchIcon()); |
| 146 int callCount = mContentsClient.mFaviconHelper.getCallCount(); | 123 int callCount = mContentsClient.mFaviconHelper.getCallCount(); |
| 147 | 124 |
| 148 final String pageUrl = mWebServer.setResponse(TOUCHICON_REL_URL, TOUCHIC
ON_REL_PAGE_HTML, | 125 final String pageUrl = mWebServer.setResponse(TOUCHICON_REL_URL, TOUCHIC
ON_REL_PAGE_HTML, |
| 149 CommonResources.getTextHtmlHeaders(true)); | 126 CommonResources.getTextHtmlHeaders(true)); |
| 150 | 127 |
| 151 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), page
Url); | 128 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), page
Url); |
| 152 | 129 |
| 153 mContentsClient.mFaviconHelper.waitForCallback(callCount,2); | 130 mContentsClient.mFaviconHelper.waitForCallback(callCount,2); |
| 154 HashMap<String, Boolean> touchIcons = mContentsClient.mFaviconHelper.mTo
uchIcons; | 131 HashMap<String, Boolean> touchIcons = mContentsClient.mFaviconHelper.mTo
uchIcons; |
| 155 assertEquals(2, touchIcons.size()); | 132 assertEquals(2, touchIcons.size()); |
| 156 assertFalse(touchIcons.get(mWebServer.getBaseUrl() + TOUCHICON_REL_LINK)
); | 133 assertFalse(touchIcons.get(mWebServer.getBaseUrl() + TOUCHICON_REL_LINK)
); |
| 157 assertFalse(touchIcons.get(mWebServer.getBaseUrl() + TOUCHICON_REL_LINK_
72)); | 134 assertFalse(touchIcons.get(mWebServer.getBaseUrl() + TOUCHICON_REL_LINK_
72)); |
| 158 } | 135 } |
| 159 } | 136 } |
| OLD | NEW |