diff options
-rw-r--r-- | indra/newview/llviewerhelputil.cpp | 74 | ||||
-rw-r--r-- | indra/newview/llviewerhelputil.h | 1 | ||||
-rw-r--r-- | indra/newview/llviewermedia.cpp | 5 |
3 files changed, 1 insertions, 79 deletions
diff --git a/indra/newview/llviewerhelputil.cpp b/indra/newview/llviewerhelputil.cpp index 4d18a791fc..ef4b955a5e 100644 --- a/indra/newview/llviewerhelputil.cpp +++ b/indra/newview/llviewerhelputil.cpp @@ -39,80 +39,6 @@ // Build a help URL from a topic and formatter //static -std::string LLViewerHelpUtil::helpDataEncode(const std::string &component) -{ - const std::string data_marker = "data:"; - if (component.compare(0, data_marker.length(), data_marker) == 0) - { - // This is not url, but data, data part needs to be properly escaped - // data part is separated by ',' from header. Minimal data uri is "data:," - // See "data URI scheme" - size_t separator = component.find(","); - if (separator != std::string::npos) - { - size_t header_size = separator + 1; - std::string header = component.substr(0, header_size); - if (header.find("base64") != std::string::npos) - { - // assume url-safe data - return component; - } - - std::string data = component.substr(header_size, component.length() - header_size); - - const std::string allowed_sorted = - "%-." //include % since it can be a sign of being pre-escaped and is an allowed symbol - "0123456789" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "_" - "abcdefghijklmnopqrstuvwxyz"; - - bool needs_escaping = false; - - std::string::const_iterator it = data.begin(); - std::string::const_iterator end = data.end(); - std::string::const_iterator allowed_begin(allowed_sorted.begin()); - std::string::const_iterator allowed_end(allowed_sorted.end()); - std::string::value_type c; - for (; it != end; ++it) - { - c = *it; - if (!std::binary_search(allowed_begin, allowed_end, c)) - { - // found unescaped symbol - needs_escaping = true; - break; - } - } - - if (!needs_escaping) - { - // pre-escaped - return component; - } - - // Notes: Teoretically file can be partially pre-escaped, - // but we can't reliably distinguish what user intended to do, - // so escape everything and let user control the rest. - // Escapes % as well - std::string url = header + helpURLEncode(data); - - return url; - } - else - { - // corrupted or not a data scheme? Nothing we can do. - return component; - } - } - else - { - // Not a data scheme - return component; - } -} - -//static std::string LLViewerHelpUtil::helpURLEncode( const std::string &component ) { // Every character rfc3986 allows as unreserved in 2.3, minus the tilde diff --git a/indra/newview/llviewerhelputil.h b/indra/newview/llviewerhelputil.h index 8f6d08bec9..d8f08f3f04 100644 --- a/indra/newview/llviewerhelputil.h +++ b/indra/newview/llviewerhelputil.h @@ -34,7 +34,6 @@ class LLOSInfo; class LLViewerHelpUtil { public: - static std::string helpDataEncode( const std::string &component ); static std::string helpURLEncode( const std::string &component ); static std::string buildHelpURL( const std::string &topic ); }; diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index ef281f880b..d8745b1eca 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -70,7 +70,6 @@ #include "llwebprofile.h" #include "llwindow.h" #include "llvieweraudio.h" -#include "llviewerhelputil.h" #include "llcorehttputil.h" #include "llfloaterwebcontent.h" // for handling window close requests and geometry change requests in media browser windows. @@ -2485,10 +2484,8 @@ void LLViewerMediaImpl::unload() } ////////////////////////////////////////////////////////////////////////////////////////// -void LLViewerMediaImpl::navigateTo(const std::string& input_url, const std::string& mime_type, bool rediscover_type, bool server_request, bool clean_browser) +void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mime_type, bool rediscover_type, bool server_request, bool clean_browser) { - std::string url = LLViewerHelpUtil::helpDataEncode(input_url); - cancelMimeTypeProbe(); if(mMediaURL != url) |