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..84f230929eba847046353642c4a053e94428622d 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,36 @@ void BookmarkEditor::Show(gfx::NativeWindow parent_window, |
configuration); |
#endif |
} |
+ |
+void BookmarkEditor::ShowBookmarkAllTabsDialog(Browser* browser) { |
+ Profile* profile = browser->profile(); |
+#if defined(USE_AURA) |
+ BookmarkAllTabsDialog::Show(profile); |
+#elif defined(TOOLKIT_VIEWS) || defined(OS_WIN) |
+ if (ChromeWebUI::IsMoreWebUI()) { |
+ BookmarkAllTabsDialog::Show(profile); |
+ } else { |
+ BookmarkModel* model = profile->GetBookmarkModel(); |
mazda
2011/11/10 06:03:46
It's nice to make a function to do things in else-
yoshiki
2011/11/10 07:54:38
Done.
|
+ 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); |
+ } |
+#else |
+ 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 |
+} |