EXP-1009 WIP Teleport links from Search floater and destination guide in viewer fail with intrusted browser error in viewer
parent
42c6949e30
commit
38ba526cc5
|
|
@ -129,7 +129,10 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key)
|
|||
}
|
||||
|
||||
// Note: key should eventually be a non optional LLFloater arg; for now, set mKey to be safe
|
||||
res->mKey = key;
|
||||
if (res->mKey.isUndefined())
|
||||
{
|
||||
res->mKey = key;
|
||||
}
|
||||
res->setInstanceName(name);
|
||||
res->applySavedVariables(); // Can't apply rect and dock state until setting instance name
|
||||
if (res->mAutoTile && !res->getHost() && index > 0)
|
||||
|
|
@ -221,7 +224,7 @@ LLFloater* LLFloaterReg::showInstance(const std::string& name, const LLSD& key,
|
|||
LLFloater* instance = getInstance(name, key);
|
||||
if (instance)
|
||||
{
|
||||
instance->openFloater(key);
|
||||
instance->openFloater(instance->mKey);
|
||||
if (focus)
|
||||
instance->setFocus(TRUE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ class LLSDParamAdapter : public T
|
|||
}
|
||||
|
||||
LLSDParamAdapter(const T& val)
|
||||
: T(val)
|
||||
{
|
||||
T::operator=(val);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,10 +84,13 @@ LLSearchHandler gSearchHandler;
|
|||
LLFloaterSearch::_Params::_Params()
|
||||
: category("category", ""),
|
||||
query("query")
|
||||
{}
|
||||
{
|
||||
trusted_content = true;
|
||||
allow_address_entry = false;
|
||||
}
|
||||
|
||||
|
||||
LLFloaterSearch::LLFloaterSearch(const LLSD& key) :
|
||||
LLFloaterSearch::LLFloaterSearch(const Params& key) :
|
||||
LLFloaterWebContent(key),
|
||||
mSearchGodLevel(0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ class LLFloaterSearch :
|
|||
public LLFloaterWebContent
|
||||
{
|
||||
public:
|
||||
struct _Params : public LLInitParam::Block<_Params, LLFloaterWebContent::_Params>
|
||||
struct _Params : public LLInitParam::Block<_Params, LLFloaterWebContent::Params>
|
||||
{
|
||||
Optional<std::string> category;
|
||||
Optional<std::string> query;
|
||||
|
|
@ -56,7 +56,7 @@ public:
|
|||
|
||||
typedef LLSDParamAdapter<_Params> Params;
|
||||
|
||||
LLFloaterSearch(const LLSD& key);
|
||||
LLFloaterSearch(const Params& key);
|
||||
|
||||
/// show the search floater with a new search
|
||||
/// see search() for details on the key parameter.
|
||||
|
|
|
|||
|
|
@ -45,10 +45,12 @@ LLFloaterWebContent::_Params::_Params()
|
|||
target("target"),
|
||||
id("id"),
|
||||
show_chrome("show_chrome", true),
|
||||
preferred_media_size("preferred_media_size")
|
||||
allow_address_entry("allow_address_entry", true),
|
||||
preferred_media_size("preferred_media_size"),
|
||||
trusted_content("trusted_content", false)
|
||||
{}
|
||||
|
||||
LLFloaterWebContent::LLFloaterWebContent( const LLSD& key )
|
||||
LLFloaterWebContent::LLFloaterWebContent( const Params& key )
|
||||
: LLFloater( key )
|
||||
{
|
||||
mCommitCallbackRegistrar.add( "WebContent.Back", boost::bind( &LLFloaterWebContent::onClickBack, this ));
|
||||
|
|
@ -218,10 +220,12 @@ void LLFloaterWebContent::open_media(const Params& p)
|
|||
mWebBrowser->setHomePageUrl(p.url, "text/html");
|
||||
mWebBrowser->setTarget(p.target);
|
||||
mWebBrowser->navigateTo(p.url, "text/html");
|
||||
|
||||
set_current_url(p.url);
|
||||
|
||||
getChild<LLLayoutPanel>("status_bar")->setVisible(p.show_chrome);
|
||||
getChild<LLLayoutPanel>("nav_controls")->setVisible(p.show_chrome);
|
||||
getChild<LLUICtrl>("address")->setEnabled(p.allow_address_entry && !p.trusted_content);
|
||||
|
||||
if (!p.show_chrome)
|
||||
{
|
||||
|
|
@ -247,6 +251,7 @@ void LLFloaterWebContent::onOpen(const LLSD& key)
|
|||
}
|
||||
|
||||
mUUID = params.id().asString();
|
||||
mWebBrowser->setTrustedContent(params.trusted_content);
|
||||
|
||||
// tell the browser instance to load the specified URL
|
||||
open_media(params);
|
||||
|
|
|
|||
|
|
@ -49,7 +49,9 @@ public:
|
|||
Optional<std::string> url,
|
||||
target;
|
||||
Optional<LLUUID> id;
|
||||
Optional<bool> show_chrome;
|
||||
Optional<bool> show_chrome,
|
||||
allow_address_entry,
|
||||
trusted_content;
|
||||
Optional<LLRect> preferred_media_size;
|
||||
|
||||
_Params();
|
||||
|
|
@ -57,7 +59,7 @@ public:
|
|||
|
||||
typedef LLSDParamAdapter<_Params> Params;
|
||||
|
||||
LLFloaterWebContent(const LLSD& key);
|
||||
LLFloaterWebContent(const Params& key);
|
||||
|
||||
void initializeURLHistory();
|
||||
|
||||
|
|
|
|||
|
|
@ -1164,3 +1164,12 @@ void LLMediaCtrl::hideNotification()
|
|||
mWindowShade->hide();
|
||||
}
|
||||
}
|
||||
|
||||
void LLMediaCtrl::setTrustedContent(bool trusted)
|
||||
{
|
||||
mTrusted = trusted;
|
||||
if (mMediaSource)
|
||||
{
|
||||
mMediaSource->setTrustedBrowser(trusted);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,6 +149,8 @@ public:
|
|||
void showNotification(boost::shared_ptr<class LLNotification> notify);
|
||||
void hideNotification();
|
||||
|
||||
void setTrustedContent(bool trusted);
|
||||
|
||||
// over-rides
|
||||
virtual BOOL handleKeyHere( KEY key, MASK mask);
|
||||
virtual void handleVisibilityChange ( BOOL new_visibility );
|
||||
|
|
@ -176,7 +178,7 @@ public:
|
|||
LLViewBorder* mBorder;
|
||||
bool mFrequentUpdates;
|
||||
bool mForceUpdate;
|
||||
const bool mTrusted;
|
||||
bool mTrusted;
|
||||
std::string mHomePageUrl;
|
||||
std::string mHomePageMimeType;
|
||||
std::string mCurrentNavUrl;
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
image_disabled_selected="PushButton_Disabled"
|
||||
image_selected="PushButton_Selected"
|
||||
image_unselected="PushButton_Off"
|
||||
chrome="true"
|
||||
hover_glow_amount="0.15"
|
||||
tool_tip="Navigate back"
|
||||
follows="left|top"
|
||||
|
|
@ -58,6 +59,7 @@
|
|||
image_disabled_selected="PushButton_Disabled"
|
||||
image_selected="PushButton_Selected"
|
||||
image_unselected="PushButton_Off"
|
||||
chrome="true"
|
||||
tool_tip="Navigate forward"
|
||||
follows="left|top"
|
||||
height="22"
|
||||
|
|
@ -75,6 +77,7 @@
|
|||
image_disabled_selected="PushButton_Disabled"
|
||||
image_selected="PushButton_Selected"
|
||||
image_unselected="PushButton_Off"
|
||||
chrome="true"
|
||||
tool_tip="Stop navigation"
|
||||
enabled="true"
|
||||
follows="left|top"
|
||||
|
|
@ -93,6 +96,7 @@
|
|||
image_disabled_selected="PushButton_Disabled"
|
||||
image_selected="PushButton_Selected"
|
||||
image_unselected="PushButton_Off"
|
||||
chrome="true"
|
||||
tool_tip="Reload page"
|
||||
follows="left|top"
|
||||
height="22"
|
||||
|
|
@ -137,6 +141,7 @@
|
|||
image_disabled_selected="PushButton_Disabled"
|
||||
image_selected="PushButton_Selected"
|
||||
image_unselected="PushButton_Off"
|
||||
chrome="true"
|
||||
tool_tip="Open current URL in your desktop browser"
|
||||
follows="right|top"
|
||||
enabled="true"
|
||||
|
|
|
|||
Loading…
Reference in New Issue