diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-10-04 16:48:54 +0300 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-10-04 20:14:05 +0300 |
commit | db3c9c8d3b5903b353bca2fa349d3386c1f68096 (patch) | |
tree | 53775743b0f1ec64c271175f595d06502ea1bcaf /src | |
parent | Remove outparam section in Configuration parse (diff) | |
download | smolbote-db3c9c8d3b5903b353bca2fa349d3386c1f68096.tar.xz |
Remove Breakpad optdepend
Diffstat (limited to 'src')
-rw-r--r-- | src/crashhandler.cpp | 56 | ||||
-rw-r--r-- | src/crashhandler.h | 30 | ||||
-rw-r--r-- | src/crashhandler_dummy.cpp | 16 | ||||
-rw-r--r-- | src/main.cpp | 13 | ||||
-rw-r--r-- | src/meson.build | 7 | ||||
-rw-r--r-- | src/wallet/wallet.cpp | 35 | ||||
-rw-r--r-- | src/wallet/wallet.h | 18 |
7 files changed, 0 insertions, 175 deletions
diff --git a/src/crashhandler.cpp b/src/crashhandler.cpp deleted file mode 100644 index ed9298f..0000000 --- a/src/crashhandler.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote - * - * SPDX-License-Identifier: GPL-3.0 - */ - -#include "crashhandler.h" -#include "version.h" -#include <QByteArray> -#include <client/linux/handler/exception_handler.h> -#include <unistd.h> - -// bool filter_callback (void*) -// --> true: continue processing and write a minidump -static bool minidumpCb(const google_breakpad::MinidumpDescriptor &descriptor, void *context, bool succeeded) -{ - printf("Dump path: %s\n", descriptor.path()); - - auto *ctx = static_cast<CrashHandler::Context *>(context); - if(ctx != nullptr) { - if(!ctx->handler.empty()) { - // fork and run 'handler master:commit path.dmp' - pid_t pid = fork(); - if(pid == 0) { - // pathname program argument ... nullptr - execlp(ctx->handler.c_str(), - ctx->handler.c_str(), "--crashd", ctx->dumppath.c_str(), "-c", descriptor.path(), poi_Version, - (char *)nullptr); - } - } - } - - return succeeded; -} - -bool CrashHandler::install_handler(CrashHandler::Context &ctx) -{ - if(ctx.dumppath.empty()) - return false; - - // Disable Chromium's crash handler so breakpad can capture crashes instead. - // This has to be done before QtWebEngine gets initialized. - const auto chromiumFlags = qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"); - if(!chromiumFlags.contains("disable-in-process-stack-traces")) { - qputenv("QTWEBENGINE_CHROMIUM_FLAGS", chromiumFlags + " --disable-in-process-stack-traces"); - } - - google_breakpad::MinidumpDescriptor descriptor(ctx.dumppath.c_str()); - - // minidump descriptor, filter callback, minidump callback, callback_context, install handler, server_fd - new google_breakpad::ExceptionHandler(descriptor, nullptr, minidumpCb, &ctx, true, -1); - - return true; -} diff --git a/src/crashhandler.h b/src/crashhandler.h deleted file mode 100644 index 73b1768..0000000 --- a/src/crashhandler.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote - * - * SPDX-License-Identifier: GPL-3.0 - */ - -#ifndef SMOLBOTE_CRASHHANDLER_H -#define SMOLBOTE_CRASHHANDLER_H - -#include <string> - -namespace CrashHandler -{ -struct Context { - const std::string dumppath; - const std::string handler; - - explicit Context(const std::string &path, const std::string &crashhandler) - : dumppath(path) - , handler(crashhandler) - { - } -}; - -bool install_handler(Context &ctx); -} - -#endif // SMOLBOTE_CRASHHANDLER_H diff --git a/src/crashhandler_dummy.cpp b/src/crashhandler_dummy.cpp deleted file mode 100644 index e230c82..0000000 --- a/src/crashhandler_dummy.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote - * - * SPDX-License-Identifier: GPL-3.0 - */ - -#include "crashhandler.h" - - -bool CrashHandler::install_handler(CrashHandler::Context &) -{ - return false; -} - diff --git a/src/main.cpp b/src/main.cpp index 3976f53..97b529b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,7 +9,6 @@ #include "browser.h" #include "builtins.h" #include "configuration.h" -#include "crashhandler.h" #include "session/sessiondialog.h" #include "session_json.hpp" #include "settings.h" @@ -95,18 +94,6 @@ int main(int argc, char **argv) app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true); { - if(conf.ptr->value<bool>("usebreakpad").value()) { - CrashHandler::Context ctx( - conf.ptr->value<std::string>("path.crashdump").value(), - conf.ptr->value<std::string>("path.crashhandler").value()); - - if(CrashHandler::install_handler(ctx)) { - spdlog::info("Installed breakpad crash handler: {}", ctx.dumppath); - } else { - spdlog::warn("Failed to install breakpad crash handler: {}", ctx.dumppath); - } - } - // load plugins for(const QString &path : Util::files(conf.ptr->value<QString>("plugins.path").value(), { "*.so", "*.dll" })) { if(app.loadPlugin(path)) { diff --git a/src/meson.build b/src/meson.build index 6a4abd8..aa98d61 100644 --- a/src/meson.build +++ b/src/meson.build @@ -47,14 +47,7 @@ poi_sourceset.add(files( 'subwindow/subwindow.cpp', 'subwindow/tabwidget.cpp', - - 'wallet/wallet.cpp', 'wallet/wallet.h' ), version_h, poi_settings_h ) -poi_sourceset.add(when: [dep_breakpad, dep_threads], - if_true: files('crashhandler.cpp'), - if_false: files('crashhandler_dummy.cpp') -) - diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp deleted file mode 100644 index 5023ea4..0000000 --- a/src/wallet/wallet.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote - * - * SPDX-License-Identifier: GPL-3.0 - */ - -#include "wallet.h" -#include <QWebEngineView> -#include <QWebEngineScript> - -void Wallet::autocompleteForm(QWebEngineView *view) -{ - const auto findFormFunction = QLatin1String("index = undefined; for(var i = 0; i < document.forms.length; ++i) { if(document.forms[i].autocomplete) { index = i } }; index"); - - view->page()->runJavaScript(findFormFunction, QWebEngineScript::ApplicationWorld, [view](const QVariant &v) { - if(!v.isNull()) { - const QString username = "test-username"; - const QString password = "test-password"; - - auto autofillFunction = QString("inputs = document.forms[%1].getElementsByTagName('input');" - "for(var i = 0; i < inputs.length; ++i) {" - " if(inputs[i].type == 'username') { inputs[i].value='username' }" - " else if(inputs[i].type == 'email') { inputs[i].value='%2' }" - " else if(inputs[i].type == 'password') { inputs[i].value='%3' }" - " else { inputs[i].value=inputs[i].type }" - "}") - .arg(v.toString(), username, password); - // TODO - // for page->url() get list of pairs type = value - view->page()->runJavaScript(autofillFunction, QWebEngineScript::ApplicationWorld); - } - }); -} diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h deleted file mode 100644 index d2fdb71..0000000 --- a/src/wallet/wallet.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * This file is part of smolbote. It's copyrighted by the contributors recorded - * in the version control history of the file, available from its original - * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote - * - * SPDX-License-Identifier: GPL-3.0 - */ - -#ifndef SMOLBOTE_WALLET_H -#define SMOLBOTE_WALLET_H - -class QWebEngineView; - -namespace Wallet { - void autocompleteForm(QWebEngineView *view); -} - -#endif // SMOLBOTE_WALLET_H |