summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerinventory.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-09-07 23:06:00 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-09-07 23:06:00 +0300
commit1aa27d4d13602baaf568d6269f4842881a78bdbc (patch)
tree7027db063f4de4ef105bad47017af4c5b91fa751 /indra/newview/llviewerinventory.cpp
parent25388312cf28f8b30934ac3885783a96a3b2ed69 (diff)
SL-20273 IM, Offer Teleport, Map and Pay SLurls from external browser were blocked
Diffstat (limited to 'indra/newview/llviewerinventory.cpp')
-rw-r--r--indra/newview/llviewerinventory.cpp26
1 files changed, 23 insertions, 3 deletions
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index 33d162ed29..2d33cf6a7f 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -231,9 +231,29 @@ LLLocalizedInventoryItemsDictionary::LLLocalizedInventoryItemsDictionary()
class LLInventoryHandler : public LLCommandHandler
{
public:
- // requires trusted browser to trigger
- LLInventoryHandler() : LLCommandHandler("inventory", UNTRUSTED_CLICK_ONLY) { }
-
+ LLInventoryHandler() : LLCommandHandler("inventory", UNTRUSTED_THROTTLE) { }
+
+ virtual bool canHandleUntrusted(
+ const LLSD& params,
+ const LLSD& query_map,
+ LLMediaCtrl* web,
+ const std::string& nav_type)
+ {
+ if (params.size() < 1)
+ {
+ return true; // don't block, will fail later
+ }
+
+ if (nav_type == NAV_TYPE_CLICKED
+ || nav_type == NAV_TYPE_EXTERNAL)
+ {
+ // NAV_TYPE_EXTERNAL will be throttled
+ return true;
+ }
+
+ return false;
+ }
+
bool handle(const LLSD& params,
const LLSD& query_map,
const std::string& grid,