DEV-2925: Remove support for secondlife:///app/objectim URLs.
These are no longer generated in Viewer 2.0 (instead we use notifications to send object IMs to the user), so there's no need to look for them in every textbox. Users can get details on any objects spamming them via the new remote object inspector.master
parent
393f68c1a9
commit
daefef6e66
|
|
@ -512,50 +512,6 @@ std::string LLUrlEntryTeleport::getLocation(const std::string &url) const
|
|||
return ::getStringAfterToken(url, "app/teleport/");
|
||||
}
|
||||
|
||||
///
|
||||
/// LLUrlEntryObjectIM Describes a Second Life object instant msg Url, e.g.,
|
||||
/// secondlife:///app/objectim/<sessionid>
|
||||
///
|
||||
LLUrlEntryObjectIM::LLUrlEntryObjectIM()
|
||||
{
|
||||
mPattern = boost::regex("secondlife:///app/objectim/[\\da-f-]+\\??\\S*",
|
||||
boost::regex::perl|boost::regex::icase);
|
||||
mMenuName = "menu_url_objectim.xml";
|
||||
mTooltip = LLTrans::getString("TooltipObjectIMUrl");
|
||||
}
|
||||
|
||||
std::string LLUrlEntryObjectIM::getLabel(const std::string &url, const LLUrlLabelCallback &cb)
|
||||
{
|
||||
LLURI uri(url);
|
||||
LLSD params = uri.queryMap();
|
||||
if (params.has("name"))
|
||||
{
|
||||
// look for a ?name=<obj-name> param in the url
|
||||
// and use that as the label if present.
|
||||
std::string name = params.get("name");
|
||||
LLStringUtil::trim(name);
|
||||
if (name.empty())
|
||||
{
|
||||
name = LLTrans::getString("Unnamed");
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
return unescapeUrl(url);
|
||||
}
|
||||
|
||||
std::string LLUrlEntryObjectIM::getLocation(const std::string &url) const
|
||||
{
|
||||
LLURI uri(url);
|
||||
LLSD params = uri.queryMap();
|
||||
if (params.has("slurl"))
|
||||
{
|
||||
return params.get("slurl");
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
//
|
||||
// LLUrlEntrySL Describes a generic SLURL, e.g., a Url that starts
|
||||
// with secondlife:// (used as a catch-all for cases not matched above)
|
||||
|
|
|
|||
|
|
@ -208,18 +208,6 @@ public:
|
|||
/*virtual*/ std::string getLocation(const std::string &url) const;
|
||||
};
|
||||
|
||||
///
|
||||
/// LLUrlEntryObjectIM Describes a Second Life object instant msg Url, e.g.,
|
||||
/// secondlife:///app/objectim/<sessionid>?name=Foo
|
||||
///
|
||||
class LLUrlEntryObjectIM : public LLUrlEntryBase
|
||||
{
|
||||
public:
|
||||
LLUrlEntryObjectIM();
|
||||
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb);
|
||||
/*virtual*/ std::string getLocation(const std::string &url) const;
|
||||
};
|
||||
|
||||
///
|
||||
/// LLUrlEntrySL Describes a generic SLURL, e.g., a Url that starts
|
||||
/// with secondlife:// (used as a catch-all for cases not matched above)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@ LLUrlRegistry::LLUrlRegistry()
|
|||
registerUrl(new LLUrlEntryParcel());
|
||||
registerUrl(new LLUrlEntryTeleport());
|
||||
registerUrl(new LLUrlEntryWorldMap());
|
||||
registerUrl(new LLUrlEntryObjectIM());
|
||||
registerUrl(new LLUrlEntryPlace());
|
||||
registerUrl(new LLUrlEntrySL());
|
||||
registerUrl(new LLUrlEntrySLLabel());
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ void LLAgentListener::requestTeleport(LLSD const & event_data) const
|
|||
params.append(event_data["y"]);
|
||||
params.append(event_data["z"]);
|
||||
LLCommandDispatcher::dispatch("teleport", params, LLSD(), NULL, true);
|
||||
// *TODO - lookup other LLCommandHandlers for "agent", "classified", "event", "group", "floater", "objectim", "parcel", "login", login_refresh", "balance", "chat"
|
||||
// *TODO - lookup other LLCommandHandlers for "agent", "classified", "event", "group", "floater", "parcel", "login", login_refresh", "balance", "chat"
|
||||
// should we just compose LLCommandHandler and LLDispatchListener?
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -364,9 +364,9 @@ bool LLURLDispatcher::dispatchRightClick(const std::string& url)
|
|||
bool LLURLDispatcher::dispatchFromTextEditor(const std::string& url)
|
||||
{
|
||||
// *NOTE: Text editors are considered sources of trusted URLs
|
||||
// in order to make objectim and avatar profile links in chat
|
||||
// history work. While a malicious resident could chat an app
|
||||
// SLURL, the receiving resident will see it and must affirmatively
|
||||
// in order to make avatar profile links in chat history work.
|
||||
// While a malicious resident could chat an app SLURL, the
|
||||
// receiving resident will see it and must affirmatively
|
||||
// click on it.
|
||||
// *TODO: Make this trust model more refined. JC
|
||||
const bool trusted_browser = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue