summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/frontend/applets/web_browser.cpp8
-rw-r--r--src/core/frontend/applets/web_browser.h12
-rw-r--r--src/core/hle/service/am/applets/web_browser.cpp5
3 files changed, 24 insertions, 1 deletions
diff --git a/src/core/frontend/applets/web_browser.cpp b/src/core/frontend/applets/web_browser.cpp
index 58861809e..0e1612e27 100644
--- a/src/core/frontend/applets/web_browser.cpp
+++ b/src/core/frontend/applets/web_browser.cpp
@@ -11,4 +11,12 @@ WebBrowserApplet::~WebBrowserApplet() = default;
11 11
12DefaultWebBrowserApplet::~DefaultWebBrowserApplet() = default; 12DefaultWebBrowserApplet::~DefaultWebBrowserApplet() = default;
13 13
14void DefaultWebBrowserApplet::OpenLocalWebPage(
15 std::string_view local_url, std::function<void(WebExitReason, std::string)> callback) const {
16 LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to open local web page at {}",
17 local_url);
18
19 callback(WebExitReason::WindowClosed, "http://localhost/");
20}
21
14} // namespace Core::Frontend 22} // namespace Core::Frontend
diff --git a/src/core/frontend/applets/web_browser.h b/src/core/frontend/applets/web_browser.h
index 6e5f4d93d..2ccefc68f 100644
--- a/src/core/frontend/applets/web_browser.h
+++ b/src/core/frontend/applets/web_browser.h
@@ -5,17 +5,29 @@
5#pragma once 5#pragma once
6 6
7#include <functional> 7#include <functional>
8#include <string_view>
9
10#include "core/hle/service/am/applets/web_types.h"
11
12using namespace Service::AM::Applets;
8 13
9namespace Core::Frontend { 14namespace Core::Frontend {
10 15
11class WebBrowserApplet { 16class WebBrowserApplet {
12public: 17public:
13 virtual ~WebBrowserApplet(); 18 virtual ~WebBrowserApplet();
19
20 virtual void OpenLocalWebPage(
21 std::string_view local_url,
22 std::function<void(WebExitReason, std::string)> callback) const = 0;
14}; 23};
15 24
16class DefaultWebBrowserApplet final : public WebBrowserApplet { 25class DefaultWebBrowserApplet final : public WebBrowserApplet {
17public: 26public:
18 ~DefaultWebBrowserApplet() override; 27 ~DefaultWebBrowserApplet() override;
28
29 void OpenLocalWebPage(std::string_view local_url,
30 std::function<void(WebExitReason, std::string)> callback) const override;
19}; 31};
20 32
21} // namespace Core::Frontend 33} // 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 06fcf3e3f..c0c98ad30 100644
--- a/src/core/hle/service/am/applets/web_browser.cpp
+++ b/src/core/hle/service/am/applets/web_browser.cpp
@@ -356,7 +356,10 @@ void WebBrowser::ExecuteLogin() {
356 356
357void WebBrowser::ExecuteOffline() { 357void WebBrowser::ExecuteOffline() {
358 LOG_INFO(Service_AM, "Opening offline document at {}", offline_document); 358 LOG_INFO(Service_AM, "Opening offline document at {}", offline_document);
359 WebBrowserExit(WebExitReason::WindowClosed); 359 frontend.OpenLocalWebPage(offline_document,
360 [this](WebExitReason exit_reason, std::string last_url) {
361 WebBrowserExit(exit_reason, last_url);
362 });
360} 363}
361 364
362void WebBrowser::ExecuteShare() { 365void WebBrowser::ExecuteShare() {