summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/core.cpp16
-rw-r--r--src/core/core.h13
-rw-r--r--src/core/frontend/applets/web_browser.cpp2
-rw-r--r--src/core/frontend/applets/web_browser.h4
-rw-r--r--src/core/hle/service/am/applets/web_browser.cpp12
-rw-r--r--src/yuzu/applets/web_browser.cpp6
-rw-r--r--src/yuzu/applets/web_browser.h9
7 files changed, 36 insertions, 26 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 31c590866..572814e4b 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -443,27 +443,31 @@ std::shared_ptr<FileSys::VfsFilesystem> System::GetFilesystem() const {
return impl->virtual_filesystem;
}
-void System::SetProfileSelector(std::unique_ptr<Core::Frontend::ProfileSelectApplet> applet) {
+void System::SetProfileSelector(std::unique_ptr<Frontend::ProfileSelectApplet> applet) {
impl->profile_selector = std::move(applet);
}
-const Core::Frontend::ProfileSelectApplet& System::GetProfileSelector() const {
+const Frontend::ProfileSelectApplet& System::GetProfileSelector() const {
return *impl->profile_selector;
}
-void System::SetSoftwareKeyboard(std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> applet) {
+void System::SetSoftwareKeyboard(std::unique_ptr<Frontend::SoftwareKeyboardApplet> applet) {
impl->software_keyboard = std::move(applet);
}
-const Core::Frontend::SoftwareKeyboardApplet& System::GetSoftwareKeyboard() const {
+const Frontend::SoftwareKeyboardApplet& System::GetSoftwareKeyboard() const {
return *impl->software_keyboard;
}
-void System::SetWebBrowser(std::unique_ptr<Core::Frontend::WebBrowserApplet> applet) {
+void System::SetWebBrowser(std::unique_ptr<Frontend::WebBrowserApplet> applet) {
impl->web_browser = std::move(applet);
}
-const Core::Frontend::WebBrowserApplet& System::GetWebBrowser() const {
+Frontend::WebBrowserApplet& System::GetWebBrowser() {
+ return *impl->web_browser;
+}
+
+const Frontend::WebBrowserApplet& System::GetWebBrowser() const {
return *impl->web_browser;
}
diff --git a/src/core/core.h b/src/core/core.h
index a53dbb4d4..511a5ad3a 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -243,17 +243,18 @@ public:
std::shared_ptr<FileSys::VfsFilesystem> GetFilesystem() const;
- void SetProfileSelector(std::unique_ptr<Core::Frontend::ProfileSelectApplet> applet);
+ void SetProfileSelector(std::unique_ptr<Frontend::ProfileSelectApplet> applet);
- const Core::Frontend::ProfileSelectApplet& GetProfileSelector() const;
+ const Frontend::ProfileSelectApplet& GetProfileSelector() const;
- void SetSoftwareKeyboard(std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> applet);
+ void SetSoftwareKeyboard(std::unique_ptr<Frontend::SoftwareKeyboardApplet> applet);
- const Core::Frontend::SoftwareKeyboardApplet& GetSoftwareKeyboard() const;
+ const Frontend::SoftwareKeyboardApplet& GetSoftwareKeyboard() const;
- void SetWebBrowser(std::unique_ptr<Core::Frontend::WebBrowserApplet> applet);
+ void SetWebBrowser(std::unique_ptr<Frontend::WebBrowserApplet> applet);
- const Core::Frontend::WebBrowserApplet& GetWebBrowser() const;
+ Frontend::WebBrowserApplet& GetWebBrowser();
+ const Frontend::WebBrowserApplet& GetWebBrowser() const;
private:
System();
diff --git a/src/core/frontend/applets/web_browser.cpp b/src/core/frontend/applets/web_browser.cpp
index 6a36b4b8f..3a3d3d0bf 100644
--- a/src/core/frontend/applets/web_browser.cpp
+++ b/src/core/frontend/applets/web_browser.cpp
@@ -13,7 +13,7 @@ DefaultWebBrowserApplet::~DefaultWebBrowserApplet() = default;
void DefaultWebBrowserApplet::OpenPage(std::string_view filename,
std::function<void()> unpack_romfs_callback,
- std::function<void()> finished_callback) const {
+ std::function<void()> finished_callback) {
LOG_INFO(Service_AM,
"(STUBBED) called - No suitable web browser implementation found to open website page "
"at '{}'!",
diff --git a/src/core/frontend/applets/web_browser.h b/src/core/frontend/applets/web_browser.h
index 41d272d26..f952856af 100644
--- a/src/core/frontend/applets/web_browser.h
+++ b/src/core/frontend/applets/web_browser.h
@@ -14,7 +14,7 @@ public:
virtual ~WebBrowserApplet();
virtual void OpenPage(std::string_view url, std::function<void()> unpack_romfs_callback,
- std::function<void()> finished_callback) const = 0;
+ std::function<void()> finished_callback) = 0;
};
class DefaultWebBrowserApplet final : public WebBrowserApplet {
@@ -22,7 +22,7 @@ public:
~DefaultWebBrowserApplet() override;
void OpenPage(std::string_view url, std::function<void()> unpack_romfs_callback,
- std::function<void()> finished_callback) const override;
+ std::function<void()> finished_callback) override;
};
} // namespace Core::Frontend
diff --git a/src/core/hle/service/am/applets/web_browser.cpp b/src/core/hle/service/am/applets/web_browser.cpp
index d975207f5..9b0aa7f5f 100644
--- a/src/core/hle/service/am/applets/web_browser.cpp
+++ b/src/core/hle/service/am/applets/web_browser.cpp
@@ -2,9 +2,16 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
+#include <array>
+#include <cstring>
+#include <vector>
+
+#include "common/assert.h"
+#include "common/common_funcs.h"
#include "common/common_paths.h"
+#include "common/file_util.h"
#include "common/hex_util.h"
-#include "common/logging/backend.h"
+#include "common/logging/log.h"
#include "common/string_util.h"
#include "core/core.h"
#include "core/file_sys/content_archive.h"
@@ -12,7 +19,6 @@
#include "core/file_sys/nca_metadata.h"
#include "core/file_sys/registered_cache.h"
#include "core/file_sys/romfs.h"
-#include "core/file_sys/romfs_factory.h"
#include "core/file_sys/vfs_types.h"
#include "core/frontend/applets/web_browser.h"
#include "core/hle/kernel/process.h"
@@ -146,7 +152,7 @@ void WebBrowser::Execute() {
return;
}
- const auto& frontend{Core::System::GetInstance().GetWebBrowser()};
+ auto& frontend{Core::System::GetInstance().GetWebBrowser()};
frontend.OpenPage(filename, [this] { UnpackRomFS(); }, [this] { Finalize(); });
}
diff --git a/src/yuzu/applets/web_browser.cpp b/src/yuzu/applets/web_browser.cpp
index c59b7ade1..6a9138d53 100644
--- a/src/yuzu/applets/web_browser.cpp
+++ b/src/yuzu/applets/web_browser.cpp
@@ -86,9 +86,9 @@ QtWebBrowser::QtWebBrowser(GMainWindow& main_window) {
QtWebBrowser::~QtWebBrowser() = default;
void QtWebBrowser::OpenPage(std::string_view url, std::function<void()> unpack_romfs_callback,
- std::function<void()> finished_callback) const {
- this->unpack_romfs_callback = unpack_romfs_callback;
- this->finished_callback = finished_callback;
+ std::function<void()> finished_callback) {
+ this->unpack_romfs_callback = std::move(unpack_romfs_callback);
+ this->finished_callback = std::move(finished_callback);
const auto index = url.find('?');
if (index == std::string::npos) {
diff --git a/src/yuzu/applets/web_browser.h b/src/yuzu/applets/web_browser.h
index bba273767..1a3d67353 100644
--- a/src/yuzu/applets/web_browser.h
+++ b/src/yuzu/applets/web_browser.h
@@ -38,16 +38,15 @@ public:
~QtWebBrowser() override;
void OpenPage(std::string_view url, std::function<void()> unpack_romfs_callback,
- std::function<void()> finished_callback) const override;
+ std::function<void()> finished_callback) override;
signals:
void MainWindowOpenPage(std::string_view filename, std::string_view additional_args) const;
-public slots:
+private:
void MainWindowUnpackRomFS();
void MainWindowFinishedBrowsing();
-private:
- mutable std::function<void()> unpack_romfs_callback;
- mutable std::function<void()> finished_callback;
+ std::function<void()> unpack_romfs_callback;
+ std::function<void()> finished_callback;
};