RFE: Option to purge DOM Storage (for all web browsers)

http://en.wikipedia.org/wiki/Web_storage

https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage

All web browsers have had the DOM Storage feature for many years now. While there is usually an option within the web browser to disable its DOM Storage, way too many sites will malfunction if it is disabled. They store their global variables or other data there that gets used for painting, navigating, or the functions within the page. Way too many programmers do not test the return status of a function they call. Similarly, many web page coders don't test if DOM Storage is enabled before assuming they can use it. You can see in the web browser's console log all the errors in them trying to store or read from DOM Storage but their scripts have no error or graceful recovery. The result is the web site is unusable if DOM Storage is disabled and they have no alternate or recovery mode to use their site without using DOM Storage.

Yet DOM Storage is only required to properly render such sites when you are actually connected there. When you leave or are otherwise disconnected, their data they stored locally on your host in DOM Storage is of value (to them) only upon your return to that same web site. If you do not want to carry over a site session between web browser sessions then the content of DOM Storage is not required. Obviously DOM Storage provides a very easy way to track a user and their repeat visits.

I see no selectable option within CCleaner to have it clear out DOM Storage. Is purging that local data cache a difficult task? Or are users to rely on purge-on-exit features within the web browser to hope that the web browser, upon exit, will delete that cached data?

I believe DOM storage is handled via the cookies section of each browser

http://webdevwonders.com/clear-dom-storage/

Like a lot of blogs, they don't datestamp their article. I remember seeing this one a long time ago.

For Firefox, it may be that using its cookie settings (as described above) may clear the local cache for DOM storage; however, you need to ensure you pick the "Everything" for time range. Some users might want cookies, like for banks, spam reporting sites, forums, etc, to remain around for awhile, like a few days or a week, or more, so they won't be clearing their DOM storage.

For IE, DOM storage is cleared by purging IE's history on exit except that option alone won't do it. Not only must you set IE to delete its history on exit but you must also click the Delete button to see what items will be included. You must include "cookies and website data" in the "delete history on exit" option.

I don't have a copy of Google Chrome to see what interdependencies they have on deleting cookie that will enforce inclusion of purging its DOM storage. There are many settings in web browsers that haven't work 100%. IE had in its advanced options a setting to delete the TIF (temporary internet files) on exit. It didn't work all the time. Also, if the web browser crashes then obviously its exit routines are NOT going to get called since the process is not terminating normally. Relying on web browsers to successfully and completely empty their DOM storage is trusting the web browser to do that task. Sorry, I don't trust web browsers to 100% reliably empty their local DOM storage.

If web browsers were absolutely reliable in performing the tasks configured within them then why does CCleaner have a "Cookies" entry under Internet Explorer? By your reasoning, configuring IE to include cookies in its "delete history on exit" option means IE would always delete the .txt cookie files. It would be redundant for CCleaner to have an option under IE to delete its cookies yet, guess what, CCleaner does have an option to purge IE's cookies. CCleaner still has an option to purge IE's TIF cache which is also redundant if the user configured IE to "delete history on exit" and include the TIF in that option. CCleaner still has an option to purge IE's autocomplete cache yet there's a setting in IE to purge that, too, on exit.

There are many settings in CCleaner that duplicate configurable options in the web browser. Yet CCleaner duplicating those features is not a bad thing. Users may want their web browser to keep that locally cached data on their host until whenever they choose to flush them, and using CCleaner, especially via a shortcut, is a lot easier than loading the web browser to change its configuration to purge that data (and then on the next load of the web browser change those settings again to keep the data around for awhile until the user next wants to flush it). CCleaner also can flush the temporary folders and Recycle Bin and obviously that duplicates the disk cleanup wizard already included in Windows and the option in Recycle Bin to flush itself.

Don't cite duplication as a reason for not including DOM storage purging in CCleaner. There is already lots of duplication in CCleaner with what apps or the OS can be configured to do. Using CCleaner is a convenience instead of having to do cleanup using multiple methods. CCleaner lets you do the cleanup all at once using one tool, will clean when you want, you can use a handy shortcut (I put mine in a toolbar in the Windows taskbar), and you can even add it to Task Scheduler.

I have CCleaner get rid of DOMStore cache via Winapp2.ini, the line below can be modified to suit your Windows versions path to it since mine is XP. And it always has junk in it everytime I clean!
%LocalAppData%\Microsoft\Internet Explorer\DOMStore|*.*|RECURSE

Thanks, Andavari, on the info about where Internet Explorer stores its DOM storage. I can add that either to the winapp2.ini or winsys2.ini files or go to Options -> Include in CCleaner to add that path. Like my other thread on clearing out AX and TPL entries in the registry, there is a workaround but I'd prefer Piriform to add a standard checkbox under IE and the other web browsers so other users not so familiar with the workings of the web browser can also partake of clearing their DOM storage (and perhaps bring it to their attention about this newer method of sites storing data on the user's host).

