Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(921)

Side by Side Diff: chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.cc

Issue 7520037: [cros] Network dropdown button in WebUI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: move handle click Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_menu_delegate.h" 5 #include "chrome/browser/ui/views/bookmarks/bookmark_menu_delegate.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/bookmarks/bookmark_model.h" 9 #include "chrome/browser/bookmarks/bookmark_model.h"
10 #include "chrome/browser/bookmarks/bookmark_node_data.h" 10 #include "chrome/browser/bookmarks/bookmark_node_data.h"
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 return menu; 339 return menu;
340 } 340 }
341 341
342 void BookmarkMenuDelegate::BuildOtherFolderMenu( 342 void BookmarkMenuDelegate::BuildOtherFolderMenu(
343 MenuItemView* menu, int* next_menu_id) { 343 MenuItemView* menu, int* next_menu_id) {
344 const BookmarkNode* other_folder = profile_->GetBookmarkModel()->other_node(); 344 const BookmarkNode* other_folder = profile_->GetBookmarkModel()->other_node();
345 int id = *next_menu_id; 345 int id = *next_menu_id;
346 (*next_menu_id)++; 346 (*next_menu_id)++;
347 SkBitmap* folder_icon = ResourceBundle::GetSharedInstance(). 347 SkBitmap* folder_icon = ResourceBundle::GetSharedInstance().
348 GetBitmapNamed(IDR_BOOKMARK_BAR_FOLDER); 348 GetBitmapNamed(IDR_BOOKMARK_BAR_FOLDER);
349 MenuItemView* submenu = menu->AppendSubMenuWithIcon( 349 views::MenuItemInterface* submenu = menu->AppendSubMenuWithIcon(
350 id, UTF16ToWide( 350 id, UTF16ToWide(
351 l10n_util::GetStringUTF16(IDS_BOOMARK_BAR_OTHER_BOOKMARKED)), 351 l10n_util::GetStringUTF16(IDS_BOOMARK_BAR_OTHER_BOOKMARKED)),
352 *folder_icon); 352 *folder_icon);
353 BuildMenu(other_folder, 0, submenu, next_menu_id); 353 BuildMenu(other_folder, 0, submenu, next_menu_id);
354 menu_id_to_node_map_[id] = other_folder; 354 menu_id_to_node_map_[id] = other_folder;
355 } 355 }
356 356
357 void BookmarkMenuDelegate::BuildMenu(const BookmarkNode* parent, 357 void BookmarkMenuDelegate::BuildMenu(const BookmarkNode* parent,
358 int start_child_index, 358 int start_child_index,
359 MenuItemView* menu, 359 views::MenuItemInterface* menu,
360 int* next_menu_id) { 360 int* next_menu_id) {
361 DCHECK(!parent->child_count() || 361 DCHECK(!parent->child_count() ||
362 start_child_index < parent->child_count()); 362 start_child_index < parent->child_count());
363 for (int i = start_child_index; i < parent->child_count(); ++i) { 363 for (int i = start_child_index; i < parent->child_count(); ++i) {
364 const BookmarkNode* node = parent->GetChild(i); 364 const BookmarkNode* node = parent->GetChild(i);
365 int id = *next_menu_id; 365 int id = *next_menu_id;
366 366
367 (*next_menu_id)++; 367 (*next_menu_id)++;
368 if (node->is_url()) { 368 if (node->is_url()) {
369 SkBitmap icon = profile_->GetBookmarkModel()->GetFavicon(node); 369 SkBitmap icon = profile_->GetBookmarkModel()->GetFavicon(node);
370 if (icon.width() == 0) { 370 if (icon.width() == 0) {
371 icon = *ResourceBundle::GetSharedInstance(). 371 icon = *ResourceBundle::GetSharedInstance().
372 GetBitmapNamed(IDR_DEFAULT_FAVICON); 372 GetBitmapNamed(IDR_DEFAULT_FAVICON);
373 } 373 }
374 menu->AppendMenuItemWithIcon(id, UTF16ToWide(node->GetTitle()), icon); 374 menu->AppendMenuItemWithIcon(id, UTF16ToWide(node->GetTitle()), icon);
375 node_to_menu_id_map_[node] = id; 375 node_to_menu_id_map_[node] = id;
376 } else if (node->is_folder()) { 376 } else if (node->is_folder()) {
377 SkBitmap* folder_icon = ResourceBundle::GetSharedInstance(). 377 SkBitmap* folder_icon = ResourceBundle::GetSharedInstance().
378 GetBitmapNamed(IDR_BOOKMARK_BAR_FOLDER); 378 GetBitmapNamed(IDR_BOOKMARK_BAR_FOLDER);
379 MenuItemView* submenu = menu->AppendSubMenuWithIcon( 379 views::MenuItemInterface* submenu = menu->AppendSubMenuWithIcon(
380 id, UTF16ToWide(node->GetTitle()), *folder_icon); 380 id, UTF16ToWide(node->GetTitle()), *folder_icon);
381 node_to_menu_id_map_[node] = id; 381 node_to_menu_id_map_[node] = id;
382 BuildMenu(node, 0, submenu, next_menu_id); 382 BuildMenu(node, 0, submenu, next_menu_id);
383 } else { 383 } else {
384 NOTREACHED(); 384 NOTREACHED();
385 } 385 }
386 menu_id_to_node_map_[id] = node; 386 menu_id_to_node_map_[id] = node;
387 } 387 }
388 } 388 }
389 389
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 break; 443 break;
444 } 444 }
445 } 445 }
446 if (ancestor_removed) { 446 if (ancestor_removed) {
447 node_to_menu_id_map_.erase(i++); 447 node_to_menu_id_map_.erase(i++);
448 } else { 448 } else {
449 ++i; 449 ++i;
450 } 450 }
451 } 451 }
452 } 452 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698