X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=BrowserWindow.vala;h=374f98376fb647a76ed368147876ec589f7ccb53;hb=540e14a6f2e19a4e9753ed2d15abcec9df6187df;hp=09c77c1ec6b3f2f41dbcd134de779df31d11fffe;hpb=77195e7b3d753395feee3c869646a32fdaa25997;p=app.webkitpdf diff --git a/BrowserWindow.vala b/BrowserWindow.vala index 09c77c1..374f983 100644 --- a/BrowserWindow.vala +++ b/BrowserWindow.vala @@ -4,7 +4,7 @@ public class BrowserWindow : Object { public Gtk.Window el; private BrowserWindow _this; - + private string cookie_file; public static BrowserWindow singleton() { if (_BrowserWindow == null) { @@ -64,14 +64,22 @@ public class BrowserWindow : Object #if GTK3 var context = WebKit.WebContext.get_default(); var cookie_manager = context.get_cookie_manager(); - cookie_manager.set_accept_policy(WebKit.CookieAcceptPolicy.ALWAYS); - string scheme = uri.get_scheme (); - try { - File file = File.new_for_path(GLib.Environment.get_user_cache_dir() + "/cookie.txt" ); - print("setting cookie file%s\n",file.get_path()); - FileOutputStream ostream = file.replace (null, false, FileCreateFlags.NONE); - DataOutputStream dostream = new DataOutputStream (ostream); - dostream.put_string (uri.get_host() + "\tTRUE\t/\t2147483647\t" + cookies[0] + "\t" + cookies[1] ); + cookie_manager.set_accept_policy(WebKit.CookieAcceptPolicy.NEVER); + string scheme = uri.get_scheme (); + var ssl = "FALSE"; + if (scheme=="https") { + ssl="TRUE"; + } + try { + FileIOStream iostream; + File file = File.new_tmp ("cookie-XXXXXX.txt", out iostream); + this.cookie_file = file.get_path (); + print("cookie tmp file name: %s\n", file.get_path ()); + + OutputStream ostream = iostream.output_stream; + DataOutputStream dostream = new DataOutputStream (ostream); + + dostream.put_string (uri.get_host() + "\tTRUE\t/\t"+ssl+"\t2147483647\t" + cookies[0] + "\t" + cookies[1] ); cookie_manager.set_persistent_storage(file.get_path(), WebKit.CookiePersistentStorage.TEXT); } catch (Error e) { stdout.printf ("Error: %s\n", e.message); @@ -79,7 +87,7 @@ public class BrowserWindow : Object #else var sess = WebKit.get_default_session(); var cookie_jar = new Soup.CookieJar(); - cookie_jar.set_accept_policy(Soup.CookieJarAcceptPolicy.ALWAYS); + cookie_jar.set_accept_policy(Soup.CookieJarAcceptPolicy.NEVER); cookie_jar.add_cookie(new Soup.Cookie (cookies[0], cookies[1], uri.get_host(), "/", -1)); sess.add_feature(cookie_jar); #endif @@ -100,6 +108,7 @@ public class BrowserWindow : Object if (cd < 1) { print("calling printit - timed out"); _this.view.printit(); + print("deleting tmp file %s\n",file.get_path ()); return false; } return true;