summaryrefslogtreecommitdiff
path: root/indra/llplugin
AgeCommit message (Collapse)Author
2010-03-31Fixed a problem with LLPluginCookieStore that would have caused problems ↵Monroe Linden
when adding multiple cookies with setCookies(), setAllCookies(), and setCookiesFromHost().
2010-03-31Enable OpenID auth in the embedded webkit browser.Monroe Linden
Extract openid_url and openid_token tokens from the login response in process_login_success_response() and send them to LLViewerMedia if they're present. Added LLViewerMedia::openIDSetup() to receive openid_url and openid_token, and added code to LLViewerMedia to do a POST with LLHTTPClient, retrieve the resulting cookie, and push it into the central cookie store. Also made sure the OpenID cookie gets re-added when the cookie store is cleared. Added LLPluginCookieStore::setCookiesFromHost() to properly add a cookie that may not have a domain set. Made LLPluginCookieStore::Cookie::parse() add missing domain and path fields to cookies as necessary. Fixed an issue where carriage returns in the string passed to LLPluginCookieStore::setCookies() or LLPluginCookieStore::setCookiesFromHost() would cause a parse failure. Reviewed by gino and callum at http://codereview.lindenlab.com/1254001
2010-03-26Implemented central storage mechanism for media plugin cookies.Monroe Linden
Added LLPluginCookieStore, which manages the central list of cookies. New Mac and Windows versions of llqtwebkit, built from the tip of the cookie-api branch on http://bitbucket.org/lindenlab/llqtwebkit/ (currently revision f35a5eab8c2f). Added "set_cookies" and "cookie_set" messages to the media_browser message class in the plugin API, and made the webkit plugin use them appropriately. Added methods to LLViewerMedia to read/write the cookie file and add/remove individual cookies. Added hooks to read/write the cookie file (plugin_cookies.txt) in the same places as the location history (idle_startup() in llstartup.cpp and LLAppViewer::cleanup(), respectively). Reviewed by Richard at http://codereview.lindenlab.com/1006003
2010-03-18EXT-6466 "Move "Enable Cookies" checkbox...", EXT-6402 "Add feature to ↵Callum Prentice
disable Web plugins via prefs" and EXT-6401 "Add feature to disable Javascript via prefs" Apologies for the multiple commit of Jiras - these changes are closely related and impossible to commit deparately Reviewed by Monroe
2010-03-16Added an "init" message in LLPLUGIN_MESSAGE_CLASS_MEDIA, and made ↵Monroe Linden
LLPluginClassMedia queue it up before initializing its LLPluginProcessParent. Made all existing plugins send their texture_params message from this init message instead of the LLPLUGIN_MESSAGE_CLASS_BASE "init" message. (This ensures that they won't start to receive 'size_change' messages until after the init has happened.) Added "set_user_data_path" and "set_language_code" messages to LLPluginClassMedia. Made webkit plugin deal with the new messages, when they're sent before it receives the media "init". Removed the user_data_path and language_code arguments from the init function calls throughout the hierarchy. Made LLViewerMediaImpl queue up the language code and user data path messages before initializing the media. Reviewed by Callum at http://codereview.lindenlab.com/687006 .
2010-03-12(for B5) Fix for EXT-5823 "Include language in user-agent string" ↵Callum Prentice
(implemented via JavaScript - not in ua string) (for B5) Fix for EXT-5314 "Inworld Browser blanks out at credit card entry" Note: also includes an update to install.xml that points to a new version of LLQtWebKit that is required for these fixes
2010-02-10CID-52Tofu Linden
Checker: FORWARD_NULL Function: LLPluginMessagePipe::pump(double) File: /indra/llplugin/llpluginmessagepipe.cpp
2010-02-10CID-53Tofu Linden
Checker: FORWARD_NULL Function: LLPluginProcessChild::idle() File: /indra/llplugin/llpluginprocesschild.cpp
2010-02-09Backed out changeset b1c241040751Tofu Linden
2010-02-09HACK HACK HACK to unbreak linux build while I wait for access to the new ↵Tofu Linden
llqtwebkit code. only affects linux. may harm webkit functionality temporarily. to be backed-out.
2010-02-05Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0Monroe Linden
2010-02-03CID-262Tofu Linden
Checker: UNINIT_CTOR Function: LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *) File: /indra/llplugin/llpluginprocessparent.cpp
2010-02-03CID-263Tofu Linden
Checker: UNINIT_CTOR Function: LLPluginClassMedia::LLPluginClassMedia(LLPluginClassMediaOwner *) File: /indra/llplugin/llpluginclassmedia.cpp
2010-02-03CID-264Tofu Linden
Checker: UNINIT_CTOR Function: LLPluginProcessChild::LLPluginProcessChild() File: /indra/llplugin/llpluginprocesschild.cpp
2010-01-29Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0Monroe Linden
2010-01-27CID-184Tofu Linden
Checker: RESOURCE_LEAK Function: LLPluginProcessChild::receiveMessageRaw(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&) File: /indra/llplugin/llpluginprocesschild.cpp
2010-01-27CID-1Tofu Linden
Checker: BAD_COMPARE Function: checkExceptionHandler() File: /indra/llplugin/slplugin/slplugin.cpp (not a bug, but rearranged a little)
2010-01-19Changes to llqtwebkit keyboard event api.Monroe Linden
Reference to new mac build of llqtwebkit (from revision 5e61bf24915f in https://hg.lindenlab.com/monroe/llqtwebkit-4.6).
2010-01-18Added getNativeKeyData() function to LLWindow and LLWindowMacOSX.Monroe Linden
Added an LLSD argument to LLPluginClassMedia::keyEvent() and LLPluginClassMedia::textInput() which contains the native key data. Made LLViewerMediaImpl retrieve the native key data and pass it to keyEvent and textInput. Added a native_key_data parameter to the text_event and key_event messages. Made the webkit plugin extract the native_key_data parameter and pass it to the internal keyEvent() and unicodeInput() functions. Fixed LLMediaPluginTest to match function signature change to LLPluginClassMedia::keyEvent().
2010-01-14Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0Lynx Linden
2010-01-14Quick tweak for missing color reference LLColor4::white;Callum Prentice
Didn't want to introduce another linker dependency so I specified the color directly.
2010-01-14EXT-3624: Support "_blank" href target types.Lynx Linden
Support href links in web views that have a target attribute set to "_blank". This will open the link in the user's preferred browser (internal or external, as defined in Prefs). This change relies on the new llqtwebkit package that has just been pushed. Also updated the hardcoded Qt version number in the About floater.
2010-01-11Fix for black/grey look at login screen and backspace going back in ↵Monroe Linden
search/help windows. This should address EXT-4097. Added a notion of "background color" to LLViewerMediaImpl and LLPluginClassMedia. Added background color parameters to the size_change message. Webkit plugin now sets the background color of the instance from the supplied background color, and navigates to a data: url with that background color instead of about:blank as its initial navigate. Webkit plugin now no longer waits for the first onPageChanged event LLViewerMediaImpl now clears the texture to the background color when initializing it. Made LLMediaCtrl fill with its opaque background color when the media impl isn't set up yet. Removed the initial data URL from the search and help floaters, since what it was doing is now handled internally by the new background color code. Reviewed by callum and rick.
2010-01-07Fix for EXT-3781 "installer on Vista: error opening file for writing ."Callum Prentice
Reviewed by MW
2009-12-17Changed default launch timeout in LLPluginProcessParent to 60 seconds, and ↵Monroe Linden
added an to LLPluginProcessParent that allows callers to adjust the launch and lockup timeouts.
2009-12-16Merge with tipcallum
2009-12-14Final merge of precompiled header dependency cleanup work.brad kittenbrink
2009-12-14Merge of my old precompiled headers dependency cleanup with tip of viewer-2-0.brad kittenbrink
2009-12-11In LLPluginProcessParent, instead of killing the plugin process, terminate ↵Monroe Linden
it by closing the sockets. This lets it do some cleanup before exiting, instead of just getting shot.
2009-12-11Merge media back into viewer 2-0skolb
2009-12-09DEV-43948 viewer2 is writing session data into the 'read-only' installation ↵Tofu Linden
tree (mostly media stuff) propagate the parent app's OSUserAppDir (i.e. ~/.secondlife/) all the way down to plugins, if they need persistant user data/settings (like the webkit plugin needs a place to put its cache).
2009-12-09Added Doxygen commentsbea@american.lindenlab.com
2009-12-07Another merge of include dependency cleanup work with viewer-2-0.brad kittenbrink
2009-12-04Fix some missing Doxygen commentsbea@american.lindenlab.com
2009-12-04Adding Doxygen commentsbea@american.lindenlab.com
2009-12-03Merge of include dependency cleanup work with viewer-2-0brad kittenbrink
2009-12-03Add Doxygen commentsbea@american.lindenlab.com
2009-11-30doxygen: exclude licensing blurbsbea@american.lindenlab.com
2009-11-25Fix for DEV-42324 (Default exception handler still called sometimes for ↵callum
SLPlugin) Added some code from an online article to patch the CRT and disable all default exception handling.
2009-11-13Tweaks to media priority calculation.Monroe Linden
Enabled CPU limit setting by default (set to 100% of 1 CPU). Lowered default limits on plugin priorities: 2 normal+, 4 low, 8 total. Limit on total number of instances now only applies to inworld media -- media instances in the UI (such as the help browser and search) don't count toward the limit. UI media will still bump inworld media down from normal/low priority, though. Several improvements to plugin manager debug code in the nearby media list. Don't load unloaded instances that are at PRIORITY_SLIDESHOW or PRIORITY_HIDDEN (they don't get unloaded, they just won't be loaded unless they're at higher priority). Added LLViewerMediaImpl::isPlayable(), which indicates whether an instance would be loaded if it were high enough in the priority list (taking into account autoplay and current load state). Priority algorithm now takes this into account. Fixed a couple of issues with approximate texture interest calculation and its use in setting priorities. Adjusted sleep times on low and normal priorities to be more friendly.
2009-11-13Refactoring of llviewerprecompiledheaders.h to hopefully increase stabilitybrad kittenbrink
and reduce unnecessary dependencies and incredibuild wedging. Hopefully in the long run this will reduce build time. Also cleaned up a lot of header file usage to conform better to the coding standard. reviewed by james and steve.
2009-11-10Added PluginAttachDebuggerToPlugins debug setting.Monroe Linden
Added accessors to get platform-specific process ID from LLProcessLauncher. Added an optional "debug" argument to LLPluginClassMedia::init() and LLPluginProcessParent::init() (defaults to false). Mac only: made the state machine in LLPluginProcessParent::idle() open a new window in Terminal.app with a gdb session attached to the plugin process upon successful launch.
2009-11-10Added an explicit copy constructor to LLPluginMessage.Monroe Linden
2009-10-28Fixes for DEV-41791 and DEV-41920.Monroe Linden
Reworked some of the autoplay logic in LLViewerMediaImpl to try and make it more consistent when media is unloaded and reloaded by the performance manager. LLViewerMediaImpl will now keep track of the media state and current time of media that it unloads for performance reasons, and attempt to restore playing or paused media to the same playhead time and state (playing or paused) when it reloads. Added "done" status that time-based media plugins can use to indicate that they've reached the end of the media and stopped. Added logging of priority transitions, for use in debugging issues with the peformance manager.
2009-10-26Volume controls in the media HUD should now work -- this fixes DEV-41746, ↵Monroe Linden
DEV-41748, and DEV-40782. Added LLPluginClassMedia::getVolume(). Added setVolume/getVolumeupdateVolume methods to LLViewerMediaImpl. LLViewerMedia::setVolume() now no longer overrides the volume settings on all media instances -- it now sets a "global volume" value which is multiplied by all instances' volumes to modulate them. Cleaned up volume/mute handling in LLPanelMediaHUD (made it go through the LLViewerMediaImpl interface instead of directly through LLPluginClassMedia, and removed the mMediaVolume member variable, since the media impl now stores that state).
2009-10-26Potential fix for https://jira.lindenlab.com/jira/browse/DEV-41702callum
and https://jira.lindenlab.com/jira/browse/DEV-38579. Both relate to media not working properly and were likely caused by an uninitialized heartbeat timeout.
2009-10-23Changes to match new version of llqtwebkit -- passing modifier keys through ↵Monroe Linden
to most user events and using new scroll wheel event.
2009-10-15https://jira.lindenlab.com/jira/browse/DEV-40711callum
Implement name fetching capabilities for Webkit and Quicktime plugins Adds support for new PluginAPI message (MEDIA_EVENT_NAME_CHANGED) that updates the "title" of the media. In WebKit plugin this is the contents of the <title> tag. In The QuickTime plugin it is the "display name" from the movie meta data
2009-10-12Added an optional "loaded_duration" parameter to the 'updated' message. ↵Monroe Linden
This is the duration through which the time-based media has loaded, and should be between zero and the value of the "duration" parameter. If the parameter is not supplied, it will be implicitly set to the same value as the "duration" parameter, so the movie will appear fully loaded. This can be queried with LLPluginClassMedia::getLoadedDuration(). Made the "loaded_duration" parameter also implicitly set the progress percentage and send out MEDIA_EVENT_PROGRESS_UPDATED messages when it changes. Made the quicktime plugin set the "loaded_duration" parameter in its update messages.
2009-10-08Log the plugin version string when a plugin is loaded.Monroe Linden