aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2020-10-04 16:48:54 +0300
committerAqua-sama <aqua@iserlohn-fortress.net>2020-10-04 20:14:05 +0300
commitdb3c9c8d3b5903b353bca2fa349d3386c1f68096 (patch)
tree53775743b0f1ec64c271175f595d06502ea1bcaf /src
parentRemove outparam section in Configuration parse (diff)
downloadsmolbote-db3c9c8d3b5903b353bca2fa349d3386c1f68096.tar.xz
Remove Breakpad optdepend
Diffstat (limited to 'src')
-rw-r--r--src/crashhandler.cpp56
-rw-r--r--src/crashhandler.h30
-rw-r--r--src/crashhandler_dummy.cpp16
-rw-r--r--src/main.cpp13
-rw-r--r--src/meson.build7
-rw-r--r--src/wallet/wallet.cpp35
-rw-r--r--src/wallet/wallet.h18
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