diff options
author | callum_linden <none@none> | 2015-11-16 16:09:40 -0800 |
---|---|---|
committer | callum_linden <none@none> | 2015-11-16 16:09:40 -0800 |
commit | 311b376ab50bacf2bf113616af2a5bbedfcd5ee5 (patch) | |
tree | 515726f4fc5842ed0762a8b1a160466a7173504f /indra | |
parent | e63aeb29ab8e0c173f17a2c343c66ab4ef84c0ad (diff) |
Update SetCookie code for new LLCEFLib API and add support for shoing/hising developer console (Inspector)
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/llplugin/llpluginclassmedia.cpp | 4 | ||||
-rwxr-xr-x | indra/llplugin/llpluginclassmedia.h | 2 | ||||
-rw-r--r-- | indra/media_plugins/cef/media_plugin_cef.cpp | 8 | ||||
-rwxr-xr-x | indra/newview/llviewermedia.cpp | 11 | ||||
-rwxr-xr-x | indra/newview/llviewermedia.h | 2 |
5 files changed, 20 insertions, 7 deletions
diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 85653a0fcc..23c5cd8794 100755 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -669,7 +669,7 @@ bool LLPluginClassMedia::textInput(const std::string &text, MASK modifiers, LLSD return true; } -void LLPluginClassMedia::setCookie(std::string uri, std::string name, std::string value, std::string domain, std::string path) +void LLPluginClassMedia::setCookie(std::string uri, std::string name, std::string value, std::string domain, std::string path, bool httponly, bool secure) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA, "set_cookie"); @@ -678,6 +678,8 @@ void LLPluginClassMedia::setCookie(std::string uri, std::string name, std::strin message.setValue("value", value); message.setValue("domain", domain); message.setValue("path", path); + message.setValueBoolean("httponly", httponly); + message.setValueBoolean("secure", secure); sendMessage(message); } diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index fe02696084..62652da9bc 100755 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -133,7 +133,7 @@ public: // Text may be unicode (utf8 encoded) bool textInput(const std::string &text, MASK modifiers, LLSD native_key_data); - void setCookie(std::string uri, std::string name, std::string value, std::string domain, std::string path); + void setCookie(std::string uri, std::string name, std::string value, std::string domain, std::string path, bool httponly, bool secure); void loadURI(const std::string &uri); diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 60f6264db4..a53b453b3e 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -499,7 +499,9 @@ void MediaPluginCEF::receiveMessage(const char* message_string) std::string value = message_in.getValue("value"); std::string domain = message_in.getValue("domain"); std::string path = message_in.getValue("path"); - mLLCEFLib->setCookie(uri, name, value, domain, path); + bool httponly = message_in.getValueBoolean("httponly"); + bool secure = message_in.getValueBoolean("secure"); + mLLCEFLib->setCookie(uri, name, value, domain, path, httponly, secure); } else if (message_name == "mouse_event") { @@ -666,6 +668,10 @@ void MediaPluginCEF::receiveMessage(const char* message_string) { mUserAgentSubtring = message_in.getValue("user_agent"); } + else if (message_name == "show_web_inspector") + { + mLLCEFLib->showDevTools(true); + } else if (message_name == "plugins_enabled") { mPluginsEnabled = message_in.getValueBoolean("enable"); diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 626938f7b5..cc56a9db8d 100755 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1390,7 +1390,7 @@ LLSD LLViewerMedia::getHeaders() ///////////////////////////////////////////////////////////////////////////////////////// // static -bool LLViewerMedia::parseRawCookie(const std::string raw_cookie, std::string& name, std::string& value, std::string& path) +bool LLViewerMedia::parseRawCookie(const std::string raw_cookie, std::string& name, std::string& value, std::string& path, bool& httponly, bool& secure) { std::size_t name_pos = raw_cookie.find_first_of("="); if (name_pos != std::string::npos) @@ -1402,6 +1402,9 @@ bool LLViewerMedia::parseRawCookie(const std::string raw_cookie, std::string& na value = raw_cookie.substr(name_pos + 1, value_pos - name_pos - 1); path = "/"; // assume root path for now + httponly = true; // hard coded for now + secure = true; + return true; } } @@ -1450,10 +1453,12 @@ void LLViewerMedia::setOpenIDCookie(const std::string& url) std::string cookie_name = ""; std::string cookie_value = ""; std::string cookie_path = ""; - if (parseRawCookie(sOpenIDCookie, cookie_name, cookie_value, cookie_path) && + bool httponly = true; + bool secure = true; + if (parseRawCookie(sOpenIDCookie, cookie_name, cookie_value, cookie_path, httponly, secure) && media_instance->getMediaPlugin()) { - media_instance->getMediaPlugin()->setCookie(url, cookie_name, cookie_value, cookie_host, cookie_path); + media_instance->getMediaPlugin()->setCookie(url, cookie_name, cookie_value, cookie_host, cookie_path, httponly, secure); } } } diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h index 4ee1b56a2a..01d4b0786f 100755 --- a/indra/newview/llviewermedia.h +++ b/indra/newview/llviewermedia.h @@ -163,7 +163,7 @@ public: static LLSD getHeaders(); private: - static bool parseRawCookie(const std::string raw_cookie, std::string& name, std::string& value, std::string& path); + static bool parseRawCookie(const std::string raw_cookie, std::string& name, std::string& value, std::string& path, bool& httponly, bool& secure); static void setOpenIDCookie(const std::string& url); static void onTeleportFinished(); |