aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llplugin/llpluginclassmedia.cpp
diff options
context:
space:
mode:
authorArmin Weatherwax2010-08-07 19:17:13 +0200
committerArmin Weatherwax2010-09-23 15:42:40 +0200
commit70800de39a3d942d2120abd926fbdb24577fb0f6 (patch)
treeefeb12456e1a8ee7182656dc7503dc9b89a07a63 /linden/indra/llplugin/llpluginclassmedia.cpp
parentfix some mime type issues (diff)
downloadmeta-impy-70800de39a3d942d2120abd926fbdb24577fb0f6.zip
meta-impy-70800de39a3d942d2120abd926fbdb24577fb0f6.tar.gz
meta-impy-70800de39a3d942d2120abd926fbdb24577fb0f6.tar.bz2
meta-impy-70800de39a3d942d2120abd926fbdb24577fb0f6.tar.xz
update to viewer-external SLPlugin + webkit. Fixes (lots of) webpages not loading.
Issue: llqtwebkit needs update for Linux 64bit
Diffstat (limited to '')
-rwxr-xr-xlinden/indra/llplugin/llpluginclassmedia.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/linden/indra/llplugin/llpluginclassmedia.cpp b/linden/indra/llplugin/llpluginclassmedia.cpp
index b958f0c..8664524 100755
--- a/linden/indra/llplugin/llpluginclassmedia.cpp
+++ b/linden/indra/llplugin/llpluginclassmedia.cpp
@@ -59,11 +59,15 @@ LLPluginClassMedia::LLPluginClassMedia(LLPluginClassMediaOwner *owner)
59 mOwner = owner; 59 mOwner = owner;
60 mPlugin = NULL; 60 mPlugin = NULL;
61 reset(); 61 reset();
62
63 //debug use
64 mDeleteOK = true ;
62} 65}
63 66
64 67
65LLPluginClassMedia::~LLPluginClassMedia() 68LLPluginClassMedia::~LLPluginClassMedia()
66{ 69{
70 llassert_always(mDeleteOK) ;
67 reset(); 71 reset();
68} 72}
69 73
@@ -162,7 +166,7 @@ void LLPluginClassMedia::idle(void)
162 mPlugin->idle(); 166 mPlugin->idle();
163 } 167 }
164 168
165 if((mMediaWidth == -1) || (!mTextureParamsReceived) || (mPlugin == NULL)) 169 if((mMediaWidth == -1) || (!mTextureParamsReceived) || (mPlugin == NULL) || (mPlugin->isBlocked()))
166 { 170 {
167 // Can't process a size change at this time 171 // Can't process a size change at this time
168 } 172 }
@@ -439,6 +443,12 @@ void LLPluginClassMedia::mouseEvent(EMouseEventType type, int button, int x, int
439{ 443{
440 if(type == MOUSE_EVENT_MOVE) 444 if(type == MOUSE_EVENT_MOVE)
441 { 445 {
446 if(!mPlugin || !mPlugin->isRunning() || mPlugin->isBlocked())
447 {
448 // Don't queue up mouse move events that can't be delivered.
449 return;
450 }
451
442 if((x == mLastMouseX) && (y == mLastMouseY)) 452 if((x == mLastMouseX) && (y == mLastMouseY))
443 { 453 {
444 // Don't spam unnecessary mouse move events. 454 // Don't spam unnecessary mouse move events.
@@ -995,6 +1005,13 @@ void LLPluginClassMedia::receivePluginMessage(const LLPluginMessage &message)
995 mClickTargetType = TARGET_NONE; 1005 mClickTargetType = TARGET_NONE;
996 mediaEvent(LLPluginClassMediaOwner::MEDIA_EVENT_CLICK_LINK_NOFOLLOW); 1006 mediaEvent(LLPluginClassMediaOwner::MEDIA_EVENT_CLICK_LINK_NOFOLLOW);
997 } 1007 }
1008 else if(message_name == "cookie_set")
1009 {
1010 if(mOwner)
1011 {
1012 mOwner->handleCookieSet(this, message.getValue("cookie"));
1013 }
1014 }
998 else 1015 else
999 { 1016 {
1000 LL_WARNS("Plugin") << "Unknown " << message_name << " class message: " << message_name << LL_ENDL; 1017 LL_WARNS("Plugin") << "Unknown " << message_name << " class message: " << message_name << LL_ENDL;
@@ -1078,6 +1095,13 @@ void LLPluginClassMedia::clear_cookies()
1078 sendMessage(message); 1095 sendMessage(message);
1079} 1096}
1080 1097
1098void LLPluginClassMedia::set_cookies(const std::string &cookies)
1099{
1100 LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "set_cookies");
1101 message.setValue("cookies", cookies);
1102 sendMessage(message);
1103}
1104
1081void LLPluginClassMedia::enable_cookies(bool enable) 1105void LLPluginClassMedia::enable_cookies(bool enable)
1082{ 1106{
1083 LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "enable_cookies"); 1107 LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_MEDIA_BROWSER, "enable_cookies");