diff --git a/indra/newview/llfacebookconnect.cpp b/indra/newview/llfacebookconnect.cpp
index 0a662b4671cb5bcf93c73b476c784f1b037e915e..860f488945e93b5647e28c97ee34e2c1230ca785 100644
--- a/indra/newview/llfacebookconnect.cpp
+++ b/indra/newview/llfacebookconnect.cpp
@@ -69,6 +69,75 @@ void toast_user_for_facebook_success()
 
 ///////////////////////////////////////////////////////////////////////////////
 //
+class LLSLShareHandler : public LLCommandHandler
+{
+public:
+	LLSLShareHandler() : LLCommandHandler("slshare", UNTRUSTED_THROTTLE) { }
+    
+	bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web)
+	{
+		if (tokens.size() >= 1)
+		{
+			if (tokens[0].asString() == "connect")
+			{
+				if (tokens.size() >= 2 && tokens[1].asString() == "flickr")
+				{
+					// this command probably came from the flickr_web browser, so close it
+					LLFloater* flickr_web = LLFloaterReg::getInstance("flickr_web");
+					if (flickr_web)
+					{
+						flickr_web->closeFloater();
+					}
+
+					// connect to flickr
+					if (query_map.has("oauth_token"))
+					{
+						LLFlickrConnect::instance().connectToFlickr(query_map["oauth_token"], query_map.get("oauth_verifier"));
+					}
+					return true;
+				}
+				else if (tokens.size() >= 2 && tokens[1].asString() == "twitter")
+				{
+					// this command probably came from the twitter_web browser, so close it
+					LLFloater* twitter_web = LLFloaterReg::getInstance("twitter_web");
+					if (twitter_web)
+					{
+						twitter_web->closeFloater();
+					}
+
+					// connect to twitter
+					if (query_map.has("oauth_token"))
+					{
+						LLTwitterConnect::instance().connectToTwitter(query_map["oauth_token"], query_map.get("oauth_verifier"));
+					}
+					return true;
+				}
+				else //if (tokens.size() >= 2 && tokens[1].asString() == "facebook")
+				{
+					// this command probably came from the fbc_web browser, so close it
+					LLFloater* fbc_web = LLFloaterReg::getInstance("fbc_web");
+					if (fbc_web)
+					{
+						fbc_web->closeFloater();
+					}
+
+					// connect to facebook
+					if (query_map.has("code"))
+					{
+						LLFacebookConnect::instance().connectToFacebook(query_map["code"], query_map.get("state"));
+					}
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+};
+LLSLShareHandler gSLShareHandler;
+
+///////////////////////////////////////////////////////////////////////////////
+//
+// DEPRECATED - please remove once "fbc" is phased out of the web service
 class LLFacebookConnectHandler : public LLCommandHandler
 {
 public: