| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/views/bookmark_bar_view.h" | 5 #include "chrome/browser/views/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 21 matching lines...) Expand all Loading... |
| 32 #include "chrome/browser/views/location_bar_view.h" | 32 #include "chrome/browser/views/location_bar_view.h" |
| 33 #include "chrome/common/notification_service.h" | 33 #include "chrome/common/notification_service.h" |
| 34 #include "chrome/common/page_transition_types.h" | 34 #include "chrome/common/page_transition_types.h" |
| 35 #include "chrome/common/pref_names.h" | 35 #include "chrome/common/pref_names.h" |
| 36 #include "chrome/common/pref_service.h" | 36 #include "chrome/common/pref_service.h" |
| 37 #include "grit/app_resources.h" | 37 #include "grit/app_resources.h" |
| 38 #include "grit/generated_resources.h" | 38 #include "grit/generated_resources.h" |
| 39 #include "grit/theme_resources.h" | 39 #include "grit/theme_resources.h" |
| 40 #include "views/controls/button/menu_button.h" | 40 #include "views/controls/button/menu_button.h" |
| 41 #include "views/controls/label.h" | 41 #include "views/controls/label.h" |
| 42 #include "views/controls/button/menu_button.h" |
| 42 #include "views/controls/menu/menu_item_view.h" | 43 #include "views/controls/menu/menu_item_view.h" |
| 43 #include "views/drag_utils.h" | 44 #include "views/drag_utils.h" |
| 44 #include "views/view_constants.h" | 45 #include "views/view_constants.h" |
| 45 #include "views/widget/tooltip_manager.h" | 46 #include "views/widget/tooltip_manager.h" |
| 46 #include "views/widget/widget.h" | 47 #include "views/widget/widget.h" |
| 47 #include "views/window/window.h" | 48 #include "views/window/window.h" |
| 48 | 49 |
| 49 using views::CustomButton; | 50 using views::CustomButton; |
| 50 using views::DropTargetEvent; | 51 using views::DropTargetEvent; |
| 51 using views::MenuButton; | 52 using views::MenuButton; |
| (...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 } else if (drop_on) { | 686 } else if (drop_on) { |
| 686 parent_node = root->GetChild(index); | 687 parent_node = root->GetChild(index); |
| 687 index = parent_node->GetChildCount(); | 688 index = parent_node->GetChildCount(); |
| 688 } else { | 689 } else { |
| 689 parent_node = root; | 690 parent_node = root; |
| 690 } | 691 } |
| 691 return bookmark_utils::PerformBookmarkDrop(profile_, data, parent_node, | 692 return bookmark_utils::PerformBookmarkDrop(profile_, data, parent_node, |
| 692 index); | 693 index); |
| 693 } | 694 } |
| 694 | 695 |
| 695 bool BookmarkBarView::IsAccessibleViewTraversable(views::View* view) { | 696 bool BookmarkBarView::GetAccessibleName(std::wstring* name) { |
| 696 return view != bookmarks_separator_view_ && view != instructions_; | 697 DCHECK(name); |
| 698 |
| 699 if (!accessible_name_.empty()) { |
| 700 name->assign(accessible_name_); |
| 701 return true; |
| 702 } |
| 703 return false; |
| 704 } |
| 705 |
| 706 bool BookmarkBarView::GetAccessibleRole(AccessibilityTypes::Role* role) { |
| 707 DCHECK(role); |
| 708 |
| 709 *role = AccessibilityTypes::ROLE_TOOLBAR; |
| 710 return true; |
| 711 } |
| 712 |
| 713 void BookmarkBarView::SetAccessibleName(const std::wstring& name) { |
| 714 accessible_name_.assign(name); |
| 697 } | 715 } |
| 698 | 716 |
| 699 void BookmarkBarView::OnStateChanged() { | 717 void BookmarkBarView::OnStateChanged() { |
| 700 // When the sync state changes, it is sufficient to invoke View::Layout since | 718 // When the sync state changes, it is sufficient to invoke View::Layout since |
| 701 // during layout we query the profile sync service and determine whether the | 719 // during layout we query the profile sync service and determine whether the |
| 702 // new state requires showing the sync error button so that the user can | 720 // new state requires showing the sync error button so that the user can |
| 703 // re-enter her password. If extension shelf appears along with the bookmark | 721 // re-enter her password. If extension shelf appears along with the bookmark |
| 704 // shelf, it too needs to be layed out. Since both have the same parent, it is | 722 // shelf, it too needs to be layed out. Since both have the same parent, it is |
| 705 // enough to let the parent layout both of these children. | 723 // enough to let the parent layout both of these children. |
| 706 // TODO(sky): This should not require Layout() and SchedulePaint(). Needs | 724 // TODO(sky): This should not require Layout() and SchedulePaint(). Needs |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 846 // Note that at this point we're not in a hierarchy so GetThemeProvider() will | 864 // Note that at this point we're not in a hierarchy so GetThemeProvider() will |
| 847 // return NULL. When we're inserted into a hierarchy, we'll call | 865 // return NULL. When we're inserted into a hierarchy, we'll call |
| 848 // UpdateColors(), which will set the appropriate colors for all the objects | 866 // UpdateColors(), which will set the appropriate colors for all the objects |
| 849 // added in this function. | 867 // added in this function. |
| 850 | 868 |
| 851 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 869 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 852 | 870 |
| 853 if (!kDefaultFavIcon) | 871 if (!kDefaultFavIcon) |
| 854 kDefaultFavIcon = rb.GetBitmapNamed(IDR_DEFAULT_FAVICON); | 872 kDefaultFavIcon = rb.GetBitmapNamed(IDR_DEFAULT_FAVICON); |
| 855 | 873 |
| 856 // Child views are traversed in the order they are added. Make sure the order | 874 other_bookmarked_button_ = CreateOtherBookmarkedButton(); |
| 857 // they are added matches the visual order. | 875 AddChildView(other_bookmarked_button_); |
| 876 |
| 858 sync_error_button_ = CreateSyncErrorButton(); | 877 sync_error_button_ = CreateSyncErrorButton(); |
| 859 AddChildView(sync_error_button_); | 878 AddChildView(sync_error_button_); |
| 860 | 879 |
| 861 overflow_button_ = CreateOverflowButton(); | 880 overflow_button_ = CreateOverflowButton(); |
| 862 AddChildView(overflow_button_); | 881 AddChildView(overflow_button_); |
| 863 | 882 |
| 864 other_bookmarked_button_ = CreateOtherBookmarkedButton(); | |
| 865 AddChildView(other_bookmarked_button_); | |
| 866 | |
| 867 bookmarks_separator_view_ = new ButtonSeparatorView(); | 883 bookmarks_separator_view_ = new ButtonSeparatorView(); |
| 868 bookmarks_separator_view_->SetAccessibleName( | 884 bookmarks_separator_view_->SetAccessibleName( |
| 869 l10n_util::GetString(IDS_ACCNAME_SEPARATOR)); | 885 l10n_util::GetString(IDS_ACCNAME_SEPARATOR)); |
| 870 AddChildView(bookmarks_separator_view_); | 886 AddChildView(bookmarks_separator_view_); |
| 871 | 887 |
| 872 instructions_ = new views::Label( | 888 instructions_ = new views::Label( |
| 873 l10n_util::GetString(IDS_BOOKMARKS_NO_ITEMS), | 889 l10n_util::GetString(IDS_BOOKMARKS_NO_ITEMS), |
| 874 rb.GetFont(ResourceBundle::BaseFont)); | 890 rb.GetFont(ResourceBundle::BaseFont)); |
| 875 | 891 |
| 876 AddChildView(instructions_); | 892 AddChildView(instructions_); |
| (...skipping 813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1690 // The tooltip is the only way we have to display text explaining the error | 1706 // The tooltip is the only way we have to display text explaining the error |
| 1691 // to the user. | 1707 // to the user. |
| 1692 sync_error_button->SetTooltipText( | 1708 sync_error_button->SetTooltipText( |
| 1693 l10n_util::GetString(IDS_SYNC_BOOKMARK_BAR_ERROR_DESC)); | 1709 l10n_util::GetString(IDS_SYNC_BOOKMARK_BAR_ERROR_DESC)); |
| 1694 sync_error_button->SetAccessibleName( | 1710 sync_error_button->SetAccessibleName( |
| 1695 l10n_util::GetString(IDS_ACCNAME_SYNC_ERROR_BUTTON)); | 1711 l10n_util::GetString(IDS_ACCNAME_SYNC_ERROR_BUTTON)); |
| 1696 sync_error_button->SetIcon( | 1712 sync_error_button->SetIcon( |
| 1697 *ResourceBundle::GetSharedInstance().GetBitmapNamed(IDR_WARNING)); | 1713 *ResourceBundle::GetSharedInstance().GetBitmapNamed(IDR_WARNING)); |
| 1698 return sync_error_button; | 1714 return sync_error_button; |
| 1699 } | 1715 } |
| OLD | NEW |