From 7bce446b28fc7f7f93b2c4927dac2f9da0835264 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Mon, 10 Jun 2019 14:09:31 -0700 Subject: Changes from @andreyk for improved mouse scroll wheel performance and pull in new Dullahan with CEF 74.1.19_gb62bacf_chromium-74.0.3729.157 --- indra/llplugin/llpluginclassmedia.cpp | 4 +++- indra/llplugin/llpluginclassmedia.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/llplugin') diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 9d447b0f37..cdf2ddde6c 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -656,12 +656,14 @@ bool LLPluginClassMedia::keyEvent(EKeyEventType type, int key_code, MASK modifie return result; } -void LLPluginClassMedia::scrollEvent(int x, int y, MASK modifiers) +void LLPluginClassMedia::scrollEvent(int x, int y, int clicks_x, int clicks_y, MASK modifiers) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "scroll_event"); message.setValueS32("x", x); message.setValueS32("y", y); + message.setValueS32("clicks_x", clicks_x); + message.setValueS32("clicks_y", clicks_y); message.setValue("modifiers", translateModifiers(modifiers)); sendMessage(message); diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index 4f52afb317..9d11ee0421 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -118,7 +118,7 @@ public: bool keyEvent(EKeyEventType type, int key_code, MASK modifiers, LLSD native_key_data); - void scrollEvent(int x, int y, MASK modifiers); + void scrollEvent(int x, int y, int clicks_x, int clicks_y, MASK modifiers); // enable/disable media plugin debugging messages and info spam void enableMediaPluginDebugging( bool enable ); -- cgit v1.3 From ffae378ab14f38d9ce26b6c79105244c30b9507a Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Tue, 11 Jun 2019 17:38:04 +0300 Subject: SOCIAL-231 Show tooltips for links and images im media browser --- indra/llplugin/llpluginclassmedia.cpp | 4 ++++ indra/media_plugins/cef/media_plugin_cef.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) (limited to 'indra/llplugin') diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index cdf2ddde6c..5df64b8e3b 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -1130,6 +1130,10 @@ void LLPluginClassMedia::receivePluginMessage(const LLPluginMessage &message) mDebugMessageLevel = message.getValue("message_level"); mediaEvent(LLPluginClassMediaOwner::MEDIA_EVENT_DEBUG_MESSAGE); } + else if (message_name == "tooltip_text") + { + mHoverText = message.getValue("tooltip"); + } else { LL_WARNS("Plugin") << "Unknown " << message_name << " class message: " << message_name << LL_ENDL; diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 40b480a84e..e05dd3f793 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -62,6 +62,7 @@ private: void onConsoleMessageCallback(std::string message, std::string source, int line); void onStatusMessageCallback(std::string value); void onTitleChangeCallback(std::string title); + void onTooltipCallback(std::string text); void onLoadStartCallback(); void onRequestExitCallback(); void onLoadEndCallback(int httpStatusCode); @@ -208,6 +209,12 @@ void MediaPluginCEF::onTitleChangeCallback(std::string title) sendMessage(message); } +void MediaPluginCEF::onTooltipCallback(std::string text) +{ + LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "tooltip_text"); + message.setValue("tooltip", text); + sendMessage(message); +} //////////////////////////////////////////////////////////////////////////////// // void MediaPluginCEF::onLoadStartCallback() @@ -486,6 +493,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string) mCEFLib->setOnConsoleMessageCallback(std::bind(&MediaPluginCEF::onConsoleMessageCallback, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3)); mCEFLib->setOnStatusMessageCallback(std::bind(&MediaPluginCEF::onStatusMessageCallback, this, std::placeholders::_1)); mCEFLib->setOnTitleChangeCallback(std::bind(&MediaPluginCEF::onTitleChangeCallback, this, std::placeholders::_1)); + 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)); mCEFLib->setOnLoadErrorCallback(std::bind(&MediaPluginCEF::onLoadError, this, std::placeholders::_1, std::placeholders::_2)); -- cgit v1.3 From d278699b7b358a744cd33ff4b7bec700e10b3e6a Mon Sep 17 00:00:00 2001 From: callum_linden Date: Tue, 11 Jun 2019 20:28:54 -0700 Subject: Pull in CEF 75.0.1+gb5e74dd+chromium-75.0.3770.80 and Dullahan 1.2.x along with some minor compatibility changes --- autobuild.xml | 14 +++++++------- indra/llplugin/llpluginclassmedia.cpp | 2 -- indra/llplugin/llpluginclassmedia.h | 2 +- indra/media_plugins/cef/media_plugin_cef.cpp | 4 ---- indra/newview/llviewermedia.cpp | 11 +++++------ 5 files changed, 13 insertions(+), 20 deletions(-) (limited to 'indra/llplugin') diff --git a/autobuild.xml b/autobuild.xml index e61c62f8dc..517b3d3d4e 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -580,9 +580,9 @@ archive hash - d7b0c8910632f50ae8d21c5d68cdaca8 + 11362c72e1edae9c98e6cc40d378fd37 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/38862/328055/dullahan-1.1.2222_74.1.19_gb62bacf_chromium-74.0.3729.157-darwin64-528032.tar.bz2 + http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/38952/328700/dullahan-1.2.1022544_75.0.1_gb5e74dd_chromium-75.0.3770.80-darwin64-528086.tar.bz2 name darwin64 @@ -592,9 +592,9 @@ archive hash - 9237b8e73999b539a9b2466941d02b79 + 0980cd50e5fed4e68ee78132e5c2e240 url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/38863/328061/dullahan-1.1.2222_74.1.19_gb62bacf_chromium-74.0.3729.157-windows-528032.tar.bz2 + http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/38954/328712/dullahan-1.2.1022544_75.0.1_gb5e74dd_chromium-75.0.3770.80-windows-528086.tar.bz2 name windows @@ -604,16 +604,16 @@ archive hash - 3aef2dad2664a535d561ab4b235944db + dd072189ea40ed9fa0af0f2caef866ca url - http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/38864/328065/dullahan-1.1.2222_74.1.19_gb62bacf_chromium-74.0.3729.157-windows64-528032.tar.bz2 + http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/38953/328705/dullahan-1.2.1022544_75.0.1_gb5e74dd_chromium-75.0.3770.80-windows64-528086.tar.bz2 name windows64 version - 1.1.2222_74.1.19_gb62bacf_chromium-74.0.3729.157 + 1.2.1022544_75.0.1_gb5e74dd_chromium-75.0.3770.80 elfio diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 5df64b8e3b..a4ce8d1382 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -849,12 +849,10 @@ void LLPluginClassMedia::paste() } void LLPluginClassMedia::setUserDataPath(const std::string &user_data_path_cache, - const std::string &user_data_path_cookies, const std::string &user_data_path_cef_log) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "set_user_data_path"); message.setValue("cache_path", user_data_path_cache); - message.setValue("cookies_path", user_data_path_cookies); message.setValue("cef_log_file", user_data_path_cef_log); bool cef_verbose_log = gSavedSettings.getBOOL("CefVerboseLog"); diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index 9d11ee0421..6f2b875116 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -195,7 +195,7 @@ public: bool canPaste() const { return mCanPaste; }; // These can be called before init(), and they will be queued and sent before the media init message. - void setUserDataPath(const std::string &user_data_path_cache, const std::string &user_data_path_cookies, const std::string &user_data_path_cef_log); + void setUserDataPath(const std::string &user_data_path_cache, const std::string &user_data_path_cef_log); void setLanguageCode(const std::string &language_code); void setPluginsEnabled(const bool enabled); void setJavascriptEnabled(const bool enabled); diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index e05dd3f793..6f0ae0b83b 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -96,7 +96,6 @@ private: bool mCanCopy; bool mCanPaste; std::string mCachePath; - std::string mCookiePath; std::string mCefLogFile; bool mCefLogVerbose; std::vector mPickedFiles; @@ -128,7 +127,6 @@ MediaPluginBase(host_send_func, host_user_data) mCanCopy = false; mCanPaste = false; mCachePath = ""; - mCookiePath = ""; mCefLogFile = ""; mCefLogVerbose = false; mPickedFiles.clear(); @@ -509,7 +507,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) settings.background_color = 0xff282828; settings.cache_enabled = true; settings.cache_path = mCachePath; - settings.cookie_store_path = mCookiePath; settings.cookies_enabled = mCookiesEnabled; settings.disable_gpu = mDisableGPU; settings.flash_enabled = mPluginsEnabled; @@ -559,7 +556,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string) std::string user_data_path_cookies = message_in.getValue("cookies_path"); mCachePath = user_data_path_cache + "cef_cache"; - mCookiePath = user_data_path_cookies + "cef_cookies"; mCefLogFile = message_in.getValue("cef_log_file"); mCefLogVerbose = message_in.getValueBoolean("cef_verbose_log"); } diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index faad6bdb82..8680cd3f7d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1731,12 +1731,10 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_ std::string launcher_name = gDirUtilp->getLLPluginLauncher(); std::string plugin_name = gDirUtilp->getLLPluginFilename(plugin_basename); + // cookies now are stored in the CEF cache directory too (no more control over their location) std::string user_data_path_cache = gDirUtilp->getCacheDir(false); user_data_path_cache += gDirUtilp->getDirDelimiter(); - std::string user_data_path_cookies = gDirUtilp->getOSUserAppDir(); - user_data_path_cookies += gDirUtilp->getDirDelimiter(); - std::string user_data_path_cef_log = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "cef_log.txt"); // Fix for EXT-5960 - make browser profile specific to user (cache, cookies etc.) @@ -1747,8 +1745,9 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_ std::string linden_user_dir = gDirUtilp->getLindenUserDir(); if ( ! linden_user_dir.empty() ) { - user_data_path_cookies = linden_user_dir; - user_data_path_cookies += gDirUtilp->getDirDelimiter(); + // cookies now are stored in the CEF cache directory too (no more control over their location) + user_data_path_cache = linden_user_dir; + user_data_path_cache += gDirUtilp->getDirDelimiter(); }; // See if the plugin executable exists @@ -1767,7 +1766,7 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_ { media_source = new LLPluginClassMedia(owner); media_source->setSize(default_width, default_height); - media_source->setUserDataPath(user_data_path_cache, user_data_path_cookies, user_data_path_cef_log); + media_source->setUserDataPath(user_data_path_cache, user_data_path_cef_log); media_source->setLanguageCode(LLUI::getLanguage()); media_source->setZoomFactor(zoom_factor); -- cgit v1.3