With Firefox using msql (or is it SQLite) databases to store their data, I figure clearing DOM storage isn't so straightforward. I'll hunt around to see if there is a simple way (delete a database file only used for DOM storage) that CCleaner can handle. The same goes for Google Chrome. Of course, with CCleaner being a cleanup utility and encompassing web browsers, having to do this research and creating .ini files really shouldn't be required of CCleaner users. DOM storage has been around for many years so perhaps flushing it isn't so easy (except maybe for IE).

Update:

From https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data, the DOM storage is in an SQLite database file named webappsstore.sqlite. Alas, that also means having to ferret out where is your Firefox profile. Yes, it can be easily found within Firefox but something like CCleaner would have to determine the path (and to your profile folder and not someone else's) outside of Firefox to know where to find the webappsstore.sqlite file for it to delete. I don't remember Firefox adding a profile path to the environment variables to let users or scripts use those to find the Firefox profile folder. Hopefully there isn't some other index file used with that database file that would get screwed up by the absence of the database file.

As you've stated I'd also prefer CCleaner have the ability by default to get rid of DOMStorage, which has been discussed on here for sometime by now.

I don't know who started the discussion about it which made me realize I also needed to start deleting it regularly. The initial amount of it I found was allot (too much actually) which was several years worth. I'm thinking Avira Antivirus also creates junk in there too because more of it needs to be cleaned after installing Avira.

I would like to put my vote in to have CCleaner put in a checkbox to clear the DOMStore cache also.

I have CCleaner get rid of DOMStore cache via Winapp2.ini, the line below can be modified to suit your Windows versions path to it since mine is XP. And it always has junk in it everytime I clean!
%LocalAppData%\Microsoft\Internet Explorer\DOMStore|*.*|RECURSE

In the meantime,

Andavari, would you please explain a little more in detail exactly what I need to do right now to set CCleaner to do this too please.

I want to set my CCleaner up to clear DOMStore each time I run CCleaner too.

I use IE11 on Windows 7 fwiw

Clearing the DOMStore cache is only extra thing I want to add on to CCleaners function.

Thank you

edit,

I just found your thread about "Winapp2.ini additions"

I have to read it more, but again Clearing the DOMStore cache is only extra thing I want to add on to CCleaners function and I say that since after reading your first page you're saying that:

"A large ini such as this one can cause a slower startup for ccleaner......" etc

...and that has me concerned, I don't think I want to use the whole trim.bat thing it seems complicated, since again the only extra thing I'd like CCleaner to do besides what it does already automatically now, is to also clear the DOMStore cache. I just need a little guidance about this please.

I just wish CCleaner had this as a checkbox to do it automatically :)

Andavari, would you please explain a little more in detail exactly what I need to do right now to set CCleaner to do this too please.

This is the winapp2.ini cleaner for it, it only cleans Internet Explorer's DOMStore. Note that I do not know if the cleaning path listed in FileKey1 is correct for Win7, so right-click that cleaner and choose Analyze first to see what it will or won't do.

Here's the cleaner, it goes into the winapp2.ini file which should be in the same folder where ccleaner.exe is installed:

[DOMStore*]
LangSecRef=3001
Detect=HKCU\Software\Microsoft\Internet Explorer
Default=False
FileKey1=%LocalAppData%\Microsoft\Internet Explorer\DOMStore|*.*|RECURSE

Here's a screenshot of where you'll find it, CCleaner doesn't allow it to show under the regular Internet Explorer cleaners so it will instead be shown in the Applications (tab) at the bottom (click image for full-size view):

post-26-0-90301600-1416361089_thumb.png

Thank you for your reply.

I tried to figure out how to do it for the last 15 minutes.

I'll have to read it all again in the morning, it's been a long day at work and I'm spent I guess

I don't see any step by step instructions how to do this though.

I tried my best, when I was done I don't see any listing of DOMStore as your screenshot shows.

Need Sleep First to rejuvenate,

Thank you

Jessie, because you are deleting files, you can use the Include feature in CCleaner rather than figure out how to write an .ini file. To delete registry entries requires using an .ini file but files and folders are easy to add to CCleaner.

In CCleaner, click on the Options category on the left. Then click on the Include button. Click on the Add button.

Drive or Folder: %LocalAppData%\Microsoft\Internet Explorer\DOMStore\

File Types: All Files

Options: Include files and subfolders

This will have CCleaner wipe the DOM cache but only for Internet Explorer. Because it is an include that is always included, the DOM storage will get cleared each time you tell CCleaner to do a cleanup. Do it after you exit IE. If you clear the DOM storage during a web browser session, the values their script put in DOM storage will disappear and their script will go screwy (bad behaviors exhibited by the page or errors).

