]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/helpers/DomainsDatabaseHelper.cpp
Add local storage domain settings.
[PrivacyBrowserPC.git] / src / helpers / DomainsDatabaseHelper.cpp
index ed62e6a12b787e1ff023535341a922a6558d3d84..d1f8b22f8f5d30089f18fab42388ac6e573af211 100644 (file)
@@ -26,18 +26,19 @@ const QString DomainsDatabaseHelper::CONNECTION_NAME = "domains_database";
 const QString DomainsDatabaseHelper::DOMAINS_TABLE = "domains";
 
 // Define the private static schema constants.
-const int DomainsDatabaseHelper::SCHEMA_VERSION = 4;
+const int DomainsDatabaseHelper::SCHEMA_VERSION = 5;
 
 // Define the public static database field names.
 const QString DomainsDatabaseHelper::_ID = "_id";
 const QString DomainsDatabaseHelper::DOMAIN_NAME = "domain_name";
 const QString DomainsDatabaseHelper::JAVASCRIPT = "javascript";
 const QString DomainsDatabaseHelper::LOCAL_STORAGE = "local_storage";
+const QString DomainsDatabaseHelper::DOM_STORAGE = "dom_storage";
 const QString DomainsDatabaseHelper::USER_AGENT = "user_agent";
 const QString DomainsDatabaseHelper::ZOOM_FACTOR = "zoom_factor";
 const QString DomainsDatabaseHelper::CUSTOM_ZOOM_FACTOR = "custom_zoom_factor";
 
-// The default constructor.
+// Construct the class.
 DomainsDatabaseHelper::DomainsDatabaseHelper() {}
 
 void DomainsDatabaseHelper::addDatabase()
@@ -69,7 +70,7 @@ void DomainsDatabaseHelper::addDatabase()
                 // Run schema update code.
                 switch (currentSchemaVersion)
                 {
-                    // Upgrade from schema version 0.
+                    // Upgrade from schema version 0 to schema version 1.
                     case 0:
                     {
                         // Add the JavaScript column.
@@ -79,7 +80,7 @@ void DomainsDatabaseHelper::addDatabase()
                         [[fallthrough]];
                     }
 
-                    // Upgrade from schema version 1.
+                    // Upgrade from schema version 1 to schema version 2.
                     case 1:
                     {
                         // Add the User Agent column.
@@ -89,7 +90,7 @@ void DomainsDatabaseHelper::addDatabase()
                         [[fallthrough]];
                     }
 
-                    // Upgrade from schema version 2.
+                    // Upgrade from schema version 2 to schema version 3.
                     case 2:
                     {
                         // Add the Zoom Factor columns.
@@ -100,10 +101,24 @@ void DomainsDatabaseHelper::addDatabase()
                         [[fallthrough]];
                     }
 
-                    // Upgrade from schema version 3.
+                    // Upgrade from schema version 3 to schema version 4.
                     case 3:
+                    {
+                        // Add the DOM Storage column.
+                        domainsDatabase.exec("ALTER TABLE " + DOMAINS_TABLE + " ADD COLUMN " + DOM_STORAGE + " INTEGER DEFAULT 0");
+
+                        // Fallthrough to the next case.
+                        [[fallthrough]];
+                    }
+
+                    case 4:
+                    {
                         // Add the Local Storage column.
                         domainsDatabase.exec("ALTER TABLE " + DOMAINS_TABLE + " ADD COLUMN " + LOCAL_STORAGE + " INTEGER DEFAULT 0");
+
+                        // Fallthrough to the next case.
+                        // [[fallthrough]];
+                    }
                 }
 
                 // Update the schema version.
@@ -121,6 +136,7 @@ void DomainsDatabaseHelper::addDatabase()
                 DOMAIN_NAME + " TEXT, " +
                 JAVASCRIPT + " INTEGER DEFAULT 0, " +
                 LOCAL_STORAGE + " INTEGER DEFAULT 0, " +
+                DOM_STORAGE + " INTEGER DEFAULT 0, " +
                 USER_AGENT + " TEXT DEFAULT '" + UserAgentHelper::SYSTEM_DEFAULT_DATABASE + "', " +
                 ZOOM_FACTOR + " INTEGER DEFAULT 0, " +
                 CUSTOM_ZOOM_FACTOR + " REAL DEFAULT 1.0)"