You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by db...@apache.org on 2016/03/19 10:36:29 UTC

[13/15] docs commit: Snapshotting dev to 6.x.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e3751865/www/docs/en/6.x/config_ref/index.md
----------------------------------------------------------------------
diff --git a/www/docs/en/6.x/config_ref/index.md b/www/docs/en/6.x/config_ref/index.md
index bf93519..f15491e 100644
--- a/www/docs/en/6.x/config_ref/index.md
+++ b/www/docs/en/6.x/config_ref/index.md
@@ -33,7 +33,9 @@ For projects created with the Cordova CLI (described in [The
 Command-Line Interface](../guide/cli/index.html)), this file can be found in the top-level
 directory:
 
-        app/config.xml
+```
+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.
@@ -42,9 +44,11 @@ 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
+```
+app/platforms/ios/AppName/config.xml
+app/platforms/blackberry10/www/config.xml
+app/platforms/android/res/xml/config.xml
+```
 
 In addition to the various configuration options detailed below, you
 can also configure an application's core set of images for each target
@@ -57,53 +61,55 @@ platform. See [Customize icons topic](images.html) for more information.
    ---------------- | ------------
    id(string) | *Required* <br/> Specifies the app's reverse-domain identifier, and the `version` its full version number expressed in major/minor/patch notation.
    version(string) | *Required* <br/> Full version number expressed in major/minor/patch notation.
-   versionCode(string) | ==Android== <br/> Alternative version for Android. For further details, see [Android versioning](http://developer.android.com/tools/publishing/versioning.html)
+   android-versionCode(string) | ==Android== <br/> Alternative version for Android. Sets the [version code](http://developer.android.com/tools/publishing/versioning.html) for the application. See [the Android guide](../guide/platforms/android/index.html#setting-the-version-code) for information on how this attribute may be modified.
    ios-CFBundleVersion(string) |  ==iOS== <br/> Alternative version for iOS. For further details, see [iOS versioning](https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364).
    osx-CFBundleVersion(string) |  ==OS X== <br/> Alternative version for OS X. For further details, see [OS X versioning](https://developer.apple.com/library/prerelease/mac/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-102364).
-   packageVersion(string) |   ==Windows== <br/> Alternative version for Windows. For futher details, see [Windows versioning](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx)
+   windows-packageVersion(string) |   ==Windows== <br/> Alternative version for Windows. For futher details, see [Windows versioning](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx)
    packageName(string) | *Default: Cordova.Example* <br/> ==Windows== <br/> Package name for Windows.
    xmlns(string) | *Required* <br/> Namespace for the config.xml document.
    xmlns:cdv(string) | *Required* <br/> Namespace prefix.
 
    Examples:
 
-    <widget id="io.cordova.hellocordova" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
-    </widget>
+   ```xml
+   <!-- Android -->
+   <widget id="io.cordova.hellocordova" version="0.0.1" android-versionCode="0.1.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+   </widget>
 
-    <!-- Android -->
-    <widget versionCode="0.1.3">
-    </widget>
+   <!-- iOS -->
+   <widget id="io.cordova.hellocordova" version="0.0.1" ios-CFBundleVersion="0.1.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+   </widget>
 
-    <!-- iOS -->
-    <widget ios-CFBundleVersion="0.1.3">
-    </widget>
+   <!-- Windows -->
+   <widget id="io.cordova.hellocordova" version="0.0.1" windows-packageVersion="0.1.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+   </widget>
 
-    <!-- Windows -->
-    <widget packageVersion="0.1.3">
-    </widget>
-
-    <!-- OS X -->
-    <widget osx-CFBundleVersion="0.1.3">
-    </widget>
+   <!-- OS X -->
+   <widget id="io.cordova.hellocordova" version="0.0.1" osx-CFBundleVersion="0.1.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+   </widget>
+   ```
 
 ## name
    Specifies the app's formal name, as it appears on the device's home screen and within app-store interfaces.
 
    Examples:
 
-    <widget ...>
-        <name>HelloCordova</name>
-    </widget>
+   ```xml
+   <widget ...>
+       <name>HelloCordova</name>
+   </widget>
+   ```
 
 ## description
    Specifies metadata that may appear within app-store listings.
 
    Examples:
 
-    <widget ...>
-        <description>A sample Apache Cordova application</description>
-    </widget>
-
+   ```xml
+   <widget ...>
+       <description>A sample Apache Cordova application</description>
+   </widget>
+   ```
 
 ## author
    Specifies contact information that may appear within app-store lisitngs.
@@ -115,9 +121,11 @@ platform. See [Customize icons topic](images.html) for more information.
 
    Examples:
 
-    <widget ...>
-        <author email="dev@cordova.apache.org" href="http://cordova.io"></author>
-    </widget>
+   ```xml
+   <widget ...>
+       <author email="dev@cordova.apache.org" href="http://cordova.io"></author>
+   </widget>
+   ```
 
 
 ## content
@@ -131,10 +139,11 @@ platform. See [Customize icons topic](images.html) for more information.
 
    Examples:
 
-    <widget ...>
-        <content src="startPage.html"></content>
-    </widget>
-
+   ```xml
+   <widget ...>
+       <content src="startPage.html"></content>
+   </widget>
+   ```
 
 ## access
    Defines the set of external domains the app is allowed to communicate with. The default value shown above allows it to access any server.
@@ -148,13 +157,15 @@ platform. See [Customize icons topic](images.html) for more information.
 
    Examples:
 
-    <widget ...>
-        <access origin="*"></content>
-    </widget>
+   ```xml
+   <widget ...>
+       <access origin="*"></content>
+   </widget>
 
-    <widget ...>
-        <access origin="http://google.com"></content>
-    </widget>
+   <widget ...>
+       <access origin="http://google.com"></content>
+   </widget>
+   ```
 
 
 ## allow-navigation
@@ -163,15 +174,17 @@ platform. See [Customize icons topic](images.html) for more information.
    Attributes(type) | Description
    ----------------- | ------------
    href(string) | *Required* <br/> Defines the set of external domains the WebView is allowed to navigate to.
-   See the cordova-plugin-whitelist [cordova-plugin-whitelist](../cordova-plugin-whitelist/index.html#navigation-whitelist) for details.
+   See the cordova-plugin-whitelist [cordova-plugin-whitelist][whitelist_navigation] for details.
 
    Examples:
 
-    <!-- Allow links to example.com -->
-    <allow-navigation href="http://example.com/*" />
+   ```xml
+   <!-- Allow links to example.com -->
+   <allow-navigation href="http://example.com/*" />
 
