diff options
| author | Richard Linden <none@none> | 2011-07-29 16:38:07 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2011-07-29 16:38:07 -0700 | 
| commit | feddda6740f55c5e872be4b608d516e86e0c4182 (patch) | |
| tree | a766b97bc23a976feaa3387b43a189199eec1cb3 | |
| parent | 63a857f0c7f09c45eca9034c41ca1fdfc1ae95b5 (diff) | |
EXP-1056 FIX Web popup issues with Web Content Browser
changed browser id back to a string so it accepts malformed uuid strings
coming from webkit - "{uuid}" instead of "uuid"
| -rwxr-xr-x | indra/newview/llavataractions.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterwebcontent.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/llfloaterwebcontent.h | 6 | ||||
| -rw-r--r-- | indra/newview/llweb.cpp | 2 | 
4 files changed, 14 insertions, 14 deletions
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 03abde938f..f22b02093f 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -318,7 +318,7 @@ static void on_avatar_name_show_profile(const LLUUID& agent_id, const LLAvatarNa  	static LLCachedControl<LLRect> profile_rect(gSavedSettings, "WebProfileRect");  	LLFloaterWebContent::create(LLFloaterWebContent::Params().  							url(url). -							id(agent_id). +							id(agent_id.asString()).  							show_chrome(show_chrome).  							window_class("profile").  							preferred_media_size(profile_rect)); diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 5269e9d1d7..500ddc3bc1 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -53,8 +53,8 @@ LLFloaterWebContent::_Params::_Params()  LLFloaterWebContent::LLFloaterWebContent( const Params& params )  :	LLFloater( params ), -	LLInstanceTracker<LLFloaterWebContent, LLUUID>(params.id()), -	mUUID(params.id().asString()) +	LLInstanceTracker<LLFloaterWebContent, std::string>(params.id()), +	mUUID(params.id())  {  	mCommitCallbackRegistrar.add( "WebContent.Back", boost::bind( &LLFloaterWebContent::onClickBack, this ));  	mCommitCallbackRegistrar.add( "WebContent.Forward", boost::bind( &LLFloaterWebContent::onClickForward, this )); @@ -126,16 +126,16 @@ void LLFloaterWebContent::initializeURLHistory()  //static  LLFloater* LLFloaterWebContent::create( Params p)  { -	lldebugs << "url = " << p.url() << ", target = " << p.target() << ", uuid = " << p.id().asString() << llendl; +	lldebugs << "url = " << p.url() << ", target = " << p.target() << ", uuid = " << p.id() << llendl;  	if (!p.id.isProvided())  	{ -		p.id = LLUUID::generateNewID(); +		p.id = LLUUID::generateNewID().asString();  	} -	if(!p.target.isProvided() || p.target() == "_blank") +	if(p.target().empty() || p.target() == "_blank")  	{ -		p.target = p.id().asString(); +		p.target = p.id();  	}  	S32 browser_window_limit = gSavedSettings.getS32("WebContentWindowLimit"); @@ -172,7 +172,7 @@ LLFloater* LLFloaterWebContent::create( Params p)  //static  void LLFloaterWebContent::closeRequest(const std::string &uuid)  { -	LLFloaterWebContent* floaterp = getInstance(LLUUID(uuid)); +	LLFloaterWebContent* floaterp = getInstance(uuid);  	if (floaterp)  	{  		floaterp->closeFloater(false); @@ -182,7 +182,7 @@ void LLFloaterWebContent::closeRequest(const std::string &uuid)  //static  void LLFloaterWebContent::geometryChanged(const std::string &uuid, S32 x, S32 y, S32 width, S32 height)  { -	LLFloaterWebContent* floaterp = getInstance(LLUUID(uuid)); +	LLFloaterWebContent* floaterp = getInstance(uuid);  	if (floaterp)  	{  		floaterp->geometryChanged(x, y, width, height); @@ -219,7 +219,7 @@ void LLFloaterWebContent::geometryChanged(S32 x, S32 y, S32 width, S32 height)  void LLFloaterWebContent::open_media(const Params& p)  {  	// Specifying a mime type of text/html here causes the plugin system to skip the MIME type probe and just open a browser plugin. -	LLViewerMedia::proxyWindowOpened(p.target(), p.id().asString()); +	LLViewerMedia::proxyWindowOpened(p.target(), p.id());  	mWebBrowser->setHomePageUrl(p.url, "text/html");  	mWebBrowser->setTarget(p.target);  	mWebBrowser->navigateTo(p.url, "text/html"); diff --git a/indra/newview/llfloaterwebcontent.h b/indra/newview/llfloaterwebcontent.h index 2e3c6ffd84..36e214b7a9 100644 --- a/indra/newview/llfloaterwebcontent.h +++ b/indra/newview/llfloaterwebcontent.h @@ -40,7 +40,7 @@ class LLIconCtrl;  class LLFloaterWebContent :  	public LLFloater,  	public LLViewerMediaObserver, -	public LLInstanceTracker<LLFloaterWebContent, LLUUID> +	public LLInstanceTracker<LLFloaterWebContent, std::string>  {  public:      LOG_CLASS(LLFloaterWebContent); @@ -49,8 +49,8 @@ public:  	{  		Optional<std::string>	url,  								target, -								window_class; -		Optional<LLUUID>		id; +								window_class, +								id;  		Optional<bool>			show_chrome,  								allow_address_entry,  								trusted_content; diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index e4cdfaaaaf..6f7115ff6d 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -125,7 +125,7 @@ void LLWeb::loadURLInternal(const std::string &url, const std::string& target, c  // Explicitly open a Web URL using the Web content floater  void LLWeb::loadWebURLInternal(const std::string &url, const std::string& target, const std::string& uuid)  { -	LLFloaterWebContent::create(LLFloaterWebContent::Params().url(url).target(target).id(LLUUID(uuid))); +	LLFloaterWebContent::create(LLFloaterWebContent::Params().url(url).target(target).id(uuid));  }  // static  | 
