From 8ed056fde9fe5fc9755158013a5cb8be73066e2c Mon Sep 17 00:00:00 2001 From: Adam Moss Date: Sat, 20 Jun 2009 09:17:56 +0000 Subject: svn merge -r124872:124873 svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-1.23.threefour-merge-1a QAR-1592 Merge of changes between 1.23 RC2 and 1.23 Final to trunk --- indra/newview/llvovolume.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llvovolume.h') diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index 155775510e..9b4e715194 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -158,12 +158,14 @@ public: /*virtual*/ S32 setTEBumpmap(const U8 te, const U8 bump); /*virtual*/ S32 setTEShiny(const U8 te, const U8 shiny); /*virtual*/ S32 setTEFullbright(const U8 te, const U8 fullbright); + /*virtual*/ S32 setTEBumpShinyFullbright(const U8 te, const U8 bump); /*virtual*/ S32 setTEMediaFlags(const U8 te, const U8 media_flags); /*virtual*/ S32 setTEGlow(const U8 te, const F32 glow); /*virtual*/ S32 setTEScale(const U8 te, const F32 s, const F32 t); /*virtual*/ S32 setTEScaleS(const U8 te, const F32 s); /*virtual*/ S32 setTEScaleT(const U8 te, const F32 t); /*virtual*/ S32 setTETexGen(const U8 te, const U8 texgen); + /*virtual*/ S32 setTEMediaTexGen(const U8 te, const U8 media); /*virtual*/ BOOL setMaterial(const U8 material); void setTexture(const S32 face); -- cgit v1.2.3 From df48e66f7cc6711f1738e3a2817cf3b9a810c088 Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Wed, 7 Oct 2009 12:26:42 -0700 Subject: DEV-39168 - bounce back to the current URL (or, the home URL if current URL is "") if the server denies navigation This refactors some of the bounceBack code into LLVOVolume. It also changes an important rule: the edit panel now *will* send the current URL to the server when you hit "OK". This change was done so that if autoplay is on, we make sure the server gets the right data. --- indra/newview/llvovolume.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview/llvovolume.h') diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index 250c3ed917..bb2b890000 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -233,7 +233,18 @@ public: BOOL canBeFlexible() const; BOOL setIsFlexible(BOOL is_flexible); - void updateObjectMediaData(const LLSD &media_data_duples); + // Functions that deal with media, or media navigation + + // Update this object's media data with the given media data array + // (typically this is only called upon a response from a server request) + void updateObjectMediaData(const LLSD &media_data_array); + + // Bounce back media at the given index to its current URL (or home URL, if current URL is empty) + void mediaNavigateBounceBack(U8 texture_index); + + // Returns whether or not this object has permission to navigate the given media entry + bool hasNavigatePermission(const LLMediaEntry* media_entry); + void mediaEvent(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin, LLViewerMediaObserver::EMediaEvent event); // Sync the given media data with the impl and the given te -- cgit v1.2.3 From d4b2897700c66354413af42ab055bd1aaa47f91c Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Fri, 9 Oct 2009 18:56:36 -0700 Subject: Unit tests for LLMediaDataClient This required a bit of refactoring of LLMediaDataClient: - Created LLMediaDataClientObject ABC, which now has a concrete impl in LLVOVolume - Created unit test with 6 tests (for now), testing - LLObjectMediaDataClient::fetchMedia() - LLObjectMediaDataClient::updateMedia() - LLObjectMediaNavigateClient::navigate() - queue ordering - retries - nav bounce back - Also ensures that ref counting works properly (this is important, because ownership is tricky with smart pointers put into queues, peeled off into timers that fire and auto destruct, and HTTP responders that also auto-destruct) - Had to fix LLCurl::Responder's stub, which was not initializing the ref count to 0, causing the ref counting tests to fail (boy, that was hard to find!). Reviewed by Callum --- indra/newview/llvovolume.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llvovolume.h') diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index bb2b890000..90dfa2204b 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -255,6 +255,7 @@ public: viewer_media_t getMediaImpl(U8 face_id) const; S32 getFaceIndexWithMediaImpl(const LLViewerMediaImpl* media_impl, S32 start_face_id); + F64 getTotalMediaInterest() const; bool hasMedia() const; -- cgit v1.2.3 From b583bfd3a0435ff58751d37cb6e405ae91e76ae8 Mon Sep 17 00:00:00 2001 From: Monroe Linden Date: Mon, 19 Oct 2009 17:17:39 -0700 Subject: Fix for a case where the webkit plugin never generates a LOCATION_CHANGED event at all. --- indra/newview/llvovolume.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llvovolume.h') diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index 90dfa2204b..d8ae9a5453 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -245,6 +245,7 @@ public: // Returns whether or not this object has permission to navigate the given media entry bool hasNavigatePermission(const LLMediaEntry* media_entry); + void mediaNavigated(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin, std::string new_location); void mediaEvent(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin, LLViewerMediaObserver::EMediaEvent event); // Sync the given media data with the impl and the given te -- cgit v1.2.3 From 54517fc696a2bd18018880f0f0a2b4cd2544afbe Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Wed, 21 Oct 2009 14:43:00 -0700 Subject: DEV-41600 Refactored my previous change based on review feedback from monroe --- indra/newview/llvovolume.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'indra/newview/llvovolume.h') diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index d8ae9a5453..e4a6ec4b32 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -242,8 +242,12 @@ public: // Bounce back media at the given index to its current URL (or home URL, if current URL is empty) void mediaNavigateBounceBack(U8 texture_index); - // Returns whether or not this object has permission to navigate the given media entry - bool hasNavigatePermission(const LLMediaEntry* media_entry); + // Returns whether or not this object has permission to navigate or control + // the given media entry + enum MediaPermType { + INTERACT, CONTROL + }; + bool hasMediaPermission(const LLMediaEntry* media_entry, MediaPermType perm_type); void mediaNavigated(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin, std::string new_location); void mediaEvent(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin, LLViewerMediaObserver::EMediaEvent event); -- cgit v1.2.3 From 7034a4ef9b4d6d35eeffe439dd32c770fa1ba9e4 Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Wed, 21 Oct 2009 14:54:43 -0700 Subject: DEV-41600: one last change: rename INTERACT and CONTROl to MEDIA_PERM_INTERACT and MEDIA_PERM_CONTROL --- indra/newview/llvovolume.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llvovolume.h') diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h index e4a6ec4b32..00810b22c4 100644 --- a/indra/newview/llvovolume.h +++ b/indra/newview/llvovolume.h @@ -245,7 +245,7 @@ public: // Returns whether or not this object has permission to navigate or control // the given media entry enum MediaPermType { - INTERACT, CONTROL + MEDIA_PERM_INTERACT, MEDIA_PERM_CONTROL }; bool hasMediaPermission(const LLMediaEntry* media_entry, MediaPermType perm_type); -- cgit v1.2.3