diff options
| author | 2019-01-10 17:04:38 -0500 | |
|---|---|---|
| committer | 2019-01-10 17:04:38 -0500 | |
| commit | 83e8ad23310937bb72f4412c15f45231a19202f7 (patch) | |
| tree | 80301af69b14a701f16e21d41ced436850085031 /src/core/core.cpp | |
| parent | Merge pull request #2010 from ReinUsesLisp/gmem (diff) | |
| parent | build: Copy web engine resources to correct location (diff) | |
| download | yuzu-83e8ad23310937bb72f4412c15f45231a19202f7.tar.gz yuzu-83e8ad23310937bb72f4412c15f45231a19202f7.tar.xz yuzu-83e8ad23310937bb72f4412c15f45231a19202f7.zip | |
Merge pull request #1939 from DarkLordZach/web-applet
applets: Implement HLE web browser applet (LibAppletOff)
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index fd10199ec..715172771 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -31,7 +31,9 @@ | |||
| 31 | #include "core/loader/loader.h" | 31 | #include "core/loader/loader.h" |
| 32 | #include "core/perf_stats.h" | 32 | #include "core/perf_stats.h" |
| 33 | #include "core/telemetry_session.h" | 33 | #include "core/telemetry_session.h" |
| 34 | #include "frontend/applets/profile_select.h" | ||
| 34 | #include "frontend/applets/software_keyboard.h" | 35 | #include "frontend/applets/software_keyboard.h" |
| 36 | #include "frontend/applets/web_browser.h" | ||
| 35 | #include "video_core/debug_utils/debug_utils.h" | 37 | #include "video_core/debug_utils/debug_utils.h" |
| 36 | #include "video_core/gpu.h" | 38 | #include "video_core/gpu.h" |
| 37 | #include "video_core/renderer_base.h" | 39 | #include "video_core/renderer_base.h" |
| @@ -103,6 +105,8 @@ struct System::Impl { | |||
| 103 | profile_selector = std::make_unique<Core::Frontend::DefaultProfileSelectApplet>(); | 105 | profile_selector = std::make_unique<Core::Frontend::DefaultProfileSelectApplet>(); |
| 104 | if (software_keyboard == nullptr) | 106 | if (software_keyboard == nullptr) |
| 105 | software_keyboard = std::make_unique<Core::Frontend::DefaultSoftwareKeyboardApplet>(); | 107 | software_keyboard = std::make_unique<Core::Frontend::DefaultSoftwareKeyboardApplet>(); |
| 108 | if (web_browser == nullptr) | ||
| 109 | web_browser = std::make_unique<Core::Frontend::DefaultWebBrowserApplet>(); | ||
| 106 | 110 | ||
| 107 | auto main_process = Kernel::Process::Create(kernel, "main"); | 111 | auto main_process = Kernel::Process::Create(kernel, "main"); |
| 108 | kernel.MakeCurrentProcess(main_process.get()); | 112 | kernel.MakeCurrentProcess(main_process.get()); |
| @@ -199,6 +203,11 @@ struct System::Impl { | |||
| 199 | // Close app loader | 203 | // Close app loader |
| 200 | app_loader.reset(); | 204 | app_loader.reset(); |
| 201 | 205 | ||
| 206 | // Clear all applets | ||
| 207 | profile_selector.reset(); | ||
| 208 | software_keyboard.reset(); | ||
| 209 | web_browser.reset(); | ||
| 210 | |||
| 202 | LOG_DEBUG(Core, "Shutdown OK"); | 211 | LOG_DEBUG(Core, "Shutdown OK"); |
| 203 | } | 212 | } |
| 204 | 213 | ||
| @@ -233,6 +242,7 @@ struct System::Impl { | |||
| 233 | /// Frontend applets | 242 | /// Frontend applets |
| 234 | std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector; | 243 | std::unique_ptr<Core::Frontend::ProfileSelectApplet> profile_selector; |
| 235 | std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard; | 244 | std::unique_ptr<Core::Frontend::SoftwareKeyboardApplet> software_keyboard; |
| 245 | std::unique_ptr<Core::Frontend::WebBrowserApplet> web_browser; | ||
| 236 | 246 | ||
| 237 | /// Service manager | 247 | /// Service manager |
| 238 | std::shared_ptr<Service::SM::ServiceManager> service_manager; | 248 | std::shared_ptr<Service::SM::ServiceManager> service_manager; |
| @@ -443,6 +453,14 @@ const Core::Frontend::SoftwareKeyboardApplet& System::GetSoftwareKeyboard() cons | |||
| 443 | return *impl->software_keyboard; | 453 | return *impl->software_keyboard; |
| 444 | } | 454 | } |
| 445 | 455 | ||
| 456 | void System::SetWebBrowser(std::unique_ptr<Core::Frontend::WebBrowserApplet> applet) { | ||
| 457 | impl->web_browser = std::move(applet); | ||
| 458 | } | ||
| 459 | |||
| 460 | const Core::Frontend::WebBrowserApplet& System::GetWebBrowser() const { | ||
| 461 | return *impl->web_browser; | ||
| 462 | } | ||
| 463 | |||
| 446 | System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { | 464 | System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { |
| 447 | return impl->Init(*this, emu_window); | 465 | return impl->Init(*this, emu_window); |
| 448 | } | 466 | } |