diff options
| author | Leslie Linden <leslie@lindenlab.com> | 2011-10-11 09:10:33 -0700 |
|---|---|---|
| committer | Leslie Linden <leslie@lindenlab.com> | 2011-10-11 09:10:33 -0700 |
| commit | 05b31ff3b235bdcf7e9bb0fe1ff701c006e8ec66 (patch) | |
| tree | 4fd5e083694142609bd099cf71e092f9c7457e9f /indra/newview/llfloaterwebcontent.cpp | |
| parent | 0620e6a79149e455744131703e8bdb74864b69be (diff) | |
| parent | c845925eebb5cad3049ee0f3b1d0adea3e3a46b5 (diff) | |
Merge
Diffstat (limited to 'indra/newview/llfloaterwebcontent.cpp')
| -rw-r--r-- | indra/newview/llfloaterwebcontent.cpp | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 2c9a736aff..c76aeb0498 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -88,20 +88,6 @@ BOOL LLFloaterWebContent::postBuild() return TRUE; } -bool LLFloaterWebContent::matchesKey(const LLSD& key) -{ - LLUUID id = key["id"]; - if (id.notNull()) - { - return id == mKey["id"].asUUID(); - } - else - { - return key["target"].asString() == mKey["target"].asString(); - } -} - - void LLFloaterWebContent::initializeURLHistory() { // start with an empty list @@ -123,6 +109,20 @@ void LLFloaterWebContent::initializeURLHistory() } } +bool LLFloaterWebContent::matchesKey(const LLSD& key) +{ + Params p(mKey); + Params other_p(key); + if (!other_p.target().empty() && other_p.target() != "_blank") + { + return other_p.target() == p.target(); + } + else + { + return other_p.id() == p.id(); + } +} + //static LLFloater* LLFloaterWebContent::create( Params p) { @@ -139,14 +139,7 @@ LLFloater* LLFloaterWebContent::create( Params p) } S32 browser_window_limit = gSavedSettings.getS32("WebContentWindowLimit"); - - LLSD sd; - sd["target"] = p.target; - if(LLFloaterReg::findInstance(p.window_class, sd) != NULL) - { - // There's already a web browser for this tag, so we won't be opening a new window. - } - else if(browser_window_limit != 0) + if(browser_window_limit != 0) { // showInstance will open a new window. Figure out how many web browsers are already open, // and close the least recently opened one if this will put us over the limit. @@ -166,7 +159,7 @@ LLFloater* LLFloaterWebContent::create( Params p) } } - return LLFloaterReg::showInstance(p.window_class, p); + return new LLFloaterWebContent(p); } //static |
