diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2009-12-10 22:38:19 -0500 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2009-12-10 22:38:19 -0500 |
commit | cc8305cd2075e3e19f83bd6738ef31a12d1fb4c5 (patch) | |
tree | 516fb0229663090575e2c2f0af6c689246482141 /indra/newview/llurldispatcherlistener.cpp | |
parent | e9a744131d2c08c0c08214624e09f152e52b2731 (diff) | |
parent | 19122e164ca2a3c1616619b220118344b1858cc8 (diff) |
Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/
Diffstat (limited to 'indra/newview/llurldispatcherlistener.cpp')
-rw-r--r-- | indra/newview/llurldispatcherlistener.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/indra/newview/llurldispatcherlistener.cpp b/indra/newview/llurldispatcherlistener.cpp new file mode 100644 index 0000000000..fea6a769c5 --- /dev/null +++ b/indra/newview/llurldispatcherlistener.cpp @@ -0,0 +1,58 @@ +/** + * @file llurldispatcherlistener.cpp + * @author Nat Goodspeed + * @date 2009-12-10 + * @brief Implementation for llurldispatcherlistener. + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * Copyright (c) 2009, Linden Research, Inc. + * $/LicenseInfo$ + */ + +// Precompiled header +#include "llviewerprecompiledheaders.h" +// associated header +#include "llurldispatcherlistener.h" +// STL headers +// std headers +// external library headers +// other Linden headers +#include "llurldispatcher.h" + +LLURLDispatcherListener::LLURLDispatcherListener(/* LLURLDispatcher* instance */): + LLEventAPI("LLURLDispatcher", "Internal URL handling") /* , + mDispatcher(instance) */ +{ + add("dispatch", + "At startup time or on clicks in internal web browsers,\n" + "teleport, open map, or run requested command.\n" + "[\"url\"] string url to dispatch\n" + "[\"trusted\"] boolean indicating trusted browser [default true]", + &LLURLDispatcherListener::dispatch); + add("dispatchRightClick", "Dispatch [\"url\"] as if from a right-click on a hot link.", + &LLURLDispatcherListener::dispatchRightClick); + add("dispatchFromTextEditor", "Dispatch [\"url\"] as if from an edit field.", + &LLURLDispatcherListener::dispatchFromTextEditor); +} + +void LLURLDispatcherListener::dispatch(const LLSD& params) const +{ + // For most purposes, we expect callers to want to be trusted. + bool trusted_browser = true; + if (params.has("trusted")) + { + // But for testing, allow a caller to specify untrusted. + trusted_browser = params["trusted"].asBoolean(); + } + LLURLDispatcher::dispatch(params["url"], NULL, trusted_browser); +} + +void LLURLDispatcherListener::dispatchRightClick(const LLSD& params) const +{ + LLURLDispatcher::dispatchRightClick(params["url"]); +} + +void LLURLDispatcherListener::dispatchFromTextEditor(const LLSD& params) const +{ + LLURLDispatcher::dispatchFromTextEditor(params["url"]); +} |