Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Unified Diff: chrome/browser/ui/bookmarks/bookmark_utils.cc

Issue 11572031: "Open All Bookmarks in Incognito Window" opens only valid URLs (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: modify mac build failure Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698