summaryrefslogtreecommitdiff
path: root/indra/newview/llcommandhandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llcommandhandler.h')
-rw-r--r--indra/newview/llcommandhandler.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/llcommandhandler.h b/indra/newview/llcommandhandler.h
index ab4c2cc488..1bae6d9414 100644
--- a/indra/newview/llcommandhandler.h
+++ b/indra/newview/llcommandhandler.h
@@ -43,11 +43,11 @@ public:
// Inform the system you handle commands starting
// with "foo" and they are only allowed from
// "trusted" (pointed at Linden content) browsers
- LLFooHandler() : LLCommandHandler("foo", true) { }
+ LLFooHandler() : LLCommandHandler("foo", UNTRUSTED_BLOCK) { }
// Your code here
bool handle(const LLSD& tokens, const LLSD& query_map,
- LLWebBrowserCtrl* web)
+ LLMediaCtrl* web)
{
if (tokens.size() < 1) return false;
LLUUID id( tokens[0] );
@@ -60,22 +60,29 @@ LLFooHandler gFooHandler;
*/
-class LLWebBrowserCtrl;
+class LLMediaCtrl;
class LLCommandHandler
{
public:
- LLCommandHandler(const char* command, bool allow_from_untrusted_browser);
+ enum EUntrustedAccess
+ {
+ UNTRUSTED_ALLOW, // allow commands from untrusted browsers
+ UNTRUSTED_BLOCK, // ignore commands from untrusted browsers
+ UNTRUSTED_THROTTLE // allow untrusted, but only a few per min.
+ };
+
+ LLCommandHandler(const char* command, EUntrustedAccess untrusted_access);
// Automatically registers object to get called when
// command is executed. All commands can be processed
- // in links from LLWebBrowserCtrl, but some (like teleport)
+ // in links from LLMediaCtrl, but some (like teleport)
// should not be allowed from outside the app.
virtual ~LLCommandHandler();
virtual bool handle(const LLSD& params,
const LLSD& query_map,
- LLWebBrowserCtrl* web) = 0;
+ LLMediaCtrl* web) = 0;
// For URL secondlife:///app/foo/bar/baz?cat=1&dog=2
// @params - array of "bar", "baz", possibly empty
// @query_map - map of "cat" -> 1, "dog" -> 2, possibly empty
@@ -91,7 +98,7 @@ public:
static bool dispatch(const std::string& cmd,
const LLSD& params,
const LLSD& query_map,
- LLWebBrowserCtrl* web,
+ LLMediaCtrl* web,
bool trusted_browser);
// Execute a command registered via the above mechanism,
// passing string parameters.