diff options
| author | James Cook <james@lindenlab.com> | 2010-06-01 14:33:44 -0700 | 
|---|---|---|
| committer | James Cook <james@lindenlab.com> | 2010-06-01 14:33:44 -0700 | 
| commit | 49c221b9678c33d5dbe71a68ca35d0b28fff3edd (patch) | |
| tree | 0214531fe7d433a220240b766d928f7a49e2ed92 /indra/newview/llweb.cpp | |
| parent | 010dba68ad923cf66b1e05e6969a21f7288fe78a (diff) | |
| parent | 7ea46b968cf7df3afc1e879f90f1124157f5a79d (diff) | |
Merge with dessie/viewer-public in prep to land code there
Diffstat (limited to 'indra/newview/llweb.cpp')
| -rw-r--r-- | indra/newview/llweb.cpp | 25 | 
1 files changed, 22 insertions, 3 deletions
| diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index aa03b1afd1..5c9633c036 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -54,6 +54,10 @@  #include "llviewerparcelmgr.h"  #include "llviewerregion.h"  #include "llviewerwindow.h" +#include "llnotificationsutil.h" + +bool on_load_url_external_response(const LLSD& notification, const LLSD& response, bool async ); +  class URLLoader : public LLToastAlertPanel::URLLoader  { @@ -110,11 +114,26 @@ void LLWeb::loadURLExternal(const std::string& url)  // static  void LLWeb::loadURLExternal(const std::string& url, bool async)  { -	std::string escaped_url = escapeURL(url); -	if (gViewerWindow) +	LLSD payload; +	payload["url"] = url; +	LLNotificationsUtil::add( "WebLaunchExternalTarget", LLSD(), payload, boost::bind(on_load_url_external_response, _1, _2, async)); +} + +// static  +bool on_load_url_external_response(const LLSD& notification, const LLSD& response, bool async ) +{ +	S32 option = LLNotificationsUtil::getSelectedOption(notification, response); +	if ( 0 == option )  	{ -		gViewerWindow->getWindow()->spawnWebBrowser(escaped_url, async); +		LLSD payload = notification["payload"]; +		std::string url = payload["url"].asString(); +		std::string escaped_url = LLWeb::escapeURL(url); +		if (gViewerWindow) +		{ +			gViewerWindow->getWindow()->spawnWebBrowser(escaped_url, async); +		}  	} +	return false;  } | 
