cordova-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From marc...@apache.org
Subject [12/12] docs commit: CB-7383 add v3.6.0 of docs
Date Mon, 15 Sep 2014 20:07:50 GMT
CB-7383 add v3.6.0 of docs


Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/9c1ccc51
Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/9c1ccc51
Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/9c1ccc51

Branch: refs/heads/master
Commit: 9c1ccc512e38bdcc0e56814d07a87ff2d5823071
Parents: e361eb3
Author: Marcel Kinard <cmarcelk@gmail.com>
Authored: Mon Sep 15 16:06:18 2014 -0400
Committer: Marcel Kinard <cmarcelk@gmail.com>
Committed: Mon Sep 15 16:06:18 2014 -0400

----------------------------------------------------------------------
 VERSION                                         |   2 +-
 docs/en/3.6.0/config.json                       |  18 +
 docs/en/3.6.0/config_ref/images.md              | 203 +++++
 docs/en/3.6.0/config_ref/index.md               | 217 +++++
 .../3.6.0/cordova/events/events.backbutton.md   |  81 ++
 .../3.6.0/cordova/events/events.deviceready.md  |  90 +++
 .../cordova/events/events.endcallbutton.md      |  78 ++
 docs/en/3.6.0/cordova/events/events.md          |  47 ++
 .../3.6.0/cordova/events/events.menubutton.md   |  80 ++
 docs/en/3.6.0/cordova/events/events.pause.md    | 101 +++
 docs/en/3.6.0/cordova/events/events.resume.md   | 114 +++
 .../3.6.0/cordova/events/events.searchbutton.md |  79 ++
 .../cordova/events/events.startcallbutton.md    |  79 ++
 .../cordova/events/events.volumedownbutton.md   |  79 ++
 .../cordova/events/events.volumeupbutton.md     |  79 ++
 docs/en/3.6.0/cordova/plugins/pluginapis.md     |  87 ++
 docs/en/3.6.0/cordova/storage/storage.md        |  68 ++
 docs/en/3.6.0/guide/appdev/privacy/index.md     | 117 +++
 docs/en/3.6.0/guide/appdev/security/index.md    | 101 +++
 docs/en/3.6.0/guide/appdev/whitelist/index.md   | 235 ++++++
 docs/en/3.6.0/guide/cli/index.md                | 550 +++++++++++++
 docs/en/3.6.0/guide/hybrid/plugins/index.md     | 216 +++++
 docs/en/3.6.0/guide/hybrid/webviews/index.md    |  36 +
 docs/en/3.6.0/guide/next/index.md               | 190 +++++
 docs/en/3.6.0/guide/overview/index.md           | 158 ++++
 .../guide/platforms/amazonfireos/config.md      |  81 ++
 .../3.6.0/guide/platforms/amazonfireos/index.md | 192 +++++
 .../guide/platforms/amazonfireos/plugin.md      | 100 +++
 .../guide/platforms/amazonfireos/webview.md     | 127 +++
 docs/en/3.6.0/guide/platforms/android/config.md | 100 +++
 docs/en/3.6.0/guide/platforms/android/index.md  | 328 ++++++++
 docs/en/3.6.0/guide/platforms/android/plugin.md | 240 ++++++
 docs/en/3.6.0/guide/platforms/android/tools.md  | 116 +++
 .../en/3.6.0/guide/platforms/android/upgrade.md | 454 +++++++++++
 .../en/3.6.0/guide/platforms/android/webview.md | 131 +++
 .../3.6.0/guide/platforms/blackberry/upgrade.md | 431 ++++++++++
 .../guide/platforms/blackberry10/config.md      |  51 ++
 .../3.6.0/guide/platforms/blackberry10/index.md | 267 +++++++
 .../guide/platforms/blackberry10/plugin.md      | 255 ++++++
 .../3.6.0/guide/platforms/blackberry10/tools.md | 178 +++++
 .../guide/platforms/blackberry10/upgrade.md     | 490 ++++++++++++
 .../en/3.6.0/guide/platforms/firefoxos/index.md |  87 ++
 docs/en/3.6.0/guide/platforms/index.md          |  97 +++
 docs/en/3.6.0/guide/platforms/ios/config.md     | 113 +++
 docs/en/3.6.0/guide/platforms/ios/index.md      | 231 ++++++
 docs/en/3.6.0/guide/platforms/ios/plugin.md     | 246 ++++++
 docs/en/3.6.0/guide/platforms/ios/tools.md      |  68 ++
 docs/en/3.6.0/guide/platforms/ios/upgrade.md    | 791 +++++++++++++++++++
 docs/en/3.6.0/guide/platforms/ios/webview.md    | 179 +++++
 docs/en/3.6.0/guide/platforms/tizen/index.md    | 116 +++
 docs/en/3.6.0/guide/platforms/ubuntu/index.md   | 101 +++
 docs/en/3.6.0/guide/platforms/win8/index.md     | 235 ++++++
 docs/en/3.6.0/guide/platforms/win8/plugin.md    | 216 +++++
 docs/en/3.6.0/guide/platforms/win8/upgrade.md   |  61 ++
 docs/en/3.6.0/guide/platforms/wp8/index.md      | 249 ++++++
 docs/en/3.6.0/guide/platforms/wp8/parallels.md  |  46 ++
 docs/en/3.6.0/guide/platforms/wp8/plugin.md     | 235 ++++++
 docs/en/3.6.0/guide/platforms/wp8/upgrade.md    |  92 +++
 docs/en/3.6.0/guide/platforms/wp8/vmware.md     |  54 ++
 docs/en/3.6.0/guide/platforms/wp8/webview.md    |  54 ++
 docs/en/3.6.0/guide/support/index.md            | 344 ++++++++
 docs/en/3.6.0/index.md                          |  98 +++
 docs/en/3.6.0/plugin_ref/plugman.md             | 203 +++++
 docs/en/3.6.0/plugin_ref/spec.md                | 595 ++++++++++++++
 64 files changed, 11156 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/VERSION
