Index: chrome/browser/bookmarks/bookmark_editor.cc |
diff --git a/chrome/browser/bookmarks/bookmark_editor.cc b/chrome/browser/bookmarks/bookmark_editor.cc |
index ad17386994a531e811ce44a1ca8d6247857fae80..661a504dfb02de1b2ebc3ca9e49376942c7221d7 100644 |
--- a/chrome/browser/bookmarks/bookmark_editor.cc |
+++ b/chrome/browser/bookmarks/bookmark_editor.cc |
@@ -5,7 +5,11 @@ |
#include "chrome/browser/bookmarks/bookmark_editor.h" |
#include "chrome/browser/bookmarks/bookmark_input_window_dialog_controller.h" |
#include "chrome/browser/bookmarks/bookmark_model.h" |
+#include "chrome/browser/bookmarks/bookmark_utils.h" |
+#include "chrome/browser/ui/browser.h" |
+#include "chrome/browser/ui/browser_window.h" |
#include "chrome/browser/ui/webui/chrome_web_ui.h" |
+#include "chrome/browser/ui/webui/bookmark_all_tabs_dialog.h" |
BookmarkEditor::EditDetails::EditDetails(Type node_type) |
: type(node_type), existing_node(NULL), parent_node(NULL) { |
@@ -69,3 +73,34 @@ void BookmarkEditor::Show(gfx::NativeWindow parent_window, |
configuration); |
#endif |
} |
+ |
+void BookmarkEditor::ShowBookmarkAllTabsDialog(Browser* browser) { |
+#if defined(USE_AURA) |
+ Profile* profile = browser->profile(); |
+ BookmarkAllTabsDialog::Show(profile); |
+#elif defined(TOOLKIT_VIEWS) || defined(OS_WIN) |
+ Profile* profile = browser->profile(); |
+ if (ChromeWebUI::IsMoreWebUI()) |
+ BookmarkAllTabsDialog::Show(profile); |
+ else |
+ BookmarkEditor::ShowNativeBookmarkAllTabsDialog(browser); |
+#else |
+ BookmarkEditor::ShowNativeBookmarkAllTabsDialog(browser); |
+#endif |
+} |
+ |
+#if !defined(USE_AURA) |
+void BookmarkEditor::ShowNativeBookmarkAllTabsDialog(Browser* browser) { |
+ Profile* profile = browser->profile(); |
+ BookmarkModel* model = profile->GetBookmarkModel(); |
+ DCHECK(model && model->IsLoaded()); |
+ |
+ BookmarkEditor::EditDetails details = |
+ BookmarkEditor::EditDetails::AddFolder(model->GetParentForNewNodes(), -1); |
+ bookmark_utils::GetURLsForOpenTabs(browser, &(details.urls)); |
+ DCHECK(!details.urls.empty()); |
+ |
+ BookmarkEditor::Show(browser->window()->GetNativeHandle(), |
+ profile, details, BookmarkEditor::SHOW_TREE); |
+} |
+#endif |