merge
commit
ccedada681
|
|
@ -318,7 +318,10 @@ void LLFacebookConnect::openFacebookWeb(std::string url)
|
|||
{
|
||||
// Open the URL in an internal browser window without navigation UI
|
||||
LLFloaterWebContent::Params p;
|
||||
p.url(url).show_chrome(false);
|
||||
p.url(url).show_chrome(true);
|
||||
p.url(url).allow_address_entry(false);
|
||||
p.url(url).allow_back_forward_navigation(false);
|
||||
p.url(url).trusted_content(true);
|
||||
LLFloaterReg::showInstance("fbc_web", p);
|
||||
|
||||
//LLUrlAction::openURLExternal(url);
|
||||
|
|
|
|||
|
|
@ -46,7 +46,8 @@ LLFloaterWebContent::_Params::_Params()
|
|||
id("id"),
|
||||
window_class("window_class", "web_content"),
|
||||
show_chrome("show_chrome", true),
|
||||
allow_address_entry("allow_address_entry", true),
|
||||
allow_address_entry("allow_address_entry", true),
|
||||
allow_back_forward_navigation("allow_back_forward_navigation", true),
|
||||
preferred_media_size("preferred_media_size"),
|
||||
trusted_content("trusted_content", false),
|
||||
show_page_title("show_page_title", true)
|
||||
|
|
@ -65,7 +66,10 @@ LLFloaterWebContent::LLFloaterWebContent( const Params& params )
|
|||
mBtnReload(NULL),
|
||||
mBtnStop(NULL),
|
||||
mUUID(params.id()),
|
||||
mShowPageTitle(params.show_page_title)
|
||||
mShowPageTitle(params.show_page_title),
|
||||
mAllowNavigation(true),
|
||||
mCurrentURL(""),
|
||||
mDisplayURL("")
|
||||
{
|
||||
mCommitCallbackRegistrar.add( "WebContent.Back", boost::bind( &LLFloaterWebContent::onClickBack, this ));
|
||||
mCommitCallbackRegistrar.add( "WebContent.Forward", boost::bind( &LLFloaterWebContent::onClickForward, this ));
|
||||
|
|
@ -97,7 +101,7 @@ BOOL LLFloaterWebContent::postBuild()
|
|||
|
||||
// cache image for secure browsing
|
||||
mSecureLockIcon = getChild< LLIconCtrl >("media_secure_lock_flag");
|
||||
|
||||
|
||||
// initialize the URL history using the system URL History manager
|
||||
initializeURLHistory();
|
||||
|
||||
|
|
@ -238,11 +242,13 @@ void LLFloaterWebContent::open_media(const Params& p)
|
|||
mWebBrowser->setTarget(p.target);
|
||||
mWebBrowser->navigateTo(p.url, "text/html");
|
||||
|
||||
mSecureLockIcon->setVisible(false);
|
||||
set_current_url(p.url);
|
||||
|
||||
getChild<LLLayoutPanel>("status_bar")->setVisible(p.show_chrome);
|
||||
getChild<LLLayoutPanel>("nav_controls")->setVisible(p.show_chrome);
|
||||
bool address_entry_enabled = p.allow_address_entry && !p.trusted_content;
|
||||
mAllowNavigation = p.allow_back_forward_navigation;
|
||||
getChildView("address")->setEnabled(address_entry_enabled);
|
||||
getChildView("popexternal")->setEnabled(address_entry_enabled);
|
||||
|
||||
|
|
@ -295,8 +301,8 @@ void LLFloaterWebContent::onClose(bool app_quitting)
|
|||
void LLFloaterWebContent::draw()
|
||||
{
|
||||
// this is asynchronous so we need to keep checking
|
||||
mBtnBack->setEnabled( mWebBrowser->canNavigateBack() );
|
||||
mBtnForward->setEnabled( mWebBrowser->canNavigateForward() );
|
||||
mBtnBack->setEnabled( mWebBrowser->canNavigateBack() && mAllowNavigation);
|
||||
mBtnForward->setEnabled( mWebBrowser->canNavigateForward() && mAllowNavigation);
|
||||
|
||||
LLFloater::draw();
|
||||
}
|
||||
|
|
@ -311,6 +317,7 @@ void LLFloaterWebContent::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent
|
|||
if ( url.length() )
|
||||
mStatusBarText->setText( url );
|
||||
|
||||
mSecureLockIcon->setVisible(false);
|
||||
set_current_url( url );
|
||||
}
|
||||
else if(event == MEDIA_EVENT_NAVIGATE_BEGIN)
|
||||
|
|
@ -344,17 +351,19 @@ void LLFloaterWebContent::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent
|
|||
mStatusBarText->setText( end_str );
|
||||
|
||||
// decide if secure browsing icon should be displayed
|
||||
std::string prefix = std::string("https://");
|
||||
std::string prefix = std::string("https://");
|
||||
std::string test_prefix = mCurrentURL.substr(0, prefix.length());
|
||||
LLStringUtil::toLower(test_prefix);
|
||||
if(test_prefix == prefix)
|
||||
if (test_prefix == prefix)
|
||||
{
|
||||
mSecureLockIcon->setVisible(true);
|
||||
// Hack : we move the text a bit to make space for the lock icon.
|
||||
set_current_url(" " + mCurrentURL);
|
||||
}
|
||||
else
|
||||
{
|
||||
mSecureLockIcon->setVisible(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
mSecureLockIcon->setVisible(false);
|
||||
}
|
||||
}
|
||||
else if(event == MEDIA_EVENT_CLOSE_REQUEST)
|
||||
{
|
||||
|
|
@ -397,15 +406,26 @@ void LLFloaterWebContent::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent
|
|||
|
||||
void LLFloaterWebContent::set_current_url(const std::string& url)
|
||||
{
|
||||
if (!mCurrentURL.empty())
|
||||
{
|
||||
// Clean up the current browsing list to show true URL
|
||||
mAddressCombo->remove(mDisplayURL);
|
||||
mAddressCombo->add(mCurrentURL);
|
||||
}
|
||||
|
||||
// Update current URLs
|
||||
mDisplayURL = url;
|
||||
mCurrentURL = url;
|
||||
LLStringUtil::trim(mCurrentURL);
|
||||
|
||||
// serialize url history into the system URL History manager
|
||||
LLURLHistory::removeURL("browser", mCurrentURL);
|
||||
LLURLHistory::addURL("browser", mCurrentURL);
|
||||
// Serialize url history into the system URL History manager
|
||||
LLURLHistory::removeURL("browser", mCurrentURL);
|
||||
LLURLHistory::addURL("browser", mCurrentURL);
|
||||
|
||||
mAddressCombo->remove( mCurrentURL );
|
||||
mAddressCombo->add( mCurrentURL );
|
||||
mAddressCombo->selectByValue( mCurrentURL );
|
||||
// Clean up browsing list (prevent dupes) and add/select new URL to it
|
||||
mAddressCombo->remove(mCurrentURL);
|
||||
mAddressCombo->add(mDisplayURL);
|
||||
mAddressCombo->selectByValue(mDisplayURL);
|
||||
}
|
||||
|
||||
void LLFloaterWebContent::onClickForward()
|
||||
|
|
@ -449,6 +469,7 @@ void LLFloaterWebContent::onEnterAddress()
|
|||
// make sure there is at least something there.
|
||||
// (perhaps this test should be for minimum length of a URL)
|
||||
std::string url = mAddressCombo->getValue().asString();
|
||||
LLStringUtil::trim(url);
|
||||
if ( url.length() > 0 )
|
||||
{
|
||||
mWebBrowser->navigateTo( url, "text/html");
|
||||
|
|
@ -460,6 +481,7 @@ void LLFloaterWebContent::onPopExternal()
|
|||
// make sure there is at least something there.
|
||||
// (perhaps this test should be for minimum length of a URL)
|
||||
std::string url = mAddressCombo->getValue().asString();
|
||||
LLStringUtil::trim(url);
|
||||
if ( url.length() > 0 )
|
||||
{
|
||||
LLWeb::loadURLExternal( url );
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ public:
|
|||
id;
|
||||
Optional<bool> show_chrome,
|
||||
allow_address_entry,
|
||||
allow_back_forward_navigation,
|
||||
trusted_content,
|
||||
show_page_title;
|
||||
Optional<LLRect> preferred_media_size;
|
||||
|
|
@ -105,9 +106,11 @@ protected:
|
|||
LLView* mBtnReload;
|
||||
LLView* mBtnStop;
|
||||
|
||||
std::string mCurrentURL;
|
||||
std::string mCurrentURL; // Current URL
|
||||
std::string mDisplayURL; // URL being displayed in the address bar (can differ by trailing / leading space)
|
||||
std::string mUUID;
|
||||
bool mShowPageTitle;
|
||||
bool mAllowNavigation;
|
||||
};
|
||||
|
||||
#endif // LL_LLFLOATERWEBCONTENT_H
|
||||
|
|
|
|||
|
|
@ -103,22 +103,29 @@ LLSD LLURLHistory::getURLHistory(const std::string& collection)
|
|||
// static
|
||||
void LLURLHistory::addURL(const std::string& collection, const std::string& url)
|
||||
{
|
||||
if(! url.empty())
|
||||
if(!url.empty())
|
||||
{
|
||||
sHistorySD[collection].insert(0, url);
|
||||
LLURI u(url);
|
||||
std::string simplified_url = u.scheme() + "://" + u.authority() + u.path();
|
||||
sHistorySD[collection].insert(0, simplified_url);
|
||||
LLURLHistory::limitSize(collection);
|
||||
}
|
||||
}
|
||||
// static
|
||||
void LLURLHistory::removeURL(const std::string& collection, const std::string& url)
|
||||
{
|
||||
for(int index = 0; index < sHistorySD[collection].size(); index++)
|
||||
if(!url.empty())
|
||||
{
|
||||
if(sHistorySD[collection].get(index).asString() == url)
|
||||
{
|
||||
sHistorySD[collection].erase(index);
|
||||
}
|
||||
}
|
||||
LLURI u(url);
|
||||
std::string simplified_url = u.scheme() + "://" + u.authority() + u.path();
|
||||
for(int index = 0; index < sHistorySD[collection].size(); index++)
|
||||
{
|
||||
if(sHistorySD[collection].get(index).asString() == simplified_url)
|
||||
{
|
||||
sHistorySD[collection].erase(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
|||
|
|
@ -2000,7 +2000,11 @@ void LLViewerMediaImpl::loadURI()
|
|||
"<>#%"
|
||||
";/?:@&=",
|
||||
false);
|
||||
llinfos << "Asking media source to load URI: " << uri << llendl;
|
||||
{
|
||||
// Do not log the query parts
|
||||
LLURI u(uri);
|
||||
llinfos << "Asking media source to load URI: " << u.scheme() << "://" << u.authority() << u.path() << llendl;
|
||||
}
|
||||
|
||||
mMediaSource->loadURI( uri );
|
||||
|
||||
|
|
@ -2567,7 +2571,11 @@ void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mi
|
|||
if(mPriority == LLPluginClassMedia::PRIORITY_UNLOADED)
|
||||
{
|
||||
// Helpful to have media urls in log file. Shouldn't be spammy.
|
||||
llinfos << "NOT LOADING media id= " << mTextureId << " url=" << url << " mime_type=" << mime_type << llendl;
|
||||
{
|
||||
// Do not log the query parts
|
||||
LLURI u(url);
|
||||
llinfos << "NOT LOADING media id= " << mTextureId << " url=" << u.scheme() << "://" << u.authority() << u.path() << " mime_type=" << mime_type << llendl;
|
||||
}
|
||||
|
||||
// This impl should not be loaded at this time.
|
||||
LL_DEBUGS("PluginPriority") << this << "Not loading (PRIORITY_UNLOADED)" << LL_ENDL;
|
||||
|
|
@ -2582,7 +2590,11 @@ void LLViewerMediaImpl::navigateTo(const std::string& url, const std::string& mi
|
|||
void LLViewerMediaImpl::navigateInternal()
|
||||
{
|
||||
// Helpful to have media urls in log file. Shouldn't be spammy.
|
||||
llinfos << "media id= " << mTextureId << " url=" << mMediaURL << " mime_type=" << mMimeType << llendl;
|
||||
{
|
||||
// Do not log the query parts
|
||||
LLURI u(mMediaURL);
|
||||
llinfos << "media id= " << mTextureId << " url=" << u.scheme() << "://" << u.authority() << u.path() << " mime_type=" << mMimeType << llendl;
|
||||
}
|
||||
|
||||
if(mNavigateSuspended)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -125,10 +125,10 @@
|
|||
<icon
|
||||
name="media_secure_lock_flag"
|
||||
height="16"
|
||||
follows="top|right"
|
||||
follows="top|left"
|
||||
image_name="Lock2"
|
||||
layout="topleft"
|
||||
left_delta="620"
|
||||
left_delta="2"
|
||||
top_delta="2"
|
||||
visible="false"
|
||||
tool_tip="Secured Browsing"
|
||||
|
|
|
|||
Loading…
Reference in New Issue