----------------------------------------------------------------------
diff --git a/VERSION b/VERSION
index d1428a7..084e244 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.6.1
\ No newline at end of file
+3.6.0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/config.json
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/config.json b/docs/en/3.6.0/config.json
new file mode 100644
index 0000000..99f6553
--- /dev/null
+++ b/docs/en/3.6.0/config.json
@@ -0,0 +1,18 @@
+{
+    "language": "English",
+    "merge": {
+        "events.md": [
+            "cordova/events/events.md",
+            "cordova/events/events.deviceready.md",
+            "cordova/events/events.pause.md",
+            "cordova/events/events.resume.md",
+            "cordova/events/events.backbutton.md",
+            "cordova/events/events.menubutton.md",
+            "cordova/events/events.searchbutton.md",
+            "cordova/events/events.startcallbutton.md",
+            "cordova/events/events.endcallbutton.md",
+            "cordova/events/events.volumedownbutton.md",
+            "cordova/events/events.volumeupbutton.md"
+        ]
+    }
+}

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/config_ref/images.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/config_ref/images.md b/docs/en/3.6.0/config_ref/images.md
new file mode 100644
index 0000000..1d46195
--- /dev/null
+++ b/docs/en/3.6.0/config_ref/images.md
@@ -0,0 +1,203 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Icons and Splash Screens
+
+This section shows how to configure an app's icon and optional splash
+screen for various platforms, both when working in the Cordova CLI
+(described in The Command-Line Interface) or using platform-specific
+SDK tools (detailed in the Platform Guides).
+
+## Configuring Icons in the CLI
+
+When working in the CLI you can define app icon(s) via `<icon>` element (`config.xml`).
+If you do not specify an icon then the Apache Cordova logo is used.
+
+        <icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi" />
+
+src: (required) specifies the location of the image file, relative to your project directory
+
+platform: (optional) target platform
+
+width: (optional) icon width in pixels
+
+height: (optional) icon height in pixels 
+
+density: (optional) android specific, specifies icon density
+
+The following configuration can be used to define single default icon
+which will be used for all platforms.
+
+        <icon src="res/icon.png" />
+
+For each platform you can also define a pixel-perfect icons set to fit 
+different screen resolutions.
+
+Amazon Fire OS
+
+         <platform name="amazon-fireos">
+                  <icon src="res/android/ldpi.png" density="ldpi" />
+                  <icon src="res/android/mdpi.png" density="mdpi" />
+                  <icon src="res/android/hdpi.png" density="hdpi" />
+                  <icon src="res/android/xhdpi.png" density="xhdpi" />
+         </platform>
+
+Android
+
+         <platform name="android">
+                  <icon src="res/android/ldpi.png" density="ldpi" />
+                  <icon src="res/android/mdpi.png" density="mdpi" />
+                  <icon src="res/android/hdpi.png" density="hdpi" />
+                  <icon src="res/android/xhdpi.png" density="xhdpi" />
+         </platform>
+
+Blackberry10
+
+         <platform name="blackberry10">
+                  <icon src="res/bb10/icon-86.png" />
+                  <icon src="res/bb10/icon-150.png" />
+         </platform>
+
+See BlackBerry's documentation for targeting multiple sizes and locales.
+[http://developer.blackberry.com/html5/documentation/icon_element.html]
+
+Firefox OS
+
+         <platform name="firefoxos">
+                  <icon src="res/ff/logo.png" width="60" height="60" />
+         </platform>
+
+iOS
+
+         <platform name="ios">
+                  <!-- iOS 7.0+ -->
+                  <!-- iPhone / iPod Touch  -->
+                  <icon src="res/ios/icon-60.png" width="60" height="60" />
+                  <icon src="res/ios/icon-60@2x.png" width="120" height="120" />
+                  <!-- iPad -->
+                  <icon src="res/ios/icon-76.png" width="76" height="76" />
+                  <icon src="res/ios/icon-76@2x.png" width="152" height="152" />
+                  <!-- iOS 6.1 -->
+                  <!-- Spotlight Icon -->
+                  <icon src="res/ios/icon-40.png" width="40" height="40" />
+                  <icon src="res/ios/icon-40@2x.png" width="80" height="80" />
+                  <!-- iPhone / iPod Touch -->
+                  <icon src="res/ios/icon.png" width="57" height="57" />
+                  <icon src="res/ios/icon@2x.png" width="114" height="114" />
+                  <!-- iPad -->
+                  <icon src="res/ios/icon-72.png" width="72" height="72" />
+                  <icon src="res/ios/icon-72@2x.png" width="144" height="144" />
+                  <!-- iPhone Spotlight and Settings Icon -->
+                  <icon src="res/ios/icon-small.png" width="29" height="29" />
+                  <icon src="res/ios/icon-small@2x.png" width="58" height="58" />
+                  <!-- iPad Spotlight and Settings Icon -->
+                  <icon src="res/ios/icon-50.png" width="50" height="50" />
+                  <icon src="res/ios/icon-50@2x.png" width="100" height="100" />
+         </platform>
+
+Tizen
+
+         <platform name="tizen">
+                  <icon src="res/tizen/icon-128.png" width="128" height="128" />
+         </platform>
+        
+Windows Phone8
+
+         <platform name="wp8">
+                  <icon src="res/wp/ApplicationIcon.png" width="99" height="99" />
+                  <!-- tile image -->
+                  <icon src="res/wp/Background.png" width="159" height="159" />
+         </platform>
+
+Windows8
+
+         <platform name="windows8">
+                  <icon src="res/windows8/logo.png" width="150" height="150" />
+                  <icon src="res/windows8/smalllogo.png" width="30" height="30" />
+                  <icon src="res/windows8/storelogo.png" width="50" height="50" />
+         </platform>
+
+## Configuring Splash Screens in the CLI
+
+In the top-level `config.xml` file (not the one in `platforms`), add configuration elements like those specified here.
+
+# Example configuration 
+
+Please notice that the value of the "src" attribute is relative to the project directory and not to the www directory.
+You can name the source image whatever you like. The internal name in the app are determined by Cordova.
+
+    <platform name="android">
+        <!-- you can use any density that exists in the Android project -->
+        <splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
+        <splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
+        <splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
+        <splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>
+
+        <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
+        <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
+        <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
+        <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
+    </platform>
+
+    <platform name="ios">
+        <!-- images are determined by width and height. The following are supported -->
+        <splash src="res/screen/ios/Default~iphone.png" width="320" height="480"/>
+        <splash src="res/screen/ios/Default@2x~iphone.png" width="640" height="960"/>
+        <splash src="res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/>
+        <splash src="res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
+        <splash src="res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/>
+        <splash src="res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
+        <splash src="res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/>
+    </platform>
+
+    <platform name="wp8">
+        <!-- images are determined by width and height. The following are supported -->
+        <splash src="res/screen/wp8/SplashScreenImage.jpg" width="768" height="1280"/>
+    </platform>
+
+    <platform name="windows8">
+        <!-- images are determined by width and height. The following are supported -->
+        <splash src="res/screen/windows8/splashscreen.png" width="620" height="300"/>
+    </platform>
+
+    <platform name="blackberry10">
+        <!-- Add a rim:splash element for each resolution and locale you wish -->
+        <!-- http://developer.blackberry.com/html5/documentation/rim_splash_element.html -->
+        <rim:splash src="res/screen/windows8/splashscreen.png"/>
+    </platform>
+
+
+    <preference name="SplashScreenDelay" value="10000" />
+
+# Supported platforms 
+
+As of now (Cordova 3.5.0 July 2014) the following platforms support splash screens.
+
+    android
+    ios
+    wp8
+    windows8
+    blackberry10
+
+# Splashscreen Plugin
+
+  Apache Cordova also offers special splash screen plugin which could be used to programmatically display and hide a splash screen during application launch
+  https://github.com/apache/cordova-plugin-splashscreen
+
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/config_ref/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/config_ref/index.md b/docs/en/3.6.0/config_ref/index.md
new file mode 100644
index 0000000..0a67d53
--- /dev/null
+++ b/docs/en/3.6.0/config_ref/index.md
@@ -0,0 +1,217 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# The config.xml File
+
+Many aspects of an app's behavior can be controlled with a global
+configuration file, `config.xml`.  This
+platform-agnostic XML file is arranged based on the W3C's [Packaged
+Web Apps (Widgets)](http://www.w3.org/TR/widgets/) specification, and
+extended to specify core Cordova API features, plugins, and
+platform-specific settings.
+
+For projects created with the Cordova CLI (described in The
+Command-Line Interface), this file can be found in the top-level
+directory:
+
+        app/config.xml
+
+Note that before version 3.3.1-0.2.0, the file existed at `app/www/config.xml`,
+and that having it here is still supported.
+
+When using the CLI to build a project, versions of this file are
+passively copied into various `platforms/` subdirectories, for example:
+
+        app/platforms/ios/AppName/config.xml
+        app/platforms/blackberry10/www/config.xml
+        app/platforms/android/res/xml/config.xml
+
+This section details global and cross-platform configuration options.
+See the following sections for platform-specific options:
+
+- iOS Configuration
+- Android Configuration
+- BlackBerry 10 Configuration
+
+In addition to the various configuration options detailed below, you
+can also configure an application's core set of images for each target
+platform. See Icons and Splash Screens for more information.
+
+## Core Configuration Elements
+
+This example shows the default `config.xml` generated by the CLI's
+`create` command, described in The Command-Line Interface:
+
+        <widget id="com.example.hello" version="0.0.1">
+            <name>HelloWorld</name>
+            <description>
+                A sample Apache Cordova application that responds to the deviceready event.
+            </description>
+            <author email="dev@callback.apache.org" href="http://cordova.io">
+                Apache Cordova Team
+            </author>
+            <content src="index.html" />
+            <access origin="*" />
+        </widget>
+
+The following configuration elements appear in the top-level
+`config.xml` file, and are supported across all supported Cordova
+platforms:
+
+- The `<widget>` element's `id` attribute provides the app's
+  reverse-domain identifier, and the `version` its full version number
+  expressed in major/minor/patch notation.
+
+  The widget tag can also have attributes that specify alternative versions,
+  namely versionCode for Android and CFBundleVersion for iOS. See the
+  Additional Versioning section below for details.
+
+- The `<name>` element specifies the app's formal name, as it appears
+  on the device's home screen and within app-store interfaces.
+
+- The `<description>` and `<author>` elements specify metadata and
+  contact information that may appear within app-store listings.
+
+- The optional `<content>` element defines the app's starting
+  page in the top-level web assets directory. The default value is
+  `index.html`, which customarily appears in a project's top-level
+  `www` directory.
+
+- `<access>` elements define the set of external domains the app is
+  allowed to communicate with. The default value shown above allows
+  it to access any server. See the Domain Whitelist Guide for details.
+
+- The `<preference>` tag sets various options as pairs of
+  `name`/`value` attributes. Each preference's `name` is
+  case-insensitive.  Many preferences are unique to specific
+  platforms, as listed at the top of this page. The following sections
+  detail preferences that apply to more than one platform.
+
+### Additional Versioning
+
+Both, Android and iOS support a second version string (or number) in addition
+to the one visible in app stores,
+[versionCode](http://developer.android.com/tools/publishing/versioning.html)
+for Android and
+[CFBundleVersion](http://stackoverflow.com/questions/4933093/cfbundleversion-in-the-info-plist-upload-error)
+for iOS.
+Below is an example that explicitly sets versionCode and CFBundleVersion
+
+        <widget id="io.cordova.hellocordova"
+          version="0.0.1"
+          android-versionCode="7"
+          ios-CFBundleVersion="3.3.3">
+
+If alternative version is not specified, the following
+defaults will be used:
+
+        // assuming version = MAJOR.MINOR.PATCH-whatever
+        versionCode = PATCH + MINOR * 100 + MAJOR * 10000
+        CFBundleVersion = "MAJOR.MINOR.PATCH"
+
+## Global Preferences
+
+The following global preferences apply to all platforms:
+
+- `Fullscreen` allows you to hide the status bar at the top of the
+  screen. The default value is `false`. Example:
+
+        <preference name="Fullscreen" value="true" />
+
+- `Orientation` allows you to lock orientation and prevent the
+  interface from rotating in response to changes in orientation.
+  Possible values are `default`, `landscape`, or `portrait`. Example:
+
+        <preference name="Orientation" value="landscape" />
+
+  __NOTE__: The `default` value means _both_ landscape and portrait
+  orientations are enabled.  If you want to use each platform's
+  default settings (usually portrait-only), leave this tag out of the
+  `config.xml` file.
+
+## Multi-Platform Preferences
+
+The following preferences apply to more than one platform, but not to
+all of them:
+
+- `DisallowOverscroll` (boolean, defaults to `false`): set to `true`
+  if you don't want the interface to display any feedback when users
+  scroll past the beginning or end of content.
+
+        <preference name="DisallowOverscroll" value="true"/>
+
+  Applies to Android and iOS. On iOS, overscroll gestures cause
+  content to bounce back to its original position.  On Android, they
+  produce a more subtle glowing effect along the top or bottom edge of
+  the content.
+
+- `BackgroundColor`: Set the app's background color.  Supports a
+  four-byte hex value, with the first byte representing the alpha
+  channel, and standard RGB values for the following three bytes.  This
+  example specifies blue:
+
+        <preference name="BackgroundColor" value="0xff0000ff"/>
+
+  Applies to Android and BlackBerry. Overrides CSS otherwise available
+  across _all_ platforms, for example: `body{background-color:blue}`.
+
+- `HideKeyboardFormAccessoryBar` (boolean, defaults to `false`): set
+  to `true` to hide the additional toolbar that appears above the
+  keyboard, helping users navigate from one form input to another.
+
+        <preference name="HideKeyboardFormAccessoryBar" value="true"/>
+
+  Applies to iOS and BlackBerry.
+
+## The _feature_ Element
+
+If you use the CLI to build applications, you use the `plugin` command
+to enable device APIs. This does not modify the top-level `config.xml`
+file, so the `<feature>` element does not apply to your workflow. If
+you work directly in an SDK and using the platform-specific
+`config.xml` file as source, you use the `<feature>` tag to enable
+device-level APIs and external plugins. They often appear with custom values in
+platform-specific `config.xml` files. For example, here is how to specify the
+Device API for Android projects:
+
+        <feature name="Device">
+            <param name="android-package" value="org.apache.cordova.device.Device" />
+        </feature>
+
+Here is how the element appears for iOS projects:
+
+        <feature name="Device">
+            <param name="ios-package" value="CDVDevice" />
+        </feature>
+
+See the API Reference for details on how to specify each feature. See
+the Plugin Development Guide for more information on plugins.
+
+
+## The _platform_ Element
+
+When using the CLI to build applications, it is sometimes necessary to specify
+preferences or other elements specific to a particular platform. Use the `<platform>`
+element to specify configuration that should only appear in a single platform-specific
+`config.xml` file. For example, here is how to specify that only android should use the
+Fullscreen preference:
+
+        <platform name="android">
+            <preference name="Fullscreen" value="true" />
+        </platform>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.backbutton.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.backbutton.md b/docs/en/3.6.0/cordova/events/events.backbutton.md
new file mode 100644
index 0000000..16b4a17
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.backbutton.md
@@ -0,0 +1,81 @@
+---
+ license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# backbutton
+
+The event fires when the user presses the back button.
+
+    document.addEventListener("backbutton", yourCallbackFunction, false);
+
+## Details
+
+To override the default back-button behavior, register an event
+listener for the `backbutton` event, typically by calling
+`document.addEventListener` once you receive the `deviceready` event.
+It is no longer necessary to call any other method to override the
+back-button behavior.
+
+## Supported Platforms
+
+- Amazon Fire OS
+- Android
+- BlackBerry 10
+- Windows Phone 8
+
+## Quick Example
+
+    document.addEventListener("backbutton", onBackKeyDown, false);
+
+    function onBackKeyDown() {
+        // Handle the back button
+    }
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Back Button Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Register the event listener
+            document.addEventListener("backbutton", onBackKeyDown, false);
+        }
+
+        // Handle the back button
+        //
+        function onBackKeyDown() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.deviceready.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.deviceready.md b/docs/en/3.6.0/cordova/events/events.deviceready.md
new file mode 100644
index 0000000..65e6ac9
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.deviceready.md
@@ -0,0 +1,90 @@
+---
+  license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# deviceready
+
+The event fires when Cordova is fully loaded.
+
+    document.addEventListener("deviceready", yourCallbackFunction, false);
+
+## Details
+
+This event is essential to any application. It signals that Cordova's
+device APIs have loaded and are ready to access.
+
+Cordova consists of two code bases: native and JavaScript. While the
+native code loads, a custom loading image displays. However,
+JavaScript only loads once the DOM loads. This means the web app may
+potentially call a Cordova JavaScript function before the
+corresponding native code becomes available.
+
+The `deviceready` event fires once Cordova has fully loaded. Once the
+event fires, you can safely make calls to Cordova APIs.  Applications
+typically attach an event listener with `document.addEventListener`
+once the HTML document's DOM has loaded.
+
+The `deviceready` event behaves somewhat differently from others.  Any
+event handler registered after the `deviceready` event fires has its
+callback function called immediately.
+
+## Supported Platforms
+
+- Amazon Fire OS
+- Android
+- BlackBerry 10
+- iOS
+- Tizen
+- Windows Phone 8
+- Windows 8
+
+## Quick Example
+
+    document.addEventListener("deviceready", onDeviceReady, false);
+
+    function onDeviceReady() {
+        // Now safe to use device APIs
+    }
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Device Ready Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Now safe to use device APIs
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.endcallbutton.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.endcallbutton.md b/docs/en/3.6.0/cordova/events/events.endcallbutton.md
new file mode 100644
index 0000000..8b3e21d
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.endcallbutton.md
@@ -0,0 +1,78 @@
+---
+  license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# endcallbutton
+
+This event fires when the user presses the end call button.
+
+    document.addEventListener("endcallbutton", yourCallbackFunction, false);
+
+## Details
+
+The event overrides the default end call behavior.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- BlackBerry 10
+
+## Quick Example
+
+    document.addEventListener("endcallbutton", onEndCallKeyDown, false);
+
+    function onEndCallKeyDown() {
+        // Handle the end call button
+    }
+
+## Full Example
+
+    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                          "http://www.w3.org/TR/html4/strict.dtd">
+    <html>
+      <head>
+        <title>End Call Button Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Register the event listener
+            document.addEventListener("endcallbutton", onEndCallKeyDown, false);
+        }
+
+        // Handle the end call button
+        //
+        function onEndCallKeyDown() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.md b/docs/en/3.6.0/cordova/events/events.md
new file mode 100644
index 0000000..ed7984c
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.md
@@ -0,0 +1,47 @@
+---
+  license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Events
+
+> Cordova lifecycle events.
+
+## Event Types
+
+- deviceready
+- pause
+- resume
+- backbutton
+- menubutton
+- searchbutton
+- startcallbutton
+- endcallbutton
+- volumedownbutton
+- volumeupbutton
+
+## Events added by [org.apache.cordova.battery-status](https://github.com/apache/cordova-plugin-battery-status/blob/master/doc/index.md)
+
+- batterycritical
+- batterylow
+- batterystatus
+
+## Events added by [org.apache.cordova.network-information](https://github.com/apache/cordova-plugin-network-information/blob/master/doc/index.md)
+
+- online
+- offline
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.menubutton.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.menubutton.md b/docs/en/3.6.0/cordova/events/events.menubutton.md
new file mode 100644
index 0000000..2d3006a
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.menubutton.md
@@ -0,0 +1,80 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# menubutton
+
+The event fires when the user presses the menu button.
+
+    document.addEventListener("menubutton", yourCallbackFunction, false);
+
+## Details
+
+Applying an event handler overrides the default menu button behavior.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- Amazon Fire OS
+- Android
+- BlackBerry 10
+
+## Quick Example
+
+    document.addEventListener("menubutton", onMenuKeyDown, false);
+
+    function onMenuKeyDown() {
+        // Handle the back button
+    }
+
+## Full Example
+
+    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                          "http://www.w3.org/TR/html4/strict.dtd">
+    <html>
+      <head>
+        <title>Menu Button Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Register the event listener
+            document.addEventListener("menubutton", onMenuKeyDown, false);
+        }
+
+        // Handle the menu button
+        //
+        function onMenuKeyDown() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.pause.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.pause.md b/docs/en/3.6.0/cordova/events/events.pause.md
new file mode 100644
index 0000000..f5530ef
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.pause.md
@@ -0,0 +1,101 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# pause
+
+The event fires when an application is put into the background.
+
+    document.addEventListener("pause", yourCallbackFunction, false);
+
+## Details
+
+The `pause` event fires when the native platform puts the application
+into the background, typically when the user switches to a different
+application.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- Amazon Fire OS
+- Android
+- BlackBerry 10
+- iOS
+- Windows Phone 8
+- Windows 8
+
+## Quick Example
+
+    document.addEventListener("pause", onPause, false);
+
+    function onPause() {
+        // Handle the pause event
+    }
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Pause Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            document.addEventListener("pause", onPause, false);
+        }
+
+        // Handle the pause event
+        //
+        function onPause() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>
+
+## iOS Quirks
+
+In the `pause` handler, any calls to the Cordova API or to native
+plugins that go through Objective-C do not work, along with any
+interactive calls, such as alerts or `console.log()`. They are only
+processed when the app resumes, on the next run loop.
+
+The iOS-specific `resign` event is available as an alternative to
+`pause`, and detects when users enable the __Lock__ button to lock the
+device with the app running in the foreground.  If the app (and
+device) is enabled for multi-tasking, this is paired with a subsequent
+`pause` event, but only under iOS 5. In effect, all locked apps in iOS
+5 that have multi-tasking enabled are pushed to the background.  For
+apps to remain running when locked under iOS 5, disable the app's
+multi-tasking by setting
+[UIApplicationExitsOnSuspend](http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html)
+to `YES`. To run when locked on iOS 4, this setting does not matter.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.resume.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.resume.md b/docs/en/3.6.0/cordova/events/events.resume.md
new file mode 100644
index 0000000..d42ce05
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.resume.md
@@ -0,0 +1,114 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# resume
+
+The event fires when an application is retrieved from the background.
+
+    document.addEventListener("resume", yourCallbackFunction, false);
+
+## Details
+
+The `resume` event fires when the native platform pulls the
+application out from the background.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- Amazon Fire OS
+- Android
+- BlackBerry 10
+- iOS
+- Windows Phone 8
+- Windows 8
+
+## Quick Example
+
+    document.addEventListener("resume", onResume, false);
+
+    function onResume() {
+        // Handle the resume event
+    }
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Resume Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            document.addEventListener("resume", onResume, false);
+        }
+
+        // Handle the resume event
+        //
+        function onResume() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>
+
+## iOS Quirks
+
+Any interactive functions called from a `pause` event handler execute
+later when the app resumes, as signaled by the `resume` event. These
+include alerts, `console.log()`, and any calls from plugins or the
+Cordova API, which go through Objective-C.
+
+- __active__ event
+
+    The iOS-specific `active` event is available as an alternative to
+`resume`, and detects when users disable the __Lock__ button to unlock
+the device with the app running in the foreground.  If the app (and
+device) is enabled for multi-tasking, this is paired with a subsequent
+`resume` event, but only under iOS 5. In effect, all locked apps in
+iOS 5 that have multi-tasking enabled are pushed to the background.
+For apps to remain running when locked under iOS 5, disable the app's
+multi-tasking by setting [UIApplicationExitsOnSuspend](http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html)
+to `YES`. To run when locked on iOS 4, this setting does not matter.
+    
+- __resume__ event
+
+    When called from a `resume` event handler, interactive functions such
+as `alert()` need to be wrapped in a `setTimeout()` call with a
+timeout value of zero, or else the app hangs. For example:
+
+        document.addEventListener("resume", onResume, false);
+        function onResume() {
+           setTimeout(function() {
+                  // TODO: do your thing!
+                }, 0);
+        }

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.searchbutton.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.searchbutton.md b/docs/en/3.6.0/cordova/events/events.searchbutton.md
new file mode 100644
index 0000000..bdde91e
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.searchbutton.md
@@ -0,0 +1,79 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# searchbutton
+
+The event fires when the user presses the search button on Android.
+
+    document.addEventListener("searchbutton", yourCallbackFunction, false);
+
+## Details
+
+If you need to override the default search button behavior on Android
+you can register an event listener for the 'searchbutton' event.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- Android
+
+## Quick Example
+
+    document.addEventListener("searchbutton", onSearchKeyDown, false);
+
+    function onSearchKeyDown() {
+        // Handle the search button
+    }
+
+## Full Example
+
+    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                          "http://www.w3.org/TR/html4/strict.dtd">
+    <html>
+      <head>
+        <title>Search Button Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Register the event listener
+            document.addEventListener("searchbutton", onSearchKeyDown, false);
+        }
+
+        // Handle the search button
+        //
+        function onSearchKeyDown() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.startcallbutton.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.startcallbutton.md b/docs/en/3.6.0/cordova/events/events.startcallbutton.md
new file mode 100644
index 0000000..ec6f61f
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.startcallbutton.md
@@ -0,0 +1,79 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# startcallbutton
+
+The event fires when the user presses the start call button.
+
+    document.addEventListener("startcallbutton", yourCallbackFunction, false);
+
+## Details
+
+If you need to override the default start call behavior you can
+register an event listener for the `startcallbutton` event.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- BlackBerry 10
+
+## Quick Example
+
+    document.addEventListener("startcallbutton", onStartCallKeyDown, false);
+
+    function onStartCallKeyDown() {
+        // Handle the start call button
+    }
+
+## Full Example
+
+    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                          "http://www.w3.org/TR/html4/strict.dtd">
+    <html>
+      <head>
+        <title>Start Call Button Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Register the event listener
+            document.addEventListener("startcallbutton", onStartCallKeyDown, false);
+        }
+
+        // Handle the start call button
+        //
+        function onStartCallKeyDown() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.volumedownbutton.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.volumedownbutton.md b/docs/en/3.6.0/cordova/events/events.volumedownbutton.md
new file mode 100644
index 0000000..fd3ff6c
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.volumedownbutton.md
@@ -0,0 +1,79 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# volumedownbutton
+
+The event fires when the user presses the volume down button.
+
+    document.addEventListener("volumedownbutton", yourCallbackFunction, false);
+
+## Details
+
+If you need to override the default volume down behavior you can
+register an event listener for the `volumedownbutton` event.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- BlackBerry 10
+
+## Quick Example
+
+    document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
+
+    function onVolumeDownKeyDown() {
+        // Handle the volume down button
+    }
+
+## Full Example
+
+    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                          "http://www.w3.org/TR/html4/strict.dtd">
+    <html>
+      <head>
+        <title>Volume Down Button Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Register the event listener
+            document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
+        }
+
+        // Handle the volume down button
+        //
+        function onVolumeDownKeyDown() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/events/events.volumeupbutton.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/events/events.volumeupbutton.md b/docs/en/3.6.0/cordova/events/events.volumeupbutton.md
new file mode 100644
index 0000000..a17e63b
--- /dev/null
+++ b/docs/en/3.6.0/cordova/events/events.volumeupbutton.md
@@ -0,0 +1,79 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# volumeupbutton
+
+The event fires when the user presses the volume up button.
+
+    document.addEventListener("volumeupbutton", yourCallbackFunction, false);
+
+## Details
+
+If you need to override the default volume up behavior you can
+register an event listener for the `volumeupbutton` event.
+
+Applications typically should use `document.addEventListener` to
+attach an event listener once the `deviceready` event fires.
+
+## Supported Platforms
+
+- BlackBerry 10
+
+## Quick Example
+
+    document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
+
+    function onVolumeUpKeyDown() {
+        // Handle the volume up button
+    }
+
+## Full Example
+
+    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                          "http://www.w3.org/TR/html4/strict.dtd">
+    <html>
+      <head>
+        <title>Volume Up Button Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        function onLoad() {
+            document.addEventListener("deviceready", onDeviceReady, false);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            // Register the event listener
+            document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
+        }
+
+        // Handle the volume up button
+        //
+        function onVolumeUpKeyDown() {
+        }
+
+        </script>
+      </head>
+      <body onload="onLoad()">
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/plugins/pluginapis.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/plugins/pluginapis.md b/docs/en/3.6.0/cordova/plugins/pluginapis.md
new file mode 100644
index 0000000..520c1b4
--- /dev/null
+++ b/docs/en/3.6.0/cordova/plugins/pluginapis.md
@@ -0,0 +1,87 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Plugin APIs
+
+Cordova ships with a minimal set of APIs, and projects add what extra APIs they require through plugins.
+
+You can search through all existing plugins (including third-party plugins) using the [Plugin Registry](http://plugins.cordova.io/).
+
+The traditional set of core Cordova plugins are as follows:
+
+- [Battery Status](http://plugins.cordova.io/#/package/org.apache.cordova.battery-status)
+> Monitor the status of the device's battery.
+
+- [Camera](http://plugins.cordova.io/#/package/org.apache.cordova.camera)
+> Capture a photo using the device's camera.
+
+- [Console](http://plugins.cordova.io/#/package/org.apache.cordova.console)
+> Add additional capability to console.log().
+
+- [Contacts](http://plugins.cordova.io/#/package/org.apache.cordova.contacts)
+> Work with the devices contact database.
+
+- [Device](http://plugins.cordova.io/#/package/org.apache.cordova.device)
+> Gather device specific information.
+
+- [Device Motion (Accelerometer)](http://plugins.cordova.io/#/package/org.apache.cordova.device-motion)
+> Tap into the device's motion sensor.
+
+- [Device Orientation (Compass)](http://plugins.cordova.io/#/package/org.apache.cordova.device-orientation)
+> Obtain the direction that the device is pointing.
+
+- [Dialogs](http://plugins.cordova.io/#/package/org.apache.cordova.dialogs)
+> Visual device notifications.
+
+- [FileSystem](http://plugins.cordova.io/#/package/org.apache.cordova.file)
+> Hook into native file system through JavaScript.
+
+- [File Transfer](http://plugins.cordova.io/#/package/org.apache.cordova.file-transfer)
+> Hook into native file system through JavaScript.
+
+- [Geolocation](http://plugins.cordova.io/#/package/org.apache.cordova.geolocation)
+> Make your application location aware.
+
+- [Globalization](http://plugins.cordova.io/#/package/org.apache.cordova.globalization)
+> Enable representation of objects specific to a locale.
+
+- [InAppBrowser](http://plugins.cordova.io/#/package/org.apache.cordova.inappbrowser)
+> Launch URLs in another in-app browser instance.
+
+- [Media](http://plugins.cordova.io/#/package/org.apache.cordova.media)
+> Record and play back audio files.
+
+- [Media Capture](http://plugins.cordova.io/#/package/org.apache.cordova.media-capture)
+> Capture media files using device's media capture applications.
+
+- [Network Information (Connection)](http://plugins.cordova.io/#/package/org.apache.cordova.network-information)
+> Quickly check the network state, and cellular network information.
+
+- [Splashscreen](http://plugins.cordova.io/#/package/org.apache.cordova.splashscreen)
+> Show and hide the applications splash screen.
+
+- [Vibration](http://plugins.cordova.io/#/package/org.apache.cordova.vibration)
+> An API to vibrate the device.
+
+- [StatusBar](https://github.com/apache/cordova-plugin-statusbar/blob/master/doc/index.md)
+> An API for showing, hiding and configuring status bar background.
+
+Non-English translations of these plugin docs can be found by looking at older versions of the Cordova documentation.
+Use the drop-down menu at the very top-right of this site to switch versions.
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/cordova/storage/storage.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/cordova/storage/storage.md b/docs/en/3.6.0/cordova/storage/storage.md
new file mode 100644
index 0000000..30c7e98
--- /dev/null
+++ b/docs/en/3.6.0/cordova/storage/storage.md
@@ -0,0 +1,68 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Storage
+
+> An overview of storage options for Cordova.
+
+Several storage APIs are available for Cordova applications. 
+See
+[html5rocks](http://www.html5rocks.com/en/features/storage).
+for a more complete overview and examples.
+
+## LocalStorage
+
+Also known as _web storage_, _simple storage_, or by its alternate
+_session storage_ interface, this API provides synchronous key/value
+pair storage, and is available in underlying WebView implementations.
+Refer to [the W3C spec](http://www.w3.org/TR/webstorage/) for details.
+
+## WebSQL
+
+This API is available in the underlying WebView.
+The [Web SQL Database Specification](http://dev.w3.org/html5/webdatabase/)
+offers more full-featured database tables accessed via SQL queries.
+
+The following platforms support WebSQL:
+
+- Android
+- BlackBerry 10
+- iOS
+- Tizen
+
+## IndexedDB
+
+This API is available in the underlying WebView.
+[Indexed DB](http://www.w3.org/TR/IndexedDB/) offers more features
+than LocalStorage but fewer than WebSQL.
+
+The following platforms support IndexedDB:
+
+- BlackBerry 10
+- Windows Phone 8
+- Windows 8
+
+
+## Plugin-Based Options
+
+In addition to the storage APIs listed above, the
+[File API](https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md)
+allows you to cache data on the local file system.  Other
+[Cordova plugins](http://plugins.cordova.io/) provide similar storage options.
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/guide/appdev/privacy/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/guide/appdev/privacy/index.md b/docs/en/3.6.0/guide/appdev/privacy/index.md
new file mode 100644
index 0000000..6183053
--- /dev/null
+++ b/docs/en/3.6.0/guide/appdev/privacy/index.md
@@ -0,0 +1,117 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Privacy Guide
+
+Mobile privacy is a critical issue that every app developer must
+address. Your users expect that their private information will be
+collected and treated appropriately by your app. Also, there are an
+increasing number of jurisdictions that now have legal requirements
+regarding mobile privacy practices.
+
+This guide on mobile app privacy should be considered a _primer_
+addressing some the most significant issues. It outlines some broadly
+accepted best practices and provides references to other more detailed
+guides and references.
+
+* __Privacy Policy__: You app should include a privacy policy that
+  addresses topics such as what kind of information the app collects
+  from or about your users, how that information is used, with whom it
+  is shared, and how users can make privacy-related choices within the
+  app. To aid understanding, you should use plain language and avoid
+  technical jargon. You should make your privacy policy available for
+  users to review prior to download, such as in the app description in
+  the app marketplace. In addition, you should make your privacy
+  policy available within the app itself. The limited size of mobile
+  device displays creates challenges for displaying privacy policies
+  to users. Consider developing a _short form_ of the policy that
+  includes the most important information, and then provide a link to
+  the "long form" policy for those interested in more details. Several
+  groups are attempting to develop icon-based standards for
+  communicating privacy practices, which you may want to consider once
+  these standards mature.
+
+* __Collection of sensitive information__: An app's collection of
+  sensitive personal information raises important privacy concerns.
+  Examples of sensitive personal information include financial
+  information, health information, and information from or about
+  children. It also includes information gathered from certain sensors
+  and databases typically found on mobile devices and tablets, such as
+  geolocation information, contacts/phonebook, microphone/camera, and
+  stored pictures/videos. See the following documentation pages for
+  more information: [camera](cordova_camera_camera.md.html),
+  [capture](cordova_media_capture_capture.md.html),
+  [contacts](cordova_contacts_contacts.md.html), and
+  [geolocation](cordova_geolocation_geolocation.md.html). Generally,
+  you should obtain a user's express permission before collecting
+  sensitive information and, if possible, provide a control mechanism
+  that allows a user to easily change permissions. App operating
+  systems can help in some instances by presenting just-in-time dialog
+  boxes that ask for the user's permission before collection. In these
+  cases, be sure to take advantage of any opportunity to customize the
+  dialog box text to clarify how the app uses and, if applicable,
+  shares such information.
+
+* __Avoiding user surprise__: If the app collects or uses information
+  in a way that may be surprising to users in light of the primary
+  purpose of your app (for example, a music player that accesses
+  stored pictures), you should take similar steps as with the
+  collection of sensitive personal information. That is, you should
+  strongly consider the use of just-in-time dialog boxes to inform the
+  user about the collection or use of that information and, if
+  appropriate, provide a corresponding privacy control.
+
+* __Third party data collection or sharing__: If you app collects
+  information that is provided to another company--such as a social
+  networking platform or an ad network (for example, if your app
+  displays advertising)--you should inform your users of that
+  collection and sharing. At a minimum, your privacy policy should
+  describe the information collection and sharing and, if appropriate,
+  offer your users the ability to control or opt-out of such
+  collection or sharing.
+
+* __Collection limitation and security__: Your users entrust your app
+  with their information and they expect that you will take
+  appropriate security precautions to protect it. One of the best ways
+  to avoid security compromises of personal information is not to
+  collect the information in the first place unless your app has a
+  specific and legitimate business reason for the collection. For
+  information that does need to be collected, ensure that you provide
+  appropriate security controls to protect that information, whether
+  it is stored on the device or on your backend servers. You should
+  also develop an appropriate data retention policy that is
+  implemented within the app and on your backend servers.
+
+Following are some additional helpful mobile privacy guides for developers:
+
+* California Attorney General, [Privacy on the Go: Recommendations for the Mobile Ecosystem][1]
+
+* Center for Democracy & Technology, Future of Privacy Forum, [Best Practices for Mobile App Developers][2]
+
+* CTIA-The Wireless Association, [Best Practices and Guidelines for Location Based Services][3]
+
+* Federal Trade Commission, [Mobile Privacy Disclosures: Building Trust Through Transparency][4]
+
+* Future of Privacy Forum, [Application Privacy][5] Website
+
+[1]: http://oag.ca.gov/sites/all/files/pdfs/privacy/privacy_on_the_go.pdf
+[2]: http://www.futureofprivacy.org/wp-content/uploads/Best-Practices-for-Mobile-App-Developers_Final.pdf
+[3]: http://www.ctia.org/business_resources/wic/index.cfm/AID/11300
+[4]: http://www.ftc.gov/os/2013/02/130201mobileprivacyreport.pdf
+[5]: http://www.applicationprivacy.org

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/9c1ccc51/docs/en/3.6.0/guide/appdev/security/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.6.0/guide/appdev/security/index.md b/docs/en/3.6.0/guide/appdev/security/index.md
new file mode 100644
index 0000000..541e87f
--- /dev/null
+++ b/docs/en/3.6.0/guide/appdev/security/index.md
@@ -0,0 +1,101 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Security Guide
+
+The following guide includes some security best practices that you should consider when developing a Cordova application. Please be aware that security is a very complicated topic and therefore this guide is not exhaustive. If you believe you can contribute to this guide, please feel free to file an issue in Cordova's bug tracker under ["Documentation"](https://issues.apache.org/jira/browse/CB/component/12316407).  This guide is designed to be applicable to general Cordova development (all platforms) but special platform-specific considerations will be noted. 
+
+## This guide discusses the following topics:
+* Whitelist
+* Iframes and the Callback Id Mechanism
+* Certificate Pinning
+* Self-signed Certificates
+* Encrypted storage
+* General Tips
+* Recommended Articles and Other Resources
+
+## Whitelist
+
+* Read and understand the Whitelist Guide
+
+* By default, the Whitelist on a newly created app will allow access to every domain through the `<access>` tag: 
+     `<access origin="*">`
+If you want network requests to be evaluated against the whitelist, then it is important to change this and only allow the domains to which you need access. This can be done by editing the application-level config file located at:
+     `{project}/config.xml` (recent projects) or `{project}/www/config.xml` (older projects)
+
+* Android's Whitelist on Cordova 2.9.x is considered secure, however, it was discovered that if foo.com is included in the whitelist, foo.com.evil.com would be able to pass the whitelist test. This was fixed in Cordova 3.x.  
+
+* Domain whitelisting does not work on Android API 10 and below, and WP8 for iframes and XMLHttpRequest. This means an attacker can load any domain in an iframe and any script on that page within the iframe can directly access Cordova JavaScript objects and the corresponding native Java objects. You should take this into consideration when building applications for these platforms. In practice this means making sure you target an Android API higher than 10, and that if possible you do not use an iframe to load external content - use the inAppBrowser plugin or other third-party plugins. 
+
+* On Android, as of Cordova 3.6.0, it is now necessary to whitelist URLs outside of your application, if your application generates links to those URLs. If you application generates `tel:`, `geo:`, `sms:`, `intent:` or similar URLs, or provides links to external content which you expect to open up in the user's browser, then you will need to update your whitelist. See the Whitelist Guide for details.
+
+
+## Iframes and the Callback Id Mechanism
+
+If content is served in an iframe from a whitelisted domain, that domain will have access to the native Cordova bridge. This means that if you whitelist a third-party advertising network and serve those ads through an iframe, it is possible that a malicious ad will be able to break out of the iframe and perform malicious actions. Because of this, you should generally not use iframes unless you control the server that hosts the iframe content.  Also note that there are third party plugins available to support advertising networks. Note that this statement is not true for iOS, which intercepts everything including iframe connections. 
+
+## Certificate Pinning
+
+Cordova does not support true certificate pinning. The main barrier to this is a lack of native APIs in Android for intercepting SSL connections to perform the check of the server's certificate. (Although it is possible to do certificate pinning on Android in Java using JSSE, the webview on Android is written in C++, and server connections are handled for you by the webview, so it is not possible to use Java and JSSE there.) Since Apache Cordova is meant to offer consistent APIs across multiple platforms, not having a capability in a major platform breaks that consistency.
+
+There are ways to approximate certificate pinning, such as checking the server's public key (fingerprint) is the expected value when your application starts or at other various times during your application's lifetime. There are third-party plugins available for Cordova that can do that. However, this is not the same as true certificate pinning which automatically verifies the expected value on every connection to the server.
+
+## Self-signed Certificates
+
+Using self-signed certificates on your server is not recommended. If you desire SSL, then it is highly recommended that your server have a certificate that has been properly signed by a well-known CA (certificate authority). The inability to do true certificate pinning makes this important.
+
+The reason is that accepting self-signed certificates bypasses the certificate chain validation, which allows any server certificate to be considered valid by the device. This opens up the communication to man-in-the-middle attacks. It becomes very easy for a hacker to not only intercept and read all communication between the device and the server, but also to modify the communication. The device will never know this is happening because it doesn't verify that the server's certificate is signed by a trusted CA. The device has no proof that the server is who it expects. Because of the ease of doing a man-in-the-middle attack, accepting self-signed certificates is only marginally better than just running http instead of https on an untrusted network. Yes, the traffic would be encrypted, but it could be encrypted with the key from a man-in-the-middle, so the man-in-the-middle can access everything, so encryption is useless except to passive observers. Users trust SSL to be secure, and 
 this would be deliberately making it insecure, so the SSL use becomes misleading. If this will be used on a trusted network (i.e., you are entirely inside a controlled enterprise), then self-signed certs are still not recommended. The two recommendations in a trusted network are to just use http because the network itself is trusted, or to get a certificate signed by a trusted CA (not self-signed). Either the network is trusted or it is not.
+
+The principles described here are not specific to Apache Cordova, they apply to all client-server communication.
+
+When running Cordova on Android, using `android:debuggable="true"` in the application manifest will permit SSL errors such as certificate chain validation errors on self-signed certs. So you can use self-signed certs in this configuration, but this is not a configuration that should be used when your application is in production. It is meant to be used only during application development.
+
+
+## Encrypted storage
+
+(TBD)
+
+## General Tips
+
+### Do not use Android Gingerbread!
+* Set your min-target-sdk level higher than 10. API 10 is Gingerbread, and Gingerbread is no longer supported by Google or device manufacturers, and is therefore not recommend by the Cordova team. 
+* Gingerbread has been shown to be insecure and one of the most targeted mobile OSs [http://www.mobilemag.com/2012/11/06/andriod-2-3-gingerbread-security/](http://bgr.com/2012/11/06/android-security-gingerbread-malware/). 
+* The Whitelist on Android does not work with Gingerbread or lower. This means an attacker can load malicious code in an iframe that would then have access to all of the Cordova APIs and could use that access to steal personal data, send SMS messages to premium-rate numbers, and perform other malicious acts. 
+
+### Use InAppBrowser for outside links
+* Use the InAppBrowser when opening links to any outside website. This is much safer than whitelisting a domain name and including the content directly in your application because the InAppBrowser will use the native browser's security features and will not give the website access to your Cordova environment. Even if you trust the third party website and include it directly in your application, that third party website could link to malicious web content. 
+
+### Validate all user input
+* Always validate any and all input that your application accepts. This includes usernames, passwords, dates, uploaded media, etc. Because an attacker could manipulate your HTML and JS assets (either by decompiling your application or using debugging tools like chrome://inspect), this validation should also be performed on your server, especially before handing the data off to any backend service. 
+* Other sources where data should be validated: user documents, contacts, push notifications
+
+### Do not cache sensitive data
+* If usernames, password, geolocation information, and other sensitive data is cached, then it could potentially be retrieved later by an unauthorized user or application.
+
+### Don't use eval() unless you know what you're doing
+* The JavaScript function eval() has a long history of being abused. Using it incorrectly can open your code up for injection attacks, debugging difficulties, and slower code execution. 
+
+### Do not assume that your source code is secure
+* Since a Cordova application is built from HTML and JavaScript assets that get packaged in a native container, you should not consider your code to be secure. It is possible to reverse engineer a Cordova application. 
+
+## Recommended Articles and Other Resources
+
+* [HTML5 Security cheat sheet, detailing how to secure your HTML5 application](https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet)
+* [Phonegap's article on device security, such as using encrypted data](https://github.com/phonegap/phonegap/wiki/Platform-Security)
+* [Whitepaper about well known security flaws in Webview based hybrid applications](http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf)


Mime
View raw message