From 5b25588c1f528276ac4cf59adf5ab47c543a94ee Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Wed, 4 Dec 2024 17:09:32 +0800 Subject: [PATCH] FIX: WebView UserAgent Change-Id: Ibef6281fb2268ced064461b263368b568348050c Jira: none (cherry picked from commit bd3690d85ea1e8d0a5459094ea77eba2c94b4c9f) --- src/slic3r/GUI/Widgets/WebView.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/slic3r/GUI/Widgets/WebView.cpp b/src/slic3r/GUI/Widgets/WebView.cpp index a84a150416..3539e08d81 100644 --- a/src/slic3r/GUI/Widgets/WebView.cpp +++ b/src/slic3r/GUI/Widgets/WebView.cpp @@ -264,10 +264,13 @@ wxWebView* WebView::CreateWebView(wxWindow * parent, wxString const & url) #endif if (webView) { webView->SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE)); + + wxString language_code = Slic3r::GUI::wxGetApp().current_language_code().BeforeFirst('_'); + language_code = language_code.ToStdString(); #ifdef __WIN32__ - webView->SetUserAgent(wxString::Format("BBL-Slicer/v%s (%s) Mozilla/5.0 (Windows NT 10.0; Win64; x64) " - "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52", SLIC3R_VERSION, - Slic3r::GUI::wxGetApp().dark_mode() ? "dark" : "light")); + webView->SetUserAgent(wxString::Format("Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52 BBL-Slicer/v%s (%s) BBL-Language/%s", + SLIC3R_VERSION, Slic3r::GUI::wxGetApp().dark_mode() ? "dark" : "light", language_code.mb_str())); webView->Create(parent, wxID_ANY, url2, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); // We register the wxfs:// protocol for testing purposes webView->RegisterHandler(wxSharedPtr(new wxWebViewArchiveHandler("bbl"))); @@ -279,8 +282,8 @@ wxWebView* WebView::CreateWebView(wxWindow * parent, wxString const & url) // And the memory: file system webView->RegisterHandler(wxSharedPtr(new wxWebViewFSHandler("memory"))); webView->Create(parent, wxID_ANY, url2, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE); - webView->SetUserAgent(wxString::Format("BBL-Slicer/v%s (%s) Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)", SLIC3R_VERSION, - Slic3r::GUI::wxGetApp().dark_mode() ? "dark" : "light")); + webView->SetUserAgent(wxString::Format("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) BBL-Slicer/v%s (%s) BBL-Language/%s", + SLIC3R_VERSION, Slic3r::GUI::wxGetApp().dark_mode() ? "dark" : "light", language_code.mb_str())); #endif #ifdef __WXMAC__ WKWebView * wkWebView = (WKWebView *) webView->GetNativeBackend(); @@ -381,9 +384,11 @@ bool WebView::RunScript(wxWebView *webView, wxString const &javascript) void WebView::RecreateAll() { auto dark = Slic3r::GUI::wxGetApp().dark_mode(); + wxString language_code = Slic3r::GUI::wxGetApp().current_language_code().BeforeFirst('_'); + language_code = language_code.ToStdString(); for (auto webView : g_webviews) { - webView->SetUserAgent(wxString::Format("BBL-Slicer/v%s (%s) Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)", SLIC3R_VERSION, - dark ? "dark" : "light")); + webView->SetUserAgent(wxString::Format("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) BBL-Slicer/v%s (%s) BBL-Language/%s", + SLIC3R_VERSION, dark ? "dark" : "light", language_code.mb_str())); webView->Reload(); } }