From: Olof-Joachim Frahm Date: Fri, 17 Apr 2015 12:00:18 +0000 (+0200) Subject: Add cookie server post. X-Git-Url: http://repo.macrolet.net/gitweb/?p=blog.git;a=commitdiff_plain;h=90ce5410d1b81a5de34c9567a265103a83b221aa Add cookie server post. --- diff --git a/extensions.post b/extensions.post new file mode 100644 index 0000000..eb00eb7 --- /dev/null +++ b/extensions.post @@ -0,0 +1,32 @@ +;;;;; +title: Extensions, extensions, extensions +date: 2015-04-17 10:15:23 +format: md +;;;;; + +For the longest time I've been using quite a number of Firefox extensions. The +known problem with that is a steady slowdown, which is only amplified by my +habit of soft bookmarks, i.e. having hundreds of open tabs with their +corresponding state (which is the whole reason to do that). + +However seeing that a lot of state is captured in a very inconvenient form, +that is, it's hard to modify a long list of tabs, I want to make both this and +incidentally also sharing of state between sessions and even browsers much +easier. + +The idea is to separate part of the browser state into a separate component, +namely a database server for cookies (and other local storage), tabs, sessions +and bookmarks. This way and by having a coarse control over loading of +sessions the process of migrating state between sessions and browsers should be +much easier. + +Fortunately most of the browser extensions APIs seem to be usable enough to +make this work for at least Firefox and Chrome, so at the moment I'm +prototyping the data exchange. Weird as it is for Chrome you have to jump +through some conversion hoops (aka local native extensions via a local process +exchanging data via stdio), so it seems that the Firefox APIs, since they allow +socket connections, are a bit friendlier to use. That said, the exchange +format for Chrome, Pascal string encoded JSON, seems like a good idea with the +exception of forcing local endianess, which is completely out of the question +for a possibly network enabled system (which is to say, I'm definitely going to +force network byte order instead).