← Back to team overview

ubuntu-phone team mailing list archive

Re: Persisting cookies in Oxide

 

On Wed, Jul 16, 2014 at 3:43 PM, Jamie Strandboge <jamie@xxxxxxxxxxxxx>
wrote:

> On 07/16/2014 06:53 AM, Olivier Tilloy wrote:
> >
> >
> >
> > On Wed, Jul 16, 2014 at 7:04 AM, Robert Schroll <rschroll@xxxxxxxxx
> > <mailto:rschroll@xxxxxxxxx>> wrote:
> >
> >     On Tue, Jul 15, 2014 at 8:26 PM, Alexandre Abreu
> >     <alexandre.abreu@xxxxxxxxxxxxx <mailto:alexandre.abreu@xxxxxxxxxxxxx>__>
> wrote:
> >
> >         There might be a few reasons for that. Are you directly using the
> >         Oxide.WebView or do you use it through the
> Ubuntu.Web.UbuntuWebView
> >         component?
> >
> >
> >     I'm using the Oxide.WebView directly, since I need to set some
> custom user
> >     scripts.
> >
> >
> >         If you are directly using the Oxide.WebView you might not have
> set the
> >         dataPath for the WebContext of the Oxide WebView. Unless things
> have
> >         changed, an empty dataPath means that the cookies/data resources
> are not
> >         persisted,
> >
> >
> >     That seems to have done it.  I already have a C++ module that returns
> >     QStandardPaths::DataLocation (amongst other things), so I could
> replicate
> >     the behavior of the UbuntuWebView easily enough.
> >
> >     Do you know if it's possible to make Oxide read the cookies stored by
> >     QtWebKit?  If so, does anyone know where QtWebKit stored its cookies?
> >
> >
> > There’s not code readily available in oxide to import QtWebKit cookies,
> but I
> > guess you could write some if you really need to.
> > QtWebKit stores its cookies under $dataLocation/.QtWebKit/cookies.db, in
> an
> > sqlite database.
> > You might want to take a look at the "*cookie-store.[h|cpp]" files
> > under
> http://bazaar.launchpad.net/~phablet-team/webbrowser-app/trunk/files/head:/src/app/webcontainer/
> ,
> > it has some logic to read/write cookies from/to QtWebKit and Chromium.
> >
>
> If you want to do this to provide some sort of automatic upgrade in a
> click app,
> note that application isolation will block access to outside of the
> application
> specific directory. That said, if your app was previously working as a
> copnfined
> click package, the QtWebkit cookies should be somewhere in one of app's
> writable
> areas-- eg, ~/.cache/<pkgname>, ~/.config/<pkgname>, or
> ~/.local/share/<pkgname>.
>

In this specific case, $dataLocation would be ~/.local/share/<pkgname>, so
I think this is safe to do.

References