From c705126d0be0b6a60d0e8e23bf8919e08e0db967 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Fri, 14 May 2021 15:21:06 -0700 Subject: Fixes SL-14897 Disable Flash support in the embedded browser --- indra/media_plugins/cef/media_plugin_cef.cpp | 13 ++++++++++--- indra/newview/app_settings/settings.xml | 11 ----------- indra/newview/llviewermedia.cpp | 4 ---- .../skins/default/xui/en/panel_preferences_setup.xml | 14 -------------- 4 files changed, 10 insertions(+), 32 deletions(-) (limited to 'indra') diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index c658f35480..181355d395 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -547,7 +547,10 @@ void MediaPluginCEF::receiveMessage(const char* message_string) settings.disable_network_service = mDisableNetworkService; settings.use_mock_keychain = mUseMockKeyChain; #endif - settings.flash_enabled = mPluginsEnabled; + // SL-14897 Disable Flash support in the embedded browser + //settings.flash_enabled = mPluginsEnabled; + settings.flash_enabled = false; + settings.flip_mouse_y = false; settings.flip_pixels_y = true; settings.frame_rate = 60; @@ -556,8 +559,12 @@ void MediaPluginCEF::receiveMessage(const char* message_string) settings.initial_width = 1024; settings.java_enabled = false; settings.javascript_enabled = mJavascriptEnabled; - settings.media_stream_enabled = false; // MAINT-6060 - WebRTC media removed until we can add granualrity/query UI - settings.plugins_enabled = mPluginsEnabled; + settings.media_stream_enabled = false; // MAINT-6060 - WebRTC media removed until we can add granularity/query UI + + // SL-14897 Disable Flash support in the embedded browser + //settings.plugins_enabled = mPluginsEnabled; + settings.plugins_enabled = false; + settings.user_agent_substring = mCEFLib->makeCompatibleUserAgentString(mUserAgentSubtring); settings.webgl_enabled = true; settings.log_file = mCefLogFile; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 77f0fd99bc..5baca21df7 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2076,17 +2076,6 @@ Value 1 - BrowserPluginsEnabled - - Comment - Enable Web plugins in the built-in Web browser? - Persist - 1 - Type - Boolean - Value - 1 - ChatBarCustomWidth Comment diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 9ed2df2759..9a1403f892 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1744,10 +1744,6 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_ bool cookies_enabled = gSavedSettings.getBOOL( "CookiesEnabled" ); media_source->cookies_enabled( cookies_enabled || clean_browser); - // collect 'plugins enabled' setting from prefs and send to embedded browser - bool plugins_enabled = gSavedSettings.getBOOL( "BrowserPluginsEnabled" ); - media_source->setPluginsEnabled( plugins_enabled || clean_browser); - // collect 'javascript enabled' setting from prefs and send to embedded browser bool javascript_enabled = gSavedSettings.getBOOL( "BrowserJavascriptEnabled" ); media_source->setJavascriptEnabled( javascript_enabled || clean_browser); diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index 6732f4ff1c..89a5a5ca6f 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -147,20 +147,6 @@ width="480" /> - Date: Tue, 18 May 2021 08:45:57 -0700 Subject: Pull in updated Dullahan and use it for for: Fix SL-14888 Media on a Prim should not show JS (about to unload) popups --- indra/media_plugins/cef/media_plugin_cef.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indra') diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 181355d395..8c1855d5cb 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -73,6 +73,7 @@ private: void onCursorChangedCallback(dullahan::ECursorType type); const std::vector onFileDialog(dullahan::EFileDialogType dialog_type, const std::string dialog_title, const std::string default_file, const std::string dialog_accept_filter, bool& use_default); bool onJSDialogCallback(const std::string origin_url, const std::string message_text, const std::string default_prompt_text); + bool onJSBeforeUnloadCallback(); void postDebugMessage(const std::string& msg); void authResponse(LLPluginMessage &message); @@ -375,6 +376,14 @@ bool MediaPluginCEF::onJSDialogCallback(const std::string origin_url, const std: return true; } +//////////////////////////////////////////////////////////////////////////////// +// +bool MediaPluginCEF::onJSBeforeUnloadCallback() +{ + // return true indicates we suppress the JavaScript UI entirely + return true; +} + //////////////////////////////////////////////////////////////////////////////// // void MediaPluginCEF::onCursorChangedCallback(dullahan::ECursorType type) @@ -523,6 +532,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string) mCEFLib->setOnCursorChangedCallback(std::bind(&MediaPluginCEF::onCursorChangedCallback, this, std::placeholders::_1)); mCEFLib->setOnRequestExitCallback(std::bind(&MediaPluginCEF::onRequestExitCallback, this)); mCEFLib->setOnJSDialogCallback(std::bind(&MediaPluginCEF::onJSDialogCallback, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); + mCEFLib->setOnJSBeforeUnloadCallback(std::bind(&MediaPluginCEF::onJSBeforeUnloadCallback, this)); dullahan::dullahan_settings settings; #if LL_WINDOWS -- cgit v1.2.3 From 4158e69141cd59c9b1c669fa0eea8c3d95b74132 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Wed, 19 May 2021 16:21:58 -0700 Subject: Fix for SL-12320 The Viewer functionality is broken with an in-viewer enabled proxy - there isn't an obvious way to set proxy information for CEF alone and QA asserts that the system setting is used so we are removing the proxy UI from the preferences floater. I purposely left everything else in place (config floater, media plugin messages etc.) so we can consider adding CEF specific support one day. --- .../default/xui/en/panel_preferences_setup.xml | 29 +++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index 89a5a5ca6f..27beb3937c 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -229,22 +229,21 @@ left="30" name="Proxy Settings:" mouse_opaque="false" + top_pad="10" + width="300"> + Proxy Settings: + + - Proxy Settings: + Your system's existing proxy settings will be used - -- cgit v1.2.3 From 7772ed0cb2ebf81d4e6b1a35dcffdfe88f6c1bcc Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Tue, 25 May 2021 09:40:13 -0700 Subject: Fix duplicate name is XML (FS:Ansarial) --- indra/newview/skins/default/xui/en/panel_preferences_setup.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index 27beb3937c..dff6f6e600 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -227,7 +227,7 @@ height="10" layout="topleft" left="30" - name="Proxy Settings:" + name="Proxy Settings 1" mouse_opaque="false" top_pad="10" width="300"> @@ -240,7 +240,7 @@ height="10" layout="topleft" left="80" - name="Proxy Settings:" + name="Proxy Settings 2" mouse_opaque="false" top_pad="5" width="300"> -- cgit v1.2.3 From 56b02aee2eff313c45adbbf6f2d93493cb6cced2 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Fri, 11 Jun 2021 11:03:39 -0700 Subject: Fix for SL-15389 -- Pull in the patch to add the Akamai cert fix specified in SL-15370 --- indra/newview/llsechandler_basic.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'indra') diff --git a/indra/newview/llsechandler_basic.cpp b/indra/newview/llsechandler_basic.cpp index 737ef30ada..19db020a31 100644 --- a/indra/newview/llsechandler_basic.cpp +++ b/indra/newview/llsechandler_basic.cpp @@ -915,11 +915,19 @@ void _validateCert(int validation_policy, } if (validation_policy & VALIDATION_POLICY_SSL_KU) { + // This stanza of code was changed 2021-06-09 as per details in SL-15370. + // Brief summary: a renewed certificate from Akamai only contains the + // 'Digital Signature' field and not the 'Key Encipherment' one. This code + // used to look for both and throw an exception at startup (ignored) and + // (for example) when buying L$ in the Viewer (fails with a UI message + // and an entry in the Viewer log). This modified code removes the second + // check for the 'Key Encipherment' field. If Akamai can provide a + // replacement certificate that has both fields, then this modified code + // will not be required. if (current_cert_info.has(CERT_KEY_USAGE) && current_cert_info[CERT_KEY_USAGE].isArray() && - (!(_LLSDArrayIncludesValue(current_cert_info[CERT_KEY_USAGE], - LLSD((std::string)CERT_KU_DIGITAL_SIGNATURE))) || !(_LLSDArrayIncludesValue(current_cert_info[CERT_KEY_USAGE], - LLSD((std::string)CERT_KU_KEY_ENCIPHERMENT))))) + LLSD((std::string)CERT_KU_DIGITAL_SIGNATURE))) + ) { LLTHROW(LLCertKeyUsageValidationException(current_cert_info)); } -- cgit v1.2.3 From 45135a7c58d4ef2d5d79b99337ee0ba40e5d2e93 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Thu, 17 Jun 2021 12:42:58 -0700 Subject: Fix for: SL-15422 Update version of CEF used in the Viewer to 91.0.4472.101. Also includes a tweak to viewer_manifest.py to handle some CEF file changes" --- indra/newview/viewer_manifest.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'indra') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 0207256e96..7103a21efc 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -622,11 +622,9 @@ class WindowsManifest(ViewerManifest): # CEF files common to all configurations with self.prefix(src=os.path.join(pkgdir, 'resources')): - self.path("cef.pak") - self.path("cef_100_percent.pak") - self.path("cef_200_percent.pak") - self.path("cef_extensions.pak") - self.path("devtools_resources.pak") + self.path("chrome_100_percent.pak") + self.path("chrome_200_percent.pak") + self.path("resources.pak") self.path("icudtl.dat") with self.prefix(src=os.path.join(pkgdir, 'resources', 'locales'), dst='locales'): -- cgit v1.2.3 From 3602d64a09fb068129cccd4f7993c0d658cc4669 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Mon, 12 Jul 2021 12:50:34 -0700 Subject: Fix for SL-15559 PDF files do not load in CEF v91 --- indra/media_plugins/cef/media_plugin_cef.cpp | 15 ++++++++++----- indra/newview/llviewermedia.cpp | 4 ++++ 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'indra') diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 8c1855d5cb..97ad3d54cc 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -557,8 +557,17 @@ void MediaPluginCEF::receiveMessage(const char* message_string) settings.disable_network_service = mDisableNetworkService; settings.use_mock_keychain = mUseMockKeyChain; #endif + // This setting applies to all plugins, not just Flash + // Regarding, SL-15559 PDF files do not load in CEF v91, + // it turns out that on Windows, PDF support is treated + // as a plugin on Windows only so turning all plugins + // off, disabled built in PDF support. (Works okay in + // macOS surprisingly). To mitigrate this, we set the global + // media enabled flag to whatever the consumer wants and + // explicitly disable Flash with a different setting (below) + settings.plugins_enabled = mPluginsEnabled; + // SL-14897 Disable Flash support in the embedded browser - //settings.flash_enabled = mPluginsEnabled; settings.flash_enabled = false; settings.flip_mouse_y = false; @@ -571,10 +580,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) settings.javascript_enabled = mJavascriptEnabled; settings.media_stream_enabled = false; // MAINT-6060 - WebRTC media removed until we can add granularity/query UI - // SL-14897 Disable Flash support in the embedded browser - //settings.plugins_enabled = mPluginsEnabled; - settings.plugins_enabled = false; - settings.user_agent_substring = mCEFLib->makeCompatibleUserAgentString(mUserAgentSubtring); settings.webgl_enabled = true; settings.log_file = mCefLogFile; diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 9a1403f892..556c12bafa 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1748,6 +1748,10 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_ bool javascript_enabled = gSavedSettings.getBOOL( "BrowserJavascriptEnabled" ); media_source->setJavascriptEnabled( javascript_enabled || clean_browser); + // As of SL-15559 PDF files do not load in CEF v91 we enable plugins + // but explicitly disable Flash (PDF support in CEF is now treated as a plugin) + media_source->setPluginsEnabled(true); + bool media_plugin_debugging_enabled = gSavedSettings.getBOOL("MediaPluginDebugging"); media_source->enableMediaPluginDebugging( media_plugin_debugging_enabled || clean_browser); -- cgit v1.2.3 From 95b26d3becf8fef901ea09998866a9d8227cdcad Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Mon, 12 Jul 2021 14:17:04 -0700 Subject: Fix for SL-15560 pages with undefined html render with gray background instead of white in CEF v91 --- indra/media_plugins/cef/media_plugin_cef.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 97ad3d54cc..44407c3dfb 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -546,7 +546,12 @@ void MediaPluginCEF::receiveMessage(const char* message_string) settings.host_process_path = std::string(cur_dir_str); #endif settings.accept_language_list = mHostLanguage; - settings.background_color = 0xff282828; // close to Viewer background color + + // SL-15560: Product team overruled my change to set the default + // embedded background color to match the floater background + // and set it to white + settings.background_color = 0xffffffff; // white + settings.cache_enabled = true; settings.root_cache_path = mRootCachePath; settings.cache_path = mCachePath; -- cgit v1.2.3 From c40b8310b00f1d620a2f5a94f2514c8bf3531373 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Mon, 9 Aug 2021 17:51:23 -0400 Subject: Increment viewer version to 6.4.23 following promotion of DRTVWR-531 --- indra/newview/VIEWER_VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra') diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index a15225fad6..4c8366c864 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -6.4.22 +6.4.23 -- cgit v1.2.3