Skip to content
Snippets Groups Projects
Commit 109fd91c authored by Callum Prentice's avatar Callum Prentice
Browse files

Fix for EXT-4961 www.slurl.com will not DnD while slurl.com will

parent 369c58b0
No related branches found
No related tags found
No related merge requests found
...@@ -40,6 +40,12 @@ const std::string LLSLURL::PREFIX_SL_HELP = "secondlife://app."; ...@@ -40,6 +40,12 @@ const std::string LLSLURL::PREFIX_SL_HELP = "secondlife://app.";
const std::string LLSLURL::PREFIX_SL = "sl://"; const std::string LLSLURL::PREFIX_SL = "sl://";
const std::string LLSLURL::PREFIX_SECONDLIFE = "secondlife://"; const std::string LLSLURL::PREFIX_SECONDLIFE = "secondlife://";
const std::string LLSLURL::PREFIX_SLURL_OLD = "http://slurl.com/secondlife/"; const std::string LLSLURL::PREFIX_SLURL_OLD = "http://slurl.com/secondlife/";
// For DnD - even though www.slurl.com redirects to slurl.com in a browser, you can copy and drag
// text with www.slurl.com or a link explicitly pointing at www.slurl.com so testing for this
// version is required also.
const std::string LLSLURL::PREFIX_SLURL_WWW = "http://www.slurl.com/secondlife/";
const std::string LLSLURL::PREFIX_SLURL = "http://maps.secondlife.com/secondlife/"; const std::string LLSLURL::PREFIX_SLURL = "http://maps.secondlife.com/secondlife/";
const std::string LLSLURL::APP_TOKEN = "app/"; const std::string LLSLURL::APP_TOKEN = "app/";
...@@ -68,7 +74,10 @@ std::string LLSLURL::stripProtocol(const std::string& url) ...@@ -68,7 +74,10 @@ std::string LLSLURL::stripProtocol(const std::string& url)
{ {
stripped.erase(0, PREFIX_SLURL_OLD.length()); stripped.erase(0, PREFIX_SLURL_OLD.length());
} }
else if (matchPrefix(stripped, PREFIX_SLURL_WWW))
{
stripped.erase(0, PREFIX_SLURL_WWW.length());
}
return stripped; return stripped;
} }
...@@ -81,6 +90,7 @@ bool LLSLURL::isSLURL(const std::string& url) ...@@ -81,6 +90,7 @@ bool LLSLURL::isSLURL(const std::string& url)
if (matchPrefix(url, PREFIX_SECONDLIFE)) return true; if (matchPrefix(url, PREFIX_SECONDLIFE)) return true;
if (matchPrefix(url, PREFIX_SLURL)) return true; if (matchPrefix(url, PREFIX_SLURL)) return true;
if (matchPrefix(url, PREFIX_SLURL_OLD)) return true; if (matchPrefix(url, PREFIX_SLURL_OLD)) return true;
if (matchPrefix(url, PREFIX_SLURL_WWW)) return true;
return false; return false;
} }
...@@ -91,6 +101,7 @@ bool LLSLURL::isSLURLCommand(const std::string& url) ...@@ -91,6 +101,7 @@ bool LLSLURL::isSLURLCommand(const std::string& url)
if (matchPrefix(url, PREFIX_SL + APP_TOKEN) || if (matchPrefix(url, PREFIX_SL + APP_TOKEN) ||
matchPrefix(url, PREFIX_SECONDLIFE + "/" + APP_TOKEN) || matchPrefix(url, PREFIX_SECONDLIFE + "/" + APP_TOKEN) ||
matchPrefix(url, PREFIX_SLURL + APP_TOKEN) || matchPrefix(url, PREFIX_SLURL + APP_TOKEN) ||
matchPrefix(url, PREFIX_SLURL_WWW + APP_TOKEN) ||
matchPrefix(url, PREFIX_SLURL_OLD + APP_TOKEN) ) matchPrefix(url, PREFIX_SLURL_OLD + APP_TOKEN) )
{ {
return true; return true;
......
...@@ -51,6 +51,7 @@ class LLSLURL ...@@ -51,6 +51,7 @@ class LLSLURL
static const std::string PREFIX_SECONDLIFE; static const std::string PREFIX_SECONDLIFE;
static const std::string PREFIX_SLURL; static const std::string PREFIX_SLURL;
static const std::string PREFIX_SLURL_OLD; static const std::string PREFIX_SLURL_OLD;
static const std::string PREFIX_SLURL_WWW;
static const std::string APP_TOKEN; static const std::string APP_TOKEN;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment