summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerhelputil.cpp
diff options
context:
space:
mode:
authorandreykproductengine <andreykproductengine@lindenlab.com>2019-04-12 14:34:07 +0300
committerandreykproductengine <andreykproductengine@lindenlab.com>2019-04-12 14:34:07 +0300
commit9194a97e9460fcd3836c8e20399d50a37d4f1807 (patch)
tree3bfec1491c313fa1a4e5717c2d94403b75a0d242 /indra/newview/llviewerhelputil.cpp
parent960d1169f0b73acb001adffc912797cf0f0f1687 (diff)
Backed out changeset: ce892720a893 (SL-10924)
Diffstat (limited to 'indra/newview/llviewerhelputil.cpp')
-rw-r--r--indra/newview/llviewerhelputil.cpp74
1 files changed, 0 insertions, 74 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