|
8 | 8 | #include "../logger.h" |
9 | 9 | #include "../string_utils.h" |
10 | 10 | #include "../popup_window.h" |
| 11 | +#include "../settings.h" |
11 | 12 |
|
12 | | -bool ShowDevTools(CefRefPtr<CefBrowser> browser) { |
13 | | - CefWindowInfo windowInfo; |
14 | | - CefBrowserSettings settings; |
| 13 | +bool ShowDevTools(CefRefPtr<CefBrowser> browser) |
| 14 | +{ |
| 15 | + LOGGER_DEBUG << "Show DevTools"; |
| 16 | + |
| 17 | + json_value* settings = GetApplicationSettings(); |
| 18 | + std::string runtime_style = (*settings)["chrome"]["runtime_style"]; |
| 19 | + |
| 20 | + CefWindowInfo window_info; |
| 21 | + CefBrowserSettings browser_settings; |
| 22 | + |
| 23 | + if (runtime_style == "alloy") { |
| 24 | + LOGGER_INFO << "Runtime style: alloy"; |
| 25 | + window_info.runtime_style = CEF_RUNTIME_STYLE_ALLOY; |
| 26 | + } else if (runtime_style == "chrome") { |
| 27 | + LOGGER_INFO << "Runtime style: chrome"; |
| 28 | + window_info.runtime_style = CEF_RUNTIME_STYLE_CHROME; |
| 29 | + } else { |
| 30 | + LOGGER_INFO << "Invalid runtime style in settings.json: " << runtime_style; |
| 31 | + window_info.runtime_style = CEF_RUNTIME_STYLE_ALLOY; |
| 32 | + } |
15 | 33 |
|
16 | | - #if defined(OS_WIN) |
17 | | - windowInfo.SetAsPopup(browser->GetHost()->GetWindowHandle(), "DevTools"); |
18 | | - #endif |
| 34 | + HWND popup_handle = CreatePopupWindow(browser->GetHost()->GetWindowHandle()); |
| 35 | + if (!popup_handle) { |
| 36 | + LOGGER_ERROR << "Failed to create popup window"; |
| 37 | + return false; |
| 38 | + } |
| 39 | + window_info.SetAsPopup(popup_handle, "DevTools"); |
| 40 | + |
| 41 | + browser->GetHost()->ShowDevTools(window_info, nullptr, |
| 42 | + browser_settings, CefPoint()); |
| 43 | + |
| 44 | + BrowserWindow* browser_window = GetBrowserWindow(popup_handle); |
| 45 | + if (browser_window) { |
| 46 | + browser_window->SetTitle(L"DevTools"); |
| 47 | + } |
19 | 48 |
|
20 | | - browser->GetHost()->ShowDevTools(windowInfo, browser->GetHost()->GetClient(), |
21 | | - settings, CefPoint()); |
22 | 49 | return true; |
23 | 50 | } |
24 | 51 |
|
|
0 commit comments