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 15 matching lines...) Expand all Loading... |
26 #include "chrome/browser/search/search.h" | 26 #include "chrome/browser/search/search.h" |
27 #include "chrome/browser/sync/profile_sync_service.h" | 27 #include "chrome/browser/sync/profile_sync_service.h" |
28 #include "chrome/browser/sync/profile_sync_service_factory.h" | 28 #include "chrome/browser/sync/profile_sync_service_factory.h" |
29 #include "chrome/browser/themes/theme_properties.h" | 29 #include "chrome/browser/themes/theme_properties.h" |
30 #include "chrome/browser/ui/bookmarks/bookmark_bar_constants.h" | 30 #include "chrome/browser/ui/bookmarks/bookmark_bar_constants.h" |
31 #include "chrome/browser/ui/bookmarks/bookmark_drag_drop.h" | 31 #include "chrome/browser/ui/bookmarks/bookmark_drag_drop.h" |
32 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" | 32 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" |
33 #include "chrome/browser/ui/bookmarks/bookmark_utils.h" | 33 #include "chrome/browser/ui/bookmarks/bookmark_utils.h" |
34 #include "chrome/browser/ui/browser.h" | 34 #include "chrome/browser/ui/browser.h" |
35 #include "chrome/browser/ui/chrome_pages.h" | 35 #include "chrome/browser/ui/chrome_pages.h" |
| 36 #include "chrome/browser/ui/elide_url.h" |
36 #include "chrome/browser/ui/omnibox/omnibox_popup_model.h" | 37 #include "chrome/browser/ui/omnibox/omnibox_popup_model.h" |
37 #include "chrome/browser/ui/omnibox/omnibox_view.h" | 38 #include "chrome/browser/ui/omnibox/omnibox_view.h" |
38 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 39 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
39 #include "chrome/browser/ui/view_ids.h" | 40 #include "chrome/browser/ui/view_ids.h" |
40 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.h" | 41 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_instructions_view.h" |
41 #include "chrome/browser/ui/views/bookmarks/bookmark_context_menu.h" | 42 #include "chrome/browser/ui/views/bookmarks/bookmark_context_menu.h" |
42 #include "chrome/browser/ui/views/bookmarks/bookmark_drag_drop_views.h" | 43 #include "chrome/browser/ui/views/bookmarks/bookmark_drag_drop_views.h" |
43 #include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h" | 44 #include "chrome/browser/ui/views/bookmarks/bookmark_menu_controller_views.h" |
44 #include "chrome/browser/ui/views/event_utils.h" | 45 #include "chrome/browser/ui/views/event_utils.h" |
45 #include "chrome/browser/ui/views/frame/browser_view.h" | 46 #include "chrome/browser/ui/views/frame/browser_view.h" |
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 screen_loc.x(), | 605 screen_loc.x(), |
605 screen_loc.y(), | 606 screen_loc.y(), |
606 widget->GetNativeView()); | 607 widget->GetNativeView()); |
607 const gfx::FontList tt_fonts = widget->GetTooltipManager()->GetFontList(); | 608 const gfx::FontList tt_fonts = widget->GetTooltipManager()->GetFontList(); |
608 base::string16 result; | 609 base::string16 result; |
609 | 610 |
610 // First the title. | 611 // First the title. |
611 if (!title.empty()) { | 612 if (!title.empty()) { |
612 base::string16 localized_title = title; | 613 base::string16 localized_title = title; |
613 base::i18n::AdjustStringForLocaleDirection(&localized_title); | 614 base::i18n::AdjustStringForLocaleDirection(&localized_title); |
614 result.append(gfx::ElideText(localized_title, tt_fonts, max_width, | 615 result.append(ElideText(localized_title, tt_fonts, max_width, |
615 gfx::ELIDE_AT_END)); | 616 gfx::ELIDE_AT_END)); |
616 } | 617 } |
617 | 618 |
618 // Only show the URL if the url and title differ. | 619 // Only show the URL if the url and title differ. |
619 if (title != base::UTF8ToUTF16(url.spec())) { | 620 if (title != base::UTF8ToUTF16(url.spec())) { |
620 if (!result.empty()) | 621 if (!result.empty()) |
621 result.push_back('\n'); | 622 result.push_back('\n'); |
622 | 623 |
623 // We need to explicitly specify the directionality of the URL's text to | 624 // We need to explicitly specify the directionality of the URL's text to |
624 // make sure it is treated as an LTR string when the context is RTL. For | 625 // make sure it is treated as an LTR string when the context is RTL. For |
625 // example, the URL "http://www.yahoo.com/" appears as | 626 // example, the URL "http://www.yahoo.com/" appears as |
626 // "/http://www.yahoo.com" when rendered, as is, in an RTL context since | 627 // "/http://www.yahoo.com" when rendered, as is, in an RTL context since |
627 // the Unicode BiDi algorithm puts certain characters on the left by | 628 // the Unicode BiDi algorithm puts certain characters on the left by |
628 // default. | 629 // default. |
629 std::string languages = profile->GetPrefs()->GetString( | 630 std::string languages = profile->GetPrefs()->GetString( |
630 prefs::kAcceptLanguages); | 631 prefs::kAcceptLanguages); |
631 base::string16 elided_url( | 632 base::string16 elided_url(ElideUrl(url, tt_fonts, max_width, languages)); |
632 gfx::ElideUrl(url, tt_fonts, max_width, languages)); | |
633 elided_url = base::i18n::GetDisplayStringInLTRDirectionality(elided_url); | 633 elided_url = base::i18n::GetDisplayStringInLTRDirectionality(elided_url); |
634 result.append(elided_url); | 634 result.append(elided_url); |
635 } | 635 } |
636 return result; | 636 return result; |
637 } | 637 } |
638 | 638 |
639 bool BookmarkBarView::IsDetached() const { | 639 bool BookmarkBarView::IsDetached() const { |
640 return (bookmark_bar_state_ == BookmarkBar::DETACHED) || | 640 return (bookmark_bar_state_ == BookmarkBar::DETACHED) || |
641 (animating_detached_ && size_animation_->is_animating()); | 641 (animating_detached_ && size_animation_->is_animating()); |
642 } | 642 } |
(...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1855 DCHECK(apps_page_shortcut_); | 1855 DCHECK(apps_page_shortcut_); |
1856 // Only perform layout if required. | 1856 // Only perform layout if required. |
1857 bool visible = chrome::ShouldShowAppsShortcutInBookmarkBar( | 1857 bool visible = chrome::ShouldShowAppsShortcutInBookmarkBar( |
1858 browser_->profile(), browser_->host_desktop_type()); | 1858 browser_->profile(), browser_->host_desktop_type()); |
1859 if (apps_page_shortcut_->visible() == visible) | 1859 if (apps_page_shortcut_->visible() == visible) |
1860 return; | 1860 return; |
1861 apps_page_shortcut_->SetVisible(visible); | 1861 apps_page_shortcut_->SetVisible(visible); |
1862 UpdateBookmarksSeparatorVisibility(); | 1862 UpdateBookmarksSeparatorVisibility(); |
1863 Layout(); | 1863 Layout(); |
1864 } | 1864 } |
OLD | NEW |