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
Lynx Linden 2009-11-12 12:43:18 +00:00
parent 393f68c1a9
commit daefef6e66
5 changed files with 4 additions and 61 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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());

View File

@ -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

View File

@ -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;