{ "id": "105744", "key": "TIMOB-11999", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "15275", "description": "2013 Sprint 04 Core", "name": "2013 Sprint 04 Core", "archived": true, "released": true, "releaseDate": "2013-02-25" }, { "id": "14814", "description": "2013 Sprint 04", "name": "2013 Sprint 04", "archived": true, "released": true, "releaseDate": "2013-02-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-08-15T23:34:28.000+0000", "created": "2012-11-30T13:44:57.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "module_webview", "qe-manualtest", "triage" ], "versions": [ { "id": "14613", "description": "Release 2.1.4", "name": "Release 2.1.4", "archived": true, "released": true, "releaseDate": "2012-11-12" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [], "assignee": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "updated": "2014-08-15T23:34:28.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Problem description*\r\nLocalStorage in the webview component on Android is not persisting data across app sessions when loading the HTML and related files as local resources. This is not consistent with iOS webview.\r\n\r\n*Suggestion*\r\nSeems like adding a 'WebSettings' property to the WebView to allow the settings of 'DomStorageEnabled' and 'DatabasePath' would do the trick simply enough.\r\n\r\n*Test case*\r\nSee attachment.", "attachment": [ { "id": "33939", "filename": "localStorageTest.zip", "author": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2012-12-05T03:05:55.000+0000", "size": 3661795, "mimeType": "application/zip" } ], "flagged": false, "summary": "Android: localStorage not persistent in WebView when loading local resources", "creator": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "subtasks": [], "reporter": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "environment": "Titanium Studio, build: 2.1.2.201208301612 w/SDK 2.1.4.GA on OSX Lion", "comment": { "comments": [ { "id": "229330", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Could you put together a test case for this? Thanks.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-11-30T17:46:24.000+0000", "updated": "2012-11-30T17:46:24.000+0000" }, { "id": "229771", "author": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "body": "was my test case not enough?", "updateAuthor": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2012-12-04T02:42:07.000+0000", "updated": "2012-12-04T02:42:07.000+0000" }, { "id": "229773", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-04T02:57:59.000+0000", "updated": "2012-12-04T02:57:59.000+0000" }, { "id": "229774", "author": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "body": "I included a test case project in a zip file as a response to your email generated by your first comment. I figured that was easiest since it involved HTML5 in a webview on a titanium app.", "updateAuthor": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2012-12-04T03:08:15.000+0000", "updated": "2012-12-04T03:08:15.000+0000" }, { "id": "229776", "author": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Also, I forgot to add that I did research this in Q&A first .. as well as posting my own Q&A question at:\nhttp://developer.appcelerator.com/question/145236/android-webview-localstorage", "updateAuthor": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2012-12-04T03:15:00.000+0000", "updated": "2012-12-04T03:15:00.000+0000" }, { "id": "229792", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hmm odd, I can't see a zip attachment. I've re-opened the issue. Could you try uploading again? Cheers.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-04T05:49:28.000+0000", "updated": "2012-12-04T05:49:28.000+0000" }, { "id": "230017", "author": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Did the localStorageTest.zip come across?", "updateAuthor": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2012-12-05T02:47:40.000+0000", "updated": "2012-12-05T02:47:40.000+0000" }, { "id": "230021", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Am I right in assuming that you replied to the email generated by JIRA? If so, then that wouldn't have come through, no. You need to upload it on the issue page itself through More Actions -> Attach Files.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-05T02:54:04.000+0000", "updated": "2012-12-05T02:54:04.000+0000" }, { "id": "230022", "author": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "body": "ah I finally found the place to upload attachments. DOHH!\r\nMy apologies for being so dense.\r\n-B", "updateAuthor": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2012-12-05T03:05:55.000+0000", "updated": "2012-12-05T03:05:55.000+0000" }, { "id": "230024", "author": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "body": "I found it under Edit .. before I had only seen 'Create Sub-task' and 'Clone' in 'More Actions' :-S\nanyway .. is done .. finally.\n\nThx\n\n-B", "updateAuthor": { "name": "bburgess66@netvigator.com", "key": "bburgess66@netvigator.com", "displayName": "Brian Burgess", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2012-12-05T03:08:25.000+0000", "updated": "2012-12-05T03:08:25.000+0000" }, { "id": "230481", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and confirmed on Android Samsung Galaxy S2 2.3.6 with TiSDK 2.1.4 GA and 3.0 RC. Does not persist the values when you kill the app. Works as expected in iOS 6 simulator.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-07T23:05:04.000+0000", "updated": "2012-12-07T23:05:04.000+0000" }, { "id": "237721", "author": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Set the properties DatabaseEnabled and DatabasePath on WebSettings to enable local storage. Tested in device and in emulator.", "updateAuthor": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-02-08T02:32:34.000+0000", "updated": "2013-02-08T02:32:34.000+0000" }, { "id": "238417", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Test steps:\n\n1. Launch the app\n2. Type in 'pizza' for value, and 'food' for name\n3. Click on the 'setItem' button\n4. Close the app completely (on 4.X devices, you can do this by using the recent app button, and swipe to the left to remove it. Otherwise, you will need to go to Settings > Applications > Manage Applications > localStorageTest > Force Stop)\n5. Relaunch the app and verify that the food item is in the items list.\n\nExpected Result:\nThe food item should be on the item list after relaunch\n\nActual Result:\nThe food item is not on the list", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-02-13T21:36:43.000+0000", "updated": "2013-02-13T21:36:43.000+0000" }, { "id": "238418", "author": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/3854", "updateAuthor": { "name": "ayeung", "key": "ayeung", "displayName": "Allen Yeung", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-02-13T21:38:26.000+0000", "updated": "2013-02-13T21:38:26.000+0000" }, { "id": "239373", "author": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Localstorage is persistent.\r\n\r\nVerified on :\r\ndevice : google nexus, android version :4.1\r\nSDK version: 3.1.0.v20130220200300\r\nCLI version : 3.0.24\r\nOS : MAC OSX 10.7.5\r\nXCode : 4.5.1", "updateAuthor": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-02-22T10:26:08.000+0000", "updated": "2013-02-22T10:26:08.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }