1## 3.4\. Web Compatibility 2 3### 3.4.1\. WebView Compatibility 4 5If device implementations provide a complete implementation of the 6`android.webkit.Webview` API, they: 7 8* [C-1-1] MUST report `android.software.webview`. 9* [C-1-2] MUST use the [Chromium](http://www.chromium.org/) Project build 10 from the upstream Android Open Source Project on the Android 11 ANDROID_VERSION branch for the implementation of the 12 [`android.webkit.WebView`]( 13 http://developer.android.com/reference/android/webkit/WebView.html) 14 API. 15* [C-1-3] The user agent string reported by the WebView MUST be in this format: 16 17 Mozilla/5.0 (Linux; Android $(VERSION); $(MODEL) Build/$(BUILD); wv) 18 AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 $(CHROMIUM_VER) Mobile 19 Safari/537.36 20 21 * The value of the $(VERSION) string MUST be the same as the value for 22 android.os.Build.VERSION.RELEASE. 23 * The value of the $(MODEL) string MUST be the same as the value for 24 android.os.Build.MODEL. 25 * The value of the $(BUILD) string MUST be the same as the value for 26 android.os.Build.ID. 27 * The value of the $(CHROMIUM_VER) string MUST be the version of Chromium 28 in the upstream Android Open Source Project. 29 * Device implementations MAY omit Mobile in the user agent string. 30 31* The WebView component SHOULD include support for as many HTML5 features as 32 possible and if it supports the feature SHOULD conform to the 33 [HTML5 specification](http://html.spec.whatwg.org/multipage/). 34 35### 3.4.2\. Browser Compatibility 36 37If device implementations include a standalone Browser application for general 38web browsing, they: 39 40* [C-1-1] MUST support each of these APIs associated with 41 HTML5: 42 * [application cache/offline operation]( 43 http://www.w3.org/html/wg/drafts/html/master/browsers.html#offline) 44 * [<video> tag]( 45 http://www.w3.org/html/wg/drafts/html/master/semantics.html#video) 46 * [geolocation](http://www.w3.org/TR/geolocation-API/) 47* [C-1-2] MUST support the HTML5/W3C [webstorage API]( 48 http://www.w3.org/TR/webstorage/) and SHOULD support the HTML5/W3C 49 [IndexedDB API](http://www.w3.org/TR/IndexedDB/). Note that as the web 50 development standards bodies are transitioning to favor IndexedDB over 51 webstorage, IndexedDB is expected to become a required component in a 52 future version of Android. 53* MAY ship a custom user agent string in the standalone Browser application. 54* SHOULD implement support for as much of [HTML5]( 55 http://html.spec.whatwg.org/multipage/) as possible on the standalone 56 Browser application (whether based on the upstream WebKit Browser 57 application or a third-party replacement). 58 59However, If device implementations do not include a standalone Browser 60application, they: 61 62* [C-2-1] MUST still support the public intent patterns as described in 63 [section 3.2.3.1](#3_2_3_1_core_application_intents). 64