-    <!-- Wildcards are allowed for the protocol, as a prefix to the host, or as a suffix to the path -->
-    <allow-navigation href="*://*.example.com/*" />
+   <!-- Wildcards are allowed for the protocol, as a prefix to the host, or as a suffix to the path -->
+   <allow-navigation href="*://*.example.com/*" />
+   ```
 
 ## allow-intent
    Controls which URLs the app is allowed to ask the system to open. By default, no external URLs are allowed.
@@ -179,30 +192,50 @@ platform. See [Customize icons topic](images.html) for more information.
    Attributes(type) | Description
    ----------------- | ------------
    href(string) | *Required* <br/> Defines which URLs the app is allowed to ask the system to open.
-   See the cordova-plugin-whitelist [cordova-plugin-whitelist](../cordova-plugin-whitelist/index.html#intent-whitelist) for details.  
+   See the cordova-plugin-whitelist [cordova-plugin-whitelist][whitelist_intent] for details.
 
    Examples:
 
-    <allow-intent href="http://*/*" />
-    <allow-intent href="https://*/*" />
-    <allow-intent href="tel:*" />
-    <allow-intent href="sms:*" />
+   ```xml
+   <allow-intent href="http://*/*" />
+   <allow-intent href="https://*/*" />
+   <allow-intent href="tel:*" />
+   <allow-intent href="sms:*" />
+   ```
 
 ## engine
-   Specifies what platform to restore during a prepare. For more details, see the [Platforms & Plugins Version Management](../platform_plugin_versioning_ref/index.html).
+   Specifies details about what platform to restore during a prepare.
 
    Attributes(type) | Description
    ----------------- | ------------
    name(string) | *Required* <br/> Name of the platform to be restored
-   spec(string) | *Required* <br/> Version of the platform to be restored
+   spec(string) | *Required* <br/> Details about the platform to be restored. This could be a ```major.minor.patch``` version number, a directory containing the platform or a url pointing to a git repository. This information will be used to retrieve the platform code to restore from NPM, a local directory or a git repository. See [Platform Spec][platform_spec] for further details.
+
+   Examples:
+
+   ```xml
+   <engine name="android" spec="https://github.com/apache/cordova-android.git#5.1.1" />
+   <engine name="ios" spec="^4.0.0" />
+   ```
+
+## plugin
+   Specifies details about what plugin to restore during a prepare.
+
+   Attributes(type) | Description
+   ----------------- | ------------
+   name(string) | *Required* <br/> Name of the plugin to be restored
+   spec(string) | *Required* <br/> Details about the plugin to be restored. This could be a ```major.minor.patch``` version number, a directory containing the plugin or a url pointing to a git repository. This information will be used to retrieve the plugin code to restore from NPM, a local directory or a git repository. See [Plugin Spec][plugin_spec] for further details.
 
    Examples:
 
-    <engine name="android" spec="^4.0.0" />
+   ```xml
+   <plugin name="cordova-plugin-device" spec="^1.1.0" />
+   <plugin name="cordova-plugin-device" spec="https://github.com/apache/cordova-plugin-device.git#1.0.0" />
+   ```
 
 ## preference
    Sets various options as pairs of name/value attributes. Each preference's name is case-insensitive. Many preferences are unique to specific platforms,
-   and will be indicated as such.  
+   and will be indicated as such.
 
    Attributes(type) | Description
    ----------------- | ------------
@@ -211,9 +244,8 @@ platform. See [Customize icons topic](images.html) for more information.
    android-maxSdkVersion(integer) | *Default: Not Specified* <br/> ==Android== <br/> Sets the `maxSdkVersion` attribute of the `<uses-sdk>` tag in the project's `AndroidManifest.xml` (see [here][uses-sdk]).
    android-minSdkVersion(integer) | *Default: Dependent on cordova-android Version* <br/> ==Android== <br/> Sets the `minSdkVersion` attribute of the `<uses-sdk>` tag in the project's `AndroidManifest.xml` (see [here][uses-sdk]).
    android-targetSdkVersion(integer) | *Default: Dependent on cordova-android Version* <br/> ==Android== <br/> Sets the `targetSdkVersion` attribute of the `<uses-sdk>` tag in the project's `AndroidManifest.xml` (see [here][uses-sdk]).
-   AppendUserAgent(string) | ==Android== <br/> If set, the value will append to the end of old UserAgent of webview. When using with OverrideUserAgent, this value will be ignored.
-   AppendUserAgent(string) | ==iOS== <br/> If set, the value will append to the end of old UserAgent of webview. When using with OverrideUserAgent, this value will be ignored.
-   BackgroundColor(string) | ==Android== ==BlackBerry== ==Windows== <br/> Supports a four-byte hex value, with the first byte representing the alpha channel, and standard RGB values for the following three bytes.
+   AppendUserAgent(string) | ==Android== ==iOS== <br/> If set, the value will append to the end of old UserAgent of webview. When using with OverrideUserAgent, this value will be ignored.
+   BackgroundColor(string) | ==Android== ==BlackBerry== ==Windows== <br/> Sets 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. <br/> For Windows, the alpha channel is ignored.
    BackupWebStorage(string) | *Default: cloud* <br/> Allowed values: none, local, cloud. <br/> ==iOS== <br/>  Set to cloud to allow web storage data to backup via iCloud. Set to local to allow only local backups via iTunes sync. Set to none prevent web storage backups.
    ChildBrowser(string) | *Default: enable* <br/> ==BlackBerry== <br/> Disables child browser windows. By default, apps launch a secondary browser window to display resources accessed via window.open() or by specifying a _blank anchor target. Specify disable to override this default behavior.
    CordovaWebViewEngine(string) | *Default: CDVUIWebViewEngine* <br/> ==iOS== <br/> This sets the WebView engine plugin to be used to render the host app. The plugin must conform to the CDVWebViewEngineProtocol protocol. The 'value' here should match the 'feature' name of the WebView engine plugin that is installed. This preference usually would be set by the WebView engine plugin that is installed, automatically.
@@ -236,7 +268,7 @@ platform. See [Customize icons topic](images.html) for more information.
    MediaPlaybackAllowsAirPlay(boolean) | *Default: true* <br/> ==iOS== <br/> Set to false to prevent Air Play from being used in this view. Available in default UIWebView and WKWebView.
    MediaPlaybackRequiresUserAction(boolean) | *Default: false* <br/> ==iOS== <br/> Set to true to prevent HTML5 videos or audios from playing automatically with the autoplay attribute or via JavaScript.
    Min/Max Version(Regex) | ==Windows== <br/> Allowed values: **/(Microsoft.+? &#124; Windows.+?)-(MinVersion &#124; MaxVersionTested)/i** <br/> Identifies the ecosystems and their min/max versions the app is compatible with. There are three parts to each value: the **SDK**, the **version restriction**, and the **version value**.  These preferences are detected by beginning with `Windows` or `Microsoft` and ending in `-MinVersion` or `-MaxVersionTested`: <ul><li>The **SDK** defines what specialized platform you want to target.  The default is `Windows.Universal`.  Valid values for these are defined in the AppxManifest schema, in the `Package/Depednencies/TargetPlatform` elements.</li><li>The **version restriction** defines application compatibility rules.  For example, if the `-MinVersion` is set to 10.1.0.0, then OS versions which don't support at least 10.1.0.0 of the corresponding SDK won't be able to load it. Similarly you can also use `-MaxVersionTested` which specifies the hig
 hest-tested version of the SDK. If a new version of the corresponding SDK is released, it will run in compatibility mode for the specified version.</li><li>The **version value** is a 4-integer tuple in the form of *major.minor.build.qfe*.</li></ul> If no preferences of these types are specified in your config.xml file, then Windows.Universal version 10.0.0.0 will be chosen by default.
-   Orientation(string) | *Default: default* <br/> Allowed values: default, landscape, portrait <br/> Allows you to lock orientation and prevent the interface from rotating in response to changes in orientation. <br/> **NOTE:** The default value means Cordova will strip the orientation preference entry from the platform's manifest/configuration file allowing the platform to fallback to its default behavior. For iOS, to specify both portrait & landscape mode you would use the platform specific value 'all'.
+   Orientation(string) | *Default: default* <br/> Allowed values: default, landscape, portait <br/> Allows you to lock orientation and prevent the interface from rotating in response to changes in orientation. <br/> **NOTE:** The default value means Cordova will strip the orientation preference entry from the platform's manifest/configuration file allowing the platform to fallback to its default behavior. For iOS, to specify both portrait & landscape mode you would use the platform specific value 'all'.
    OSXLocalStoragePath(string) | ==OS X **4.0.0**== <br/> *Default: `~/Library/Application Support/{bundle.id}`* <br/> Sets the directory for the local storage path.
    OverrideUserAgent(string) | ==Android== <br/> If set, the value will replace the old UserAgent of webview. It is helpful to identify the request from app/browser when requesting remote pages. Use with caution, this may causes compitiable issue with web servers. For most cases, use AppendUserAgent instead.
    PageLength(float) | *Default: 0* <br/> ==iOS== <br/> The size of each page, in points, in the direction that the pages flow. When PaginationMode is right to left or left to right, this property represents the width of each page. When PaginationMode is topToBottom or bottomToTop, this property represents the height of each page. The default value is 0, which means the layout uses the size of the viewport to determine the dimensions of the page.
@@ -252,73 +284,82 @@ platform. See [Customize icons topic](images.html) for more information.
    UIWebViewDecelerationSpeed(string) | *Default: normal* <br/> Allowed values: normal, fast <br/> ==iOS== <br/> This property controls the deceleration speed of momentum scrolling. normal is the default speed for most native apps, and fast is the default for Mobile Safari.
    WebSecurity(string) | *Default: enable* <br/> ==BlackBerry== <br/> Set to disable to override web security settings, allowing access to remote content from unknown sources. This preference is intended as a development convenience only, so remove it before packaging the app for distribution. For the released app, all URIs should be known and whitelisted using the <access> element, described in the Domain Whitelist Guide.
    WindowSize(string) | *Default: auto* <br/> ==OS X **4.0.0**== <br/> Sets the size of the application window. <br/> Accepts the format `WxH` for a specific width and height or the special values `auto` and `fullscreen`. The latter will open a borderless window spanning the entire desktop area. Please note, that this is different from the _normal_ OS X fullscreen mode, which would never span multiple displays. <br/> **Note**: The global cordova `fullscreen` preference has no effect in OS X.
+   WindowsDefaultUriPrefix(string) | ==Windows== <br/> Allowed values: `ms-appx://`, `ms-appx-web://` <br/>  Identifies whether you want your app to target the local context or remote context as its startup URI. When building for Windows 10, the default is the remote context (`ms-appx-web://`). <br/> In order to have a local-mode application that is not impacted by Remote Mode capability restrictions, you must set this preference to `ms-appx://` and not declare any `<access>` elements with remote URIs. The local mode is the default for Windows 8.1
+   WindowsStoreDisplayName(string) | ==Windows== <br/> A friendly name for the publisher that can be displayed to users.
+   WindowsStoreIdentityName(string) | ==Windows== <br/> Identity name used for Windows store. The identity defines a globally unique identifier for a package. A package identity is represented as a tuple of attributes of the package. See the [identity page on the package manifest schema reference](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx) for further details.
+   WindowsStorePublisherName(string) | ==Windows== <br/> Publisher Display Name.
+   WindowsToastCapable(boolean) | *Default: false* <br/> ==Windows== <br/> A value of ```true``` indicates that the app is allowed to provide 'toast notifications'.
    deployment-target(string) | ==iOS== <br/> This sets the IPHONEOS_DEPLOYMENT_TARGET in the build, which ultimately tranlsates to the MinimumOSVersion in the ipa. For more details please refer to Apple's documentation on Deployment Target Settings
    target-device(string) | *Default: universal* <br/> Allowed values: handset, tablet, universal <br/> ==iOS== <br/> This property maps directly to TARGETED_DEVICE_FAMILY in the xcode project. Note that if you target universal (which is the default) you will need to supply screen shots for both iPhone and iPad or your app may be rejected.
    windows-phone-target-version(string) | ==Windows== <br/> Sets the version of Windows Phone for which the package (resulting from ```cordova build```) will target. If none is specified, it will be set to the same version as ```windows-target-version``` (if found).
    windows-target-version(string) | ==Windows== <br/> Sets the version of Windows for which the package (resulting from ```cordova build```) will target. If none is specified, it will be set to '8.1'.
-   WindowsDefaultUriPrefix(string) | ==Windows== <br/> Allowed values: `ms-appx://`, `ms-appx-web://` <br/>  Identifies whether you want your app to target the local context or remote context as its startup URI. When building for Windows 10, the default is the remote context (`ms-appx-web://`). <br/> In order to have a local-mode application that is not impacted by Remote Mode capability restrictions, you must set this preference to `ms-appx://` and not declare any `<access>` elements with remote URIs. The local mode is the default for Windows 8.1
 
    Examples:
 
