X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=BrowserWindow.vala;h=366537da487c88dfff1af5f8e34929f3dea6582f;hb=fafb40436ce8bf70e89ac698954dab9559a6f58d;hp=ed0e447b87e7c09dafdbe55dae8d205bf8abdc16;hpb=3ed4b907faeb30796e8d1df28ae8d0991548e80d;p=app.webkitpdf diff --git a/BrowserWindow.vala b/BrowserWindow.vala index ed0e447..366537d 100644 --- a/BrowserWindow.vala +++ b/BrowserWindow.vala @@ -53,48 +53,7 @@ public class BrowserWindow : Object var r = new Regex ("\\.blogspot\\..*?/"); blog = r.replace(blog, blog.length, 0, ".blogspot.com/ncr/"); } - /* - if(webkitpdf.opt_cookies != null) { - print("setting cookie %s\n",webkitpdf.opt_cookies); - - var uri = new Soup.URI (blog); - - string[] cookies = webkitpdf.opt_cookies.split ("=", 2); - - if(cookies.length > 1 ) { - - #if GTK3 - var context = WebKit.WebContext.get_default(); - var cookie_manager = context.get_cookie_manager(); - cookie_manager.set_accept_policy(WebKit.CookieAcceptPolicy.NEVER); - string scheme = uri.get_scheme (); - - 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 ("%s\tTRUE\t/\t%s\t2147483647\t%s\t%s".printf(uri.get_host(),scheme == "http" ? "FALSE" : "TRUE",cookies[0],cookies[1])); - cookie_manager.set_persistent_storage(file.get_path(), WebKit.CookiePersistentStorage.TEXT); - } catch (Error e) { - stdout.printf ("Error: %s\n", e.message); - } - #else - var sess = WebKit.get_default_session(); - var cookie_jar = new Soup.CookieJar(); - 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 - - } - - - } - */ + print("loading url %s\n",blog); this.view.el.load_uri(blog); @@ -174,46 +133,50 @@ public class BrowserWindow : Object // set gobject values + // setting up cookie injection this.cookie_file =""; if(webkitpdf.opt_cookies != null) { - print("setting cookie %s\n",webkitpdf.opt_cookies); + print("setting cookie %s\n",webkitpdf.opt_cookies); - var uri = new Soup.URI (webkitpdf.opt_url); + var uri = new Soup.URI (webkitpdf.opt_url); - string[] cookies = webkitpdf.opt_cookies.split ("=", 2); + string[] cookies = webkitpdf.opt_cookies.split ("=", 2); - if(cookies.length > 1 ) { + if(cookies.length > 1 ) { - #if GTK3 - var context = WebKit.WebContext.get_default(); - var cookie_manager = context.get_cookie_manager(); - cookie_manager.set_accept_policy(WebKit.CookieAcceptPolicy.NEVER); - string scheme = uri.get_scheme (); + #if GTK3 + var context = WebKit.WebContext.get_default(); + var cookie_manager = context.get_cookie_manager(); + cookie_manager.set_accept_policy(WebKit.CookieAcceptPolicy.NEVER); + string scheme = uri.get_scheme (); - 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 ()); + 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 ("%s\tTRUE\t/\t%s\t2147483647\t%s\t%s".printf(uri.get_host(),scheme == "http" ? "FALSE" : "TRUE",cookies[0],cookies[1])); - cookie_manager.set_persistent_storage(file.get_path(), WebKit.CookiePersistentStorage.TEXT); - } catch (Error e) { - stdout.printf ("Error: %s\n", e.message); - } - #else - var sess = WebKit.get_default_session(); - var cookie_jar = new Soup.CookieJar(); - 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 + OutputStream ostream = iostream.output_stream; + DataOutputStream dostream = new DataOutputStream (ostream); + dostream.put_string ("%s\tTRUE\t/\t%s\t2147483647\t%s\t%s".printf(uri.get_host(),scheme == "http" ? "FALSE" : "TRUE",cookies[0],cookies[1])); + cookie_manager.set_persistent_storage(file.get_path(), WebKit.CookiePersistentStorage.TEXT); + } catch (Error e) { + stdout.printf ("Error: %s\n", e.message); + } + #else + var sess = WebKit.get_default_session(); + var cookie_jar = new Soup.CookieJar(); + var cookie = new Soup.Cookie (cookies[0], cookies[1], uri.get_host(), "/", -1); + if(uri.get_scheme () =="https") { + cookie.set_secure(true); + } + cookie_jar.set_accept_policy(Soup.CookieJarAcceptPolicy.NEVER); + cookie_jar.add_cookie(cookie); + sess.add_feature(cookie_jar); + #endif - } + } - } // init method @@ -464,17 +427,17 @@ public class BrowserWindow : Object public void delete_cookiefile () { - if(this.cookie_file.length >0 ){ - print("deleting tmp file %s\n",this.cookie_file); + if(this.cookie_file.length >0 ){ + print("deleting tmp file %s\n",this.cookie_file); File file = File.new_for_path (this.cookie_file); - try { - if (file.query_exists () == true) { - //file.delete (); - } - } catch (Error e) { - stdout.printf ("Error: %s\n", e.message); - } - } + try { + if (file.query_exists () == true) { + file.delete (); + } + } catch (Error e) { + stdout.printf ("Error: %s\n", e.message); + } + } } }