| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" | 5 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 1144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1155 node = model_->other_node(); | 1155 node = model_->other_node(); |
| 1156 } else if (view == overflow_button_) { | 1156 } else if (view == overflow_button_) { |
| 1157 node = model_->bookmark_bar_node(); | 1157 node = model_->bookmark_bar_node(); |
| 1158 start_index = GetFirstHiddenNodeIndex(); | 1158 start_index = GetFirstHiddenNodeIndex(); |
| 1159 } else { | 1159 } else { |
| 1160 int button_index = GetIndexOf(view); | 1160 int button_index = GetIndexOf(view); |
| 1161 DCHECK_NE(-1, button_index); | 1161 DCHECK_NE(-1, button_index); |
| 1162 node = model_->bookmark_bar_node()->GetChild(button_index); | 1162 node = model_->bookmark_bar_node()->GetChild(button_index); |
| 1163 } | 1163 } |
| 1164 | 1164 |
| 1165 RecordBookmarkFolderOpen(GetBookmarkLaunchLocation()); | 1165 RecordBookmarkFolderOpen(model_, GetBookmarkLaunchLocation()); |
| 1166 bookmark_menu_ = new BookmarkMenuController( | 1166 bookmark_menu_ = new BookmarkMenuController( |
| 1167 browser_, page_navigator_, GetWidget(), node, start_index); | 1167 browser_, page_navigator_, GetWidget(), node, start_index); |
| 1168 bookmark_menu_->set_observer(this); | 1168 bookmark_menu_->set_observer(this); |
| 1169 bookmark_menu_->RunMenuAt(this, false); | 1169 bookmark_menu_->RunMenuAt(this, false); |
| 1170 } | 1170 } |
| 1171 | 1171 |
| 1172 void BookmarkBarView::ButtonPressed(views::Button* sender, | 1172 void BookmarkBarView::ButtonPressed(views::Button* sender, |
| 1173 const ui::Event& event) { | 1173 const ui::Event& event) { |
| 1174 WindowOpenDisposition disposition_from_event_flags = | 1174 WindowOpenDisposition disposition_from_event_flags = |
| 1175 ui::DispositionFromEventFlags(event.flags()); | 1175 ui::DispositionFromEventFlags(event.flags()); |
| 1176 | 1176 |
| 1177 if (sender->tag() == kAppsShortcutButtonTag) { | 1177 if (sender->tag() == kAppsShortcutButtonTag) { |
| 1178 OpenURLParams params(GURL(chrome::kChromeUIAppsURL), | 1178 OpenURLParams params(GURL(chrome::kChromeUIAppsURL), |
| 1179 Referrer(), | 1179 Referrer(), |
| 1180 disposition_from_event_flags, | 1180 disposition_from_event_flags, |
| 1181 content::PAGE_TRANSITION_AUTO_BOOKMARK, | 1181 content::PAGE_TRANSITION_AUTO_BOOKMARK, |
| 1182 false); | 1182 false); |
| 1183 page_navigator_->OpenURL(params); | 1183 page_navigator_->OpenURL(params); |
| 1184 RecordBookmarkAppsPageOpen(GetBookmarkLaunchLocation()); | 1184 RecordBookmarkAppsPageOpen(model_, GetBookmarkLaunchLocation()); |
| 1185 return; | 1185 return; |
| 1186 } | 1186 } |
| 1187 | 1187 |
| 1188 const BookmarkNode* node; | 1188 const BookmarkNode* node; |
| 1189 if (sender->tag() == kOtherFolderButtonTag) { | 1189 if (sender->tag() == kOtherFolderButtonTag) { |
| 1190 node = model_->other_node(); | 1190 node = model_->other_node(); |
| 1191 } else { | 1191 } else { |
| 1192 int index = GetIndexOf(sender); | 1192 int index = GetIndexOf(sender); |
| 1193 DCHECK_NE(-1, index); | 1193 DCHECK_NE(-1, index); |
| 1194 node = model_->bookmark_bar_node()->GetChild(index); | 1194 node = model_->bookmark_bar_node()->GetChild(index); |
| 1195 } | 1195 } |
| 1196 DCHECK(page_navigator_); | 1196 DCHECK(page_navigator_); |
| 1197 | 1197 |
| 1198 if (node->is_url()) { | 1198 if (node->is_url()) { |
| 1199 RecordAppLaunch(browser_->profile(), node->url()); | 1199 RecordAppLaunch(browser_->profile(), node->url()); |
| 1200 OpenURLParams params( | 1200 OpenURLParams params( |
| 1201 node->url(), Referrer(), disposition_from_event_flags, | 1201 node->url(), Referrer(), disposition_from_event_flags, |
| 1202 content::PAGE_TRANSITION_AUTO_BOOKMARK, false); | 1202 content::PAGE_TRANSITION_AUTO_BOOKMARK, false); |
| 1203 page_navigator_->OpenURL(params); | 1203 page_navigator_->OpenURL(params); |
| 1204 } else { | 1204 } else { |
| 1205 chrome::OpenAll(GetWidget()->GetNativeWindow(), page_navigator_, node, | 1205 chrome::OpenAll(GetWidget()->GetNativeWindow(), page_navigator_, node, |
| 1206 disposition_from_event_flags, browser_->profile()); | 1206 disposition_from_event_flags, browser_->profile()); |
| 1207 } | 1207 } |
| 1208 | 1208 |
| 1209 RecordBookmarkLaunch(node, GetBookmarkLaunchLocation()); | 1209 RecordBookmarkLaunch(model_, node, GetBookmarkLaunchLocation()); |
| 1210 } | 1210 } |
| 1211 | 1211 |
| 1212 void BookmarkBarView::ShowContextMenuForView(views::View* source, | 1212 void BookmarkBarView::ShowContextMenuForView(views::View* source, |
| 1213 const gfx::Point& point, | 1213 const gfx::Point& point, |
| 1214 ui::MenuSourceType source_type) { | 1214 ui::MenuSourceType source_type) { |
| 1215 if (!model_->loaded()) { | 1215 if (!model_->loaded()) { |
| 1216 // Don't do anything if the model isn't loaded. | 1216 // Don't do anything if the model isn't loaded. |
| 1217 return; | 1217 return; |
| 1218 } | 1218 } |
| 1219 | 1219 |
| (...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1852 DCHECK(apps_page_shortcut_); | 1852 DCHECK(apps_page_shortcut_); |
| 1853 // Only perform layout if required. | 1853 // Only perform layout if required. |
| 1854 bool visible = chrome::ShouldShowAppsShortcutInBookmarkBar( | 1854 bool visible = chrome::ShouldShowAppsShortcutInBookmarkBar( |
| 1855 browser_->profile(), browser_->host_desktop_type()); | 1855 browser_->profile(), browser_->host_desktop_type()); |
| 1856 if (apps_page_shortcut_->visible() == visible) | 1856 if (apps_page_shortcut_->visible() == visible) |
| 1857 return; | 1857 return; |
| 1858 apps_page_shortcut_->SetVisible(visible); | 1858 apps_page_shortcut_->SetVisible(visible); |
| 1859 UpdateBookmarksSeparatorVisibility(); | 1859 UpdateBookmarksSeparatorVisibility(); |
| 1860 Layout(); | 1860 Layout(); |
| 1861 } | 1861 } |
| OLD | NEW |