diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llurlaction.cpp | 28 | ||||
| -rw-r--r-- | indra/llui/llurlaction.h | 21 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
| -rwxr-xr-x | indra/newview/llappviewer.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llfloaterhelpbrowser.h | 2 | ||||
| -rw-r--r-- | indra/newview/llfloatermediabrowser.cpp | 462 | ||||
| -rw-r--r-- | indra/newview/llfloatermediabrowser.h | 86 | ||||
| -rw-r--r-- | indra/newview/llmediactrl.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/llnavigationbar.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llviewerfloaterreg.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewermedia.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llweb.cpp | 34 | ||||
| -rw-r--r-- | indra/newview/llweb.h | 14 | 
13 files changed, 39 insertions, 643 deletions
diff --git a/indra/llui/llurlaction.cpp b/indra/llui/llurlaction.cpp index 42b779bd28..fd9b3d9a6d 100644 --- a/indra/llui/llurlaction.cpp +++ b/indra/llui/llurlaction.cpp @@ -33,28 +33,28 @@  #include "llurlregistry.h"  // global state for the callback functions -void (*LLUrlAction::sOpenURLCallback) (const std::string& url) = NULL; -void (*LLUrlAction::sOpenURLInternalCallback) (const std::string& url) = NULL; -void (*LLUrlAction::sOpenURLExternalCallback) (const std::string& url) = NULL; -bool (*LLUrlAction::sExecuteSLURLCallback) (const std::string& url) = NULL; +LLUrlAction::url_callback_t 		LLUrlAction::sOpenURLCallback; +LLUrlAction::url_callback_t 		LLUrlAction::sOpenURLInternalCallback; +LLUrlAction::url_callback_t 		LLUrlAction::sOpenURLExternalCallback; +LLUrlAction::execute_url_callback_t LLUrlAction::sExecuteSLURLCallback; -void LLUrlAction::setOpenURLCallback(void (*cb) (const std::string& url)) +void LLUrlAction::setOpenURLCallback(url_callback_t cb)  {  	sOpenURLCallback = cb;  } -void LLUrlAction::setOpenURLInternalCallback(void (*cb) (const std::string& url)) +void LLUrlAction::setOpenURLInternalCallback(url_callback_t cb)  {  	sOpenURLInternalCallback = cb;  } -void LLUrlAction::setOpenURLExternalCallback(void (*cb) (const std::string& url)) +void LLUrlAction::setOpenURLExternalCallback(url_callback_t cb)  {  	sOpenURLExternalCallback = cb;  } -void LLUrlAction::setExecuteSLURLCallback(bool (*cb) (const std::string& url)) +void LLUrlAction::setExecuteSLURLCallback(execute_url_callback_t cb)  {  	sExecuteSLURLCallback = cb;  } @@ -63,7 +63,7 @@ void LLUrlAction::openURL(std::string url)  {  	if (sOpenURLCallback)  	{ -		(*sOpenURLCallback)(url); +		sOpenURLCallback(url);  	}  } @@ -71,7 +71,7 @@ void LLUrlAction::openURLInternal(std::string url)  {  	if (sOpenURLInternalCallback)  	{ -		(*sOpenURLInternalCallback)(url); +		sOpenURLInternalCallback(url);  	}  } @@ -79,7 +79,7 @@ void LLUrlAction::openURLExternal(std::string url)  {  	if (sOpenURLExternalCallback)  	{ -		(*sOpenURLExternalCallback)(url); +		sOpenURLExternalCallback(url);  	}  } @@ -87,18 +87,18 @@ void LLUrlAction::executeSLURL(std::string url)  {  	if (sExecuteSLURLCallback)  	{ -		(*sExecuteSLURLCallback)(url); +		sExecuteSLURLCallback(url);  	}  }  void LLUrlAction::clickAction(std::string url)  {  	// Try to handle as SLURL first, then http Url -	if ( (sExecuteSLURLCallback) && !(*sExecuteSLURLCallback)(url) ) +	if ( (sExecuteSLURLCallback) && !sExecuteSLURLCallback(url) )  	{  		if (sOpenURLCallback)  		{ -			(*sOpenURLCallback)(url); +			sOpenURLCallback(url);  		}  	}  } diff --git a/indra/llui/llurlaction.h b/indra/llui/llurlaction.h index 0132dbaaf0..c34960b826 100644 --- a/indra/llui/llurlaction.h +++ b/indra/llui/llurlaction.h @@ -29,6 +29,7 @@  #define LL_LLURLACTION_H  #include <string> +#include <boost/function.hpp>  ///  /// The LLUrlAction class provides a number of static functions that @@ -77,17 +78,21 @@ public:  	static void showProfile(std::string url);  	/// specify the callbacks to enable this class's functionality -	static void	setOpenURLCallback(void (*cb) (const std::string& url)); -	static void	setOpenURLInternalCallback(void (*cb) (const std::string& url)); -	static void	setOpenURLExternalCallback(void (*cb) (const std::string& url)); -	static void	setExecuteSLURLCallback(bool (*cb) (const std::string& url)); +	typedef boost::function<void (const std::string&)> url_callback_t; +	typedef boost::function<bool(const std::string& url)> execute_url_callback_t; + +	static void	setOpenURLCallback(url_callback_t cb); +	static void	setOpenURLInternalCallback(url_callback_t cb); +	static void	setOpenURLExternalCallback(url_callback_t cb); +	static void	setExecuteSLURLCallback(execute_url_callback_t cb);  private:  	// callbacks for operations we can perform on Urls -	static void (*sOpenURLCallback) (const std::string& url); -	static void (*sOpenURLInternalCallback) (const std::string& url); -	static void (*sOpenURLExternalCallback) (const std::string& url); -	static bool (*sExecuteSLURLCallback) (const std::string& url); +	static url_callback_t sOpenURLCallback; +	static url_callback_t sOpenURLInternalCallback; +	static url_callback_t sOpenURLExternalCallback; + +	static execute_url_callback_t sExecuteSLURLCallback;  };  #endif diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index bef775cdb8..b2507fb176 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -207,7 +207,6 @@ set(viewer_SOURCE_FILES      llfloaterland.cpp      llfloaterlandholdings.cpp      llfloatermap.cpp -    llfloatermediabrowser.cpp      llfloatermediasettings.cpp      llfloatermemleak.cpp      llfloatermodelpreview.cpp @@ -774,7 +773,6 @@ set(viewer_HEADER_FILES      llfloaterland.h      llfloaterlandholdings.h      llfloatermap.h -    llfloatermediabrowser.h      llfloatermediasettings.h      llfloatermemleak.h      llfloatermodelpreview.h diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index dc88c81d6a..2bde223f81 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -847,9 +847,9 @@ bool LLAppViewer::init()  	LLWeb::initClass();			  // do this after LLUI  	// Provide the text fields with callbacks for opening Urls -	LLUrlAction::setOpenURLCallback(&LLWeb::loadURL); -	LLUrlAction::setOpenURLInternalCallback(&LLWeb::loadURLInternal); -	LLUrlAction::setOpenURLExternalCallback(&LLWeb::loadURLExternal); +	LLUrlAction::setOpenURLCallback(boost::bind(&LLWeb::loadURL, _1, LLStringUtil::null, LLStringUtil::null)); +	LLUrlAction::setOpenURLInternalCallback(boost::bind(&LLWeb::loadURLInternal, _1, LLStringUtil::null, LLStringUtil::null)); +	LLUrlAction::setOpenURLExternalCallback(boost::bind(&LLWeb::loadURLExternal, _1, true, LLStringUtil::null));  	LLUrlAction::setExecuteSLURLCallback(&LLURLDispatcher::dispatchFromTextEditor);  	// Let code in llui access the viewer help floater diff --git a/indra/newview/llfloaterhelpbrowser.h b/indra/newview/llfloaterhelpbrowser.h index 80b0ecc06b..bf4f544a14 100644 --- a/indra/newview/llfloaterhelpbrowser.h +++ b/indra/newview/llfloaterhelpbrowser.h @@ -1,5 +1,5 @@  /**  - * @file llfloatermediabrowser.h + * @file llfloaterhelpbrowser.h   * @brief HTML Help floater - uses embedded web browser control   *   * $LicenseInfo:firstyear=2006&license=viewerlgpl$ diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp deleted file mode 100644 index 7a670dd90c..0000000000 --- a/indra/newview/llfloatermediabrowser.cpp +++ /dev/null @@ -1,462 +0,0 @@ -/**  - * @file llfloatermediabrowser.cpp - * @brief media browser floater - uses embedded media browser control - * - * $LicenseInfo:firstyear=2006&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llfloatermediabrowser.h" - -#include "llfloaterreg.h" -#include "llparcel.h" -#include "llpluginclassmedia.h" -#include "lluictrlfactory.h" -#include "llmediactrl.h" -#include "llviewerwindow.h" -#include "llviewercontrol.h" -#include "llviewerparcelmgr.h" -#include "llweb.h" -#include "llui.h" -#include "roles_constants.h" - -#include "llurlhistory.h" -#include "llmediactrl.h" -#include "llviewermedia.h" -#include "llviewerparcelmedia.h" -#include "llcombobox.h" -#include "llwindow.h" -#include "lllayoutstack.h" -#include "llcheckboxctrl.h" - -#include "llnotifications.h" - -// TEMP -#include "llsdutil.h" - -LLFloaterMediaBrowser::LLFloaterMediaBrowser(const LLSD& key) -	: LLFloater(key) -{ -} - -//static  -void LLFloaterMediaBrowser::create(const std::string &url, const std::string& target, const std::string& uuid) -{ -	lldebugs << "url = " << url << ", target = " << target << ", uuid = " << uuid << llendl; -	 -	std::string tag = target; -	 -	if(target.empty() || target == "_blank") -	{ -		if(!uuid.empty()) -		{ -			tag = uuid; -		} -		else -		{ -		// create a unique tag for this instance -		LLUUID id; -		id.generate(); -		tag = id.asString(); -	} -	} -	 -	S32 browser_window_limit = gSavedSettings.getS32("MediaBrowserWindowLimit"); -	 -	if(LLFloaterReg::findInstance("media_browser", tag) != NULL) -	{ -		// There's already a media browser for this tag, so we won't be opening a new window. -	} -	else if(browser_window_limit != 0) -	{ -		// showInstance will open a new window.  Figure out how many media browsers are already open,  -		// and close the least recently opened one if this will put us over the limit. -		 -		LLFloaterReg::const_instance_list_t &instances = LLFloaterReg::getFloaterList("media_browser"); -		lldebugs << "total instance count is " << instances.size() << llendl; -		 -		for(LLFloaterReg::const_instance_list_t::const_iterator iter = instances.begin(); iter != instances.end(); iter++) -		{ -			lldebugs << "    " << (*iter)->getKey() << llendl; -		} -		 -		if(instances.size() >= (size_t)browser_window_limit) -		{ -			// Destroy the least recently opened instance -			(*instances.begin())->closeFloater(); -		} -	} - -	LLFloaterMediaBrowser *browser = dynamic_cast<LLFloaterMediaBrowser*> (LLFloaterReg::showInstance("media_browser", tag)); -	llassert(browser); -	if(browser) -	{ -		browser->mUUID = uuid; - -		// tell the browser instance to load the specified URL -		browser->openMedia(url, target); -		LLViewerMedia::proxyWindowOpened(target, uuid); -	} -} - -//static  -void LLFloaterMediaBrowser::closeRequest(const std::string &uuid) -{ -	LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("media_browser"); -	lldebugs << "instance list size is " << inst_list.size() << ", incoming uuid is " << uuid << llendl; -	for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); iter != inst_list.end(); ++iter) -	{ -		LLFloaterMediaBrowser* i = dynamic_cast<LLFloaterMediaBrowser*>(*iter); -		lldebugs << "    " << i->mUUID << llendl; -		if (i && i->mUUID == uuid) -		{ -			i->closeFloater(false); -			return; - 		} - 	} -} - -//static  -void LLFloaterMediaBrowser::geometryChanged(const std::string &uuid, S32 x, S32 y, S32 width, S32 height) -{ -	LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("media_browser"); -	lldebugs << "instance list size is " << inst_list.size() << ", incoming uuid is " << uuid << llendl; -	for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); iter != inst_list.end(); ++iter) -	{ -		LLFloaterMediaBrowser* i = dynamic_cast<LLFloaterMediaBrowser*>(*iter); -		lldebugs << "    " << i->mUUID << llendl; -		if (i && i->mUUID == uuid) -		{ -			i->geometryChanged(x, y, width, height); -			return; -	} -} -} -	 -void LLFloaterMediaBrowser::geometryChanged(S32 x, S32 y, S32 width, S32 height) -{	 -	// Make sure the layout of the browser control is updated, so this calculation is correct. -	LLLayoutStack::updateClass(); -		 -	// TODO: need to adjust size and constrain position to make sure floaters aren't moved outside the window view, etc. -	LLCoordWindow window_size; -	getWindow()->getSize(&window_size); - -	// Adjust width and height for the size of the chrome on the Media Browser window. -	width += getRect().getWidth() - mBrowser->getRect().getWidth(); -	height += getRect().getHeight() - mBrowser->getRect().getHeight(); -	 -	LLRect geom; -	geom.setOriginAndSize(x, window_size.mY - (y + height), width, height); - -	lldebugs << "geometry change: " << geom << llendl; -	 -	handleReshape(geom,false); -} - - -void LLFloaterMediaBrowser::draw() -{ -	getChildView("go")->setEnabled(!mAddressCombo->getValue().asString().empty()); -	LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); -	if(parcel) -	{ -		getChildView("parcel_owner_controls")->setVisible( LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_CHANGE_MEDIA)); -		getChildView("assign")->setEnabled(!mAddressCombo->getValue().asString().empty()); -	} -	bool show_time_controls = false; -	bool media_playing = false; -	if(mBrowser) -	{ -		LLPluginClassMedia* media_plugin = mBrowser->getMediaPlugin(); -		if(media_plugin) -		{ -			show_time_controls = media_plugin->pluginSupportsMediaTime(); -			media_playing = media_plugin->getStatus() == LLPluginClassMediaOwner::MEDIA_PLAYING; -		} -	} -	getChildView("rewind")->setVisible( show_time_controls); -	getChildView("play")->setVisible( show_time_controls && ! media_playing); -	getChildView("pause")->setVisible( show_time_controls && media_playing); -	getChildView("stop")->setVisible( show_time_controls); -	getChildView("seek")->setVisible( show_time_controls); - -	getChildView("play")->setEnabled(! media_playing); -	getChildView("stop")->setEnabled(media_playing); - -	getChildView("back")->setEnabled(mBrowser->canNavigateBack()); -	getChildView("forward")->setEnabled(mBrowser->canNavigateForward()); - -	LLFloater::draw(); -} - -BOOL LLFloaterMediaBrowser::postBuild() -{ -	mBrowser = getChild<LLMediaCtrl>("browser"); -	mBrowser->addObserver(this); - -	mAddressCombo = getChild<LLComboBox>("address"); -	mAddressCombo->setCommitCallback(onEnterAddress, this); -	mAddressCombo->sortByName(); - -	childSetAction("back", onClickBack, this); -	childSetAction("forward", onClickForward, this); -	childSetAction("reload", onClickRefresh, this); -	childSetAction("rewind", onClickRewind, this); -	childSetAction("play", onClickPlay, this); -	childSetAction("stop", onClickStop, this); -	childSetAction("pause", onClickPlay, this); -	childSetAction("seek", onClickSeek, this); -	childSetAction("go", onClickGo, this); -	childSetAction("close", onClickClose, this); -	childSetAction("open_browser", onClickOpenWebBrowser, this); -	childSetAction("assign", onClickAssign, this); - -	buildURLHistory(); - -	return TRUE; -} - -void LLFloaterMediaBrowser::buildURLHistory() -{ -	LLCtrlListInterface* url_list = childGetListInterface("address"); -	if (url_list) -	{ -		url_list->operateOnAll(LLCtrlListInterface::OP_DELETE); -	} - -	// Get all of the entries in the "browser" collection -	LLSD browser_history = LLURLHistory::getURLHistory("browser"); - -	LLSD::array_iterator iter_history = -		browser_history.beginArray(); -	LLSD::array_iterator end_history = -		browser_history.endArray(); -	for(; iter_history != end_history; ++iter_history) -	{ -		std::string url = (*iter_history).asString(); -		if(! url.empty()) -			url_list->addSimpleElement(url); -	} - -	// initialize URL history in the plugin -	if(mBrowser && mBrowser->getMediaPlugin()) -	{ -		mBrowser->getMediaPlugin()->initializeUrlHistory(browser_history); -	} -} - -std::string LLFloaterMediaBrowser::getSupportURL() -{ -	return getString("support_page_url"); -} - -//virtual -void LLFloaterMediaBrowser::onClose(bool app_quitting) -{ -	LLViewerMedia::proxyWindowClosed(mUUID); -	//setVisible(FALSE); -	destroy(); -} - -void LLFloaterMediaBrowser::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event) -{ -	if(event == MEDIA_EVENT_LOCATION_CHANGED) -	{ -		setCurrentURL(self->getLocation()); -	} -	else if(event == MEDIA_EVENT_NAVIGATE_COMPLETE) -	{ -		// This is the event these flags are sent with. -		getChildView("back")->setEnabled(self->getHistoryBackAvailable()); -		getChildView("forward")->setEnabled(self->getHistoryForwardAvailable()); -	} -	else if(event == MEDIA_EVENT_CLOSE_REQUEST) -	{ -		// The browser instance wants its window closed. -		closeFloater(); -	} -	else if(event == MEDIA_EVENT_GEOMETRY_CHANGE) -	{ -		geometryChanged(self->getGeometryX(), self->getGeometryY(), self->getGeometryWidth(), self->getGeometryHeight()); -	} -} - -void LLFloaterMediaBrowser::setCurrentURL(const std::string& url) -{ -	mCurrentURL = url; - -	mAddressCombo->remove(mCurrentURL); -	mAddressCombo->add(mCurrentURL); -	mAddressCombo->selectByValue(mCurrentURL); - -	// Serialize url history -	LLURLHistory::removeURL("browser", mCurrentURL); -	LLURLHistory::addURL("browser", mCurrentURL); - -	getChildView("back")->setEnabled(mBrowser->canNavigateBack()); -	getChildView("forward")->setEnabled(mBrowser->canNavigateForward()); -	getChildView("reload")->setEnabled(TRUE); -} - -//static  -void LLFloaterMediaBrowser::onEnterAddress(LLUICtrl* ctrl, void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; -	self->mBrowser->navigateTo(self->mAddressCombo->getValue().asString()); -} - -//static  -void LLFloaterMediaBrowser::onClickRefresh(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	if( self->mBrowser->getMediaPlugin() &&  self->mBrowser->getMediaPlugin()->pluginSupportsMediaBrowser()) -	{ -		bool ignore_cache = true; -		self->mBrowser->getMediaPlugin()->browse_reload( ignore_cache ); -	} -	else -	{ -		self->mBrowser->navigateTo(self->mCurrentURL); -	} -} - -//static  -void LLFloaterMediaBrowser::onClickForward(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	self->mBrowser->navigateForward(); -} - -//static  -void LLFloaterMediaBrowser::onClickBack(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	self->mBrowser->navigateBack(); -} - -//static  -void LLFloaterMediaBrowser::onClickGo(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	self->mBrowser->navigateTo(self->mAddressCombo->getValue().asString()); -} - -//static  -void LLFloaterMediaBrowser::onClickClose(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	self->closeFloater(); -} - -//static  -void LLFloaterMediaBrowser::onClickOpenWebBrowser(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	std::string url = self->mCurrentURL.empty() ?  -		self->mBrowser->getHomePageUrl() : -		self->mCurrentURL; -	LLWeb::loadURLExternal(url); -} - -void LLFloaterMediaBrowser::onClickAssign(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); -	if (!parcel) -	{ -		return; -	} -	std::string media_url = self->mAddressCombo->getValue().asString(); -	LLStringUtil::trim(media_url); - -	if(parcel->getMediaType() != "text/html") -	{ -		parcel->setMediaURL(media_url); -		parcel->setMediaCurrentURL(media_url); -		parcel->setMediaType(std::string("text/html")); -		LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel, true ); -		LLViewerParcelMedia::sendMediaNavigateMessage(media_url); -		LLViewerParcelMedia::stop(); -		// LLViewerParcelMedia::update( parcel ); -	} -	LLViewerParcelMedia::sendMediaNavigateMessage(media_url); -} -//static  -void LLFloaterMediaBrowser::onClickRewind(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	if(self->mBrowser->getMediaPlugin()) -		self->mBrowser->getMediaPlugin()->start(-2.0f); -} -//static  -void LLFloaterMediaBrowser::onClickPlay(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	LLPluginClassMedia* plugin = self->mBrowser->getMediaPlugin(); -	if(plugin) -	{ -		if(plugin->getStatus() == LLPluginClassMediaOwner::MEDIA_PLAYING) -		{ -			plugin->pause(); -		} -		else -		{ -			plugin->start(); -		} -	} -} -//static  -void LLFloaterMediaBrowser::onClickStop(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	if(self->mBrowser->getMediaPlugin()) -		self->mBrowser->getMediaPlugin()->stop(); -} -//static  -void LLFloaterMediaBrowser::onClickSeek(void* user_data) -{ -	LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - -	if(self->mBrowser->getMediaPlugin()) -		self->mBrowser->getMediaPlugin()->start(2.0f); -} -void LLFloaterMediaBrowser::openMedia(const std::string& media_url, const std::string& target) -{ -	mBrowser->setHomePageUrl(media_url); -	mBrowser->setTarget(target); -	mBrowser->navigateTo(media_url); -	setCurrentURL(media_url); -} - - diff --git a/indra/newview/llfloatermediabrowser.h b/indra/newview/llfloatermediabrowser.h deleted file mode 100644 index 152d221a01..0000000000 --- a/indra/newview/llfloatermediabrowser.h +++ /dev/null @@ -1,86 +0,0 @@ -/**  - * @file llfloatermediabrowser.h - * @brief media browser floater - uses embedded media browser control - * - * $LicenseInfo:firstyear=2006&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLFLOATERMEDIABROWSER_H -#define LL_LLFLOATERMEDIABROWSER_H - -#include "llfloater.h" -#include "llmediactrl.h" - - -class LLComboBox; -class LLMediaCtrl; -class LLNotification; - -class LLFloaterMediaBrowser :  -	public LLFloater,  -	public LLViewerMediaObserver -{ -public: -    LOG_CLASS(LLFloaterMediaBrowser); -	LLFloaterMediaBrowser(const LLSD& key); - -	static void create(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null); - -	static void closeRequest(const std::string &uuid); -	static void geometryChanged(const std::string &uuid, S32 x, S32 y, S32 width, S32 height); -	void geometryChanged(S32 x, S32 y, S32 width, S32 height); -	 -	/*virtual*/ BOOL postBuild(); -	/*virtual*/ void onClose(bool app_quitting); -	/*virtual*/ void draw(); - -	// inherited from LLViewerMediaObserver -	/*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event); - -	void openMedia(const std::string& media_url, const std::string& target); -	void buildURLHistory(); -	std::string getSupportURL(); -	void setCurrentURL(const std::string& url); - -	static void onEnterAddress(LLUICtrl* ctrl, void* user_data); -	static void onClickRefresh(void* user_data); -	static void onClickBack(void* user_data); -	static void onClickForward(void* user_data); -	static void onClickGo(void* user_data); -	static void onClickClose(void* user_data); -	static void onClickOpenWebBrowser(void* user_data); -	static void onClickAssign(void* user_data); -	static void onClickRewind(void* user_data); -	static void onClickPlay(void* user_data); -	static void onClickStop(void* user_data); -	static void onClickSeek(void* user_data); - -private: -	LLMediaCtrl* mBrowser; -	LLComboBox* mAddressCombo; -	std::string mCurrentURL; -	boost::shared_ptr<LLNotification> mCurNotification; -	std::string mUUID; -}; - -#endif  // LL_LLFLOATERMEDIABROWSER_H - diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index 58ba0219cc..74fa5d350a 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -57,7 +57,6 @@  #include "llcheckboxctrl.h"  #include "llnotifications.h"  #include "lllineeditor.h" -#include "llfloatermediabrowser.h"  #include "llfloaterwebcontent.h"  #include "llwindowshade.h" @@ -1082,26 +1081,6 @@ void LLMediaCtrl::onPopup(const LLSD& notification, const LLSD& response)  {  	if (response["open"])  	{ -		// name of default floater to open -		std::string floater_name = "media_browser"; - -		// look for parent floater name -		if ( gFloaterView ) -		{ -			if ( gFloaterView->getParentFloater(this) ) -			{ -				floater_name = gFloaterView->getParentFloater(this)->getInstanceName(); -			} -			else -			{ -				lldebugs << "No gFloaterView->getParentFloater(this) for onPopuup()" << llendl; -			}; -		} -		else -		{ -			lldebugs << "No gFloaterView for onPopuup()" << llendl; -		}; -  		LLWeb::loadURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]);  	}  	else diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index fc264db5af..146bcbe47b 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -54,7 +54,6 @@  #include "llworldmapmessage.h"  #include "llappviewer.h"  #include "llviewercontrol.h" -#include "llfloatermediabrowser.h"  #include "llweb.h"  #include "llhints.h" diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index c761969fcf..9d277ea96b 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -64,7 +64,6 @@  #include "llfloatergroups.h"  #include "llfloaterhardwaresettings.h"  #include "llfloaterhelpbrowser.h" -#include "llfloatermediabrowser.h"  #include "llfloaterwebcontent.h"  #include "llfloatermediasettings.h"  #include "llfloaterhud.h" @@ -227,7 +226,6 @@ void LLViewerFloaterReg::registerFloaters()  	LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>);  	LLFloaterReg::add("mem_leaking", "floater_mem_leaking.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMemLeak>); -	LLFloaterReg::add("media_browser", "floater_media_browser.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMediaBrowser>);	  	LLFloaterReg::add("media_settings", "floater_media_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMediaSettings>);	  	LLFloaterReg::add("message_critical", "floater_critical.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTOS>);  	LLFloaterReg::add("message_tos", "floater_tos.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTOS>); diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index f616262523..209067b66d 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -68,7 +68,6 @@  #include "llwindow.h" -#include "llfloatermediabrowser.h"	// for handling window close requests and geometry change requests in media browser windows.  #include "llfloaterwebcontent.h"	// for handling window close requests and geometry change requests in media browser windows.  #include <boost/bind.hpp>	// for SkinFolder listener @@ -3353,7 +3352,6 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla  			{  				// This close request is directed at another instance  				pass_through = false; -				LLFloaterMediaBrowser::closeRequest(uuid);  				LLFloaterWebContent::closeRequest(uuid);  			}  		} @@ -3373,7 +3371,6 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla  			{  				// This request is directed at another instance  				pass_through = false; -				LLFloaterMediaBrowser::geometryChanged(uuid, plugin->getGeometryX(), plugin->getGeometryY(), plugin->getGeometryWidth(), plugin->getGeometryHeight());  				LLFloaterWebContent::geometryChanged(uuid, plugin->getGeometryX(), plugin->getGeometryY(), plugin->getGeometryWidth(), plugin->getGeometryHeight());  			}  		} diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index b2f35892d0..d2d48dc68f 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -34,7 +34,6 @@  #include "llagent.h"  #include "llappviewer.h" -#include "llfloatermediabrowser.h"  #include "llfloaterwebcontent.h"  #include "llfloaterreg.h"  #include "lllogininstance.h" @@ -78,32 +77,15 @@ void LLWeb::initClass()  } -// static -void LLWeb::loadURL(const std::string& url, const std::string& target, const std::string& uuid) -{ -	loadWebURL(url, target, uuid); -	//if(target == "_internal") -	//{ -	//	// Force load in the internal browser, as if with a blank target. -	//	loadURLInternal(url, "", uuid); -	//} -	//else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external")) -	//{ -	//	loadURLExternal(url); -	//} -	//else -	//{ -	//	loadURLInternal(url, target, uuid); -	//} -} +  // static -void LLWeb::loadWebURL(const std::string& url, const std::string& target, const std::string& uuid) +void LLWeb::loadURL(const std::string& url, const std::string& target, const std::string& uuid)  {  	if(target == "_internal")  	{  		// Force load in the internal browser, as if with a blank target. -		loadWebURLInternal(url, "", uuid); +		loadURLInternal(url, "", uuid);  	}  	else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external"))  	{ @@ -111,19 +93,13 @@ void LLWeb::loadWebURL(const std::string& url, const std::string& target, const  	}  	else  	{ -		loadWebURLInternal(url, target, uuid); +		loadURLInternal(url, target, uuid);  	}  }  // static -void LLWeb::loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid) -{ -	LLFloaterMediaBrowser::create(url, target, uuid); -} - -// static  // Explicitly open a Web URL using the Web content floater -void LLWeb::loadWebURLInternal(const std::string &url, const std::string& target, const std::string& uuid) +void LLWeb::loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid)  {  	LLFloaterWebContent::Params p;  	p.url(url).target(target).id(uuid); diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h index 376abc0ece..0b95f664d6 100644 --- a/indra/newview/llweb.h +++ b/indra/newview/llweb.h @@ -42,23 +42,15 @@ class LLWeb  public:  	static void initClass(); -	/// Load the given url in the user's preferred web browser -	static void loadURL(const std::string& url, const std::string& target, const std::string& uuid = LLStringUtil::null); -	static void loadURL(const std::string& url) { loadURL(url, LLStringUtil::null); } -	/// Load the given url in the user's preferred web browser	 -	static void loadURL(const char* url, const std::string& target = LLStringUtil::null) { loadURL( ll_safe_string(url), target); } -	/// Load the given url in the Second Life internal web browser -	static void loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null); -	static void loadURLInternal(const std::string &url) { loadURLInternal(url, LLStringUtil::null, LLStringUtil::null);}  	/// Load the given url in the operating system's web browser, async if we want to return immediately  	/// before browser has spawned  	static void loadURLExternal(const std::string& url) {loadURLExternal(url, LLStringUtil::null);}  	static void loadURLExternal(const std::string& url, const std::string& uuid);  	static void loadURLExternal(const std::string& url, bool async, const std::string& uuid = LLStringUtil::null); -	// Explicitly open a Web URL using the Web content floater vs. the more general media browser -	static void loadWebURL(const std::string& url, const std::string& target, const std::string& uuid); -	static void loadWebURLInternal(const std::string &url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null); +	static void loadURL(const std::string& url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null); +	// load content using built-in browser +	static void loadURLInternal(const std::string &url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null);  	/// Returns escaped url (eg, " " to "%20") - used by all loadURL methods  	static std::string escapeURL(const std::string& url);  | 
