incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shazron Abdullah (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-347) localStorage / SQLDatabase Error after App update
Date Tue, 24 Apr 2012 22:10:05 GMT

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

Shazron Abdullah commented on CB-347:
-------------------------------------

Looking at the code, the fix is applied here:
   https://github.com/apache/incubator-cordova-ios/blob/master/CordovaLib/Classes/CDVViewController.m#L167

But the page is loaded here:
   https://github.com/apache/incubator-cordova-ios/blob/master/CordovaLib/Classes/CDVViewController.m#L197

There shouldn't be security errors before the page is loaded since there would be no calls
to localStorage/WebSQL.

So the sequence of events appears to be correct, and they should occur synchronously. The
only thing is, the UIWebView is created first before either of the code blocks, and perhaps
during the UIWebView initialization, it picks up the .plist values. 

In my testing, and probably in other users' testing when they tested the patch, this UIWebView
initialization of .plist values happens *after* the patch is applied (a fluke of timing),
so everything appears ok - while in your case, it is the opposite.

The evidence points to the UIWebView picking up the .plist locations after it is instantiated
(which makes sense if one was to design the class), but before a request is handled.

The fix for this would be to apply the patch before the UIWebView is instantiated.


                
> localStorage / SQLDatabase Error after App update
> -------------------------------------------------
>
>                 Key: CB-347
>                 URL: https://issues.apache.org/jira/browse/CB-347
>             Project: Apache Callback
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.2.0, 1.3.0, 1.4.0, 1.5.0
>         Environment: iOS 5.01
> PhoneGap (Any version)
> Build.PhoneGap
>            Reporter: Urs Zimmermann
>            Assignee: Shazron Abdullah
>            Priority: Blocker
>              Labels: ios5.01, localstorage, phonegap, sqldatabase, websql
>             Fix For: 1.6.0
>
>         Attachments: WebKit-Prefs.zip
>
>
> Hello
> After I update my phonegap app containing values and dates in both localStorage and SQLite
database on iOS 5.1
> -> Call to window.openDatabase fails with "SECURITY_ERR: DOM Exception 18"
> -> Call to localStorage.setItem fails silently
> How to Reproduce:
> In a UIWebView, create a new DB or use localStorage from phonegap API
> Overwrite / update your app and open the same database or write to localStorage
> Expected Results:
> We should see the data from the database and localStorage.
> Actual Results:
> Call to window.openDatabase fails with "SECURITY_ERR: DOM Exception 18"
> Call to localStorage.setItem fails silently
> References:
> https://groups.google.com/forum/#!topic/phonegap/egzXNrBRIbk/discussion
> https://groups.google.com/forum/#!topic/phonegap/jS2IVZcg8HI/discussion
> https://issues.apache.org/jira/browse/CB-330

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message