diff --git a/autobuild.xml b/autobuild.xml
index b05e3331398f057770807a81b773e36e184bc5c8..829ab72ff3d1eec33612fdbce5d567bd25124ab0 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1550,18 +1550,18 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>bae64d0e6d787daa6299079351ceacf8</string>
+              <string>b5feef8c87b9c352fccdb74665f59cc8</string>
               <key>hash_algorithm</key>
               <string>md5</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llceflib_3p-llceflib/rev/303625/arch/CYGWIN/installer/llceflib-1.0.0.303625-windows-303625.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llceflib_3p-llceflib/rev/303645/arch/CYGWIN/installer/llceflib-1.0.0.303645-windows-303645.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
           </map>
         </map>
         <key>version</key>
-        <string>1.0.0.303625</string>
+        <string>1.0.0.303645</string>
       </map>
       <key>llphysicsextensions_source</key>
       <map>
diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp
index 52626b0302f5ff7e540571696d23b27f39f486ed..f0c547c8d1a1b265000ffa4b7924f8a1fe3736c1 100755
--- a/indra/llplugin/llpluginclassmedia.cpp
+++ b/indra/llplugin/llpluginclassmedia.cpp
@@ -828,14 +828,14 @@ void LLPluginClassMedia::setLanguageCode(const std::string &language_code)
 
 void LLPluginClassMedia::setPluginsEnabled(const bool enabled)
 {
-	LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "plugins_enabled");
+	LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "plugins_enabled");
 	message.setValueBoolean("enable", enabled);
 	sendMessage(message);
 }
 
 void LLPluginClassMedia::setJavascriptEnabled(const bool enabled)
 {
-	LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "javascript_enabled");
+	LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "javascript_enabled");
 	message.setValueBoolean("enable", enabled);
 	sendMessage(message);
 }
@@ -1266,7 +1266,7 @@ void LLPluginClassMedia::set_cookies(const std::string &cookies)
 
 void LLPluginClassMedia::enable_cookies(bool enable)
 {
-	LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "enable_cookies");
+	LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "cookies_enabled");
 	message.setValueBoolean("enable", enable);
 	sendMessage(message);
 }
diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp
index 70a8eb5d9b83b056dad8250e26884b84d2129adc..4bde7e7d49c8ddb795766815c725c3faae9f1c8b 100644
--- a/indra/media_plugins/cef/media_plugin_cef.cpp
+++ b/indra/media_plugins/cef/media_plugin_cef.cpp
@@ -74,6 +74,9 @@ class MediaPluginCEF :
 
 	bool mEnableMediaPluginDebugging;
 	std::string mHostLanguage;
+	bool mCookiesEnabled;
+	bool mPluginsEnabled;
+	bool mJavascriptEnabled;
 	LLCEFLib* mLLCEFLib;
 };
 
@@ -88,7 +91,9 @@ MediaPluginBase(host_send_func, host_user_data)
 	mPixels = 0;
 	mEnableMediaPluginDebugging = true;
 	mHostLanguage = "en";
-
+	mCookiesEnabled = true;
+	mPluginsEnabled = false;
+	mJavascriptEnabled = true;
 	mLLCEFLib = new LLCEFLib();
 }
 
@@ -286,14 +291,14 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
 				LLCEFLibSettings settings;
 				settings.inital_width = 1024;
 				settings.inital_height = 1024;
-				settings.javascript_enabled = true;
-				settings.cookies_enabled = true;
+				settings.plugins_enabled = mPluginsEnabled;
+				settings.javascript_enabled = mJavascriptEnabled;
+				settings.cookies_enabled = mCookiesEnabled;
 				settings.accept_language_list = mHostLanguage;
 				bool result = mLLCEFLib->init(settings);
 				if (!result)
 				{
-					// TODO - return something to indicate failure
-					//MessageBoxA(0, "FAIL INIT", 0, 0);
+					// if this fails, the media system in viewer will put up a message
 				}
 
 				// Plugin gets to decide the texture parameters to use.
@@ -423,7 +428,6 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
 				}
 
 #elif LL_WINDOWS
-
 				std::string event = message_in.getValue("event");
 				S32 key = message_in.getValueS32("key");
 				std::string modifiers = message_in.getValue("modifiers");
@@ -441,9 +445,7 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
 				}
 
 				keyEvent(key_event, key, decodeModifiers(modifiers), native_key_data);
-
 #endif
-
 			}
 			else if (message_name == "enable_media_plugin_debugging")
 			{
@@ -474,6 +476,22 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
 			{
 				mLLCEFLib->goBack();
 			}
+			else if (message_name == "cookies_enabled")
+			{
+				mCookiesEnabled = message_in.getValueBoolean("enable");
+std::stringstream str;
+str << "@@@@@@@##### cookies_enabled - mCookiesEnabled = " << mCookiesEnabled;
+postDebugMessage(str.str());
+
+			}
+			else if (message_name == "plugins_enabled")
+			{
+				mPluginsEnabled = message_in.getValueBoolean("enable");
+			}
+			else if (message_name == "javascript_enabled")
+			{
+				mJavascriptEnabled = message_in.getValueBoolean("enable");
+			}
 		}
 		else
 		{