Added Linux, MacOS, and Windows support for Tor Browser. (#2387)

Add path for native-messaging-hosts on Linux, Windows, and macOS for Tor Browser
This commit is contained in:
hidden by cloudflare 2018-10-30 08:07:59 -07:00 committed by Jonathan White
parent 5bf4f51389
commit 2ad8036823
7 changed files with 60 additions and 36 deletions

View file

@ -38,16 +38,19 @@ HostInstaller::HostInstaller()
, TARGET_DIR_CHROMIUM("/Library/Application Support/Chromium/NativeMessagingHosts")
, TARGET_DIR_FIREFOX("/Library/Application Support/Mozilla/NativeMessagingHosts")
, TARGET_DIR_VIVALDI("/Library/Application Support/Vivaldi/NativeMessagingHosts")
, TARGET_DIR_TOR_BROWSER("/Library/Application Support/TorBrowser-Data/Browser/Mozilla/NativeMessagingHosts")
#elif defined(Q_OS_LINUX)
, TARGET_DIR_CHROME("/.config/google-chrome/NativeMessagingHosts")
, TARGET_DIR_CHROMIUM("/.config/chromium/NativeMessagingHosts")
, TARGET_DIR_FIREFOX("/.mozilla/native-messaging-hosts")
, TARGET_DIR_VIVALDI("/.config/vivaldi/NativeMessagingHosts")
, TARGET_DIR_TOR_BROWSER("/.tor-browser/app/Browser/TorBrowser/Data/Browser/.mozilla/native-messaging-hosts")
#elif defined(Q_OS_WIN)
, TARGET_DIR_CHROME("HKEY_CURRENT_USER\\Software\\Google\\Chrome\\NativeMessagingHosts\\org.keepassxc.keepassxc_browser")
, TARGET_DIR_CHROMIUM("HKEY_CURRENT_USER\\Software\\Chromium\\NativeMessagingHosts\\org.keepassxc.keepassxc_browser")
, TARGET_DIR_FIREFOX("HKEY_CURRENT_USER\\Software\\Mozilla\\NativeMessagingHosts\\org.keepassxc.keepassxc_browser")
, TARGET_DIR_VIVALDI("HKEY_CURRENT_USER\\Software\\Vivaldi\\NativeMessagingHosts\\org.keepassxc.keepassxc_browser")
, TARGET_DIR_VIVALDI(TARGET_DIR_CHROME)
, TARGET_DIR_TOR_BROWSER(TARGET_DIR_FIREFOX)
#endif
{
}
@ -159,6 +162,8 @@ QString HostInstaller::getTargetPath(SupportedBrowsers browser) const
return TARGET_DIR_FIREFOX;
case SupportedBrowsers::VIVALDI:
return TARGET_DIR_VIVALDI;
case SupportedBrowsers::TOR_BROWSER:
return TARGET_DIR_TOR_BROWSER;
default:
return QString();
}
@ -182,6 +187,8 @@ QString HostInstaller::getBrowserName(SupportedBrowsers browser) const
return "firefox";
case SupportedBrowsers::VIVALDI:
return "vivaldi";
case SupportedBrowsers::TOR_BROWSER:
return "tor-browser";
default:
return QString();
}
@ -287,7 +294,7 @@ QJsonObject HostInstaller::constructFile(SupportedBrowsers browser, const bool&
script["type"] = "stdio";
QJsonArray arr;
if (browser == SupportedBrowsers::FIREFOX) {
if (browser == SupportedBrowsers::FIREFOX || browser == SupportedBrowsers::TOR_BROWSER) {
for (const QString& extension : ALLOWED_EXTENSIONS) {
arr.append(extension);
}