-    <preference name="DisallowOverscroll" value="true"/>
-    <preference name="Fullscreen" value="true" />
-    <preference name="BackgroundColor" value="0xff0000ff"/>
-    <preference name="HideKeyboardFormAccessoryBar" value="true"/>
-    <preference name="Orientation" value="landscape" />
-
-    <!-- iOS only preferences -->
-    <preference name="EnableViewportScale" value="true"/>
-    <preference name="MediaPlaybackAllowsAirPlay" value="false"/>
-    <preference name="MediaPlaybackRequiresUserAction" value="true"/>
-    <preference name="AllowInlineMediaPlayback" value="true"/>
-    <preference name="BackupWebStorage" value="local"/>
-    <preference name="TopActivityIndicator" value="white"/>
-    <preference name="SuppressesIncrementalRendering" value="true"/>
-    <preference name="GapBetweenPages" value="0"/>
-    <preference name="PageLength" value="0"/>
-    <preference name="PaginationBreakingMode" value="page"/>
-    <preference name="PaginationMode" value="unpaginated"/>
-    <preference name="UIWebViewDecelerationSpeed" value="fast" />
-    <preference name="ErrorUrl" value="myErrorPage.html"/>
-    <preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
-    <preference name="AppendUserAgent" value="My Browser" />
-    <preference name="target-device" value="universal" />
-    <preference name="deployment-target" value="7.0" />
-    <preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
-    <preference name="SuppressesLongPressGesture" value="true" />
-    <preference name="Suppresses3DTouchGesture" value="true" />
-
-    <!-- Android only preferences -->
-    <preference name="KeepRunning" value="false"/>
-    <preference name="LoadUrlTimeoutValue" value="10000"/>
-    <preference name="InAppBrowserStorageEnabled" value="true"/>
-    <preference name="LoadingDialog" value="My Title,My Message"/>
-    <preference name="ErrorUrl" value="myErrorPage.html"/>
-    <preference name="ShowTitle" value="true"/>
-    <preference name="LogLevel" value="VERBOSE"/>
-    <preference name="AndroidLaunchMode" value="singleTop"/>
-    <preference name="DefaultVolumeStream" value="call" />
-    <preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
-    <preference name="AppendUserAgent" value="My Browser" />
-
-    <!-- Windows only preferences -->
-    <preference name="windows-phone-target-version" value="8.1" />
-    <preference name="windows-target-version" value="8.1" />
-    <preference name="Windows.Universal" value="10.0.10240.0" />
-    <preference name="WindowsDefaultUriPrefix" value="ms-appx://"" />
-    <preference name="Windows.Mobile-MaxVersionTested" value="10.0.10031.0" />
-    <preference name="Windows.Universal-MinVersion" value="10.0.0.0" />
-
-    <!-- BlackBerry only preferences -->
-    <preference name="ChildBrowser" value="disable"/>
-    <preference name="PopupBlocker" value="enable"/>
-    <preference name="WebSecurity" value="disable"/>
-    
-    <!-- OS X only preferences -->
-    <preference name="HideMousePointer" value="5"/>
-    <preference name="OSXLocalStoragePath" value="~/.myapp/database"/>
-    <preference name="WindowSize" value="800x400"/>
-    <preference name="EnableWebGL" value="true"/>
+   ```xml
+   <preference name="DisallowOverscroll" value="true"/>
+   <preference name="Fullscreen" value="true" />
+   <preference name="BackgroundColor" value="0xff0000ff"/>
+   <preference name="HideKeyboardFormAccessoryBar" value="true"/>
+   <preference name="Orientation" value="landscape" />
+
+   <!-- iOS only preferences -->
+   <preference name="EnableViewportScale" value="true"/>
+   <preference name="MediaPlaybackAllowsAirPlay" value="false"/>
+   <preference name="MediaPlaybackRequiresUserAction" value="true"/>
+   <preference name="AllowInlineMediaPlayback" value="true"/>
+   <preference name="BackupWebStorage" value="local"/>
+   <preference name="TopActivityIndicator" value="white"/>
+   <preference name="SuppressesIncrementalRendering" value="true"/>
+   <preference name="GapBetweenPages" value="0"/>
+   <preference name="PageLength" value="0"/>
+   <preference name="PaginationBreakingMode" value="page"/>
+   <preference name="PaginationMode" value="unpaginated"/>
+   <preference name="UIWebViewDecelerationSpeed" value="fast" />
+   <preference name="ErrorUrl" value="myErrorPage.html"/>
+   <preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
+   <preference name="AppendUserAgent" value="My Browser" />
+   <preference name="target-device" value="universal" />
+   <preference name="deployment-target" value="7.0" />
+   <preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
+   <preference name="SuppressesLongPressGesture" value="true" />
+   <preference name="Suppresses3DTouchGesture" value="true" />
+
+   <!-- Android only preferences -->
+   <preference name="KeepRunning" value="false"/>
+   <preference name="LoadUrlTimeoutValue" value="10000"/>
+   <preference name="InAppBrowserStorageEnabled" value="true"/>
+   <preference name="LoadingDialog" value="My Title,My Message"/>
+   <preference name="ErrorUrl" value="myErrorPage.html"/>
+   <preference name="ShowTitle" value="true"/>
+   <preference name="LogLevel" value="VERBOSE"/>
+   <preference name="AndroidLaunchMode" value="singleTop"/>
+   <preference name="DefaultVolumeStream" value="call" />
+   <preference name="OverrideUserAgent" value="Mozilla/5.0 My Browser" />
+   <preference name="AppendUserAgent" value="My Browser" />
+
+   <!-- Windows only preferences -->
+   <preference name="windows-phone-target-version" value="8.1" />
+   <preference name="windows-target-version" value="8.1" />
+   <preference name="Windows.Universal" value="10.0.10240.0" />
+   <preference name="WindowsDefaultUriPrefix" value="ms-appx://"" />
+   <preference name="Windows.Mobile-MaxVersionTested" value="10.0.10031.0" />
+   <preference name="Windows.Universal-MinVersion" value="10.0.0.0" />
+   <preference name="WindowsStoreIdentityName" value="Cordova.Example.ApplicationDataSample" />
+   <preference name="WindowsStorePublisherName" value="CN=Contoso Corp, O=Contoso Corp, L=Redmond, S=Washington, C=US" />
+   <preference name="WindowsToastCapable" value="true" />
+
+   <!-- BlackBerry only preferences -->
+   <preference name="ChildBrowser" value="disable"/>
+   <preference name="PopupBlocker" value="enable"/>
+   <preference name="WebSecurity" value="disable"/>
+
+   <!-- OS X only preferences -->
+   <preference name="HideMousePointer" value="5"/>
+   <preference name="OSXLocalStoragePath" value="~/.myapp/database"/>
+   <preference name="WindowSize" value="800x400"/>
+   <preference name="EnableWebGL" value="true"/>
+   ```
 
 ## feature
    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. See the API Reference for details on how to specify each feature. See
@@ -341,26 +382,28 @@ platform. See [Customize icons topic](images.html) for more information.
 
    Examples:
 
-    <!-- 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>
+   ```xml
+   <!-- 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's how the element appears for iOS projects -->
-    <feature name="Device">
-        <param name="ios-package" value="CDVDevice" />
-        <param name="onload" value="true" />
-    </feature>
+   <!-- Here's how the element appears for iOS projects -->
+   <feature name="Device">
+       <param name="ios-package" value="CDVDevice" />
+       <param name="onload" value="true" />
+   </feature>
 
-    <!-- Here's how the element appears for OS X projects -->
-    <feature name="Device">
-        <param name="osx-package" value="CDVDevice" />
-        <param name="onload" value="true" />
-    </feature>
+   <!-- Here's how the element appears for OS X projects -->
+   <feature name="Device">
+       <param name="osx-package" value="CDVDevice" />
+       <param name="onload" value="true" />
+   </feature>
+   ```
 
 
 ## platform
-   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.  
+   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.
 
    Attributes(type) | Description
    ----------------- | ------------
@@ -368,9 +411,11 @@ platform. See [Customize icons topic](images.html) for more information.
 
    Examples:
 
-    <platform name="android">
-        <preference name="Fullscreen" value="true" />
-    </platform>
+   ```xml
+   <platform name="android">
+       <preference name="Fullscreen" value="true" />
+   </platform>
+   ```
 
 ## hook
    Represents your custom script which will be called by Cordova when
@@ -385,37 +430,44 @@ platform. See [Customize icons topic](images.html) for more information.
 
    Examples:
 
-    <hook type="after_plugin_install" src="scripts/afterPluginInstall.js" />
+   ```xml
+   <hook type="after_plugin_install" src="scripts/afterPluginInstall.js" />
+   ```
 
 # Sample config.xml
   Below is a sample config.xml file:
 
-    <?xml version='1.0' encoding='utf-8'?>
-    <widget id="io.cordova.hellocordova" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
-        <name>HelloCordova</name>
-        <description>
-            A sample Apache Cordova application that responds to the deviceready event.
-        </description>
-        <author email="dev@cordova.apache.org" href="http://cordova.io">
-            Apache Cordova Team
-        </author>
-        <content src="index.html" />
-        <plugin name="cordova-plugin-whitelist" version="1" />
-        <access origin="*" />
-        <allow-intent href="http://*/*" />
-        <allow-intent href="https://*/*" />
-        <allow-intent href="tel:*" />
-        <allow-intent href="sms:*" />
-        <allow-intent href="mailto:*" />
-        <allow-intent href="geo:*" />
-        <platform name="android">
-            <allow-intent href="market:*" />
-        </platform>
-        <platform name="ios">
-            <allow-intent href="itms:*" />
-            <allow-intent href="itms-apps:*" />
-        </platform>
-    </widget>
-
-
-[uses-sdk]: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
+  ```xml
+  <?xml version='1.0' encoding='utf-8'?>
+  <widget id="io.cordova.hellocordova" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+      <name>HelloCordova</name>
+      <description>
+          A sample Apache Cordova application that responds to the deviceready event.
+      </description>
+      <author email="dev@cordova.apache.org" href="http://cordova.io">
+          Apache Cordova Team
+      </author>
+      <content src="index.html" />
+      <plugin name="cordova-plugin-whitelist" spec="1" />
+      <access origin="*" />
+      <allow-intent href="http://*/*" />
+      <allow-intent href="https://*/*" />
+      <allow-intent href="tel:*" />
+      <allow-intent href="sms:*" />
+      <allow-intent href="mailto:*" />
+      <allow-intent href="geo:*" />
+      <platform name="android">
+          <allow-intent href="market:*" />
+      </platform>
+      <platform name="ios">
+          <allow-intent href="itms:*" />
+          <allow-intent href="itms-apps:*" />
+      </platform>
+  </widget>
+  ```
+
+[uses-sdk]:             http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
+[platform_spec]:        ../reference/cordova-cli/index.html#platform-spec
+[plugin_spec]:          ../reference/cordova-cli/index.html#plugin-spec
+[whitelist_navigation]: ../reference/cordova-plugin-whitelist/index.html#navigation-whitelist
+[whitelist_intent]:     ../reference/cordova-plugin-whitelist/index.html#intent-whitelist

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e3751865/www/docs/en/6.x/cordova/events/events.md
----------------------------------------------------------------------
diff --git a/www/docs/en/6.x/cordova/events/events.md b/www/docs/en/6.x/cordova/events/events.md
index 69d6dea..5e6e4ba 100644
--- a/www/docs/en/6.x/cordova/events/events.md
+++ b/www/docs/en/6.x/cordova/events/events.md
@@ -27,49 +27,53 @@ The application code could add listeners for these events. For example:
 
 **HTML File**
 
