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 |