If you use an Include like detailed by VanguardLH, you'll have to remember to enable/tick the box under Cleaner->Windows (tab)->Advanced titled "Custom Files and Folders" located all the way at the bottom, otherwise it won't delete an Include.

If you prefer to use it in winapp2.ini you can download the text document attached below to the Windows desktop and rename it from winapp2.txt to winapp2.ini, and then move it into the folder where ccleaner.exe is located:

winapp2.txt

<edited quote>

All web browsers have had the DOM Storage feature for many years now. While there is usually an option within the web browser to disable its DOM Storage, way too many sites will malfunction if it is disabled.

Vanguard, your first (and subsequesnt replies) is what Google searching brought me to this year because I've always had my Internet Options> Advanced tab for "Enable DOM Storage" ....unchecked = disabled, and is like I have always done for many years throughout the different versions of OS's and their respective IE versions I used, but little did I know until yesterday that the reasons why I was having problems with some websites not working right, was that unless I had that option "Enable DOM Storage" check marked = Enabled, that they would not render properly. It's great to finally get that problem fixed!

Jessie, because you are deleting files, you can use the Include feature in CCleaner rather than figure out how to write an .ini file. To delete registry entries requires using an .ini file but files and folders are easy to add to CCleaner.

In CCleaner, click on the Options category on the left. Then click on the Include button. Click on the Add button.

Drive or Folder: %LocalAppData%\Microsoft\Internet Explorer\DOMStore\

File Types: All Files

Options: Include files and subfolders

This will have CCleaner wipe the DOM cache but only for Internet Explorer. Because it is an include that is always included, the DOM storage will get cleared each time you tell CCleaner to do a cleanup. Do it after you exit IE. If you clear the DOM storage during a web browser session, the values their script put in DOM storage will disappear and their script will go screwy (bad behaviors exhibited by the page or errors).

Now this was easy for me to do, and it works well.

Thank you for starting this thread, and all of your replies, appreciated !

again, I too vote for and wish, Cleaner also had a check box for DOM Storage using Internet Explorer, to clear itself automatically too.

If you use an Include like detailed by VanguardLH, you'll have to remember to enable/tick the box under Cleaner->Windows (tab)->Advanced titled "Custom Files and Folders" located all the way at the bottom, otherwise it won't delete an Include.

If you prefer to use it in winapp2.ini you can download the text document attached below to the Windows desktop and rename it from winapp2.txt to winapp2.ini, and then move it into the folder where ccleaner.exe is located:

attachicon.gifwinapp2.txt

Good Morning Adavari,

Thank you for all your replies to be of help!

fwiw, using the Include, I see that the "Custom Files and Folders" gets automatically ticked whenever you hit the Add button and Include extra things for it to do, confirmed, but thank you very much for thinking about that issue and letting me know just in case.

I am very handy for sure, but I've spent an hour trying to get this to work but for whatever reason I just couldn't get it to show up like you have in your IE_DOMStore.png !

I have tried it every which way.

It's got me bugged because I am very capable and I need to scratch this itch, and even though I can easily use what VanguardLH said, I still just for the sake of it, would also like to understand what I am not doing right for your way.

I must be missing a detail or something easy.

Last night I got it to run with the larger winapp2.ini and as it said, CCleaner is slow to open yes, but I saw all the listings in there, most all of which I don't want or need, but as mentioned I just want to do one DOMStore extra thing so last night from your first reply I had already taken what you typed:

[DOMStore*]

LangSecRef=3001

Detect=HKCU\Software\Microsoft\Internet Explorer

Default=False

FileKey1=%LocalAppData%\Microsoft\Internet Explorer\DOMStore|*.*|RECURSE

..and had pasted that into a text file and had renamed it to winapp2.ini and put it in the CCleaner folder and ran the trim.bat. I saw the #TRIMMER folder appear, etc, but I am never able to get DOMStore to appear in my CCleaner like you show in your screenshot of IE_DOMStore.png !

I have always had UAC always turned off, but I get

YOU MUST NOT "Run Cleaner" - ONLY Click "Analyze"

After Analysis please CLOSE CCleaner so script may continue.

Press any key to continue . . .

9:33:44.12 - 9:32:39.45 = 64670 mSec = Using "CCLEANER.EXE /DEBUG"

F A I L U R E to detect any applicable WinApp2 [Applications *]

- Probably due to U.A.C. blocking CCLEANER.EXE /DEBUG

Suggest trying trim using "Right Click" then "Run As Administrator"

Hit any key to close this window, then retry via "Run As Administrator"

The whole UAC thing I'm not familiar with being I'm on WinXP. I also don't know why that single winapp2.ini cleaner I made won't work for you, however if you got the Include to work like instructed by VanguardLH then you'll be able to get rid of the DOMStore cache everytime you use CCleaner.

