X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2Fhelpers%2FUserAgentHelper.cpp;h=9a51f227679962cbd6588b8fa6bb61de6c822835;hp=1b02146c370820c4ce5e581c82836ce4f5fb8866;hb=2e5db0d355267f5823610100947970af12ca6342;hpb=a790b1b5d9b18f385ebbdf84e5845a40b2089d5c diff --git a/src/helpers/UserAgentHelper.cpp b/src/helpers/UserAgentHelper.cpp index 1b02146..9a51f22 100644 --- a/src/helpers/UserAgentHelper.cpp +++ b/src/helpers/UserAgentHelper.cpp @@ -20,6 +20,7 @@ // Application headers. #include "Settings.h" #include "UserAgentHelper.h" +#include "views/BrowserView.h" // KDE Framework headers. #include @@ -27,6 +28,7 @@ // Define the public database constants. const QString UserAgentHelper::SYSTEM_DEFAULT_DATABASE = QStringLiteral("System Default"); const QString UserAgentHelper::PRIVACY_BROWSER_DATABASE = QStringLiteral("Privacy Browser"); +const QString UserAgentHelper::WEB_ENGINE_DEFAULT_DATABASE = QStringLiteral("WebEngine Default"); const QString UserAgentHelper::FIREFOX_LINUX_DATABASE = QStringLiteral("Firefox Linux"); const QString UserAgentHelper::CHROMIUM_LINUX_DATABASE = QStringLiteral("Chromium Linux"); const QString UserAgentHelper::FIREFOX_WINDOWS_DATABASE = QStringLiteral("Firefox Windows"); @@ -37,6 +39,7 @@ const QString UserAgentHelper::SAFARI_MACOS_DATABASE = QStringLiteral("Safari ma // Define the public translated constants. const QString UserAgentHelper::SYSTEM_DEFAULT_TRANSLATED = i18n("System default"); const QString UserAgentHelper::PRIVACY_BROWSER_TRANSLATED = i18n("Privacy Browser"); +const QString UserAgentHelper::WEB_ENGINE_DEFAULT_TRANSLATED = i18n("WebEngine default"); const QString UserAgentHelper::FIREFOX_LINUX_TRANSLATED = i18n("Firefox on Linux"); const QString UserAgentHelper::CHROMIUM_LINUX_TRANSLATED = i18n("Chromium on Linux"); const QString UserAgentHelper::FIREFOX_WINDOWS_TRANSLATED = i18n("Firefox on Windows"); @@ -56,9 +59,40 @@ const QString UserAgentHelper::SAFARI_MACOS_USER_AGENT = QStringLiteral("Mozilla // The default constructor. UserAgentHelper::UserAgentHelper() {}; +QString UserAgentHelper::getDatabaseUserAgentNameFromTranslatedName(const QString &translatedUserAgentName) +{ + // Return the database user agent name. + if (translatedUserAgentName == SYSTEM_DEFAULT_TRANSLATED) return SYSTEM_DEFAULT_DATABASE; // System Default. + else if (translatedUserAgentName == PRIVACY_BROWSER_TRANSLATED) return PRIVACY_BROWSER_DATABASE; // Privacy Browser. + else if (translatedUserAgentName == WEB_ENGINE_DEFAULT_TRANSLATED) return WEB_ENGINE_DEFAULT_DATABASE; // WebEngine default. + else if (translatedUserAgentName == FIREFOX_LINUX_TRANSLATED) return FIREFOX_LINUX_DATABASE; // Firefox Linux. + else if (translatedUserAgentName == CHROMIUM_LINUX_TRANSLATED) return CHROMIUM_LINUX_DATABASE; // Chromium Linux. + else if (translatedUserAgentName == FIREFOX_WINDOWS_TRANSLATED) return FIREFOX_WINDOWS_DATABASE; // Firefox Windows. + else if (translatedUserAgentName == CHROME_WINDOWS_TRANSLATED) return CHROME_WINDOWS_DATABASE; // Chrome Windows. + else if (translatedUserAgentName == EDGE_WINDOWS_TRANSLATED) return EDGE_WINDOWS_DATABASE; // Edge Windows. + else if (translatedUserAgentName == SAFARI_MACOS_TRANSLATED) return SAFARI_MACOS_DATABASE; // Safari macOS. + else return translatedUserAgentName; // Return the custom user agent. +} + +int UserAgentHelper::getDomainSettingsUserAgentIndex(const QString &userAgentName) +{ + // Return the domain settings user agent index. + if (userAgentName == SYSTEM_DEFAULT_DATABASE) return 0; // System Default. + else if (userAgentName == PRIVACY_BROWSER_DATABASE) return 1; // Privacy Browser. + else if (userAgentName == WEB_ENGINE_DEFAULT_DATABASE) return 2; // WebEngine default. + else if (userAgentName == FIREFOX_LINUX_DATABASE) return 3; // Firefox Linux. + else if (userAgentName == CHROMIUM_LINUX_DATABASE) return 4; // Chromium Linux. + else if (userAgentName == FIREFOX_WINDOWS_DATABASE) return 5; // Firefox Windows. + else if (userAgentName == CHROME_WINDOWS_DATABASE) return 6; // Chrome Windows. + else if (userAgentName == EDGE_WINDOWS_DATABASE) return 7; // Edge Windows. + else if (userAgentName == SAFARI_MACOS_DATABASE) return 8; // Safari macOS. + else return -1; // Custom user agent. +} + QString UserAgentHelper::getUserAgentFromDatabaseName(const QString &userAgentDatabaseName) { if (userAgentDatabaseName == PRIVACY_BROWSER_DATABASE) return PRIVACY_BROWSER_USER_AGENT; // Privacy Browser. + else if (userAgentDatabaseName == WEB_ENGINE_DEFAULT_DATABASE) return BrowserView::webEngineDefaultUserAgent; // WebEngine default. else if (userAgentDatabaseName == FIREFOX_LINUX_DATABASE) return FIREFOX_LINUX_USER_AGENT; // Firefox Linux. else if (userAgentDatabaseName == CHROMIUM_LINUX_DATABASE) return CHROMIUM_LINUX_USER_AGENT; // Chromium Linux. else if (userAgentDatabaseName == FIREFOX_WINDOWS_DATABASE) return FIREFOX_WINDOWS_USER_AGENT; // Firefox Windows. @@ -71,6 +105,7 @@ QString UserAgentHelper::getUserAgentFromDatabaseName(const QString &userAgentDa QString UserAgentHelper::getUserAgentFromTranslatedName(const QString &userAgentTranslatedName) { if (userAgentTranslatedName == PRIVACY_BROWSER_TRANSLATED) return PRIVACY_BROWSER_USER_AGENT; // Privacy Browser. + else if (userAgentTranslatedName == WEB_ENGINE_DEFAULT_TRANSLATED) return BrowserView::webEngineDefaultUserAgent; // WebEngine default. else if (userAgentTranslatedName == FIREFOX_LINUX_TRANSLATED) return FIREFOX_LINUX_USER_AGENT; // Firefox on Linux. else if (userAgentTranslatedName == CHROMIUM_LINUX_TRANSLATED) return CHROMIUM_LINUX_USER_AGENT; // Chromium on Linux. else if (userAgentTranslatedName == FIREFOX_WINDOWS_TRANSLATED) return FIREFOX_WINDOWS_USER_AGENT; // Firefox on Windows. @@ -80,45 +115,18 @@ QString UserAgentHelper::getUserAgentFromTranslatedName(const QString &userAgent else return userAgentTranslatedName; // Return the custom user agent. } -QString UserAgentHelper::getDatabaseUserAgentName(const QString &translatedUserAgentName) -{ - // Return the database user agent name. - if (translatedUserAgentName == SYSTEM_DEFAULT_TRANSLATED) return SYSTEM_DEFAULT_DATABASE; // System Default. - else if (translatedUserAgentName == PRIVACY_BROWSER_TRANSLATED) return PRIVACY_BROWSER_DATABASE; // Privacy Browser. - else if (translatedUserAgentName == FIREFOX_LINUX_TRANSLATED) return FIREFOX_LINUX_DATABASE; // Firefox Linux. - else if (translatedUserAgentName == CHROMIUM_LINUX_TRANSLATED) return CHROMIUM_LINUX_DATABASE; // Chromium Linux. - else if (translatedUserAgentName == FIREFOX_WINDOWS_TRANSLATED) return FIREFOX_WINDOWS_DATABASE; // Firefox Windows. - else if (translatedUserAgentName == CHROME_WINDOWS_TRANSLATED) return CHROME_WINDOWS_DATABASE; // Chrome Windows. - else if (translatedUserAgentName == EDGE_WINDOWS_TRANSLATED) return EDGE_WINDOWS_DATABASE; // Edge Windows. - else if (translatedUserAgentName == SAFARI_MACOS_TRANSLATED) return SAFARI_MACOS_DATABASE; // Safari macOS. - else return translatedUserAgentName; // Return the custom user agent. -} - -int UserAgentHelper::getDomainSettingsUserAgentIndex(const QString &userAgentName) -{ - // Return the domain settings user agent index. - if (userAgentName == SYSTEM_DEFAULT_DATABASE) return 0; // System Default. - else if (userAgentName == PRIVACY_BROWSER_DATABASE) return 1; // Privacy Browser. - else if (userAgentName == FIREFOX_LINUX_DATABASE) return 2; // Firefox Linux. - else if (userAgentName == CHROMIUM_LINUX_DATABASE) return 3; // Chromium Linux. - else if (userAgentName == FIREFOX_WINDOWS_DATABASE) return 4; // Firefox Windows. - else if (userAgentName == CHROME_WINDOWS_DATABASE) return 5; // Chrome Windows. - else if (userAgentName == EDGE_WINDOWS_DATABASE) return 6; // Edge Windows. - else if (userAgentName == SAFARI_MACOS_DATABASE) return 7; // Safari macOS. - else return -1; // Custom user agent. -} - QString UserAgentHelper::getResultingDomainSettingsUserAgent(const QString &rawUserAgent) { - // Return the resulting user agent. + // Return the resulting user agent. If `System default` is selected, it looks up the default user agent from the settings. if (rawUserAgent == SYSTEM_DEFAULT_DATABASE) return getUserAgentFromDatabaseName(Settings::userAgent()); // Return the default user agent. else return getUserAgentFromDatabaseName(rawUserAgent); // Return the domain user agent. } -QString UserAgentHelper::getTranslatedUserAgentName(const QString &userAgentName) +QString UserAgentHelper::getTranslatedUserAgentNameFromDatabaseName(const QString &userAgentName) { // Return the translated user agent name. if (userAgentName == PRIVACY_BROWSER_DATABASE) return PRIVACY_BROWSER_TRANSLATED; // Privacy Browser. + else if (userAgentName == WEB_ENGINE_DEFAULT_DATABASE) return WEB_ENGINE_DEFAULT_TRANSLATED; // WebEngine default. else if (userAgentName == FIREFOX_LINUX_DATABASE) return FIREFOX_LINUX_TRANSLATED; // Firefox on Linux. else if (userAgentName == CHROMIUM_LINUX_DATABASE) return CHROMIUM_LINUX_TRANSLATED; // Chromium on Linux. else if (userAgentName == FIREFOX_WINDOWS_DATABASE) return FIREFOX_WINDOWS_TRANSLATED; // Firefox on Windows.