From 7b963a5ec0b15712caba706fd62cb912a2b4fb33 Mon Sep 17 00:00:00 2001 From: Monroe Linden Date: Tue, 14 Dec 2010 17:53:04 -0800 Subject: SOCIAL-369 FIX Hitting reload on the media browser removes entries from location history for that session in Webkit 4.7 --- indra/newview/llfloatermediabrowser.cpp | 28 ++++++++++++++++------------ indra/newview/llfloaterwebcontent.cpp | 17 ++++++++--------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp index d20092e344..7a670dd90c 100644 --- a/indra/newview/llfloatermediabrowser.cpp +++ b/indra/newview/llfloatermediabrowser.cpp @@ -306,17 +306,14 @@ void LLFloaterMediaBrowser::setCurrentURL(const std::string& url) { mCurrentURL = url; - // redirects will navigate momentarily to about:blank, don't add to history - if (mCurrentURL != "about:blank") - { - mAddressCombo->remove(mCurrentURL); - mAddressCombo->add(mCurrentURL); - mAddressCombo->selectByValue(mCurrentURL); + mAddressCombo->remove(mCurrentURL); + mAddressCombo->add(mCurrentURL); + mAddressCombo->selectByValue(mCurrentURL); + + // Serialize url history + LLURLHistory::removeURL("browser", mCurrentURL); + LLURLHistory::addURL("browser", 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); @@ -334,8 +331,15 @@ void LLFloaterMediaBrowser::onClickRefresh(void* user_data) { LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data; - self->mAddressCombo->remove(0); - self->mBrowser->navigateTo(self->mCurrentURL); + 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 diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 4d7c80ad6c..a244c8d281 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -306,13 +306,9 @@ void LLFloaterWebContent::set_current_url(const std::string& url) { mCurrentURL = url; - // redirects will navigate momentarily to about:blank, don't add to history - if ( mCurrentURL != "about:blank" ) - { - mAddressCombo->remove( mCurrentURL ); - mAddressCombo->add( mCurrentURL ); - mAddressCombo->selectByValue( mCurrentURL ); - } + mAddressCombo->remove( mCurrentURL ); + mAddressCombo->add( mCurrentURL ); + mAddressCombo->selectByValue( mCurrentURL ); } void LLFloaterWebContent::onClickForward() @@ -327,13 +323,16 @@ void LLFloaterWebContent::onClickBack() void LLFloaterWebContent::onClickReload() { - mAddressCombo->remove(0); if( mWebBrowser->getMediaPlugin() ) { bool ignore_cache = true; mWebBrowser->getMediaPlugin()->browse_reload( ignore_cache ); - }; + } + else + { + mWebBrowser->navigateTo(mCurrentURL); + } } void LLFloaterWebContent::onClickStop() -- cgit v1.2.3