| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/toolbar/toolbar_actions_bar_bubble_views.h" | 5 #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| 11 #include "base/strings/utf_string_conversions.h" | 11 #include "base/strings/utf_string_conversions.h" |
| 12 #include "chrome/browser/ui/toolbar/test_toolbar_actions_bar_bubble_delegate.h" | 12 #include "chrome/browser/ui/toolbar/test_toolbar_actions_bar_bubble_delegate.h" |
| 13 #include "chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h" | 13 #include "chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h" |
| 14 #include "chrome/grit/generated_resources.h" | 14 #include "chrome/grit/generated_resources.h" |
| 15 #include "components/grit/components_scaled_resources.h" | 15 #include "components/grit/components_scaled_resources.h" |
| 16 #include "ui/base/l10n/l10n_util.h" | 16 #include "ui/base/l10n/l10n_util.h" |
| 17 #include "ui/base/resource/resource_bundle.h" | 17 #include "ui/base/resource/resource_bundle.h" |
| 18 #include "ui/events/event_utils.h" | 18 #include "ui/events/event_utils.h" |
| 19 #include "ui/events/test/event_generator.h" | 19 #include "ui/events/test/event_generator.h" |
| 20 #include "ui/gfx/color_palette.h" | 20 #include "ui/gfx/color_palette.h" |
| 21 #include "ui/gfx/image/image.h" | 21 #include "ui/gfx/image/image.h" |
| 22 #include "ui/gfx/image/image_unittest_util.h" | 22 #include "ui/gfx/image/image_unittest_util.h" |
| 23 #include "ui/gfx/paint_vector_icon.h" | 23 #include "ui/gfx/paint_vector_icon.h" |
| 24 #include "ui/gfx/vector_icons_public.h" | 24 #include "ui/vector_icons/vector_icons.h" |
| 25 #include "ui/views/controls/button/label_button.h" | 25 #include "ui/views/controls/button/label_button.h" |
| 26 #include "ui/views/controls/link.h" | 26 #include "ui/views/controls/link.h" |
| 27 #include "ui/views/test/test_widget_observer.h" | 27 #include "ui/views/test/test_widget_observer.h" |
| 28 #include "ui/views/test/views_test_base.h" | 28 #include "ui/views/test/views_test_base.h" |
| 29 #include "ui/views/widget/widget.h" | 29 #include "ui/views/widget/widget.h" |
| 30 #include "ui/views/window/dialog_client_view.h" | 30 #include "ui/views/window/dialog_client_view.h" |
| 31 | 31 |
| 32 namespace { | 32 namespace { |
| 33 const int kIconSize = 16; | 33 const int kIconSize = 16; |
| 34 } | 34 } |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 ASSERT_FALSE(extra_view); | 314 ASSERT_FALSE(extra_view); |
| 315 CloseBubble(); | 315 CloseBubble(); |
| 316 } | 316 } |
| 317 | 317 |
| 318 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewIconOnly) { | 318 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewIconOnly) { |
| 319 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), | 319 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| 320 ActionString()); | 320 ActionString()); |
| 321 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> | 321 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> |
| 322 extra_view_info = | 322 extra_view_info = |
| 323 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); | 323 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); |
| 324 extra_view_info->resource_id = gfx::VectorIconId::BUSINESS; | 324 extra_view_info->resource = &ui::kBusinessIcon; |
| 325 delegate.set_extra_view_info(std::move(extra_view_info)); | 325 delegate.set_extra_view_info(std::move(extra_view_info)); |
| 326 ShowBubble(&delegate); | 326 ShowBubble(&delegate); |
| 327 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); | 327 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); |
| 328 ASSERT_TRUE(extra_view); | 328 ASSERT_TRUE(extra_view); |
| 329 ASSERT_EQ("ImageView", std::string(extra_view->GetClassName())); | 329 ASSERT_EQ("ImageView", std::string(extra_view->GetClassName())); |
| 330 EXPECT_TRUE(gfx::test::AreImagesEqual( | 330 EXPECT_TRUE(gfx::test::AreImagesEqual( |
| 331 gfx::Image(static_cast<views::ImageView*>(extra_view.get())->GetImage()), | 331 gfx::Image(static_cast<views::ImageView*>(extra_view.get())->GetImage()), |
| 332 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BUSINESS, kIconSize, | 332 gfx::Image(gfx::CreateVectorIcon(ui::kBusinessIcon, kIconSize, |
| 333 gfx::kChromeIconGrey)))); | 333 gfx::kChromeIconGrey)))); |
| 334 CloseBubble(); | 334 CloseBubble(); |
| 335 } | 335 } |
| 336 | 336 |
| 337 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewLinkedTextOnly) { | 337 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewLinkedTextOnly) { |
| 338 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), | 338 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| 339 ActionString()); | 339 ActionString()); |
| 340 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> | 340 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> |
| 341 extra_view_info_linked_text = | 341 extra_view_info_linked_text = |
| 342 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); | 342 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 static_cast<views::Label*>(extra_view.get())->text()); | 375 static_cast<views::Label*>(extra_view.get())->text()); |
| 376 CloseBubble(); | 376 CloseBubble(); |
| 377 } | 377 } |
| 378 | 378 |
| 379 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewImageAndText) { | 379 TEST_F(ToolbarActionsBarBubbleViewsTest, TestCreateExtraViewImageAndText) { |
| 380 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), | 380 TestToolbarActionsBarBubbleDelegate delegate(HeadingString(), BodyString(), |
| 381 ActionString()); | 381 ActionString()); |
| 382 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> | 382 std::unique_ptr<ToolbarActionsBarBubbleDelegate::ExtraViewInfo> |
| 383 extra_view_info = | 383 extra_view_info = |
| 384 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); | 384 base::MakeUnique<ToolbarActionsBarBubbleDelegate::ExtraViewInfo>(); |
| 385 extra_view_info->resource_id = gfx::VectorIconId::BUSINESS; | 385 extra_view_info->resource = &ui::kBusinessIcon; |
| 386 extra_view_info->text = | 386 extra_view_info->text = |
| 387 l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN); | 387 l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN); |
| 388 extra_view_info->is_text_linked = false; | 388 extra_view_info->is_text_linked = false; |
| 389 delegate.set_extra_view_info(std::move(extra_view_info)); | 389 delegate.set_extra_view_info(std::move(extra_view_info)); |
| 390 | 390 |
| 391 ShowBubble(&delegate); | 391 ShowBubble(&delegate); |
| 392 | 392 |
| 393 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); | 393 std::unique_ptr<views::View> extra_view(TestCreateExtraView()); |
| 394 ASSERT_TRUE(extra_view); | 394 ASSERT_TRUE(extra_view); |
| 395 EXPECT_EQ("View", std::string(extra_view->GetClassName())); | 395 EXPECT_EQ("View", std::string(extra_view->GetClassName())); |
| 396 EXPECT_EQ(2, extra_view->child_count()); | 396 EXPECT_EQ(2, extra_view->child_count()); |
| 397 | 397 |
| 398 for (int i = 0; i < 2; i++) { | 398 for (int i = 0; i < 2; i++) { |
| 399 const views::View* v = extra_view->child_at(i); | 399 const views::View* v = extra_view->child_at(i); |
| 400 std::string class_name = v->GetClassName(); | 400 std::string class_name = v->GetClassName(); |
| 401 ASSERT_TRUE(class_name == "Label" || class_name == "ImageView"); | 401 ASSERT_TRUE(class_name == "Label" || class_name == "ImageView"); |
| 402 if (class_name == "Label") { | 402 if (class_name == "Label") { |
| 403 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN), | 403 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSIONS_INSTALLED_BY_ADMIN), |
| 404 static_cast<const views::Label*>(v)->text()); | 404 static_cast<const views::Label*>(v)->text()); |
| 405 } else { | 405 } else { |
| 406 EXPECT_TRUE(gfx::test::AreImagesEqual( | 406 EXPECT_TRUE(gfx::test::AreImagesEqual( |
| 407 gfx::Image(static_cast<const views::ImageView*>(v)->GetImage()), | 407 gfx::Image(static_cast<const views::ImageView*>(v)->GetImage()), |
| 408 gfx::Image(gfx::CreateVectorIcon(gfx::VectorIconId::BUSINESS, | 408 gfx::Image(gfx::CreateVectorIcon(ui::kBusinessIcon, kIconSize, |
| 409 kIconSize, gfx::kChromeIconGrey)))); | 409 gfx::kChromeIconGrey)))); |
| 410 } | 410 } |
| 411 } | 411 } |
| 412 | 412 |
| 413 CloseBubble(); | 413 CloseBubble(); |
| 414 } | 414 } |
| OLD | NEW |