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/extensions/extension_action_icon_factory.h" | 5 #include "chrome/browser/extensions/extension_action_icon_factory.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/json/json_file_value_serializer.h" | 9 #include "base/json/json_file_value_serializer.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 // the factory should return favicon. | 183 // the factory should return favicon. |
184 TEST_F(ExtensionActionIconFactoryTest, NoIcons) { | 184 TEST_F(ExtensionActionIconFactoryTest, NoIcons) { |
185 // Load an extension that has browser action without default icon set in the | 185 // Load an extension that has browser action without default icon set in the |
186 // manifest and does not call |SetIcon| by default. | 186 // manifest and does not call |SetIcon| by default. |
187 scoped_refptr<Extension> extension(CreateExtension( | 187 scoped_refptr<Extension> extension(CreateExtension( |
188 "browser_action/no_icon", Manifest::INVALID_LOCATION)); | 188 "browser_action/no_icon", Manifest::INVALID_LOCATION)); |
189 ASSERT_TRUE(extension.get() != NULL); | 189 ASSERT_TRUE(extension.get() != NULL); |
190 ExtensionAction* browser_action = GetBrowserAction(*extension.get()); | 190 ExtensionAction* browser_action = GetBrowserAction(*extension.get()); |
191 ASSERT_TRUE(browser_action); | 191 ASSERT_TRUE(browser_action); |
192 ASSERT_FALSE(browser_action->default_icon()); | 192 ASSERT_FALSE(browser_action->default_icon()); |
193 ASSERT_TRUE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).isNull()); | 193 ASSERT_TRUE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).IsEmpty()); |
194 | 194 |
195 gfx::ImageSkia favicon = GetFavicon(); | 195 gfx::ImageSkia favicon = GetFavicon(); |
196 | 196 |
197 ExtensionActionIconFactory icon_factory( | 197 ExtensionActionIconFactory icon_factory( |
198 profile(), extension.get(), browser_action, this); | 198 profile(), extension.get(), browser_action, this); |
199 | 199 |
200 gfx::Image icon = icon_factory.GetIcon(0); | 200 gfx::Image icon = icon_factory.GetIcon(0); |
201 | 201 |
202 EXPECT_TRUE(ImageRepsAreEqual( | 202 EXPECT_TRUE(ImageRepsAreEqual( |
203 favicon.GetRepresentation(1.0f), | 203 favicon.GetRepresentation(1.0f), |
204 icon.ToImageSkia()->GetRepresentation(1.0f))); | 204 icon.ToImageSkia()->GetRepresentation(1.0f))); |
205 } | 205 } |
206 | 206 |
207 // If the icon has been set using |SetIcon|, the factory should return that | 207 // If the icon has been set using |SetIcon|, the factory should return that |
208 // icon. | 208 // icon. |
209 TEST_F(ExtensionActionIconFactoryTest, AfterSetIcon) { | 209 TEST_F(ExtensionActionIconFactoryTest, AfterSetIcon) { |
210 // Load an extension that has browser action without default icon set in the | 210 // Load an extension that has browser action without default icon set in the |
211 // manifest and does not call |SetIcon| by default (but has an browser action | 211 // manifest and does not call |SetIcon| by default (but has an browser action |
212 // icon resource). | 212 // icon resource). |
213 scoped_refptr<Extension> extension(CreateExtension( | 213 scoped_refptr<Extension> extension(CreateExtension( |
214 "browser_action/no_icon", Manifest::INVALID_LOCATION)); | 214 "browser_action/no_icon", Manifest::INVALID_LOCATION)); |
215 ASSERT_TRUE(extension.get() != NULL); | 215 ASSERT_TRUE(extension.get() != NULL); |
216 ExtensionAction* browser_action = GetBrowserAction(*extension.get()); | 216 ExtensionAction* browser_action = GetBrowserAction(*extension.get()); |
217 ASSERT_TRUE(browser_action); | 217 ASSERT_TRUE(browser_action); |
218 ASSERT_FALSE(browser_action->default_icon()); | 218 ASSERT_FALSE(browser_action->default_icon()); |
219 ASSERT_TRUE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).isNull()); | 219 ASSERT_TRUE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).IsEmpty()); |
220 | 220 |
221 gfx::Image set_icon = LoadIcon("browser_action/no_icon/icon.png"); | 221 gfx::Image set_icon = LoadIcon("browser_action/no_icon/icon.png"); |
222 ASSERT_FALSE(set_icon.IsEmpty()); | 222 ASSERT_FALSE(set_icon.IsEmpty()); |
223 | 223 |
224 browser_action->SetIcon(0, set_icon); | 224 browser_action->SetIcon(0, set_icon); |
225 | 225 |
226 ASSERT_FALSE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).isNull()); | 226 ASSERT_FALSE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).IsEmpty()); |
227 | 227 |
228 ExtensionActionIconFactory icon_factory( | 228 ExtensionActionIconFactory icon_factory( |
229 profile(), extension.get(), browser_action, this); | 229 profile(), extension.get(), browser_action, this); |
230 | 230 |
231 gfx::Image icon = icon_factory.GetIcon(0); | 231 gfx::Image icon = icon_factory.GetIcon(0); |
232 | 232 |
233 EXPECT_TRUE(ImageRepsAreEqual( | 233 EXPECT_TRUE(ImageRepsAreEqual( |
234 set_icon.ToImageSkia()->GetRepresentation(1.0f), | 234 set_icon.ToImageSkia()->GetRepresentation(1.0f), |
235 icon.ToImageSkia()->GetRepresentation(1.0f))); | 235 icon.ToImageSkia()->GetRepresentation(1.0f))); |
236 | 236 |
(...skipping 10 matching lines...) Expand all Loading... |
247 TEST_F(ExtensionActionIconFactoryTest, DefaultIcon) { | 247 TEST_F(ExtensionActionIconFactoryTest, DefaultIcon) { |
248 // Load an extension that has browser action without default icon set in the | 248 // Load an extension that has browser action without default icon set in the |
249 // manifest and does not call |SetIcon| by default (but has an browser action | 249 // manifest and does not call |SetIcon| by default (but has an browser action |
250 // icon resource). | 250 // icon resource). |
251 scoped_refptr<Extension> extension(CreateExtension( | 251 scoped_refptr<Extension> extension(CreateExtension( |
252 "browser_action/no_icon", Manifest::INVALID_LOCATION)); | 252 "browser_action/no_icon", Manifest::INVALID_LOCATION)); |
253 ASSERT_TRUE(extension.get() != NULL); | 253 ASSERT_TRUE(extension.get() != NULL); |
254 ExtensionAction* browser_action = GetBrowserAction(*extension.get()); | 254 ExtensionAction* browser_action = GetBrowserAction(*extension.get()); |
255 ASSERT_TRUE(browser_action); | 255 ASSERT_TRUE(browser_action); |
256 ASSERT_FALSE(browser_action->default_icon()); | 256 ASSERT_FALSE(browser_action->default_icon()); |
257 ASSERT_TRUE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).isNull()); | 257 ASSERT_TRUE(browser_action->GetExplicitlySetIcon(0 /*tab id*/).IsEmpty()); |
258 | 258 |
259 gfx::Image default_icon = | 259 gfx::Image default_icon = |
260 EnsureImageSize(LoadIcon("browser_action/no_icon/icon.png"), 19); | 260 EnsureImageSize(LoadIcon("browser_action/no_icon/icon.png"), 19); |
261 ASSERT_FALSE(default_icon.IsEmpty()); | 261 ASSERT_FALSE(default_icon.IsEmpty()); |
262 | 262 |
263 scoped_ptr<ExtensionIconSet> default_icon_set(new ExtensionIconSet()); | 263 scoped_ptr<ExtensionIconSet> default_icon_set(new ExtensionIconSet()); |
264 default_icon_set->Add(19, "icon.png"); | 264 default_icon_set->Add(19, "icon.png"); |
265 | 265 |
266 browser_action->SetDefaultIconForTest(default_icon_set.Pass()); | 266 browser_action->SetDefaultIconForTest(default_icon_set.Pass()); |
267 ASSERT_TRUE(browser_action->default_icon()); | 267 ASSERT_TRUE(browser_action->default_icon()); |
(...skipping 22 matching lines...) Expand all Loading... |
290 icon = icon_factory.GetIcon(1); | 290 icon = icon_factory.GetIcon(1); |
291 | 291 |
292 EXPECT_TRUE(ImageRepsAreEqual( | 292 EXPECT_TRUE(ImageRepsAreEqual( |
293 default_icon.ToImageSkia()->GetRepresentation(1.0f), | 293 default_icon.ToImageSkia()->GetRepresentation(1.0f), |
294 icon.ToImageSkia()->GetRepresentation(1.0f))); | 294 icon.ToImageSkia()->GetRepresentation(1.0f))); |
295 | 295 |
296 } | 296 } |
297 | 297 |
298 } // namespace | 298 } // namespace |
299 } // namespace extensions | 299 } // namespace extensions |
OLD | NEW |