summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2020-12-08 12:20:45 +0100
committerMorph <39850852+Morph1984@users.noreply.github.com>2020-12-18 16:33:28 +0100
commit82fa9f8d56bc285e7bb58fc81b495a55be9ea82c (patch)
tree19ca59277d5730dc76d632ab1f0a135f25f19415 /src/core
parentapplets/web: Fix keyboard to emulated controller input (diff)
downloadyuzu-82fa9f8d56bc285e7bb58fc81b495a55be9ea82c.tar
yuzu-82fa9f8d56bc285e7bb58fc81b495a55be9ea82c.tar.gz
yuzu-82fa9f8d56bc285e7bb58fc81b495a55be9ea82c.tar.bz2
yuzu-82fa9f8d56bc285e7bb58fc81b495a55be9ea82c.tar.lz
yuzu-82fa9f8d56bc285e7bb58fc81b495a55be9ea82c.tar.xz
yuzu-82fa9f8d56bc285e7bb58fc81b495a55be9ea82c.tar.zst
yuzu-82fa9f8d56bc285e7bb58fc81b495a55be9ea82c.zip
Diffstat (limited to 'src/core')
-rw-r--r--src/core/frontend/applets/web_browser.cpp9
-rw-r--r--src/core/frontend/applets/web_browser.h8
-rw-r--r--src/core/hle/service/am/applets/web_browser.cpp12
-rw-r--r--src/core/hle/service/am/applets/web_browser.h2
4 files changed, 28 insertions, 3 deletions
diff --git a/src/core/frontend/applets/web_browser.cpp b/src/core/frontend/applets/web_browser.cpp
index a5d8f82ac..50db6a654 100644
--- a/src/core/frontend/applets/web_browser.cpp
+++ b/src/core/frontend/applets/web_browser.cpp
@@ -20,4 +20,13 @@ void DefaultWebBrowserApplet::OpenLocalWebPage(
callback(Service::AM::Applets::WebExitReason::WindowClosed, "http://localhost/");
}
+void DefaultWebBrowserApplet::OpenExternalWebPage(
+ std::string_view external_url,
+ std::function<void(Service::AM::Applets::WebExitReason, std::string)> callback) const {
+ LOG_WARNING(Service_AM, "(STUBBED) called, backend requested to open external web page at {}",
+ external_url);
+
+ callback(Service::AM::Applets::WebExitReason::WindowClosed, "http://localhost/");
+}
+
} // namespace Core::Frontend
diff --git a/src/core/frontend/applets/web_browser.h b/src/core/frontend/applets/web_browser.h
index 5b0629cfb..1c5ef19a9 100644
--- a/src/core/frontend/applets/web_browser.h
+++ b/src/core/frontend/applets/web_browser.h
@@ -18,6 +18,10 @@ public:
virtual void OpenLocalWebPage(
std::string_view local_url, std::function<void()> extract_romfs_callback,
std::function<void(Service::AM::Applets::WebExitReason, std::string)> callback) const = 0;
+
+ virtual void OpenExternalWebPage(
+ std::string_view external_url,
+ std::function<void(Service::AM::Applets::WebExitReason, std::string)> callback) const = 0;
};
class DefaultWebBrowserApplet final : public WebBrowserApplet {
@@ -27,6 +31,10 @@ public:
void OpenLocalWebPage(std::string_view local_url, std::function<void()> extract_romfs_callback,
std::function<void(Service::AM::Applets::WebExitReason, std::string)>
callback) const override;
+
+ void OpenExternalWebPage(std::string_view external_url,
+ std::function<void(Service::AM::Applets::WebExitReason, std::string)>
+ callback) const 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 9c8be156f..2ab420789 100644
--- a/src/core/hle/service/am/applets/web_browser.cpp
+++ b/src/core/hle/service/am/applets/web_browser.cpp
@@ -409,7 +409,9 @@ void WebBrowser::InitializeOffline() {
void WebBrowser::InitializeShare() {}
-void WebBrowser::InitializeWeb() {}
+void WebBrowser::InitializeWeb() {
+ external_url = ParseStringValue(GetInputTLVData(WebArgInputTLVType::InitialURL).value());
+}
void WebBrowser::InitializeWifi() {}
@@ -456,8 +458,12 @@ void WebBrowser::ExecuteShare() {
}
void WebBrowser::ExecuteWeb() {
- LOG_WARNING(Service_AM, "(STUBBED) called, Web Applet is not implemented");
- WebBrowserExit(WebExitReason::EndButtonPressed);
+ LOG_INFO(Service_AM, "Opening external URL at {}", external_url);
+
+ frontend.OpenExternalWebPage(external_url,
+ [this](WebExitReason exit_reason, std::string last_url) {
+ WebBrowserExit(exit_reason, last_url);
+ });
}
void WebBrowser::ExecuteWifi() {
diff --git a/src/core/hle/service/am/applets/web_browser.h b/src/core/hle/service/am/applets/web_browser.h
index 936a49a86..04c274754 100644
--- a/src/core/hle/service/am/applets/web_browser.h
+++ b/src/core/hle/service/am/applets/web_browser.h
@@ -79,6 +79,8 @@ private:
std::string offline_document;
FileSys::VirtualFile offline_romfs;
+ std::string external_url;
+
Core::System& system;
};