diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/llmediactrl.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/llmediactrl.h | 3 | ||||
| -rw-r--r-- | indra/newview/llviewermedia.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llviewerparcelmedia.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_media_ctrl.xml | 12 | 
7 files changed, 59 insertions, 2 deletions
| diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 0e36b787a2..a117d9a593 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1796,7 +1796,7 @@ if (LINUX)    set(product SecondLife-${ARCH}-${viewer_VERSION})    # These are the generated targets that are copied to package/ -  set(COPY_INPUT_DEPENDENCIES  +  set(COPY_INPUT_DEPENDENCIES      ${VIEWER_BINARY_NAME}      linux-crash-logger      linux-updater diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 33541b559b..c47a0d5912 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5437,6 +5437,17 @@        <key>Value</key>        <real>60.0</real>      </map> +  <key>MediaPluginDebugging</key> +  <map> +    <key>Comment</key> +    <string>Turn on debugging messages that may help diagnosing media issues (WARNING: May reduce performance).</string> +    <key>Persist</key> +    <integer>1</integer> +    <key>Type</key> +    <string>Boolean</string> +    <key>Value</key> +    <integer>0</integer> +  </map>    <key>MediaControlFadeTime</key>    <map>      <key>Comment</key> diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 1eb786f433..5bbef78dd4 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -319,6 +319,11 @@ BOOL LLMediaCtrl::handleRightMouseDown( S32 x, S32 y, MASK mask )  	if (mContextMenu)  	{ +		// hide/show debugging options +		bool media_plugin_debugging_enabled = gSavedSettings.getBOOL("MediaPluginDebugging"); +		mContextMenu->setItemVisible("open_webinspector", media_plugin_debugging_enabled ); +		mContextMenu->setItemVisible("debug_separator", media_plugin_debugging_enabled ); +  		mContextMenu->show(x, y);  		LLMenuGL::showPopup(this, mContextMenu, x, y);  	} @@ -385,12 +390,22 @@ void LLMediaCtrl::onFocusLost()  //  BOOL LLMediaCtrl::postBuild ()  { +	LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registar; +	registar.add("Open.WebInspector", boost::bind(&LLMediaCtrl::onOpenWebInspector, this)); +  	mContextMenu = LLUICtrlFactory::getInstance()->createFromFile<LLContextMenu>(  		"menu_media_ctrl.xml", LLMenuGL::sMenuContainer, LLViewerMenuHolderGL::child_registry_t::instance());  	setVisibleCallback(boost::bind(&LLMediaCtrl::onVisibilityChange, this, _2)); +  	return TRUE;  } +void LLMediaCtrl::onOpenWebInspector() +{ +	if (mMediaSource && mMediaSource->hasMedia()) +		mMediaSource->getMediaPlugin()->showWebInspector( true ); +} +  ////////////////////////////////////////////////////////////////////////////////  //  BOOL LLMediaCtrl::handleKeyHere( KEY key, MASK mask ) @@ -1065,6 +1080,12 @@ void LLMediaCtrl::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event)  			mHoverTextChanged = true;  		};  		break; + +		case MEDIA_EVENT_DEBUG_MESSAGE: +		{ +			LL_INFOS("media") << self->getDebugMessageText() << LL_ENDL;  +		}; +		break;  	};  	// chain all events to any potential observers of this object. diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h index 0e4a5b1d65..3c0436e27a 100644 --- a/indra/newview/llmediactrl.h +++ b/indra/newview/llmediactrl.h @@ -166,6 +166,9 @@ public:  		// Incoming media event dispatcher  		virtual void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event); +		// right click debugging item +		void onOpenWebInspector(); +  		LLUUID getTextureID() {return mMediaTextureID;}  	protected: diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 384f7cd61d..31b22119cb 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1776,6 +1776,7 @@ void LLViewerMediaImpl::createMediaSource()  			LL_WARNS("Media") << "Failed to initialize media for mime type " << mMimeType << LL_ENDL;  		}  	} +  }  ////////////////////////////////////////////////////////////////////////////////////////// @@ -1880,7 +1881,10 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_  			// collect 'javascript enabled' setting from prefs and send to embedded browser  			bool javascript_enabled = gSavedSettings.getBOOL( "BrowserJavascriptEnabled" );  			media_source->setJavascriptEnabled( javascript_enabled ); -			 +		 +			bool media_plugin_debugging_enabled = gSavedSettings.getBOOL("MediaPluginDebugging"); +			media_source->enableMediaPluginDebugging( media_plugin_debugging_enabled ); +  			media_source->setTarget(target);  			const std::string plugin_dir = gDirUtilp->getLLPluginDir(); diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp index dfa35edef4..90fbc41daa 100644 --- a/indra/newview/llviewerparcelmedia.cpp +++ b/indra/newview/llviewerparcelmedia.cpp @@ -485,6 +485,12 @@ void LLViewerParcelMedia::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent  {  	switch(event)  	{ +		case MEDIA_EVENT_DEBUG_MESSAGE: +		{ +			// LL_DEBUGS("Media") <<  "Media event:  MEDIA_EVENT_DEBUG_MESSAGE " << LL_ENDL; +		}; +		break; +  		case MEDIA_EVENT_CONTENT_UPDATED:  		{  			// LL_DEBUGS("Media") <<  "Media event:  MEDIA_EVENT_CONTENT_UPDATED " << LL_ENDL; diff --git a/indra/newview/skins/default/xui/en/menu_media_ctrl.xml b/indra/newview/skins/default/xui/en/menu_media_ctrl.xml index c39c26f25f..960da4bd7a 100644 --- a/indra/newview/skins/default/xui/en/menu_media_ctrl.xml +++ b/indra/newview/skins/default/xui/en/menu_media_ctrl.xml @@ -28,4 +28,16 @@      <menu_item_call.on_enable       function="Edit.EnablePaste" />    </menu_item_call> +  <menu_item_separator +   layout="topleft" +   name="debug_separator" +   visible="false" /> +  <menu_item_call +   label="Open Web Inspector" +   layout="topleft" +   name="open_webinspector" +   visible="false"> +    <menu_item_call.on_click +     function="Open.WebInspector" /> +  </menu_item_call>  </context_menu> | 
