| 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 "ui/views/mus/native_widget_mus.h" | 5 #include "ui/views/mus/native_widget_mus.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "components/mus/public/cpp/property_type_converters.h" | 8 #include "components/mus/public/cpp/property_type_converters.h" |
| 9 #include "components/mus/public/cpp/window.h" | 9 #include "components/mus/public/cpp/window.h" |
| 10 #include "components/mus/public/cpp/window_property.h" | 10 #include "components/mus/public/cpp/window_property.h" |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 ASSERT_EQ(2u, activation_observer.changes().size()); | 129 ASSERT_EQ(2u, activation_observer.changes().size()); |
| 130 EXPECT_TRUE(activation_observer.changes()[1]); | 130 EXPECT_TRUE(activation_observer.changes()[1]); |
| 131 | 131 |
| 132 WidgetFocusManager::GetInstance()->RemoveFocusChangeListener(&focus_listener); | 132 WidgetFocusManager::GetInstance()->RemoveFocusChangeListener(&focus_listener); |
| 133 } | 133 } |
| 134 | 134 |
| 135 // Tests that a window with an icon sets the mus::Window icon property. | 135 // Tests that a window with an icon sets the mus::Window icon property. |
| 136 TEST_F(NativeWidgetMusTest, AppIcon) { | 136 TEST_F(NativeWidgetMusTest, AppIcon) { |
| 137 // Create a Widget with a bitmap as the icon. | 137 // Create a Widget with a bitmap as the icon. |
| 138 SkBitmap source_bitmap = MakeBitmap(SK_ColorRED); | 138 SkBitmap source_bitmap = MakeBitmap(SK_ColorRED); |
| 139 scoped_ptr<Widget> widget( | 139 std::unique_ptr<Widget> widget( |
| 140 CreateWidget(new TestWidgetDelegate(source_bitmap))); | 140 CreateWidget(new TestWidgetDelegate(source_bitmap))); |
| 141 | 141 |
| 142 // The mus::Window has the icon property. | 142 // The mus::Window has the icon property. |
| 143 mus::Window* window = | 143 mus::Window* window = |
| 144 static_cast<NativeWidgetMus*>(widget->native_widget_private())->window(); | 144 static_cast<NativeWidgetMus*>(widget->native_widget_private())->window(); |
| 145 EXPECT_TRUE(window->HasSharedProperty( | 145 EXPECT_TRUE(window->HasSharedProperty( |
| 146 mus::mojom::WindowManager::kWindowAppIcon_Property)); | 146 mus::mojom::WindowManager::kWindowAppIcon_Property)); |
| 147 | 147 |
| 148 // The icon is the expected icon. | 148 // The icon is the expected icon. |
| 149 SkBitmap icon = window->GetSharedProperty<SkBitmap>( | 149 SkBitmap icon = window->GetSharedProperty<SkBitmap>( |
| 150 mus::mojom::WindowManager::kWindowAppIcon_Property); | 150 mus::mojom::WindowManager::kWindowAppIcon_Property); |
| 151 EXPECT_TRUE(gfx::BitmapsAreEqual(source_bitmap, icon)); | 151 EXPECT_TRUE(gfx::BitmapsAreEqual(source_bitmap, icon)); |
| 152 } | 152 } |
| 153 | 153 |
| 154 // Tests that a window without an icon does not set the mus::Window icon | 154 // Tests that a window without an icon does not set the mus::Window icon |
| 155 // property. | 155 // property. |
| 156 TEST_F(NativeWidgetMusTest, NoAppIcon) { | 156 TEST_F(NativeWidgetMusTest, NoAppIcon) { |
| 157 // Create a Widget without a special icon. | 157 // Create a Widget without a special icon. |
| 158 scoped_ptr<Widget> widget(CreateWidget(nullptr)); | 158 std::unique_ptr<Widget> widget(CreateWidget(nullptr)); |
| 159 | 159 |
| 160 // The mus::Window does not have an icon property. | 160 // The mus::Window does not have an icon property. |
| 161 mus::Window* window = | 161 mus::Window* window = |
| 162 static_cast<NativeWidgetMus*>(widget->native_widget_private())->window(); | 162 static_cast<NativeWidgetMus*>(widget->native_widget_private())->window(); |
| 163 EXPECT_FALSE(window->HasSharedProperty( | 163 EXPECT_FALSE(window->HasSharedProperty( |
| 164 mus::mojom::WindowManager::kWindowAppIcon_Property)); | 164 mus::mojom::WindowManager::kWindowAppIcon_Property)); |
| 165 } | 165 } |
| 166 | 166 |
| 167 // Tests that changing the icon on a Widget updates the mus::Window icon | 167 // Tests that changing the icon on a Widget updates the mus::Window icon |
| 168 // property. | 168 // property. |
| 169 TEST_F(NativeWidgetMusTest, ChangeAppIcon) { | 169 TEST_F(NativeWidgetMusTest, ChangeAppIcon) { |
| 170 // Create a Widget with an icon. | 170 // Create a Widget with an icon. |
| 171 SkBitmap bitmap1 = MakeBitmap(SK_ColorRED); | 171 SkBitmap bitmap1 = MakeBitmap(SK_ColorRED); |
| 172 TestWidgetDelegate* delegate = new TestWidgetDelegate(bitmap1); | 172 TestWidgetDelegate* delegate = new TestWidgetDelegate(bitmap1); |
| 173 scoped_ptr<Widget> widget(CreateWidget(delegate)); | 173 std::unique_ptr<Widget> widget(CreateWidget(delegate)); |
| 174 | 174 |
| 175 // Update the icon to a new image. | 175 // Update the icon to a new image. |
| 176 SkBitmap bitmap2 = MakeBitmap(SK_ColorGREEN); | 176 SkBitmap bitmap2 = MakeBitmap(SK_ColorGREEN); |
| 177 delegate->SetIcon(bitmap2); | 177 delegate->SetIcon(bitmap2); |
| 178 widget->UpdateWindowIcon(); | 178 widget->UpdateWindowIcon(); |
| 179 | 179 |
| 180 // The window has the updated icon. | 180 // The window has the updated icon. |
| 181 mus::Window* window = | 181 mus::Window* window = |
| 182 static_cast<NativeWidgetMus*>(widget->native_widget_private())->window(); | 182 static_cast<NativeWidgetMus*>(widget->native_widget_private())->window(); |
| 183 SkBitmap icon = window->GetSharedProperty<SkBitmap>( | 183 SkBitmap icon = window->GetSharedProperty<SkBitmap>( |
| 184 mus::mojom::WindowManager::kWindowAppIcon_Property); | 184 mus::mojom::WindowManager::kWindowAppIcon_Property); |
| 185 EXPECT_TRUE(gfx::BitmapsAreEqual(bitmap2, icon)); | 185 EXPECT_TRUE(gfx::BitmapsAreEqual(bitmap2, icon)); |
| 186 } | 186 } |
| 187 | 187 |
| 188 TEST_F(NativeWidgetMusTest, ValidLayerTree) { | 188 TEST_F(NativeWidgetMusTest, ValidLayerTree) { |
| 189 scoped_ptr<Widget> widget(CreateWidget(nullptr)); | 189 std::unique_ptr<Widget> widget(CreateWidget(nullptr)); |
| 190 View* content = new View; | 190 View* content = new View; |
| 191 content->SetPaintToLayer(true); | 191 content->SetPaintToLayer(true); |
| 192 widget->GetContentsView()->AddChildView(content); | 192 widget->GetContentsView()->AddChildView(content); |
| 193 EXPECT_TRUE(widget->GetNativeWindow()->layer()->Contains(content->layer())); | 193 EXPECT_TRUE(widget->GetNativeWindow()->layer()->Contains(content->layer())); |
| 194 } | 194 } |
| 195 | 195 |
| 196 } // namespace | 196 } // namespace |
| 197 } // namespace views | 197 } // namespace views |
| OLD | NEW |