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 /indra/newview | |
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"
Diffstat (limited to 'indra/newview')
-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 |