1 // Copyright 2013 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 
9 import org.chromium.net.test.util.TestWebServer;
10 
11 import java.util.List;
12 
13 /**
14  * This class is a WebServer provide video data.
15  */
16 public class VideoTestWebServer {
17     public static final String ONE_PIXEL_ONE_FRAME_WEBM_FILENAME = "one_pixel_one_frame.webm";
18     public static final String ONE_PIXEL_ONE_FRAME_WEBM_BASE64 =
19             "GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQN8VSalmQCgq17FAAw9C"
20             + "QE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEAD"
21             + "dW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBlrqBlh9DtnVAdOeBAKNAboEAAIDyCACdASqWAJYA"
22             + "Pk0ci0WD+IBAAJiWlu4XdQTSq2H4MW0+sMO0gz8HMRe+0jRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo"
23             + "0aNGjRo0aNGjRo0VAAD+/729RWRzH4mOZ9/O8Dl319afX4gsgAAA";
24     private String mOnePixelOneFrameWebmURL;
25     private TestWebServer mTestWebServer;
26 
VideoTestWebServer()27     public VideoTestWebServer() throws Exception {
28         mTestWebServer = TestWebServer.start();
29         List<Pair<String, String>> headers = getWebmHeaders(true);
30         mOnePixelOneFrameWebmURL = mTestWebServer.setResponseBase64("/"
31                 + ONE_PIXEL_ONE_FRAME_WEBM_FILENAME,
32                 ONE_PIXEL_ONE_FRAME_WEBM_BASE64, headers);
33     }
34 
35     /**
36      * @return the mOnePixelOneFrameWebmURL
37      */
getOnePixelOneFrameWebmURL()38     public String getOnePixelOneFrameWebmURL() {
39         return mOnePixelOneFrameWebmURL;
40     }
41 
getTestWebServer()42     public TestWebServer getTestWebServer() {
43         return mTestWebServer;
44     }
45 
getWebmHeaders(boolean disableCache)46     private static List<Pair<String, String>> getWebmHeaders(boolean disableCache) {
47         return CommonResources.getContentTypeAndCacheHeaders("video/webm", disableCache);
48     }
49 }
50