From f974a019b19a68fee219eb1b4e80d6dc5c5df92e Mon Sep 17 00:00:00 2001 From: Monroe Linden Date: Wed, 6 Oct 2010 16:50:04 -0700 Subject: Added DisableExternalBrowser setting. Reviewed by Callum. --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llweb.cpp | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 345a1f3576..204097769a 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2545,6 +2545,17 @@ Value 0 + DisableExternalBrowser + + Comment + Disable opening an external browser. + Persist + 1 + Type + Boolean + Value + 0 + DisableRendering Comment diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index 73a37a6993..6028a8fbea 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -116,6 +116,13 @@ void LLWeb::loadURLExternal(const std::string& url, bool async, const std::strin // Act like the proxy window was closed, since we won't be able to track targeted windows in the external browser. LLViewerMedia::proxyWindowClosed(uuid); + if(gSavedSettings.getBOOL("DisableExternalBrowser")) + { + // Don't open an external browser under any circumstances. + llwarns << "Blocked attempt to open external browser." << llendl; + return; + } + LLSD payload; payload["url"] = url; LLNotificationsUtil::add( "WebLaunchExternalTarget", LLSD(), payload, boost::bind(on_load_url_external_response, _1, _2, async)); -- cgit v1.2.3