Last night I got it to run with the larger winapp2.ini and as it said, CCleaner is slow to open yes, but I saw all the listings in there, most all of which I don't want or need, but as mentioned I just want to do one DOMStore extra thing so last night from your first reply I had already taken what you typed:

[DOMStore*]

LangSecRef=3001

Detect=HKCU\Software\Microsoft\Internet Explorer

Default=False

FileKey1=%LocalAppData%\Microsoft\Internet Explorer\DOMStore|*.*|RECURSE

..and had pasted that into a text file and had renamed it to winapp2.ini and put it in the CCleaner folder and ran the trim.bat. I saw the #TRIMMER folder appear, etc, but I am never able to get DOMStore to appear in my CCleaner like you show in your screenshot of IE_DOMStore.png !

can you try without trim.bat?

just copy [DOMStore*] entry and put in an empty winapp2.ini file

now you only have 1 entry in winapp2.ini so there no need to use trim.bat

report back here if the entry appear or not in ccleaner

can you try without trim.bat?

just copy [DOMStore*] entry and put in an empty winapp2.ini file

now you only have 1 entry in winapp2.ini so there no need to use trim.bat

report back here if the entry appear or not in ccleaner

Hi dvdbane,

Yes! that was easy! It works!

Before I tried what you said, just to save it I made a copy of yesterdays ccleaner.ini with those Include entires from VanguardLH which had worked fine that way too, and replaced the ccleaner.ini to the days prior with my regular settings; then I copied the winapp2.ini which Adavari made (identical to the one I made) and placed that, and started ccleaner, and yes DOMStore* is listed now under the Applications tab at the very bottom under the header Internet Explorer with DOMStore its only listing. I just used Analyze on it first for the heck of it to check it's entires for the DOMStore folders contents and they showed up, great...then I ran ccleaner as normally, and it works...it emptied the DOMStore folder.

Thanks so much!

Thank you dvdbane for explaining it.

Yes! that was easy! It works!

I'm glad you got it work.

..and thank you for your help Andavari; also thanks to everyone in the thread which I've already expressed.

In the past years for privacy or whatever, it was always advised to have the Internet Explorer Options of DOMStore disabled so that it would not store information from your website visits, etc. Come to find out for 'some' websites having it disabled 'Does Cause Dysfunction' and it took me too many years to narrow it down to that setting! ...fixed

Also the neat thing besides having that portion of the internet work better now, is with CCleaner whenever I want with one click, I can now remove all the DOMStore saved information along with the rest of what CCleaner does so good.. ..is a Great Program indeed, and so for sure thanks to the programs owners/coders as well.

I also had DOM Storage disabled in Internet Explorer for a long time, maybe several years. Eventually I started hitting more sites where their page misbehaved or content was missing. I'd disable anything regarding blocking (adblocking, site blocking, tracking protection lists, etc) and still couldn't get the site to behave.

I play crossword puzzles and at some point the USA Today crossword puzzle page stopped working. I'd get the page but the puzzle was missing. I got some free time and decided to look at their page code. I probably use the Dev Tools feature in IE (F12 key) to figure out what was going on. Yep, they were dumping the puzzle into DOM storage. Their script would handle the user's input but the puzzle info was stored locally. With DOM storage disabled, they couldn't store the puzzle so I'd see no puzzle.

It seems obvious to test that storage is available before using it but it seems rare that web coders do this. It's like stepping out a door without checking there is something to step on rather than an abyss. They should test and then notify if storage isn't available that they demand its use. Instead they blindly go dumping variables and values into storage that isn't there and then stupidly assume all that data is in storage - for storage that doesn't exist. A lot of programmers never check the status returned when issuing a function call. A lot of web page coders never check DOM Storage is actually available (to provide a warning or alternate page).

My need was to eliminate the tracking afforded by DOM Storage so I disabled it. Alas, more and more site are using it (along with a ton of JavaScript) so I decided to enable it and then figure out how I could delete it after a web browsing session. With IE, it's pretty simple to just empty out a folder. With Firefox, you can delete an SQLite file (but somehow need to figure out the path to it which varies by the Firefox "profile" folder for storing that info); however, I'm always leery of yanking out files from a database setup because other databases might be relying on some info in another database file. I haven't bothered checking in how to wipe DOM Storage in Google Chrome since I won't be using that web browser.

Basically you have to compromise with IE. Make sure the "enable DOM storage" box is ticked (so the websies will render properly), then add that setting VanguardLH mentioned in CCleaner and periodically clean it out. Not an ideal solution since I'd want it disabled all the time, but there you have it.

That said, this option should also be added to CCleaner for both Firefox and Chrome since disabling DOM storage in those browsers also makes certain websites both unreadable and unusable. Any solutions for that?