Index: chrome/browser/ui/browser.cc |
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
index 0c8c5e65f25b9893efbb74b76db810e5d525d2c3..7e61dbaed804954ff0206dbfd075303d512c08ca 100644 |
--- a/chrome/browser/ui/browser.cc |
+++ b/chrome/browser/ui/browser.cc |
@@ -1952,12 +1952,28 @@ void Browser::OpenBookmarkManager() { |
GetSingletonTabNavigateParams(GURL(chrome::kChromeUIBookmarksURL))); |
} |
-void Browser::OpenBookmarkManagerForNode(int64 node_id) { |
+void Browser::OpenBookmarkManagerWithHash(const std::string& action, |
+ int64 node_id) { |
UserMetrics::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
UserMetrics::RecordAction(UserMetricsAction("ShowBookmarks")); |
- ShowSingletonTabOverwritingNTP( |
- GetSingletonTabNavigateParams(GURL(chrome::kChromeUIBookmarksURL).Resolve( |
- StringPrintf("/#%s", base::Int64ToString(node_id).c_str())))); |
+ browser::NavigateParams params(GetSingletonTabNavigateParams( |
+ GURL(chrome::kChromeUIBookmarksURL).Resolve( |
+ StringPrintf("/#%s%s", action.c_str(), |
+ base::Int64ToString(node_id).c_str())))); |
+ params.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE; |
+ ShowSingletonTabOverwritingNTP(params); |
+} |
+ |
+void Browser::OpenBookmarkManagerForNode(int64 node_id) { |
+ OpenBookmarkManagerWithHash("", node_id); |
+} |
+ |
+void Browser::OpenBookmarkManagerEditNode(int64 node_id) { |
+ OpenBookmarkManagerWithHash("e=", node_id); |
+} |
+ |
+void Browser::OpenBookmarkManagerAddNodeIn(int64 node_id) { |
+ OpenBookmarkManagerWithHash("a=", node_id); |
} |
void Browser::ShowAppMenu() { |