Age | Commit message (Collapse) | Author |
|
Backing out this merge that I pushed (prematurely) to the wrong place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Backed out changeset 1b65d0d42c67 (the fix for EXT-5205), and replaced it with a check in LLPanelPrimMediaControls::nextZoomLevel().
Made LLViewerMediaImpl::calculateInterest() not attempt to calculate distances to HUD attachments, since their global positions are invalid.
|
|
windows.
Added an optional "target" parameter" to LLWeb::loadURL and loadInternal.
Made LLViewerMediaImpl::handleMediaEvent pass the target attribute of clicked links through.
Set floater_media_browser.xml to allow multiple instances.
Added LLFloaterMediaBrowser::create() and made LLFloaterMediaBrowser assume the incoming tag is the window's target, not the URL.
Reviewed by Richard at http://codereview.lindenlab.com/2641050
|
|
reviewed by Monroe
|
|
reviewed by Monroe
|
|
When sending the MIME type probe, tell LLCurl to allow cookies in the response. This works around an issue with some sites that will get into an infinite redirect loop when cookies are disabled.
|
|
When sending the MIME type probe, tell LLCurl to allow cookies in the response. This works around an issue with some sites that will get into an infinite redirect loop when cookies are disabled.
|
|
Added a couple of new nav states to LLViewerMediaImpl: MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS and MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS. These behave just like the corresponding states without the _SPURIOUS suffix, but will be used if the new navigate doesn't change the current URL of the impl. This allows us to catch cases like the repro of this issue and discard the spurious navigate events.
|
|
Added a couple of new nav states to LLViewerMediaImpl: MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS and MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS. These behave just like the corresponding states without the _SPURIOUS suffix, but will be used if the new navigate doesn't change the current URL of the impl. This allows us to catch cases like the repro of this issue and discard the spurious navigate events.
|
|
Reviewed by Tofu.
|
|
Reviewed by Tofu.
|
|
|
|
in Viewer 2.)
This was a race condition. In the repro case, LLViewerMediaImpl::seek() was getting called before the media source got a chance to be loaded (since the load is now delayed at least 1 frame due to the priority calculations), so the seek command was being dropped.
The fix is to save the seek time in mPreviousMediaTime in this case, and rearrange the code in LLViewerMediaImpl::loadURI() so that it gets used whenever it's non-zero. I've also added similar code in LLViewerMediaImpl::pause() and LLViewerMediaImpl::start() to set mPreviousMediaState. (If there are any cases where content wants parcel media to start out paused, they would have had a similar issue.)
Reviewed by Callum and Richard at http://codereview.lindenlab.com/2478002 .
|
|
monroe already did most of this, just moved dialog for confirming opening external browser to common code that calls out to external browser
so no way to skip notification unless the user opts out
|
|
|
|
work).
Moved the processing of clicks on _external and _blank targeted links from LLMediaCtrl to LLViewerMediaImpl.
Removed LLMediaCtrl::setOpenInExternalBrowser() since that functionality is available through the use of the _external target attribute in web content.
Removed LLMediaCtrl:: setOpenInInternalBrowser() since it was unimplemented and not used.
Made the webkit media plugin set llqtwebkit's window open behavior to WOB_SIMULATE_BLANK_HREF_CLICK. This is #ifdefed out on Linux until we get a new Linux build of llqtwebkit.
|
|
|
|
reviewed by leyla
|
|
|
|
|
|
reviewed by Richard
|
|
reviewed by Richard
|
|
[secondlife-bin llpluginclassmedia.cpp:158]
|
|
Use LLMutexLock (stack-based locker/unlocker) for the straightforward cases instead of explicit lock()/unlock().
There are still a couple of cases (one overlapping lock lifetime and two loops that unlock the mutex to call another function inside the loop) where I'm leaving explicit lock/unlock calls.
Rename LLPluginProcessParent::sPollThread to sReadThread, for consistency.
Made the LLPluginProcessParent destructor hold mIncomingQueueMutex while removing the instance from the global list -- this should prevent a possible race condition in LLPluginProcessParent::poll().
Removed a redundant check when calling LLPluginProcessParent::setUseReadThread().
|
|
reviewed by Richard
|
|
LLPluginProcessParent can now optionally use a separate thread for reading messages from plugin sockets. If this is enabled, it will spawn a single thread and use apr_pollset_poll to wake up the thread when incoming data arrives instead of polling all the descriptors round-robin every frame. This should be somewhat more efficient, and should also allow blocking requests from plugins to be serviced much more quickly (once we start using them). This is currently disabled by default, until it's had a bit more focused testing on multiple platforms.
Hooked up the switch to use the message read thread to the PluginUseReadThread debug setting and an item in the Advanced menu in the viewer, and to a checkbox in the UI in llmediaplugintest.
Updated some debug logging in the plugin system to have appropriate tags and not log dire-looking warnings during normal operation.
LLPluginProcessParent now once again explicitly kills plugin processes (instead of just closing their sockets and waiting for them to exit). The problem we were attempting to solve by not doing the kill (letting the webkit plugin write its cookie file on exit) has been solved another way.
LLPluginProcessParent::sendMessage() now attempts to write the outgoing message to the socket immediately instead of waiting for the next frame. This should reduce the latency of sending plugin messages.
Added a separate fast timer for LLViewerMedia::updateMedia().
|
|
to be localized
Added "DefaultMimeType" string to strings.xml to make "none/none" mime type localizable.
Replaced all occurrences of "none/none" string with call to static method.
Reviewed by Vadim Savchuk - https://codereview.productengine.com/secondlife/r/265/
--HG--
branch : product-engine
|
|
The code was using the "authority" part of the URL returned by LLURL when constructing the cookie's domain, which incorrectly included the port number. This change makes sure any port number and username/password that might be in the authority are stripped from the string before handing it to the cookie code.
Reviewed by Gino at http://codereview.lindenlab.com/1297006
|
|
|
|
LLViewerMediaImpl::shouldShowBasedOnClass() was always returning true for focused media. This was incorrect, since it made click-focusing on media override the class-based disable preferences.
Reviewed by Callum at http://codereview.lindenlab.com/1178023
|
|
|
|
LLViewerMediaImpl::calculateInterest()
|
|
moved gEditMenuHandler handling to LLEditMenuHandler destructor
|
|
Function: LLViewerMediaImpl::createMediaSource()
File: /indra/newview/llviewermedia.cpp
|
|
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
|
|
|
|
Superficial cleanup to replace all instances of "gAgentAvatar" with "gAgentAvatarp".
|
|
Superficial cleanup to replace all instances of "LLVOAvatarSelf *avatarp = gAgent.getAvatarObject" with "gAgentAvatar".
|
|
LLViewerMedia::clearAllCookies was sending "clear cookies" messages to all plugins and deleting cookie files, but it wasn't clearing the cookies in the central store. It now does all of the above.
|
|
Made LLViewerMedia::clearAllCookies() delete the new per-user cookie file (userdir/plugin_cookies.txt) as well as the old one.
Made LLViewerMedia::loadCookieFile() send the clear_cookies message to all loaded plugins.
|
|
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
|
|
LLViewerMediaImpl::calculateInterest()
|
|
|
|
Added static member functions to LLViewerMedia: clearAllCookies(), clearAllCaches(), setCookiesEnabled(), and setProxyConfig(). These iterate through all loaded instances and send appropriate messages.
Also added a hack to clearAllCookies() to delete cookie files for all accounts, which should serve until we centralize cookie storage.
Made LLViewerMedia set the proxy config properly when creating new instances. Callum is adding code to do something similar with the cookies enabled flag in a separate commit.
Removed get_web_media from llfloaterpreference.cpp and reworked everything that used it to use the new LLViewerMedia functions instead.
Reviewed by Callum at http://codereview.lindenlab.com/838003.
|