diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/frontend/applets/web_browser.cpp | 8 | ||||
| -rw-r--r-- | src/core/frontend/applets/web_browser.h | 12 | ||||
| -rw-r--r-- | src/core/hle/service/am/applets/web_browser.cpp | 5 |
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 | ||
| 12 | DefaultWebBrowserApplet::~DefaultWebBrowserApplet() = default; | 12 | DefaultWebBrowserApplet::~DefaultWebBrowserApplet() = default; |
| 13 | 13 | ||
| 14 | void 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 | |||
| 12 | using namespace Service::AM::Applets; | ||
| 8 | 13 | ||
| 9 | namespace Core::Frontend { | 14 | namespace Core::Frontend { |
| 10 | 15 | ||
| 11 | class WebBrowserApplet { | 16 | class WebBrowserApplet { |
| 12 | public: | 17 | public: |
| 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 | ||
| 16 | class DefaultWebBrowserApplet final : public WebBrowserApplet { | 25 | class DefaultWebBrowserApplet final : public WebBrowserApplet { |
| 17 | public: | 26 | public: |
| 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 | ||
| 357 | void WebBrowser::ExecuteOffline() { | 357 | void 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 | ||
| 362 | void WebBrowser::ExecuteShare() { | 365 | void WebBrowser::ExecuteShare() { |