-    <!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" src="example.js"></script>
-      </head>
-      <body onload="onLoad()">
-      </body>
-    </html>
+```html
+<!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" src="example.js"></script>
+    </head>
+    <body onload="onLoad()">
+    </body>
+</html>
+```
 
 **JS File**
 
-    // example.js file
-    // Wait for device API libraries to load
-    //
-    function onLoad() {
-        document.addEventListener("deviceready", onDeviceReady, false);
-    }
+```javascript
+// example.js file
+// 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);
-        document.addEventListener("resume", onResume, false);
-        document.addEventListener("menubutton", onMenuKeyDown, false);
-        // Add similar listeners for other events
-    }
+// device APIs are available
+//
+function onDeviceReady() {
+    document.addEventListener("pause", onPause, false);
+    document.addEventListener("resume", onResume, false);
+    document.addEventListener("menubutton", onMenuKeyDown, false);
+    // Add similar listeners for other events
+}
 
-    function onPause() {
-        // Handle the pause event
-    }
+function onPause() {
+    // Handle the pause event
+}
 
-    function onResume() {
-        // Handle the resume event
-    }
+function onResume() {
+    // Handle the resume event
+}
 
-    function onMenuKeyDown() {
-        // Handle the menubutton event
-    }
+function onMenuKeyDown() {
+    // Handle the menubutton event
+}
 
-    // Add similar event handlers for other events
+// Add similar event handlers for other events
+```
 
 **Note**: Applications typically should use `document.addEventListener` to attach an event listener once the [deviceready](#deviceready)
 
@@ -209,11 +213,13 @@ callback function called immediately.
 
 ### Quick Example
 
-    document.addEventListener("deviceready", onDeviceReady, false);
+```javascript
+document.addEventListener("deviceready", onDeviceReady, false);
 
-    function onDeviceReady() {
-        // Now safe to use device APIs
-    }
+function onDeviceReady() {
+    // Now safe to use device APIs
+}
+```
 
 ## pause
 
@@ -222,11 +228,13 @@ typically when the user switches to a different application.
 
 ### Quick Example
 
-    document.addEventListener("pause", onPause, false);
+```javascript
+document.addEventListener("pause", onPause, false);
 
-    function onPause() {
-        // Handle the pause event
-    }
+function onPause() {
+    // Handle the pause event
+}
+```
 
 ### iOS Quirks
 
@@ -251,11 +259,13 @@ The `resume` event fires when the native platform pulls the application out from
 
 ### Quick Example
 
-    document.addEventListener("resume", onResume, false);
+```javascript
+document.addEventListener("resume", onResume, false);
 
-    function onResume() {
-        // Handle the resume event
-    }
+function onResume() {
+    // Handle the resume event
+}
+```
 
 ### iOS Quirks
 
@@ -282,12 +292,14 @@ to `YES`. To run when locked on iOS 4, this setting does not matter.
 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);
-        }
+    ```javascript
+    document.addEventListener("resume", onResume, false);
+    function onResume() {
+        setTimeout(function() {
+                // TODO: do your thing!
+            }, 0);
+    }
+    ```
 
 ### Android Quirks
 
@@ -303,11 +315,13 @@ back-button behavior.
 
 ### Quick Example
 
-    document.addEventListener("backbutton", onBackKeyDown, false);
+```javascript
+document.addEventListener("backbutton", onBackKeyDown, false);
 
-    function onBackKeyDown() {
-        // Handle the back button
-    }
+function onBackKeyDown() {
+    // Handle the back button
+}
+```
 
 ## menubutton
 
@@ -316,11 +330,13 @@ overrides the default menu button behavior.
 
 ### Quick Example
 
-    document.addEventListener("menubutton", onMenuKeyDown, false);
+```javascript
+document.addEventListener("menubutton", onMenuKeyDown, false);
 
-    function onMenuKeyDown() {
-        // Handle the back button
-    }
+function onMenuKeyDown() {
+    // Handle the back button
+}
+```
 
 ## searchbutton
 
@@ -330,11 +346,13 @@ listener for the 'searchbutton' event.
 
 ### Quick Example
 
-    document.addEventListener("searchbutton", onSearchKeyDown, false);
+```javascript
+document.addEventListener("searchbutton", onSearchKeyDown, false);
 
-    function onSearchKeyDown() {
-        // Handle the search button
-    }
+function onSearchKeyDown() {
+    // Handle the search button
+}
+```
 
 ## startcallbutton
 
@@ -343,11 +361,13 @@ the default start call behavior you can register an event listener for the `star
 
 ### Quick Example
 
-    document.addEventListener("startcallbutton", onStartCallKeyDown, false);
+```javascript
+document.addEventListener("startcallbutton", onStartCallKeyDown, false);
 
-    function onStartCallKeyDown() {
-        // Handle the start call button
-    }
+function onStartCallKeyDown() {
+    // Handle the start call button
+}
+```
 
 ## endcallbutton
 
@@ -356,11 +376,13 @@ default end call behavior.
 
 ### Quick Example
 
-    document.addEventListener("endcallbutton", onEndCallKeyDown, false);
+```javascript
+document.addEventListener("endcallbutton", onEndCallKeyDown, false);
 
-    function onEndCallKeyDown() {
-        // Handle the end call button
-    }
+function onEndCallKeyDown() {
+    // Handle the end call button
+}
+```
 
 ## volumedownbutton
 
@@ -369,11 +391,13 @@ the default volume down behavior you can register an event listener for the `vol
 
 ### Quick Example
 
-    document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
+```javascript
+document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
 
-    function onVolumeDownKeyDown() {
-        // Handle the volume down button
-    }
+function onVolumeDownKeyDown() {
+    // Handle the volume down button
+}
+```
 
 ## volumeupbutton
 
@@ -382,11 +406,13 @@ the default volume up behavior you can register an event listener for the `volum
 
 ### Quick Example
 
-    document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
+```javascript
+document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
 
