- add sources.
[platform/framework/web/crosswalk.git] / src / android_webview / javatests / src / org / chromium / android_webview / test / util / CommonResources.java
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
3 // found in the LICENSE file.
4
5 package org.chromium.android_webview.test.util;
6
7 import android.util.Pair;
8 import java.util.ArrayList;
9 import java.util.List;
10
11 // Auxiliary class providing common HTML and base64 resources using for testing.
12 public class CommonResources {
13
14     // Content-type headers used for HTML code.
15     public static List<Pair<String, String>> getTextHtmlHeaders(boolean disableCache) {
16         return getContentTypeAndCacheHeaders("text/html", disableCache);
17     }
18
19     // Content-type headers used for javascript code.
20     public static List<Pair<String, String>> getTextJavascriptHeaders(boolean disableCache) {
21         return getContentTypeAndCacheHeaders("text/javascript", disableCache);
22     }
23
24     // Content-type headers used for png images.
25     public static List<Pair<String, String>> getImagePngHeaders(boolean disableCache) {
26         return getContentTypeAndCacheHeaders("image/png", disableCache);
27     }
28
29     public static List<Pair<String, String>> getContentTypeAndCacheHeaders(
30             String contentType, boolean disableCache) {
31         List<Pair<String, String>> headers = new ArrayList<Pair<String, String>>();
32         headers.add(Pair.create("Content-Type", contentType));
33         if (disableCache) headers.add(Pair.create("Cache-Control", "no-store"));
34         return headers;
35     }
36
37     // Returns the HTML code used to verify if an image has been successfully loaded.
38     public static String getOnImageLoadedHtml(String imageSrc) {
39         return "<html>" +
40                "  <head>" +
41                "    <script>" +
42                "      function updateTitle() {" +
43                "        document.title=document.getElementById('img').naturalHeight" +
44                "      }" +
45                "    </script>" +
46                "  </head>" +
47                "  <body onload='updateTitle();'>" +
48                "    <img id='img' onload='updateTitle();' src='" + imageSrc + "'>" +
49                "  </body>" +
50                "</html>";
51     }
52
53     // Default name for the favicon image.
54     public static final String FAVICON_FILENAME = "favicon.png";
55
56     // HTML code of a static simple page with a favicon.
57     public static final String FAVICON_STATIC_HTML =
58         "<html><head><link rel=\"icon\" type=\"image/png\" href=\"" + FAVICON_FILENAME + "\">" +
59         "</head><body>Favicon example</body></html>";
60
61     // Base64 data of a favicon image resource.
62     public static final String FAVICON_DATA_BASE64 =
63         "iVBORw0KGgoAAAANSUhEUgAAABAAAAAFCAYAAABM6GxJAAAABHNCSVQICAgIfAhkiAAAASJJREFU" +
64         "GJU9yDtLQnEYwOHfOZ40L3gZDJKgJCKaamvpGzS09wUaormh7xA0S5C0ZDTkZJsNUltkkpAUZkIX" +
65         "L3g9FzzH/9vm9vAgoqRUGUu20JHTXFfafUdERJSIKJnOPFUTERHpqIYclY5nb2QKFumky95OlO+W" +
66         "TSgATqOO5k3xr6ZxelXmDFDhdaqfLkPRWQglULaN/V5DPzl3iIb9xCI+Eskog/wdyhowLlb4vThE" +
67         "giF8zRsurx55beg8lMfMezZW9hqz20M/Owhwe2/yUrPI5Ds8//mRehN7JYWxvIX6eWJkbLK9laL8" +
68         "ZrKxFETzxTBNB5SOJjKV/mhCq+uSjGvE4hHc4QA9YGAEwnhWF1ePkCtOWFv0+PiasL8bR3QDr93h" +
69         "HyFup9LWUksHAAAAAElFTkSuQmCC";
70
71     // Default name for an example 'about' HTML page.
72     public static final String ABOUT_FILENAME = "about.html";
73
74     // Title used in the 'about' example.
75     public static final String ABOUT_TITLE = "About the Google";
76
77     // HTML code of an 'about' example.
78     public static final String ABOUT_HTML =
79         "<html>" +
80         "  <head>" +
81         "    <title>" + ABOUT_TITLE + "</title>" +
82         "  </head>" +
83         "  <body>" +
84         "    This is the Google!" +
85         "  </body>" +
86         "</html>";
87
88     public static String makeHtmlPageFrom(String headers, String body) {
89         return "<html>" +
90                  "<head>" +
91                      "<style type=\"text/css\">" +
92                          // Make the image take up all of the page so that we don't have to do
93                          // any fancy hit target calculations when synthesizing the touch event
94                          // to click it.
95                          "img.big { width:100%; height:100%; background-color:blue; }" +
96                          ".full_view { height:100%; width:100%; position:absolute; }" +
97                      "</style>" +
98                      headers +
99                  "</head>" +
100                  "<body>" +
101                      body +
102                  "</body>" +
103              "</html>";
104     }
105 }