summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcallum_linden <callum@lindenlab.com>2017-12-15 16:11:29 -0800
committercallum_linden <callum@lindenlab.com>2017-12-15 16:11:29 -0800
commit6ced87c0275ec20fca994f8d2f61947d5ac62082 (patch)
treea561bdf885a132d7bf16f6b86ae11837d1fb9831
parent6166ab28dd43304085b23c0d35698be9d90bb8a9 (diff)
Pull in Dullahan 1.1.930 with improved fix for maint-8095 (target='_blank' links) as well as an improvement for maint-8100 (no error message for invalid hostname / url)
-rw-r--r--autobuild.xml14
-rw-r--r--indra/llplugin/llpluginclassmedia.cpp7
-rw-r--r--indra/media_plugins/cef/media_plugin_cef.cpp19
-rw-r--r--indra/newview/llmediactrl.cpp2
4 files changed, 32 insertions, 10 deletions
diff --git a/autobuild.xml b/autobuild.xml
index 9b89883f7f..22480d67a0 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -556,9 +556,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>4332ef6c8e8d7462ee42c99045b0cd87</string>
+ <string>8fc07fd39e8ba33473aa01f156c7eb27</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/11702/67585/dullahan-1.1.929_3.3202.1686.gd665578-darwin64-511421.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/11784/68150/dullahan-1.1.930_3.3202.1686.gd665578-darwin64-511466.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
@@ -568,9 +568,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>001b4ae5c536ee625cf2f85e3bdf2d89</string>
+ <string>4cee3e5ce9e27053fb2143898a1b00c2</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/11703/67592/dullahan-1.1.929_3.3202.1686.gd665578-windows-511421.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/11785/68157/dullahan-1.1.930_3.3202.1686.gd665578-windows-511466.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
@@ -580,16 +580,16 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>90f1926a1e3cd3ae56acd662ad9c0bdc</string>
+ <string>6b014f4f4f001179899ac1a4824ed225</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/11704/67597/dullahan-1.1.929_3.3202.1686.gd665578-windows64-511421.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/11786/68162/dullahan-1.1.930_3.3202.1686.gd665578-windows64-511466.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
- <string>1.1.929_3.3202.1686.gd665578</string>
+ <string>1.1.930_3.3202.1686.gd665578</string>
</map>
<key>elfio</key>
<map>
diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp
index e6a9787da9..9d275c5eeb 100644
--- a/indra/llplugin/llpluginclassmedia.cpp
+++ b/indra/llplugin/llpluginclassmedia.cpp
@@ -1159,7 +1159,12 @@ void LLPluginClassMedia::receivePluginMessage(const LLPluginMessage &message)
{
mClickURL = message.getValue("uri");
mClickTarget = message.getValue("target");
- mClickUUID = message.getValue("uuid");
+
+ // need a link to have a UUID that identifies it to a system further
+ // upstream - plugin could make it but we have access to LLUUID here
+ // so why don't we use it
+ mClickUUID = LLUUID::generateNewID().asString();
+
mediaEvent(LLPluginClassMediaOwner::MEDIA_EVENT_CLICK_LINK_HREF);
}
else if(message_name == "click_nofollow")
diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp
index 558ae75c3c..a8d37a1d0a 100644
--- a/indra/media_plugins/cef/media_plugin_cef.cpp
+++ b/indra/media_plugins/cef/media_plugin_cef.cpp
@@ -38,6 +38,7 @@
#include "media_plugin_base.h"
#include <functional>
+#include <chrono>
#include "dullahan.h"
@@ -64,6 +65,7 @@ private:
void onLoadStartCallback();
void onRequestExitCallback();
void onLoadEndCallback(int httpStatusCode);
+ void onLoadError(int status, const std::string error_text);
void onAddressChangeCallback(std::string url);
void onNavigateURLCallback(std::string url, std::string target);
bool onHTTPAuthCallback(const std::string host, const std::string realm, std::string& username, std::string& password);
@@ -207,6 +209,21 @@ void MediaPluginCEF::onLoadStartCallback()
sendMessage(message);
}
+/////////////////////////////////////////////////////////////////////////////////
+//
+void MediaPluginCEF::onLoadError(int status, const std::string error_text)
+{
+ std::stringstream msg;
+
+ msg << "<b>Loading error!</b>";
+ msg << "<p>";
+ msg << "Message: " << error_text;
+ msg << "<br>";
+ msg << "Code: " << status;
+
+ mCEFLib->showBrowserMessage(msg.str());
+}
+
////////////////////////////////////////////////////////////////////////////////
//
void MediaPluginCEF::onRequestExitCallback()
@@ -245,7 +262,6 @@ void MediaPluginCEF::onNavigateURLCallback(std::string url, std::string target)
LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "click_href");
message.setValue("uri", url);
message.setValue("target", target);
- message.setValue("uuid", ""); // not used right now
sendMessage(message);
}
@@ -462,6 +478,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
mCEFLib->setOnTitleChangeCallback(std::bind(&MediaPluginCEF::onTitleChangeCallback, 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));
mCEFLib->setOnAddressChangeCallback(std::bind(&MediaPluginCEF::onAddressChangeCallback, this, std::placeholders::_1));
mCEFLib->setOnNavigateURLCallback(std::bind(&MediaPluginCEF::onNavigateURLCallback, 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/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index a8025906c7..7f6955d08c 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -1022,7 +1022,7 @@ void LLMediaCtrl::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event)
// try as slurl first
if (!LLURLDispatcher::dispatch(url, "clicked", NULL, mTrusted))
{
- LLWeb::loadURL(url, target, std::string());
+ LLWeb::loadURL(url, target, uuid);
}
// CP: removing this code because we no longer support popups so this breaks the flow.