-    function onVolumeUpKeyDown() {
-        // Handle the volume up button
-    }
+function onVolumeUpKeyDown() {
+    // Handle the volume up button
+}
+```
 
 [UIApplicationExitsOnSuspend]: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html
 [AndroidLifeCycleGuide]: ../../guide/platforms/android/lifecycle.html

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e3751865/www/docs/en/6.x/cordova/storage/storage.md
----------------------------------------------------------------------
diff --git a/www/docs/en/6.x/cordova/storage/storage.md b/www/docs/en/6.x/cordova/storage/storage.md
index 384f46a..8f89c8c 100644
--- a/www/docs/en/6.x/cordova/storage/storage.md
+++ b/www/docs/en/6.x/cordova/storage/storage.md
@@ -22,51 +22,306 @@ title: Storage
 
 # Storage
 
-> An overview of storage options for Cordova.
-
 Several storage APIs are available for Cordova applications.
-See [html5rocks][Html5RocksStorage], for a more complete overview and examples.
+See html5rocks [storage overview][Html5RocksStorageOverview] and
+[tutorial][Html5RocksStorageTutorial], for a more complete overview and
+examples.
+
+Each API offers advantages and disadvantages, which are summarized here. You
+should choose whichever best suits your needs. You can also use several
+different approaches within a single application for different purposes.
 
 ## 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][W3CSpecStorage] for details.
+Local storage provides simple, synchronous key/value pair storage, and is
+supported by the underlying WebView implementations on all Cordova
+platforms.
+
+### Usage Summary
+
+Local storage can be accessed via `window.localStorage`. The following code
+snippet shows the most important methods exposed by the returned `Storage` object:
+
+```javascript
+var storage = window.localStorage;
+var value = storage.getItem(key); // Pass a key name to get its value.
+storage.setItem(key, value) // Pass a key name and its value to add or update that key.
+storage.removeItem(key) // Pass a key name to remove that key from storage.
+```
+
+For more information, see:
+
+- [W3C: Spec][W3CSpecStorage]
+- [MDN: Storage API][MDNStorage]
+- [MDN: Storage Guide][MDNStorageGuide]
+
+### Advantages
+
+- Supported by all Cordova platforms.
+- Its simple, synchronous API means it is easy to use.
+
+### Disadvantages
+
+- Only stores strings, so complex data structures have to be serialized,
+  and only data that can be serialized can be stored.
+- Performs poorly with large amounts of data. In particular:
+    - The lack of indexing means searches require manually iterating all data.
+    - Storing large or complex items is slow due to the need to serialize/de-serialize.
+    - Synchronous API means calls will lock up the user interface.
+- Limited total amount of storage (typically around 5MB).
+- iOS stores `localStorage` data in a location that may be cleaned out by
+  the OS when space is required.
 
 ## WebSQL
 
-This API is available in the underlying WebView.
-The [Web SQL Database Specification][WebSQLDatabaseSpecification]
-offers more full-featured database tables accessed via SQL queries.
+WebSQL provides an API for storing data in a structured database that can
+be queried using a standard SQL syntax (specifically, [SQLite][SQLite]).
+As such, it provides all the power (and complexity) of SQL.
 
-The following platforms support WebSQL:
+It is supported by the underlying WebView on the following Cordova platforms:
 
 - Android
 - BlackBerry 10
 - iOS
 
+### Usage Summary
+
+The entry point into creating or opening a database is the `window.openDatabase()` method:
+
+```javascript
+var db = window.openDatabase(name, version, displayName, estimatedSize);
+```
+
+- **name** (string): The unique name of the database, as it will be stored in disk.
+- **version** (string): The version of the database.
+- **displayName** (string): A human friendly name for the database, which
+  the system will use if it needs to describe your database to the user
+  (for example, when requesting permission to increase the size of the database).
+- **estimatedSize** (number): The expected maximum size of the database, in bytes.
+  As the database increases in size, the user may be prompted for permission. If
+  you make a reasonable first guess, the user is likely to be prompted less often.
+
+The returned `Database` object provides a `transaction()` method (or `readTransaction()`
+to optimize read-only transactions) that let's you create a failure-safe transaction:
+
+```javascript
+var db = window.openDatabase(name, version, displayName, estimatedSize);
+db.transaction(function (tx) {
+    tx.executeSql(sqlStatement, valueArray, function (tx, result) {
+        console.log(result);
+    }, function (error) {
+        console.log(error);
+    });
+});
+```
+
+For more information, see:
+
+- [W3C: Spec][WebSQLDatabaseSpecification]
+- [TutorialsPoint: WebSQL Guide][TutorialsPointWebSQL]
+
+For a good introduction to the SQL language, see:
+
+- [w3schools: Introduction to SQL][w3schoolsSQL]
+
+### Working with database versions
+
+When opening an existing database, if the specified version does not match
+the version of the database, an exception will be thrown and the database
+will not open. However, if you specify an empty string for the version, the
+database will open regardless of its current version (and you can query the
+current version via `db.version`). Be wary, however - if the database is
+being created, it will be created with its version set to an empty string.
+
+### Advantages
+
+- Good performance - data can be indexed to provide fast searches, and
+  asynchronous API means it doesn't lock up the user interface.
+- Robustness from using a transactional database model.
+- Support for versioning.
+
+### Disadvantages
+
+- Not supported by all Cordova platforms.
+- More complex to work with than *LocalStorage* or *IndexedDB*.
+- The API is deprecated. It is unlikely to ever be supported on platforms
+  that don't currently support it, and it may be removed from platforms that do.
+- Imposes a rigid structure that must be defined up-front.
+- Limited total amount of storage (typically around 5MB).
+
 ## IndexedDB
 
-This API is available in the underlying WebView.
-[Indexed DB][IndexedDB] offers more features
-than LocalStorage but fewer than WebSQL.
+The goal of the IndexedDB API is to combine the strengths of the LocalStorage
+and WebSQL APIs, while avoiding their weaknesses. IndexedDB lets you store
+arbitrary JavaScript objects (provided they are supported by the [structured clone algorithm][StructuredCloneAlgorithm]),
+indexed with a key. It provides some of the benefits of SQL tables, without
+constraining the structure or needing to define it up front.
 
-The following platforms support IndexedDB:
+IndexedDB provides a simple and easy to understand data model, much like LocalStorage.
+But unlike LocalStorage, you can create multiple databases, with multiple stores per
+database, and its asynchronous API and search indexes provide performance benefits.
+
+IndexedDB is supported by the underlying WebView on the following Cordova platforms:
 
 - BlackBerry 10
-- Windows Phone 8
-- Windows 8
+- Windows (with some limitations)
+- Android (4.4 and above)
+
+### Windows Limitations
+
+Windows platform support for IndexedDB is incomplete. For example, it lacks
+the following features:
+
+- Not available in web workers.
+- Doesn't support array keyPaths.
+- Doesn't support array keys.
+- Doesn't support object lookup via compound index.
+
+### Usage Summary
+
+- IndexedDB works asynchronously - you request a particular database
+  operation, then get notified of the result via a DOM event.
+- When you make a request, you get a request object, which provides `onerror`
+  and `onsuccess` events, as well as properties such as `result`, `error`
+  and `readyState`.
+
+The following code snippet demonstrates some simple usage of IndexedDB:
+
+```javascript
+var db;
+var databaseName = 'myDB';
+var databaseVersion = 1;
+var openRequest = window.indexedDB.open(databaseName, databaseVersion);
+openRequest.onerror = function (event) {
+    console.log(openRequest.errorCode);
+};
+openRequest.onsuccess = function (event) {
+    // Database is open and initialized - we're good to proceed.
+    db = openRequest.result;
+    displayData();
+};
+openRequest.onupgradeneeded = function (event) {
+    // This is either a newly created database, or a new version number
+    // has been submitted to the open() call.
+    var db = event.target.result;
+    db.onerror = function () {
+        console.log(db.errorCode);
+    };
+
+    // Create an object store and indexes. A key is a data value used to organize
+    // and retrieve values in the object store. The keyPath option identifies where
+    // the key is stored. If a key path is specified, the store can only contain
+    // JavaScript objects, and each object stored must have a property with the
+    // same name as the key path (unless the autoIncrement option is true).
+    var store = db.createObjectStore('customers', { keyPath: 'customerId' });
+
+    // Define the indexes we want to use. Objects we add to the store don't need
+    // to contain these properties, but they will only appear in the specified
+    // index of they do.
+    //
+    // syntax: store.createIndex(indexName, keyPath[, parameters]);
+    //
+    // All these values could have duplicates, so set unique to false
+    store.createIndex('firstName', 'firstName', { unique: false });
+    store.createIndex('lastName', 'lastName', { unique: false });
+    store.createIndex('street', 'street', { unique: false });
+    store.createIndex('city', 'city', { unique: false });
+    store.createIndex('zipCode', 'zipCode', { unique: false });
+    store.createIndex('country', 'country', { unique: false });
+
+    // Once the store is created, populate it
+    store.transaction.oncomplete = function (event) {
+        // The transaction method takes an array of the names of object stores
+        // and indexes that will be in the scope of the transaction (or a single
+        // string to access a single object store). The transaction will be
+        // read-only unless the optional 'readwrite' parameter is specified.
+        // It returns a transaction object, which provides an objectStore method
+        // to access one of the object stores that are in the scope of this
+        //transaction.
+        var customerStore = db.transaction('customers', 'readwrite').objectStore('customers');
+        customers.forEach(function (customer) {
+            customerStore.add(customer);
+        });
+    };
+};
+
+function displayData() {
+}
+```
+
+For more information, see:
+
+- [W3C: Spec][W3CIndexedDB]
+- [MDN: IndexedDB API Reference][MDNIndexedDBAPI]
+- [MDN: IndexedDB Basic Concepts][MDNIndexedDBBasicConcepts]
+- [MDN: Using IndexedDB Guide][MDNUsingIndexedDB]
+
+### Advantages
+
+- Good performance - asynchronous API won't block the UI, and indexing provides
+  good search performance.
+- Simple data model easier to learn than SQL.
+- More flexible structure than WebSQL.
+- Multiple databases and object stores provides more structure than LocalStorage.
+- Robustness from using a transactional database model.
+- Support for versioning.
+
+### Disadvantages
+
+- Not supported on iOS.
+- Complex API with nested callbacks.
+- Limited total amount of storage (typically around 5MB).
 
 ## Plugin-Based Options
 
-In addition to the storage APIs listed above, the
-[File API][FileAPI] allows you to cache data on the local file system.  Other
-[Cordova plugins][CordovaPlugins] provide similar storage options.
+### FileSystem API
+
+The FileSystem API was a W3C spec that was implemented by Chrome, but not other
+browsers. It provides APIs to store and retrieve data on the local file system,
+and is described in some detail in an excellent [html5rocks article][Html5RocksFileSystemTutorial].
+While the API is not supported natively by any Cordova platform, the [File plugin][FileAPI]
+provides an extensive implementation that is available across all Cordova platforms.
+
+### SQLite Plugin
+
+The SQLite plugin provides an API virtually identical to WebSQL described above.
+The main differences are:
+
+- It is available with support for the Windows platform.
+- It effectively has no size limitations.
+
+It is available in the following variations:
+
+* **[cordova-sqlite-storage][SQLiteStorage]** - core version that relies
+  on native SQLite implementation. As such, it is only available for iOS
+  and Android platforms.
+* **[cordova-sqlite-ext][SQLiteExt]** - extended version with additional
+  features including support for Windows and REGEXP support on Android and iOS.
+* **[cordova-sqlite-evfree][SQLiteEVFree]** - similar to *cordova-sqlite-ext*
+  but with improved memory handling. Available under GPL v3 or commercial license.
+
+### Other Plugins
+
+Search [Cordova plugins][CordovaPlugins] for other plugins that provide
+alternative storage options.
 
-[Html5RocksStorage]: http://www.html5rocks.com/en/features/storage
-[W3CSpecStorage]: http://www.w3.org/TR/webstorage/
+[Html5RocksStorageOverview]: http://www.html5rocks.com/en/features/storage
+[Html5RocksStorageTutorial]: http://www.html5rocks.com/en/tutorials/offline/storage/
+[W3CSpecStorage]: https://html.spec.whatwg.org/multipage/webstorage.html
+[MDNStorage]: https://developer.mozilla.org/en-US/docs/Web/API/Storage
+[MDNStorageGuide]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API
 [WebSQLDatabaseSpecification]: http://dev.w3.org/html5/webdatabase/
-[IndexedDB]: http://www.w3.org/TR/IndexedDB/
+[TutorialsPointWebSQL]: http://www.tutorialspoint.com/html5/html5_web_sql.htm
+[w3schoolsSQL]: http://www.w3schools.com/sql/sql_intro.asp
+[SQLite]: https://www.sqlite.org/
+[W3CIndexedDB]: http://www.w3.org/TR/IndexedDB/
+[MDNIndexedDBAPI]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
+[MDNIndexedDBBasicConcepts]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB
+[MDNUsingIndexedDB]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB
+[StructuredCloneAlgorithm]: http://w3c.github.io/html/infrastructure.html#safe-passing-of-structured-data
+[Html5RocksFileSystemTutorial]: http://www.html5rocks.com/en/tutorials/file/filesystem/
 [FileAPI]: https://github.com/apache/cordova-plugin-file/blob/master/README.md
+[SQLiteStorage]: https://github.com/litehelpers/Cordova-sqlite-storage/blob/core-master/README.md
+[SQLiteExt]: https://github.com/litehelpers/cordova-sqlite-ext/blob/ext-master/README.md
+[SQLiteEVFree]: https://github.com/litehelpers/Cordova-sqlite-enterprise-free/blob/evfree-ext-rc/README.md
 [CordovaPlugins]: {{ site.baseurl }}/plugins

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e3751865/www/docs/en/6.x/gen/cordova-plugin-battery-status.md
----------------------------------------------------------------------
diff --git a/www/docs/en/6.x/gen/cordova-plugin-battery-status.md b/www/docs/en/6.x/gen/cordova-plugin-battery-status.md
deleted file mode 100644
index 1eb7fdd..0000000
--- a/www/docs/en/6.x/gen/cordova-plugin-battery-status.md
+++ /dev/null
@@ -1,183 +0,0 @@
----
-edit_link: 'https://github.com/apache/cordova-plugin-battery-status/blob/master/README.md'
-permalink: /docs/en/6.x/cordova-plugin-battery-status/index.html
-plugin_name: cordova-plugin-battery-status
-plugin_version: master
----
-
-<!--
-# 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.
--->
-
-[![Build Status](https://travis-ci.org/apache/cordova-plugin-battery-status.svg?branch=master)](https://travis-ci.org/apache/cordova-plugin-battery-status)
-
-# cordova-plugin-battery-status
-
-
-This plugin provides an implementation of an old version of the [Battery Status Events API](http://www.w3.org/TR/2011/WD-battery-status-20110915/).
-
-It adds the following three `window` events:
-
-* batterystatus
-* batterycritical
-* batterylow
-
-## Installation
-
-    cordova plugin add cordova-plugin-battery-status
-
-## batterystatus
-
-This event fires when the percentage of battery charge changes by at
-least 1 percent, or if the device is plugged in or unplugged.
-
-The battery status handler is passed an object that contains two
-properties:
-
-- __level__: The percentage of battery charge (0-100). _(Number)_
-
-- __isPlugged__: A boolean that indicates whether the device is plugged in. _(Boolean)_
-
-Applications typically should use `window.addEventListener` to
-attach an event listener after the `deviceready` event fires.
-
-### Supported Platforms
-
-- Amazon Fire OS
-- iOS
-- Android
-- BlackBerry 10
-- Windows Phone 7 and 8
-- Windows (Windows Phone 8.1 only)
-- Tizen
-- Firefox OS
-- Browser
-
-### Android and Amazon Fire OS Quirks
-
-- Warning: the Android + Fire OS implementations are greedy and prolonged use will drain the user's battery. 
-
-### Windows Phone 7 and 8 Quirks
-
-Windows Phone 7 does not provide native APIs to determine battery
-level, so the `level` property is unavailable.  The `isPlugged`
-parameter _is_ supported.
-
-### Windows Quirks
-
-Windows Phone 8.1 does not support `isPlugged` parameter.
-The `level` parameter _is_ supported.
-
-### Browser Quirks
-
-Supported browsers are Chrome, Firefox and Opera. 
-
-### Example
-
-    window.addEventListener("batterystatus", onBatteryStatus, false);
-
-    function onBatteryStatus(info) {
-        // Handle the online event
-        console.log("Level: " + info.level + " isPlugged: " + info.isPlugged);
-    }
-
-## batterycritical
-
-The event fires when the percentage of battery charge has reached the
-critical battery threshold. The value is device-specific.
-
-The `batterycritical` handler is passed an object that contains two
-properties:
-
-- __level__: The percentage of battery charge (0-100). _(Number)_
-
-- __isPlugged__: A boolean that indicates whether the device is plugged in. _(Boolean)_
-
-Applications typically should use `window.addEventListener` to attach
-an event listener once the `deviceready` event fires.
-
-### Supported Platforms
-
-- Amazon Fire OS
-- iOS
-- Android
-- BlackBerry 10
-- Tizen
-- Firefox OS
-- Windows (Windows Phone 8.1 only)
-- Browser
-
-### Windows Quirks
-
-Windows Phone 8.1 will fire `batterycritical` event regardless of plugged state as it is not supported.
-
-### Example
-
-    window.addEventListener("batterycritical", onBatteryCritical, false);
-
-    function onBatteryCritical(info) {
-        // Handle the battery critical event
-        alert("Battery Level Critical " + info.level + "%\nRecharge Soon!");
-    }
-
-### Browser Quirks
-
-Supported browsers are Chrome, Firefox and Opera. 
-
-## batterylow
-
-The event fires when the percentage of battery charge has reached the
-low battery threshold, device-specific value.
-
-The `batterylow` handler is passed an object that contains two
-properties:
-
-- __level__: The percentage of battery charge (0-100). _(Number)_
-
-- __isPlugged__: A boolean that indicates whether the device is plugged in. _(Boolean)_
-
-Applications typically should use `window.addEventListener` to
-attach an event listener once the `deviceready` event fires.
-
-### Supported Platforms
-
-- Amazon Fire OS
-- iOS
-- Android
-- BlackBerry 10
-- Tizen
-- Firefox OS
-- Windows (Windows Phone 8.1 only)
-- Browser
-
-### Windows Quirks
-
-Windows Phone 8.1 will fire `batterylow` event regardless of plugged state as it is not supported.
-
-### Example
-
-    window.addEventListener("batterylow", onBatteryLow, false);
-
-    function onBatteryLow(info) {
-        // Handle the battery low event
-        alert("Battery Level Low " + info.level + "%");
-    }
-
-### Browser Quirks
-
-Supported browsers are Chrome, Firefox and Opera. 

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/e3751865/www/docs/en/6.x/gen/cordova-plugin-camera.md
----------------------------------------------------------------------
diff --git a/www/docs/en/6.x/gen/cordova-plugin-camera.md b/www/docs/en/6.x/gen/cordova-plugin-camera.md
deleted file mode 100644
index 32e2ef3..0000000
--- a/www/docs/en/6.x/gen/cordova-plugin-camera.md
+++ /dev/null
@@ -1,531 +0,0 @@
----
-edit_link: 'https://github.com/apache/cordova-plugin-camera/blob/master/README.md'
-permalink: /docs/en/6.x/cordova-plugin-camera/index.html
-plugin_name: cordova-plugin-camera
-plugin_version: master
----
-
-<!---
-# 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.
--->
-
-[![Build Status](https://travis-ci.org/apache/cordova-plugin-camera.svg?branch=master)](https://travis-ci.org/apache/cordova-plugin-camera)
-
-# cordova-plugin-camera
-
-This plugin defines a global `navigator.camera` object, which provides an API for taking pictures and for choosing images from
-the system's image library.
-
-Although the object is attached to the global scoped `navigator`, it is not available until after the `deviceready` event.
-
-    document.addEventListener("deviceready", onDeviceReady, false);
-    function onDeviceReady() {
-        console.log(navigator.camera);
-    }
-
-
-## Installation
-
-This requires cordova 5.0+
-
-    cordova plugin add cordova-plugin-camera
-Older versions of cordova can still install via the __deprecated__ id
-
-    cordova plugin add org.apache.cordova.camera
-It is also possible to install via repo url directly ( unstable )
-
-    cordova plugin add https://github.com/apache/cordova-plugin-camera.git
-
-
-## How to Contribute
-
-Contributors are welcome! And we need your contributions to keep the project moving forward. You can [report bugs](https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20%22Plugin%20Camera%22%20ORDER%20BY%20priority%20DESC%2C%20summary%20ASC%2C%20updatedDate%20DESC), improve the documentation, or [contribute code](https://github.com/apache/cordova-plugin-camera/pulls).
-
-There is a specific [contributor workflow](http://wiki.apache.org/cordova/ContributorWorkflow) we recommend. Start reading there. More information is available on [our wiki](http://wiki.apache.org/cordova).
-
-:warning: **Found an issue?** File it on [JIRA issue tracker](https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened)%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20%22Plugin%20Camera%22%20ORDER%20BY%20priority%20DESC%2C%20summary%20ASC%2C%20updatedDate%20DESC).
-
-**Have a solution?** Send a [Pull Request](https://github.com/apache/cordova-plugin-camera/pulls).
-
-In order for your changes to be accepted, you need to sign and submit an Apache [ICLA](http://www.apache.org/licenses/#clas) (Individual Contributor License Agreement). Then your name will appear on the list of CLAs signed by [non-committers](https://people.apache.org/committer-index.html#unlistedclas) or [Cordova committers](http://people.apache.org/committers-by-project.html#cordova).
-
-**And don't forget to test and document your code.**
-
-
-## This documentation is generated by a tool
-
-:warning: Run `npm install` in the plugin repo to enable automatic docs generation if you plan to send a PR.  
-[jsdoc-to-markdown](https://www.npmjs.com/package/jsdoc-to-markdown) is used to generate the docs.  
-Documentation consists of template and API docs produced from the plugin JS code and should be regenerated before each commit (done automatically via [husky](https://github.com/typicode/husky), running `npm run gen-docs` script as a `precommit` hook - see `package.json` for details).
-
-
----
-
-# API Reference
-
-
-* [camera](#module_camera)
-    * [.getPicture(successCallback, errorCallback, options)](#module_camera.getPicture)
-    * [.cleanup()](#module_camera.cleanup)
-    * [.onError](#module_camera.onError) : <code>function</code>
-    * [.onSuccess](#module_camera.onSuccess) : <code>function</code>
-    * [.CameraOptions](#module_camera.CameraOptions) : <code>Object</code>
-
-
-* [Camera](#module_Camera)
-    * [.DestinationType](#module_Camera.DestinationType) : <code>enum</code>
-    * [.EncodingType](#module_Camera.EncodingType) : <code>enum</code>
-    * [.MediaType](#module_Camera.MediaType) : <code>enum</code>
-    * [.PictureSourceType](#module_Camera.PictureSourceType) : <code>enum</code>
-    * [.PopoverArrowDirection](#module_Camera.PopoverArrowDirection) : <code>enum</code>
-    * [.Direction](#module_Camera.Direction) : <code>enum</code>
-
-* [CameraPopoverHandle](#module_CameraPopoverHandle)
-* [CameraPopoverOptions](#module_CameraPopoverOptions)
-
----
-
-<a name="module_camera"></a>
-## camera
-<a name="module_camera.getPicture"></a>
-### camera.getPicture(successCallback, errorCallback, options)
-Takes a photo using the camera, or retrieves a photo from the device's
-image gallery.  The image is passed to the success callback as a
-base64-encoded `String`, or as the URI for the image file.
-
-The `camera.getPicture` function opens the device's default camera
-application that allows users to snap pictures by default - this behavior occurs,
-when `Camera.sourceType` equals [`Camera.PictureSourceType.CAMERA`](#module_Camera.PictureSourceType).
-Once the user snaps the photo, the camera application closes and the application is restored.
-
-If `Camera.sourceType` is `Camera.PictureSourceType.PHOTOLIBRARY` or
-`Camera.PictureSourceType.SAVEDPHOTOALBUM`, then a dialog displays
-that allows users to select an existing image.  The
-`camera.getPicture` function returns a [`CameraPopoverHandle`](#module_CameraPopoverHandle) object,
-which can be used to reposition the image selection dialog, for
-example, when the device orientation changes.
-
-The return value is sent to the [`cameraSuccess`](#module_camera.onSuccess) callback function, in
-one of the following formats, depending on the specified
-`cameraOptions`:
-
-- A `String` containing the base64-encoded photo image.
-
-- A `String` representing the image file location on local storage (default).
-
-You can do whatever you want with the encoded image or URI, for
-example:
-
-- Render the image in an `<img>` tag, as in the example below
-
-- Save the data locally (`LocalStorage`, [Lawnchair](http://brianleroux.github.com/lawnchair/), etc.)
-
-- Post the data to a remote server
-
-__NOTE__: Photo resolution on newer devices is quite good. Photos
-selected from the device's gallery are not downscaled to a lower
-quality, even if a `quality` parameter is specified.  To avoid common
-memory problems, set `Camera.destinationType` to `FILE_URI` rather
-than `DATA_URL`.
-
-__Supported Platforms__
-
-- Android
-- BlackBerry
-- Browser
-- Firefox
-- FireOS
-- iOS
-- Windows
-- WP8
-- Ubuntu
-
-More examples [here](#camera-getPicture-examples). Quirks [here](#camera-getPicture-quirks).
-
-**Kind**: static method of <code>[camera](#module_camera)</code>  
-
-| Param | Type | Description |
-| --- | --- | --- |
-| successCallback | <code>[onSuccess](#module_camera.onSuccess)</code> |  |
-| errorCallback | <code>[onError](#module_camera.onError)</code> |  |
-| options | <code>[CameraOptions](#module_camera.CameraOptions)</code> | CameraOptions |
-
-**Example**  
-```js
-navigator.camera.getPicture(cameraSuccess, cameraError, cameraOptions);
-```
-<a name="module_camera.cleanup"></a>
-### camera.cleanup()
-Removes intermediate image files that are kept in temporary storage
-after calling [`camera.getPicture`](#module_camera.getPicture). Applies only when the value of
-`Camera.sourceType` equals `Camera.PictureSourceType.CAMERA` and the
-`Camera.destinationType` equals `Camera.DestinationType.FILE_URI`.
-
-__Supported Platforms__
-
-- iOS
-
-**Kind**: static method of <code>[camera](#module_camera)</code>  
-**Example**  
-```js
-navigator.camera.cleanup(onSuccess, onFail);
-
-function onSuccess() {
-    console.log("Camera cleanup success.")
-}
-
-function onFail(message) {
-    alert('Failed because: ' + message);
-}
-```
-<a name="module_camera.onError"></a>
-### camera.onError : <code>function</code>
-Callback function that provides an error message.
-
-**Kind**: static typedef of <code>[camera](#module_camera)</code>  
-
-| Param | Type | Description |
-| --- | --- | --- |
-| message | <code>string</code> | The message is provided by the device's native code. |
-
-<a name="module_camera.onSuccess"></a>
-### camera.onSuccess : <code>function</code>
-Callback function that provides the image data.
-
-**Kind**: static typedef of <code>[camera](#module_camera)</code>  
-
-| Param | Type | Description |
-| --- | --- | --- |
-| imageData | <code>string</code> | Base64 encoding of the image data, _or_ the image file URI, depending on [`cameraOptions`](#module_camera.CameraOptions) in effect. |
-
-**Example**  
-```js
-// Show image
-//
-function cameraCallback(imageData) {
-   var image = document.getElementById('myImage');
-   image.src = "data:image/jpeg;base64," + imageData;
-}
-```
-<a name="module_camera.CameraOptions"></a>
-### camera.CameraOptions : <code>Object</code>
-Optional parameters to customize the camera settings.
-* [Quirks](#CameraOptions-quirks)
-
-**Kind**: static typedef of <code>[camera](#module_camera)</code>  
-**Properties**
-
-| Name | Type | Default | Description |
-| --- | --- | --- | --- |
-| quality | <code>number</code> | <code>50</code> | Quality of the saved image, expressed as a range of 0-100, where 100 is typically full resolution with no loss from file compression. (Note that information about the camera's resolution is unavailable.) |
-| destinationType | <code>[DestinationType](#module_Camera.DestinationType)</code> | <code>FILE_URI</code> | Choose the format of the return value. |
-| sourceType | <code>[PictureSourceType](#module_Camera.PictureSourceType)</code> | <code>CAMERA</code> | Set the source of the picture. |
-| allowEdit | <code>Boolean</code> | <code>true</code> | Allow simple editing of image before selection. |
-| encodingType | <code>[EncodingType](#module_Camera.EncodingType)</code> | <code>JPEG</code> | Choose the  returned image file's encoding. |
-| targetWidth | <code>number</code> |  | Width in pixels to scale image. Must be used with `targetHeight`. Aspect ratio remains constant. |
-| targetHeight | <code>number</code> |  | Height in pixels to scale image. Must be used with `targetWidth`. Aspect ratio remains constant. |
-| mediaType | <code>[MediaType](#module_Camera.MediaType)</code> | <code>PICTURE</code> | Set the type of media to select from.  Only works when `PictureSourceType` is `PHOTOLIBRARY` or `SAVEDPHOTOALBUM`. |
-| correctOrientation | <code>Boolean</code> |  | Rotate the image to correct for the orientation of the device during capture. |
-| saveToPhotoAlbum | <code>Boolean</code> |  | Save the image to the photo album on the device after capture. |
-| popoverOptions | <code>[CameraPopoverOptions](#module_CameraPopoverOptions)</code> |  | iOS-only options that specify popover location in iPad. |
-| cameraDirection | <code>[Direction](#module_Camera.Direction)</code> | <code>BACK</code> | Choose the camera to use (front- or back-facing). |
-
----
-
-<a name="module_Camera"></a>
-## Camera
-<a name="module_Camera.DestinationType"></a>
-### Camera.DestinationType : <code>enum</code>
-**Kind**: static enum property of <code>[Camera](#module_Camera)</code>  
-**Properties**
-
-| Name | Type | Default | Description |
-| --- | --- | --- | --- |
-| DATA_URL | <code>number</code> | <code>0</code> | Return base64 encoded string |
-| FILE_URI | <code>number</code> | <code>1</code> | Return file uri (content://media/external/images/media/2 for Android) |
-| NATIVE_URI | <code>number</code> | <code>2</code> | Return native uri (eg. asset-library://... for iOS) |
-
-<a name="module_Camera.EncodingType"></a>
-### Camera.EncodingType : <code>enum</code>
-**Kind**: static enum property of <code>[Camera](#module_Camera)</code>  
-**Properties**
-
-| Name | Type | Default | Description |
-| --- | --- | --- | --- |
-| JPEG | <code>number</code> | <code>0</code> | Return JPEG encoded image |
-| PNG | <code>number</code> | <code>1</code> | Return PNG encoded image |
-
-<a name="module_Camera.MediaType"></a>
-### Camera.MediaType : <code>enum</code>
-**Kind**: static enum property of <code>[Camera](#module_Camera)</code>  
-**Properties**
-
-| Name | Type | Default | Description |
-| --- | --- | --- | --- |
-| PICTURE | <code>number</code> | <code>0</code> | Allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType |
-| VIDEO | <code>number</code> | <code>1</code> | Allow selection of video only, ONLY RETURNS URL |
-| ALLMEDIA | <code>number</code> | <code>2</code> | Allow selection from all media types |
-
-<a name="module_Camera.PictureSourceType"></a>
-### Camera.PictureSourceType : <code>enum</code>
-**Kind**: static enum property of <code>[Camera](#module_Camera)</code>  
-**Properties**
-
-| Name | Type | Default | Description |
-| --- | --- | --- | --- |
-| PHOTOLIBRARY | <code>number</code> | <code>0</code> | Choose image from picture library (same as SAVEDPHOTOALBUM for Android) |
-| CAMERA | <code>number</code> | <code>1</code> | Take picture from camera |
-| SAVEDPHOTOALBUM | <code>number</code> | <code>2</code> | Choose image from picture library (same as PHOTOLIBRARY for Android) |
-
-<a name="module_Camera.PopoverArrowDirection"></a>
-### Camera.PopoverArrowDirection : <code>enum</code>
-Matches iOS UIPopoverArrowDirection constants to specify arrow location on popover.
-
-**Kind**: static enum property of <code>[Camera](#module_Camera)</code>  
-**Properties**
-
-| Name | Type | Default |
-| --- | --- | --- |
-| ARROW_UP | <code>number</code> | <code>1</code> | 
-| ARROW_DOWN | <code>number</code> | <code>2</code> | 
-| ARROW_LEFT | <code>number</code> | <code>4</code> | 
-| ARROW_RIGHT | <code>number</code> | <code>8</code> | 
-| ARROW_ANY | <code>number</code> | <code>15</code> | 
-
-<a name="module_Camera.Direction"></a>
-### Camera.Direction : <code>enum</code>
-**Kind**: static enum property of <code>[Camera](#module_Camera)</code>  
-**Properties**
-
-| Name | Type | Default | Description |
-| --- | --- | --- | --- |
-| BACK | <code>number</code> | <code>0</code> | Use the back-facing camera |
-| FRONT | <code>number</code> | <code>1</code> | Use the front-facing camera |
-
----
-
-<a name="module_CameraPopoverOptions"></a>
-## CameraPopoverOptions
-iOS-only parameters that specify the anchor element location and arrow
-direction of the popover when selecting images from an iPad's library
-or album.
-Note that the size of the popover may change to adjust to the
-direction of the arrow and orientation of the screen.  Make sure to
-account for orientation changes when specifying the anchor element
-location.
-
-
-| Param | Type | Default | Description |
-| --- | --- | --- | --- |
-| [x] | <code>Number</code> | <code>0</code> | x pixel coordinate of screen element onto which to anchor the popover. |
-| [y] | <code>Number</code> | <code>32</code> | y pixel coordinate of screen element onto which to anchor the popover. |
-| [width] | <code>Number</code> | <code>320</code> | width, in pixels, of the screen element onto which to anchor the popover. |
-| [height] | <code>Number</code> | <code>480</code> | height, in pixels, of the screen element onto which to anchor the popover. |
-| [arrowDir] | <code>[PopoverArrowDirection](#module_Camera.PopoverArrowDirection)</code> | <code>ARROW_ANY</code> | Direction the arrow on the popover should point. |
-
----
-
-<a name="module_CameraPopoverHandle"></a>
-## CameraPopoverHandle
-A handle to an image picker popover.
-
-__Supported Platforms__
-
-- iOS
-
-**Example**  
-```js
-var cameraPopoverHandle = navigator.camera.getPicture(onSuccess, onFail,
-{
-    destinationType: Camera.DestinationType.FILE_URI,
-    sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
-    popoverOptions: new CameraPopoverOptions(300, 300, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY)
-});
-
-// Reposition the popover if the orientation changes.
-window.onorientationchange = function() {
-    var cameraPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY);
-    cameraPopoverHandle.setPosition(cameraPopoverOptions);
-}
-```
----
-
-
-## `camera.getPicture` Errata
-
-#### Example <a name="camera-getPicture-examples"></a>
-
-Take a photo and retrieve it as a base64-encoded image:
-
-    navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
-        destinationType: Camera.DestinationType.DATA_URL
-    });
-
-    function onSuccess(imageData) {
-        var image = document.getElementById('myImage');
-        image.src = "data:image/jpeg;base64," + imageData;
-    }
-
-    function onFail(message) {
-        alert('Failed because: ' + message);
-    }
-
-Take a photo and retrieve the image's file location:
-
-    navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
-        destinationType: Camera.DestinationType.FILE_URI });
-
-    function onSuccess(imageURI) {
-        var image = document.getElementById('myImage');
-        image.src = imageURI;
-    }
-
-    function onFail(message) {
-        alert('Failed because: ' + message);
-    }
-
-#### Preferences (iOS)
-
--  __CameraUsesGeolocation__ (boolean, defaults to false). For capturing JPEGs, set to true to get geolocation data in the EXIF header. This will trigger a request for geolocation permissions if set to true.
-
-        <preference name="CameraUsesGeolocation" value="false" />
-
-#### Amazon Fire OS Quirks <a name="camera-getPicture-quirks"></a>
-
-Amazon Fire OS uses intents to launch the camera activity on the device to capture
-images, and on phones with low memory, the Cordova activity may be killed.  In this
-scenario, the image may not appear when the cordova activity is restored.
-
-#### Android Quirks
-
-Android uses intents to launch the camera activity on the device to capture
-images, and on phones with low memory, the Cordova activity may be killed.  In this
-scenario, the result from the plugin call will be delivered via the resume event.
-See [the Android Lifecycle guide](http://cordova.apache.org/docs/en/dev/guide/platforms/android/lifecycle.html)
-for more information. The `pendingResult.result` value will contain the value that
-would be passed to the callbacks (either the URI/URL or an error message). Check
-the `pendingResult.pluginStatus` to determine whether or not the call was
-successful.
-
-#### Browser Quirks
-
-Can only return photos as base64-encoded image.
-
-#### Firefox OS Quirks
-
-Camera plugin is currently implemented using [Web Activities](https://hacks.mozilla.org/2013/01/introducing-web-activities/).
-
-#### iOS Quirks
-
-Including a JavaScript `alert()` in either of the callback functions
-can cause problems.  Wrap the alert within a `setTimeout()` to allow
-the iOS image picker or popover to fully close before the alert
-displays:
-
-    setTimeout(function() {
-        // do your thing here!
-    }, 0);
-
-#### Windows Phone 7 Quirks
-
-Invoking the native camera application while the device is connected
-via Zune does not work, and triggers an error callback.
-
-#### Tizen Quirks
-
-Tizen only supports a `destinationType` of
-`Camera.DestinationType.FILE_URI` and a `sourceType` of
-`Camera.PictureSourceType.PHOTOLIBRARY`.
-
-
-## `CameraOptions` Errata <a name="CameraOptions-quirks"></a>
-
-#### Amazon Fire OS Quirks
-
-- Any `cameraDirection` value results in a back-facing photo.
-
-- Ignores the `allowEdit` parameter.
-
-- `Camera.PictureSourceType.PHOTOLIBRARY` and `Camera.PictureSourceType.SAVEDPHOTOALBUM` both display the same photo album.
-
-#### Android Quirks
-
-- Any `cameraDirection` value results in a back-facing photo.
-
-- **`allowEdit` is unpredictable on Android and it should not be used!** The Android implementation of this plugin tries to find and use an application on the user's device to do image cropping. The plugin has no control over what application the user selects to perform the image cropping and it is very possible that the user could choose an incompatible option and cause the plugin to fail. This sometimes works because most devices come with an application that handles cropping in a way that is compatible with this plugin (Google Plus Photos), but it is unwise to rely on that being the case. If image editing is essential to your application, consider seeking a third party library or plugin that provides its own image editing utility for a more robust solution.
-
-- `Camera.PictureSourceType.PHOTOLIBRARY` and `Camera.PictureSourceType.SAVEDPHOTOALBUM` both display the same photo album.
-
-- Ignores the `encodingType` parameter if the image is unedited (i.e. `quality` is 100, `correctOrientation` is false, and no `targetHeight` or `targetWidth` are specified). The `CAMERA` source will always return the JPEG file given by the native camera and the `PHOTOLIBRARY` and `SAVEDPHOTOALBUM` sources will return the selected file in its existing encoding.
-
-#### BlackBerry 10 Quirks
-
-- Ignores the `quality` parameter.
-
-- Ignores the `allowEdit` parameter.
-
-- `Camera.MediaType` is not supported.
-
-- Ignores the `correctOrientation` parameter.
-
-- Ignores the `cameraDirection` parameter.
-
-#### Firefox OS Quirks
-
-- Ignores the `quality` parameter.
-
-- `Camera.DestinationType` is ignored and equals `1` (image file URI)
-
-- Ignores the `allowEdit` parameter.
-
-- Ignores the `PictureSourceType` parameter (user chooses it in a dialog window)
-
-- Ignores the `encodingType`
-
-- Ignores the `targetWidth` and `targetHeight`
-
-- `Camera.MediaType` is not supported.
-
-- Ignores the `correctOrientation` parameter.
-
-- Ignores the `cameraDirection` parameter.
-
-#### iOS Quirks
-
-- When using `destinationType.FILE_URI`, photos are saved in the application's temporary directory. The contents of the application's temporary directory is deleted when the application ends.
-
-- When using `destinationType.NATIVE_URI` and `sourceType.CAMERA`, photos are saved in the saved photo album regardless on the value of `saveToPhotoAlbum` parameter.
-
-#### Tizen Quirks
-
-- options not supported
-
-- always returns a FILE URI
-
-#### Windows Phone 7 and 8 Quirks
-
-- Ignores the `allowEdit` parameter.
-
-- Ignores the `correctOrientation` parameter.
-
-- Ignores the `cameraDirection` parameter.
-
-- Ignores the `saveToPhotoAlbum` parameter.  IMPORTANT: All images taken with the wp7/8 cordova camera API are always copied to the phone's camera roll.  Depending on the user's settings, this could also mean the image is auto-uploaded to their OneDrive.  This could potentially mean the image is available to a wider audience than your app intended.  If this a blocker for your application, you will need to implement the CameraCaptureTask as documented on msdn : [http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394006.aspx](http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394006.aspx)
-You may also comment or up-vote the related issue in the [issue tracker](https://issues.apache.org/jira/browse/CB-2083)
-
-- Ignores the `mediaType` property of `cameraOptions` as the Windows Phone SDK does not provide a way to choose videos from PHOTOLIBRARY.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org