Chromium Code Reviews| Index: chrome/browser/ui/bookmarks/bookmark_utils.cc |
| diff --git a/chrome/browser/ui/bookmarks/bookmark_utils.cc b/chrome/browser/ui/bookmarks/bookmark_utils.cc |
| index 16e7c0c9482e558fe53c591742c16d2da9f7f169..f93a061e564975ad303e2125f5b37636e35803d8 100644 |
| --- a/chrome/browser/ui/bookmarks/bookmark_utils.cc |
| +++ b/chrome/browser/ui/bookmarks/bookmark_utils.cc |
| @@ -12,6 +12,7 @@ |
| #include "chrome/browser/bookmarks/bookmark_utils.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/browser.h" |
| +#include "chrome/browser/ui/browser_navigator.h" |
| #include "chrome/browser/ui/browser_tabstrip.h" |
| #include "chrome/browser/ui/browser_window.h" |
| #include "chrome/browser/ui/simple_message_box.h" |
| @@ -61,8 +62,16 @@ bool ShouldOpenAll(gfx::NativeWindow parent, |
| void OpenAllImpl(const BookmarkNode* node, |
|
tfarina
2012/12/19 15:55:03
ideally I think we should just blow away this func
|
| WindowOpenDisposition initial_disposition, |
| content::PageNavigator** navigator, |
| - bool* opened_url) { |
| + bool* opened_url, |
| + content::BrowserContext* browser_context) { |
| if (node->is_url()) { |
| + // When |initial_disposition| is OFF_THE_RECORD, a node which can't be |
| + // opened in incognito window, it is detected using |browser_context|, is |
| + // not opened. |
| + if (initial_disposition == OFF_THE_RECORD && |
| + !IsURLAllowedInIncognito(node->url(), browser_context)) |
| + return; |
| + |
| WindowOpenDisposition disposition; |
| if (*opened_url) |
| disposition = NEW_BACKGROUND_TAB; |
| @@ -84,7 +93,8 @@ void OpenAllImpl(const BookmarkNode* node, |
| for (int i = 0; i < node->child_count(); ++i) { |
| const BookmarkNode* child_node = node->GetChild(i); |
| if (child_node->is_url()) |
| - OpenAllImpl(child_node, initial_disposition, navigator, opened_url); |
| + OpenAllImpl(child_node, initial_disposition, navigator, opened_url, |
| + browser_context); |
| } |
| } |
| } |
| @@ -130,22 +140,25 @@ void GetURLsForOpenTabs(Browser* browser, |
| void OpenAll(gfx::NativeWindow parent, |
| content::PageNavigator* navigator, |
| const std::vector<const BookmarkNode*>& nodes, |
| - WindowOpenDisposition initial_disposition) { |
| + WindowOpenDisposition initial_disposition, |
| + content::BrowserContext* browser_context) { |
| if (!ShouldOpenAll(parent, nodes)) |
| return; |
| bool opened_url = false; |
| for (size_t i = 0; i < nodes.size(); ++i) |
| - OpenAllImpl(nodes[i], initial_disposition, &navigator, &opened_url); |
| + OpenAllImpl(nodes[i], initial_disposition, &navigator, &opened_url, |
| + browser_context); |
| } |
| void OpenAll(gfx::NativeWindow parent, |
| content::PageNavigator* navigator, |
| const BookmarkNode* node, |
| - WindowOpenDisposition initial_disposition) { |
| + WindowOpenDisposition initial_disposition, |
| + content::BrowserContext* browser_context) { |
| std::vector<const BookmarkNode*> nodes; |
| nodes.push_back(node); |
| - OpenAll(parent, navigator, nodes, initial_disposition); |
| + OpenAll(parent, navigator, nodes, initial_disposition, browser_context); |
| } |
| bool ConfirmDeleteBookmarkNode(const BookmarkNode* node, |