| Index: chrome/browser/ui/chrome_pages.cc
|
| diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc
|
| index 78cf00f9e4c5215abd889d030db9d3ebe707217f..ce47b60929dbfeb31852d4431c9ca357b63f8a44 100644
|
| --- a/chrome/browser/ui/chrome_pages.cc
|
| +++ b/chrome/browser/ui/chrome_pages.cc
|
| @@ -14,6 +14,7 @@
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "build/build_config.h"
|
| +#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
| #include "chrome/browser/download/download_shelf.h"
|
| #include "chrome/browser/extensions/launch_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| @@ -28,11 +29,14 @@
|
| #include "chrome/browser/ui/settings_window_manager.h"
|
| #include "chrome/browser/ui/singleton_tabs.h"
|
| #include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| +#include "chrome/browser/ui/webui/md_bookmarks/md_bookmarks_ui.h"
|
| #include "chrome/browser/ui/webui/options/content_settings_handler.h"
|
| #include "chrome/browser/ui/webui/site_settings_helper.h"
|
| #include "chrome/common/chrome_features.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/url_constants.h"
|
| +#include "components/bookmarks/browser/bookmark_model.h"
|
| +#include "components/bookmarks/browser/bookmark_node.h"
|
| #include "components/signin/core/browser/signin_header_helper.h"
|
| #include "components/signin/core/common/profile_management_switches.h"
|
| #include "content/public/browser/web_contents.h"
|
| @@ -67,15 +71,12 @@ namespace {
|
|
|
| const char kHashMark[] = "#";
|
|
|
| -void OpenBookmarkManagerWithHash(Browser* browser,
|
| - const std::string& action,
|
| - int64_t node_id) {
|
| - base::RecordAction(UserMetricsAction("ShowBookmarkManager"));
|
| - base::RecordAction(UserMetricsAction("ShowBookmarks"));
|
| - NavigateParams params(GetSingletonTabNavigateParams(
|
| - browser,
|
| - GURL(kChromeUIBookmarksURL).Resolve(base::StringPrintf(
|
| - "/#%s%s", action.c_str(), base::Int64ToString(node_id).c_str()))));
|
| +void OpenBookmarkManagerForNode(Browser* browser, int64_t node_id) {
|
| + GURL url = GURL(kChromeUIBookmarksURL)
|
| + .Resolve(base::StringPrintf(
|
| + MdBookmarksUI::IsEnabled() ? "/?id=%s" : "/#%s",
|
| + base::Int64ToString(node_id).c_str()));
|
| + NavigateParams params(GetSingletonTabNavigateParams(browser, url));
|
| params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE;
|
| ShowSingletonTabOverwritingNTP(browser, params);
|
| }
|
| @@ -185,14 +186,22 @@ std::string GenerateContentSettingsSearchQueryPath(int query_message_id) {
|
|
|
| void ShowBookmarkManager(Browser* browser) {
|
| base::RecordAction(UserMetricsAction("ShowBookmarkManager"));
|
| - base::RecordAction(UserMetricsAction("ShowBookmarks"));
|
| + if (MdBookmarksUI::IsEnabled()) {
|
| + const bookmarks::BookmarkNode* bookmark_bar_node =
|
| + BookmarkModelFactory::GetForBrowserContext(browser->profile())
|
| + ->bookmark_bar_node();
|
| + OpenBookmarkManagerForNode(browser, bookmark_bar_node->id());
|
| + return;
|
| + }
|
| +
|
| ShowSingletonTabOverwritingNTP(
|
| browser,
|
| GetSingletonTabNavigateParams(browser, GURL(kChromeUIBookmarksURL)));
|
| }
|
|
|
| void ShowBookmarkManagerForNode(Browser* browser, int64_t node_id) {
|
| - OpenBookmarkManagerWithHash(browser, std::string(), node_id);
|
| + base::RecordAction(UserMetricsAction("ShowBookmarkManager"));
|
| + OpenBookmarkManagerForNode(browser, node_id);
|
| }
|
|
|
| void ShowHistory(Browser* browser) {
|
|
|