You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Jesse MacFadyen (JIRA)" <ji...@apache.org> on 2013/04/02 21:55:16 UTC

[jira] [Commented] (CB-2823) window.openDatabase() throws exception 18 on BlackBerry and WP

    [ https://issues.apache.org/jira/browse/CB-2823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13620198#comment-13620198 ] 

Jesse MacFadyen commented on CB-2823:
-------------------------------------

Windows Phone 7+8 do not support openDatabase or ANY WebSQL APIs
The API is deprecated as well.
                
> window.openDatabase() throws exception 18 on BlackBerry and WP
> --------------------------------------------------------------
>
>                 Key: CB-2823
>                 URL: https://issues.apache.org/jira/browse/CB-2823
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: BlackBerry, WP7
>    Affects Versions: 2.4.0, 2.5.0
>            Reporter: Anton Merkulov
>            Assignee: Tim Kim
>         Attachments: IMAG0149.jpg
>
>
> For example this string
> {code}
>         document.addEventListener("deviceready", function onDeviceReady() {
>           var db = this.window.openDatabase('blackBerryDB', '1.0', 'blackBerryDBName', 5000000);
>         }, false);
> {code}
> will throw SECURITY_ERR: DOM Exception 18
> Looks like this problemm was resolved for androis and ios and stay actual for BlackBerry and WP
> Example cordova.2.4.js for android
> {code:title=cordova.2.4.js|borderStyle=solid}
>   // some Android devices will throw a SECURITY_ERR -
>   // so we wrap the whole thing in a try-catch and shim in our own
>   // if the device has Android bug 16175.
>   var originalOpenDatabase = window.openDatabase;
>   window.openDatabase = function(name, version, desc, size) {
>     var db = null;
>     try {
>       db = originalOpenDatabase(name, version, desc, size);
>     } catch (ex) {
>       if (ex.code === 18) {
>         db = null;
>       } else {
>         throw ex;
>       }
>     }
>     if (db === null) {
>       return storage.openDatabase(name, version, desc, size);
>     } else {
>       return db;
>     }
>   };
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira