|
5 | 5 | #include "Plugin.h" |
6 | 6 | #include "Utils.h" |
7 | 7 | #include "PathUtils.h" |
| 8 | +#include "Extension.h" |
8 | 9 | #include "HostObjectRmAPI.h" |
9 | 10 | #include "../API/RainmeterAPI.h" |
10 | 11 | #include <WebView2EnvironmentOptions.h> |
11 | 12 | #include <filesystem> |
12 | 13 |
|
13 | | -bool g_extensions_checked = false; |
14 | | - |
15 | | -std::vector<std::wstring> GetExtensionsID(const std::wstring& input) |
16 | | -{ |
17 | | - std::vector<std::wstring> result; |
18 | | - std::wstringstream ss(input); |
19 | | - std::wstring token; |
20 | | - |
21 | | - while (std::getline(ss, token, L',')) { |
22 | | - token.erase(0, token.find_first_not_of(L" \t")); |
23 | | - token.erase(token.find_last_not_of(L" \t") + 1); |
24 | | - |
25 | | - if (!token.empty()) { |
26 | | - result.push_back(token); |
27 | | - } |
28 | | - } |
29 | | - return result; |
30 | | -} |
31 | | - |
32 | | -static void EnableExtension( |
33 | | - ICoreWebView2BrowserExtension* extension, |
34 | | - BOOL enable) |
35 | | -{ |
36 | | - extension->Enable( |
37 | | - enable, |
38 | | - Callback<ICoreWebView2BrowserExtensionEnableCompletedHandler>( |
39 | | - [](HRESULT hr) -> HRESULT |
40 | | - { |
41 | | - if (FAILED(hr)) |
42 | | - ShowFailure(hr, L"Enable extension failed"); |
43 | | - return S_OK; |
44 | | - }).Get()); |
45 | | -} |
46 | | - |
47 | | -static void RemoveExtension(void* rm, |
48 | | - ICoreWebView2BrowserExtension* extension, |
49 | | - const std::wstring& name) |
50 | | -{ |
51 | | - extension->Remove( |
52 | | - Callback<ICoreWebView2BrowserExtensionRemoveCompletedHandler>( |
53 | | - [](HRESULT hr) -> HRESULT |
54 | | - { |
55 | | - if (FAILED(hr)) |
56 | | - ShowFailure(hr, L"Uninstall extension failed"); |
57 | | - return S_OK; |
58 | | - }).Get()); |
59 | | - |
60 | | - RmLogF(rm, LOG_DEBUG, L"WebView2: \"%s\" extension removed.", name.c_str()); |
61 | | -} |
62 | | - |
63 | | - |
64 | 14 | // Create WebView2 environment and controller |
65 | 15 | void CreateWebView2(Measure* measure) |
66 | 16 | { |
|
0 commit comments