Merge branch 'master' into DRTVWR-539
commit
fa57d7a39b
|
|
@ -580,9 +580,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>856ba0e5b7be4bf683cf2849bce845e0</string>
|
||||
<string>49fff41e17e06cdf9eb0c737d20df52f</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/72458/699860/dullahan-1.7.0.202011160759_81.3.10_gb223419_chromium-81.0.4044.138-darwin64-552313.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/83411/779825/dullahan-1.12.2.202106220202_91.1.21_g9dd45fe_chromium-91.0.4472.114-darwin64-560751.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin64</string>
|
||||
|
|
@ -592,9 +592,9 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>515950c911a53ff910b18c7c417ea984</string>
|
||||
<string>f51f324d50a2461cda273e84fa65e0ad</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/72460/699870/dullahan-1.7.0.202011161603_81.3.10_gb223419_chromium-81.0.4044.138-windows-552313.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/83413/779836/dullahan-1.12.2.202106220213_91.1.21_g9dd45fe_chromium-91.0.4472.114-windows-560751.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
|
|
@ -604,16 +604,16 @@
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>f1dccbdfe0603f488eeee4c8f518c959</string>
|
||||
<string>d3df46f6592715c75df2bf520c1ad68b</string>
|
||||
<key>url</key>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/72459/699874/dullahan-1.7.0.202011161603_81.3.10_gb223419_chromium-81.0.4044.138-windows64-552313.tar.bz2</string>
|
||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/83412/779840/dullahan-1.12.2.202106220213_91.1.21_g9dd45fe_chromium-91.0.4472.114-windows64-560751.tar.bz2</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
</map>
|
||||
</map>
|
||||
<key>version</key>
|
||||
<string>1.7.0.202011161603_81.3.10_gb223419_chromium-81.0.4044.138</string>
|
||||
<string>1.12.2.202106220213_91.1.21_g9dd45fe_chromium-91.0.4472.114</string>
|
||||
</map>
|
||||
<key>elfio</key>
|
||||
<map>
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ private:
|
|||
void onCursorChangedCallback(dullahan::ECursorType type);
|
||||
const std::vector<std::string> 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,10 +532,26 @@ 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
|
||||
// As of CEF version 83+, for Windows versions, we need to tell CEF
|
||||
// where the host helper process is since this DLL is not in the same
|
||||
// dir as the executable that loaded it (SLPlugin.exe). The code in
|
||||
// Dullahan that tried to figure out the location automatically uses
|
||||
// the location of the exe which isn't helpful so we tell it explicitly.
|
||||
char cur_dir_str[MAX_PATH];
|
||||
GetCurrentDirectoryA(MAX_PATH, cur_dir_str);
|
||||
settings.host_process_path = std::string(cur_dir_str);
|
||||
#endif
|
||||
settings.accept_language_list = mHostLanguage;
|
||||
settings.background_color = 0xffffffff;
|
||||
|
||||
// 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;
|
||||
|
|
@ -537,7 +562,19 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
|
|||
settings.disable_network_service = mDisableNetworkService;
|
||||
settings.use_mock_keychain = mUseMockKeyChain;
|
||||
#endif
|
||||
settings.flash_enabled = mPluginsEnabled;
|
||||
// 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 = false;
|
||||
|
||||
settings.flip_mouse_y = false;
|
||||
settings.flip_pixels_y = true;
|
||||
settings.frame_rate = 60;
|
||||
|
|
@ -546,8 +583,8 @@ 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
|
||||
|
||||
settings.user_agent_substring = mCEFLib->makeCompatibleUserAgentString(mUserAgentSubtring);
|
||||
settings.webgl_enabled = true;
|
||||
settings.log_file = mCefLogFile;
|
||||
|
|
@ -558,10 +595,10 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
|
|||
mCEFLib->setCustomSchemes(custom_schemes);
|
||||
|
||||
bool result = mCEFLib->init(settings);
|
||||
if (!result)
|
||||
{
|
||||
// if this fails, the media system in viewer will put up a message
|
||||
}
|
||||
if (!result)
|
||||
{
|
||||
// if this fails, the media system in viewer will put up a message
|
||||
}
|
||||
|
||||
// now we can set page zoom factor
|
||||
F32 factor = (F32)message_in.getValueReal("factor");
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
6.4.22
|
||||
6.4.23
|
||||
|
|
|
|||
|
|
@ -2076,17 +2076,6 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>BrowserPluginsEnabled</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Enable Web plugins in the built-in Web browser?</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>ChatBarCustomWidth</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1745,14 +1745,14 @@ 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);
|
||||
|
||||
// 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);
|
||||
|
||||
|
|
|
|||
|
|
@ -147,20 +147,6 @@
|
|||
width="480" />
|
||||
</radio_group>
|
||||
|
||||
<check_box
|
||||
top_delta="2"
|
||||
enabled="true"
|
||||
follows="left|top"
|
||||
height="18"
|
||||
initial_value="true"
|
||||
control_name="BrowserPluginsEnabled"
|
||||
label="Enable plugins"
|
||||
left_delta="20"
|
||||
mouse_opaque="true"
|
||||
name="browser_plugins_enabled"
|
||||
radio_style="false"
|
||||
width="400"
|
||||
top_pad="5"/>
|
||||
<check_box
|
||||
top_delta="4"
|
||||
enabled="true"
|
||||
|
|
@ -241,24 +227,23 @@
|
|||
height="10"
|
||||
layout="topleft"
|
||||
left="30"
|
||||
name="Proxy Settings:"
|
||||
name="Proxy Settings 1"
|
||||
mouse_opaque="false"
|
||||
top_pad="10"
|
||||
width="300">
|
||||
Proxy Settings:
|
||||
</text>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left="80"
|
||||
name="Proxy Settings 2"
|
||||
mouse_opaque="false"
|
||||
top_pad="5"
|
||||
width="300">
|
||||
Proxy Settings:
|
||||
Your system's existing proxy settings will be used
|
||||
</text>
|
||||
<button
|
||||
label="Adjust proxy settings"
|
||||
follows="left|top"
|
||||
height="23"
|
||||
width="140"
|
||||
label_selected="Browse"
|
||||
layout="topleft"
|
||||
left_delta="50"
|
||||
name="set_proxy"
|
||||
top_pad="5"
|
||||
>
|
||||
<button.commit_callback
|
||||
function="Pref.Proxy" />
|
||||
</button>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -616,11 +616,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'):
|
||||
|
|
|
|||
Loading…
Reference in New Issue