Project

General

Profile

Actions

Feature #1063

closed

Consider Renaming DOM Storage to Web Storage

Added by v ... 8 months ago. Updated 3 months ago.

Status:
Closed
Priority:
Next Release
Start date:
08/14/2023
Due date:
% Done:

0%

Estimated time:

Description

Arguments :

Don't know why they, like Microsoft, named it
DOM (Document Object Model) Storage initially, cause this acronym refers to another concept.

@Soren Stoutner, if you're OK with renaming the option, the description in the Settings view should also be updated, explaining, for example, that it is related to LocalStorage and SessionStorage (I should probably create another issue for that).

Actions #1

Updated by Soren Stoutner 8 months ago

  • Status changed from New to Feedback

When I first started working on Privacy Browser Android I spent some time considering what to call this. Both DOM storage and web storage were used at the time, but DOM storage was more common. Ultimately, I went with DOM storage because it matches the APIs used by WebView.

https://developer.android.com/reference/android/webkit/WebSettings#setDomStorageEnabled(boolean)

To make this more complicated, the APIs used by Qt WebEngine in Privacy Browser PC are structured a little different. There is one master setting that enables or disables all local storage, including cookies, DOM storage, IndexedDB, service workers, and the filesystem API. This API for this feature is very confusingly called a cookie filter, even thought the documentation contains a note that this handles a whole lot more than just cookies.

https://doc.qt.io/qt-5/qwebenginecookiestore.html#setCookieFilter

They have a separate functionality to block DOM storage, which they call local storage.

https://doc.qt.io/qt-5/qwebenginesettings.html#WebAttribute-enum

Currently, in Privacy Browser PC, I have named the first functionality Local Storage as it is a master toggle for all things that store web data locally. I have named the second option DOM storage.

It would be possible to rename DOM storage to be web storage. However, I don't feel that "web storage" is as express of a term. Specifically, "web storage" sounds to me like the storage of data somewhere on the web "in the cloud", whereas DOM storage sounds much more like something is being stored on the device in the DOM (Document Object Model), even if that isn't exactly where it is stored.

I will leave this feature request open. If a large number of people feel a preference for the web storage name over DOM storage I would consider changing it.

Actions #2

Updated by Soren Stoutner 8 months ago

For those who are interested, here is how it is described in Privacy Browser PC's documentation. This documentation is in DocBook format, so it looks best if you open it up in a program that can read that, but it is also fairly easy to read from the source code.

https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blob;f=doc/index.docbook;hb=HEAD

Actions #3

Updated by v ... 8 months ago

"Cookie filter"? Weird name for such a large spectrum!

Thank you for all the details and comparison with Privacy Browser PC.

If Privacy Browser Android is intended for technical users, then I would choose "Web Storage". However, after reading your comment, I've now the association that "web storage" equals "storage of data somewhere on the web".

If Privacy Browser Android is intended also for non-technical users, then I would choose "Local Storage". It's not quite exact from a technical perspective, but this name seems far less confusing. Moreover, the user could find the exact explanation (that it switches on/off the LocalStorage + SessionStorage + ...) of this option in the Settings view. So it could be a trade off for both kind of users.

About the name "DOM Storage", it could sound a little cryptic for non-technical users.

Also, it would be nice to normalise this option's name across both browsers, but that increases the difficulty to find a proper name.

I would like to be sure to understand it correctly, what does "DOM Storage" exactly enables? Only LocalStorage and SessionSorage? Or also IndexedDB and more?

Actions #4

Updated by Soren Stoutner 8 months ago

DOM storage only enables DOM storage, otherwise known as web storage, which is comprised of Local Storage and Session Storage.

In WebView, there is no mechanism to enable or disable IndexedDB, service workers, and the filesystem API. However, as each of these require JavaScript, when JavaScript is disabled all these are as well. And Clear and Exit wipes the data from all of them when it is run with the default settings.

Actions #5

Updated by Soren Stoutner 5 months ago

  • Status changed from Feedback to New
  • Priority changed from 3.x to Next Release

I think I am going to do this as the generally accepted name has changed over time. Web Storage is the official HTML 5 name.

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

Old APIs are not renamed, but Android has switched to use WebStorage in their newer documentation.

https://developer.android.com/reference/android/webkit/WebStorage

Actions #6

Updated by Soren Stoutner 5 months ago

  • Subject changed from Rename "DOM Storage" to "Web Storage" to Rename DOM Storage to Web Storage
Actions #7

Updated by Soren Stoutner 4 months ago

  • Subject changed from Rename DOM Storage to Web Storage to Consider Renaming DOM Storage to Web Storage
Actions #8

Updated by Soren Stoutner 3 months ago

  • Status changed from New to Closed

After looking in to making the change on Privacy Browser PC, I have decided not to do so because it would make the interface more confusing, particularly in regards to how DOM storage interacts with what is name Local Storage in Privacy Browser PC.

Feature #1120: Consider renaming DOM Storage to Web Storage

Actions

Also available in: Atom PDF