diff options
| author | Callum Prentice <callum@lindenlab.com> | 2025-08-11 18:45:15 -0700 |
|---|---|---|
| committer | Callum Prentice <callum@lindenlab.com> | 2025-08-11 18:45:15 -0700 |
| commit | 1bbad3fd00a9db28944bab1ec9c0e10fd5d1c2f2 (patch) | |
| tree | ff0e1132ece49aaebad07529bebbdd00d3381331 | |
| parent | 356b682f617c708c08de9f87b6f25e7683e701fb (diff) | |
This commit introduces CEF 139 which works now that each media instance has its own cache/cookies folder (previous commit). It also changes the Test Bookmarks page to a heavily updated one with new links and a filter/search mechanism
| -rw-r--r-- | autobuild.xml | 148 | ||||
| -rw-r--r-- | indra/media_plugins/cef/media_plugin_cef.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_web_content.xml | 2 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 8 |
4 files changed, 95 insertions, 84 deletions
diff --git a/autobuild.xml b/autobuild.xml index 56c66b163f..5dcc9a980a 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -99,16 +99,6 @@ </map> <key>boost</key> <map> - <key>copyright</key> - <string>(see individual source files)</string> - <key>description</key> - <string>Boost C++ Libraries</string> - <key>license</key> - <string>boost 1.0</string> - <key>license_file</key> - <string>LICENSES/boost.txt</string> - <key>name</key> - <string>boost</string> <key>platforms</key> <map> <key>darwin64</key> @@ -154,8 +144,18 @@ <string>windows64</string> </map> </map> + <key>license</key> + <string>boost 1.0</string> + <key>license_file</key> + <string>LICENSES/boost.txt</string> + <key>copyright</key> + <string>(see individual source files)</string> <key>version</key> <string>1.86</string> + <key>name</key> + <string>boost</string> + <key>description</key> + <string>Boost C++ Libraries</string> </map> <key>bugsplat</key> <map> @@ -205,14 +205,6 @@ </map> <key>colladadom</key> <map> - <key>copyright</key> - <string>Copyright 2006 Sony Computer Entertainment Inc.</string> - <key>license</key> - <string>SCEA</string> - <key>license_file</key> - <string>LICENSES/collada.txt</string> - <key>name</key> - <string>colladadom</string> <key>platforms</key> <map> <key>darwin64</key> @@ -258,8 +250,16 @@ <string>windows64</string> </map> </map> + <key>license</key> + <string>SCEA</string> + <key>license_file</key> + <string>LICENSES/collada.txt</string> + <key>copyright</key> + <string>Copyright 2006 Sony Computer Entertainment Inc.</string> <key>version</key> <string>2.3.0-r8</string> + <key>name</key> + <string>colladadom</string> </map> <key>cubemaptoequirectangular</key> <map> @@ -441,16 +441,6 @@ </map> <key>dullahan</key> <map> - <key>copyright</key> - <string>Copyright (c) 2017, Linden Research, Inc.</string> - <key>description</key> - <string>A headless browser SDK that uses the Chromium Embedded Framework (CEF). It is designed to make it easier to write applications that render modern web content directly to a memory buffer, inject synthesized mouse and keyboard events as well as interact with web based features like JavaScript or cookies.</string> - <key>license</key> - <string>MPL</string> - <key>license_file</key> - <string>LICENSES/LICENSE.txt</string> - <key>name</key> - <string>dullahan</string> <key>platforms</key> <map> <key>darwin64</key> @@ -458,11 +448,11 @@ <key>archive</key> <map> <key>hash</key> - <string>7fde76e3f0e62d0e0593b6157f4d740ecef2429d</string> + <string>8f3672e548c140a48296669b65cb4ce9a54154e2</string> <key>hash_algorithm</key> <string>sha1</string> <key>url</key> - <string>https://github.com/secondlife/dullahan/releases/download/v1.14.0-r3/dullahan-1.14.0.202408091638_118.4.1_g3dd6078_chromium-118.0.5993.54-darwin64-10322607516.tar.zst</string> + <string>https://github.com/secondlife/dullahan/releases/download/v1.16.0-CEF_139.0.17/dullahan-1.16.0.202508120105_139.0.17_g6c347eb_chromium-139.0.7258.31-darwin64-16896111303.tar.zst</string> </map> <key>name</key> <string>darwin64</string> @@ -486,18 +476,28 @@ <key>archive</key> <map> <key>hash</key> - <string>4124c79d8b0e319877ffa4c12581d5c1318b4d93</string> + <string>ec077eb13edf0b69324d73b49bb434e69e67d2d0</string> <key>hash_algorithm</key> <string>sha1</string> <key>url</key> - <string>https://github.com/secondlife/dullahan/releases/download/v1.14.0-r3/dullahan-1.14.0.202408091639_118.4.1_g3dd6078_chromium-118.0.5993.54-windows64-10322607516.tar.zst</string> + <string>https://github.com/secondlife/dullahan/releases/download/v1.16.0-CEF_139.0.17/dullahan-1.16.0.202508120105_139.0.17_g6c347eb_chromium-139.0.7258.31-windows64-16896111303.tar.zst</string> </map> <key>name</key> <string>windows64</string> </map> </map> + <key>license</key> + <string>MPL</string> + <key>license_file</key> + <string>LICENSES/LICENSE.txt</string> + <key>copyright</key> + <string>Copyright (c) 2017, Linden Research, Inc.</string> <key>version</key> - <string>1.14.0.202408091639_118.4.1_g3dd6078_chromium-118.0.5993.54</string> + <string>1.16.0.202508120105_139.0.17_g6c347eb_chromium-139.0.7258.31</string> + <key>name</key> + <string>dullahan</string> + <key>description</key> + <string>A headless browser SDK that uses the Chromium Embedded Framework (CEF). It is designed to make it easier to write applications that render modern web content directly to a memory buffer, inject synthesized mouse and keyboard events as well as interact with web based features like JavaScript or cookies.</string> </map> <key>emoji_shortcodes</key> <map> @@ -625,16 +625,6 @@ </map> <key>freetype</key> <map> - <key>copyright</key> - <string>Copyright 2006, 2007, 2008, 2009, 2010 by David Turner, Robert Wilhelm, and Werner Lemberg.</string> - <key>description</key> - <string>Font rendering library</string> - <key>license</key> - <string>FreeType</string> - <key>license_file</key> - <string>LICENSES/freetype.txt</string> - <key>name</key> - <string>freetype</string> <key>platforms</key> <map> <key>darwin64</key> @@ -680,8 +670,18 @@ <string>windows64</string> </map> </map> + <key>license</key> + <string>FreeType</string> + <key>license_file</key> + <string>LICENSES/freetype.txt</string> + <key>copyright</key> + <string>Copyright 2006, 2007, 2008, 2009, 2010 by David Turner, Robert Wilhelm, and Werner Lemberg.</string> <key>version</key> <string>2.13.3-cb2e120</string> + <key>name</key> + <string>freetype</string> + <key>description</key> + <string>Font rendering library</string> </map> <key>glext</key> <map> @@ -1395,15 +1395,6 @@ </map> <key>llca</key> <map> - <key>copyright</key> - <string>Copyright (c) 2016, Linden Research, Inc.; data provided by the Mozilla NSS Project. - </string> - <key>license</key> - <string>mit</string> - <key>license_file</key> - <string>LICENSES/ca-license.txt</string> - <key>name</key> - <string>llca</string> <key>platforms</key> <map> <key>common</key> @@ -1421,8 +1412,17 @@ <string>common</string> </map> </map> + <key>license</key> + <string>mit</string> + <key>license_file</key> + <string>LICENSES/ca-license.txt</string> + <key>copyright</key> + <string>Copyright (c) 2016, Linden Research, Inc.; data provided by the Mozilla NSS Project. + </string> <key>version</key> <string>202407221423.0</string> + <key>name</key> + <string>llca</string> </map> <key>llphysicsextensions_source</key> <map> @@ -2620,14 +2620,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> </map> <key>vlc-bin</key> <map> - <key>copyright</key> - <string>Copyright (C) 1998-2016 VLC authors and VideoLAN</string> - <key>license</key> - <string>GPL2</string> - <key>license_file</key> - <string>LICENSES/vlc.txt</string> - <key>name</key> - <string>vlc-bin</string> <key>platforms</key> <map> <key>darwin64</key> @@ -2659,8 +2651,16 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> <string>windows64</string> </map> </map> + <key>license</key> + <string>GPL2</string> + <key>license_file</key> + <string>LICENSES/vlc.txt</string> + <key>copyright</key> + <string>Copyright (C) 1998-2016 VLC authors and VideoLAN</string> <key>version</key> <string>3.0.21.10218721728</string> + <key>name</key> + <string>vlc-bin</string> </map> <key>vulkan_gltf</key> <map> @@ -2858,16 +2858,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> </map> <key>tinyexr</key> <map> - <key>copyright</key> - <string>Copyright (c) 2014 - 2021, Syoyo Fujita and many contributors.</string> - <key>description</key> - <string>tinyexr import library</string> - <key>license</key> - <string>3-clause BSD</string> - <key>license_file</key> - <string>LICENSES/tinyexr_license.txt</string> - <key>name</key> - <string>tinyexr</string> <key>platforms</key> <map> <key>common</key> @@ -2885,16 +2875,26 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string> <string>common</string> </map> </map> - <key>source_type</key> - <string>git</string> + <key>license</key> + <string>3-clause BSD</string> + <key>license_file</key> + <string>LICENSES/tinyexr_license.txt</string> + <key>copyright</key> + <string>Copyright (c) 2014 - 2021, Syoyo Fujita and many contributors.</string> + <key>version</key> + <string>1.0.9-5e8947c</string> + <key>name</key> + <string>tinyexr</string> <key>vcs_branch</key> <string>dependabot/github_actions/secondlife/action-autobuild-4</string> <key>vcs_revision</key> <string>4dc4d1d90d82a22843e2adf5130f9ecb5ee5769e</string> <key>vcs_url</key> <string>https://github.com/secondlife/3p-tinyexr</string> - <key>version</key> - <string>1.0.9-5e8947c</string> + <key>description</key> + <string>tinyexr import library</string> + <key>source_type</key> + <string>git</string> </map> <key>discord_sdk</key> <map> diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index a96187119e..d77eb83b00 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -71,7 +71,7 @@ private: void onLoadStartCallback(); void onRequestExitCallback(); void onLoadEndCallback(int httpStatusCode, std::string url); - void onLoadError(int status, const std::string error_text); + void onLoadError(int status, const std::string error_text, const std::string error_url); void onAddressChangeCallback(std::string url); void onOpenPopupCallback(std::string url, std::string target); bool onHTTPAuthCallback(const std::string host, const std::string realm, std::string& username, std::string& password); @@ -249,15 +249,17 @@ void MediaPluginCEF::onLoadStartCallback() ///////////////////////////////////////////////////////////////////////////////// // -void MediaPluginCEF::onLoadError(int status, const std::string error_text) +void MediaPluginCEF::onLoadError(int status, const std::string error_text, const std::string error_url) { std::stringstream msg; - msg << "<b>Loading error!</b>"; + msg << "<b>Loading error</b>"; msg << "<p>"; - msg << "Message: " << error_text; - msg << "<br>"; - msg << "Code: " << status; + msg << "Error message: " << error_text; + msg << "<p>"; + msg << "Error URL: <tt>" << error_url << "</tt>"; + msg << "<p>"; + msg << "Error code: " << status; mCEFLib->showBrowserMessage(msg.str()); } @@ -614,7 +616,12 @@ void MediaPluginCEF::receiveMessage(const char* message_string) mCEFLib->setOnTooltipCallback(std::bind(&MediaPluginCEF::onTooltipCallback, this, std::placeholders::_1)); mCEFLib->setOnLoadStartCallback(std::bind(&MediaPluginCEF::onLoadStartCallback, this)); mCEFLib->setOnLoadEndCallback(std::bind(&MediaPluginCEF::onLoadEndCallback, this, std::placeholders::_1, std::placeholders::_2)); - mCEFLib->setOnLoadErrorCallback(std::bind(&MediaPluginCEF::onLoadError, this, std::placeholders::_1, std::placeholders::_2)); + + // CEF 139 seems to have introduced a loading failure at the login page (only??) I haven't seen it on + // any other page and it only happens about 1 in 8 times. Without this handler for the error page + // (red box, error message/code/url) the page load recovers after display a brief built in error. + // Not ideal but better than stopping altgoether. Will restore this once I discover the error. + //mCEFLib->setOnLoadErrorCallback(std::bind(&MediaPluginCEF::onLoadError, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); mCEFLib->setOnAddressChangeCallback(std::bind(&MediaPluginCEF::onAddressChangeCallback, this, std::placeholders::_1)); mCEFLib->setOnOpenPopupCallback(std::bind(&MediaPluginCEF::onOpenPopupCallback, this, std::placeholders::_1, std::placeholders::_2)); mCEFLib->setOnHTTPAuthCallback(std::bind(&MediaPluginCEF::onHTTPAuthCallback, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4)); diff --git a/indra/newview/skins/default/xui/en/floater_web_content.xml b/indra/newview/skins/default/xui/en/floater_web_content.xml index 2e1dfa00c7..53796f0959 100644 --- a/indra/newview/skins/default/xui/en/floater_web_content.xml +++ b/indra/newview/skins/default/xui/en/floater_web_content.xml @@ -178,7 +178,7 @@ width="22"> <button.commit_callback function="WebContent.TestURL" - parameter="https://sl-viewer-media-system.s3.amazonaws.com/index.html"/> + parameter="https://sl-viewer-media-system.s3.amazonaws.com/bookmarks/index.html"/> </button> </layout_panel> <layout_panel diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 04c3fea93a..3ef588ae41 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -624,12 +624,16 @@ class Windows_x86_64_Manifest(ViewerManifest): with self.prefix(src=os.path.join(pkgdir, 'bin', config)): self.path("chrome_elf.dll") self.path("d3dcompiler_47.dll") + self.path("dxcompiler.dll") + self.path("dxil.dll") self.path("libcef.dll") self.path("libEGL.dll") self.path("libGLESv2.dll") - self.path("dullahan_host.exe") - self.path("snapshot_blob.bin") self.path("v8_context_snapshot.bin") + self.path("vk_swiftshader.dll") + self.path("vk_swiftshader_icd.json") + self.path("vulkan-1.dll") + self.path("dullahan_host.exe") # MSVC DLLs needed for CEF and have to be in same directory as plugin with self.prefix(src=os.path.join(self.args['build'], os.pardir, |
