From 32bfa92c7137d20f2c105595831b3c8cefe40326 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 24 Dec 2018 16:22:07 -0500 Subject: core: Add getter and setter for WebBrowserApplet frontend --- src/core/core.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index fd10199ec..373dff2e6 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -31,7 +31,9 @@ #include "core/loader/loader.h" #include "core/perf_stats.h" #include "core/telemetry_session.h" +#include "frontend/applets/profile_select.h" #include "frontend/applets/software_keyboard.h" +#include "frontend/applets/web_browser.h" #include "video_core/debug_utils/debug_utils.h" #include "video_core/gpu.h" #include "video_core/renderer_base.h" @@ -103,6 +105,8 @@ struct System::Impl { profile_selector = std::make_unique(); if (software_keyboard == nullptr) software_keyboard = std::make_unique(); + if (web_browser == nullptr) + web_browser = std::make_unique(); auto main_process = Kernel::Process::Create(kernel, "main"); kernel.MakeCurrentProcess(main_process.get()); @@ -233,6 +237,7 @@ struct System::Impl { /// Frontend applets std::unique_ptr profile_selector; std::unique_ptr software_keyboard; + std::unique_ptr web_browser; /// Service manager std::shared_ptr service_manager; @@ -443,6 +448,14 @@ const Core::Frontend::SoftwareKeyboardApplet& System::GetSoftwareKeyboard() cons return *impl->software_keyboard; } +void System::SetWebBrowser(std::unique_ptr applet) { + impl->web_browser = std::move(applet); +} + +const Core::Frontend::WebBrowserApplet& System::GetWebBrowser() const { + return *impl->web_browser; +} + System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { return impl->Init(*this, emu_window); } -- cgit v1.2.3 From cb930c4b5a3f8f3931ba93ef35d4000558ffa79e Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Fri, 28 Dec 2018 18:20:29 -0500 Subject: web_browser: Add bounds checking to applet interface --- src/core/core.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index 373dff2e6..715172771 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -203,6 +203,11 @@ struct System::Impl { // Close app loader app_loader.reset(); + // Clear all applets + profile_selector.reset(); + software_keyboard.reset(); + web_browser.reset(); + LOG_DEBUG(Core, "Shutdown OK"); } -- cgit v1.2.3