| 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 "extension_prefs_unittest.h" | 5 #include "extension_prefs_unittest.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/prefs/public/pref_change_registrar.h" | 10 #include "base/prefs/public/pref_change_registrar.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 message_loop_.RunUntilIdle(); | 77 message_loop_.RunUntilIdle(); |
| 78 } | 78 } |
| 79 | 79 |
| 80 // Tests the LastPingDay/SetLastPingDay functions. | 80 // Tests the LastPingDay/SetLastPingDay functions. |
| 81 class ExtensionPrefsLastPingDay : public ExtensionPrefsTest { | 81 class ExtensionPrefsLastPingDay : public ExtensionPrefsTest { |
| 82 public: | 82 public: |
| 83 ExtensionPrefsLastPingDay() | 83 ExtensionPrefsLastPingDay() |
| 84 : extension_time_(Time::Now() - TimeDelta::FromHours(4)), | 84 : extension_time_(Time::Now() - TimeDelta::FromHours(4)), |
| 85 blacklist_time_(Time::Now() - TimeDelta::FromHours(2)) {} | 85 blacklist_time_(Time::Now() - TimeDelta::FromHours(2)) {} |
| 86 | 86 |
| 87 virtual void Initialize() { | 87 virtual void Initialize() OVERRIDE { |
| 88 extension_id_ = prefs_.AddExtensionAndReturnId("last_ping_day"); | 88 extension_id_ = prefs_.AddExtensionAndReturnId("last_ping_day"); |
| 89 EXPECT_TRUE(prefs()->LastPingDay(extension_id_).is_null()); | 89 EXPECT_TRUE(prefs()->LastPingDay(extension_id_).is_null()); |
| 90 prefs()->SetLastPingDay(extension_id_, extension_time_); | 90 prefs()->SetLastPingDay(extension_id_, extension_time_); |
| 91 prefs()->SetBlacklistLastPingDay(blacklist_time_); | 91 prefs()->SetBlacklistLastPingDay(blacklist_time_); |
| 92 } | 92 } |
| 93 | 93 |
| 94 virtual void Verify() { | 94 virtual void Verify() OVERRIDE { |
| 95 Time result = prefs()->LastPingDay(extension_id_); | 95 Time result = prefs()->LastPingDay(extension_id_); |
| 96 EXPECT_FALSE(result.is_null()); | 96 EXPECT_FALSE(result.is_null()); |
| 97 EXPECT_TRUE(result == extension_time_); | 97 EXPECT_TRUE(result == extension_time_); |
| 98 result = prefs()->BlacklistLastPingDay(); | 98 result = prefs()->BlacklistLastPingDay(); |
| 99 EXPECT_FALSE(result.is_null()); | 99 EXPECT_FALSE(result.is_null()); |
| 100 EXPECT_TRUE(result == blacklist_time_); | 100 EXPECT_TRUE(result == blacklist_time_); |
| 101 } | 101 } |
| 102 | 102 |
| 103 private: | 103 private: |
| 104 Time extension_time_; | 104 Time extension_time_; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 115 permission.pref_id = gallery; | 115 permission.pref_id = gallery; |
| 116 permission.has_permission = has_access; | 116 permission.has_permission = has_access; |
| 117 vector->push_back(permission); | 117 vector->push_back(permission); |
| 118 } | 118 } |
| 119 | 119 |
| 120 } // namspace | 120 } // namspace |
| 121 | 121 |
| 122 // Test the MediaGalleries permissions functions. | 122 // Test the MediaGalleries permissions functions. |
| 123 class MediaGalleriesPermissions : public ExtensionPrefsTest { | 123 class MediaGalleriesPermissions : public ExtensionPrefsTest { |
| 124 public: | 124 public: |
| 125 virtual void Initialize() { | 125 virtual void Initialize() OVERRIDE { |
| 126 extension1_id_ = prefs_.AddExtensionAndReturnId("test1"); | 126 extension1_id_ = prefs_.AddExtensionAndReturnId("test1"); |
| 127 extension2_id_ = prefs_.AddExtensionAndReturnId("test2"); | 127 extension2_id_ = prefs_.AddExtensionAndReturnId("test2"); |
| 128 extension3_id_ = prefs_.AddExtensionAndReturnId("test3"); | 128 extension3_id_ = prefs_.AddExtensionAndReturnId("test3"); |
| 129 // Id4 isn't used to ensure that an empty permission list is ok. | 129 // Id4 isn't used to ensure that an empty permission list is ok. |
| 130 extension4_id_ = prefs_.AddExtensionAndReturnId("test4"); | 130 extension4_id_ = prefs_.AddExtensionAndReturnId("test4"); |
| 131 Verify(); | 131 Verify(); |
| 132 | 132 |
| 133 prefs()->SetMediaGalleryPermission(extension1_id_, 1, false); | 133 prefs()->SetMediaGalleryPermission(extension1_id_, 1, false); |
| 134 AddGalleryPermission(1, false, &extension1_expectation_); | 134 AddGalleryPermission(1, false, &extension1_expectation_); |
| 135 Verify(); | 135 Verify(); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 157 prefs()->RemoveMediaGalleryPermissions(3); | 157 prefs()->RemoveMediaGalleryPermissions(3); |
| 158 extension2_expectation_.erase(extension2_expectation_.begin() + 1); | 158 extension2_expectation_.erase(extension2_expectation_.begin() + 1); |
| 159 extension3_expectation_.erase(extension3_expectation_.begin()); | 159 extension3_expectation_.erase(extension3_expectation_.begin()); |
| 160 Verify(); | 160 Verify(); |
| 161 | 161 |
| 162 prefs()->UnsetMediaGalleryPermission(extension1_id_, 1); | 162 prefs()->UnsetMediaGalleryPermission(extension1_id_, 1); |
| 163 extension1_expectation_.erase(extension1_expectation_.begin()); | 163 extension1_expectation_.erase(extension1_expectation_.begin()); |
| 164 Verify(); | 164 Verify(); |
| 165 } | 165 } |
| 166 | 166 |
| 167 virtual void Verify() { | 167 virtual void Verify() OVERRIDE { |
| 168 struct TestData { | 168 struct TestData { |
| 169 std::string* id; | 169 std::string* id; |
| 170 std::vector<chrome::MediaGalleryPermission>* expectation; | 170 std::vector<chrome::MediaGalleryPermission>* expectation; |
| 171 }; | 171 }; |
| 172 | 172 |
| 173 const TestData test_data[] = {{&extension1_id_, &extension1_expectation_}, | 173 const TestData test_data[] = {{&extension1_id_, &extension1_expectation_}, |
| 174 {&extension2_id_, &extension2_expectation_}, | 174 {&extension2_id_, &extension2_expectation_}, |
| 175 {&extension3_id_, &extension3_expectation_}, | 175 {&extension3_id_, &extension3_expectation_}, |
| 176 {&extension4_id_, &extension4_expectation_}}; | 176 {&extension4_id_, &extension4_expectation_}}; |
| 177 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); i++) { | 177 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_data); i++) { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 199 std::vector<chrome::MediaGalleryPermission> extension1_expectation_; | 199 std::vector<chrome::MediaGalleryPermission> extension1_expectation_; |
| 200 std::vector<chrome::MediaGalleryPermission> extension2_expectation_; | 200 std::vector<chrome::MediaGalleryPermission> extension2_expectation_; |
| 201 std::vector<chrome::MediaGalleryPermission> extension3_expectation_; | 201 std::vector<chrome::MediaGalleryPermission> extension3_expectation_; |
| 202 std::vector<chrome::MediaGalleryPermission> extension4_expectation_; | 202 std::vector<chrome::MediaGalleryPermission> extension4_expectation_; |
| 203 }; | 203 }; |
| 204 TEST_F(MediaGalleriesPermissions, MediaGalleries) {} | 204 TEST_F(MediaGalleriesPermissions, MediaGalleries) {} |
| 205 | 205 |
| 206 // Tests the GetToolbarOrder/SetToolbarOrder functions. | 206 // Tests the GetToolbarOrder/SetToolbarOrder functions. |
| 207 class ExtensionPrefsToolbarOrder : public ExtensionPrefsTest { | 207 class ExtensionPrefsToolbarOrder : public ExtensionPrefsTest { |
| 208 public: | 208 public: |
| 209 virtual void Initialize() { | 209 virtual void Initialize() OVERRIDE { |
| 210 list_.push_back(prefs_.AddExtensionAndReturnId("1")); | 210 list_.push_back(prefs_.AddExtensionAndReturnId("1")); |
| 211 list_.push_back(prefs_.AddExtensionAndReturnId("2")); | 211 list_.push_back(prefs_.AddExtensionAndReturnId("2")); |
| 212 list_.push_back(prefs_.AddExtensionAndReturnId("3")); | 212 list_.push_back(prefs_.AddExtensionAndReturnId("3")); |
| 213 std::vector<std::string> before_list = prefs()->GetToolbarOrder(); | 213 std::vector<std::string> before_list = prefs()->GetToolbarOrder(); |
| 214 EXPECT_TRUE(before_list.empty()); | 214 EXPECT_TRUE(before_list.empty()); |
| 215 prefs()->SetToolbarOrder(list_); | 215 prefs()->SetToolbarOrder(list_); |
| 216 } | 216 } |
| 217 | 217 |
| 218 virtual void Verify() { | 218 virtual void Verify() OVERRIDE { |
| 219 std::vector<std::string> result = prefs()->GetToolbarOrder(); | 219 std::vector<std::string> result = prefs()->GetToolbarOrder(); |
| 220 ASSERT_EQ(list_.size(), result.size()); | 220 ASSERT_EQ(list_.size(), result.size()); |
| 221 for (size_t i = 0; i < list_.size(); i++) { | 221 for (size_t i = 0; i < list_.size(); i++) { |
| 222 EXPECT_EQ(list_[i], result[i]); | 222 EXPECT_EQ(list_[i], result[i]); |
| 223 } | 223 } |
| 224 } | 224 } |
| 225 | 225 |
| 226 private: | 226 private: |
| 227 std::vector<std::string> list_; | 227 std::vector<std::string> list_; |
| 228 }; | 228 }; |
| 229 TEST_F(ExtensionPrefsToolbarOrder, ToolbarOrder) {} | 229 TEST_F(ExtensionPrefsToolbarOrder, ToolbarOrder) {} |
| 230 | 230 |
| 231 | 231 |
| 232 // Tests the IsExtensionDisabled/SetExtensionState functions. | 232 // Tests the IsExtensionDisabled/SetExtensionState functions. |
| 233 class ExtensionPrefsExtensionState : public ExtensionPrefsTest { | 233 class ExtensionPrefsExtensionState : public ExtensionPrefsTest { |
| 234 public: | 234 public: |
| 235 virtual void Initialize() { | 235 virtual void Initialize() OVERRIDE { |
| 236 extension = prefs_.AddExtension("test"); | 236 extension = prefs_.AddExtension("test"); |
| 237 prefs()->SetExtensionState(extension->id(), Extension::DISABLED); | 237 prefs()->SetExtensionState(extension->id(), Extension::DISABLED); |
| 238 } | 238 } |
| 239 | 239 |
| 240 virtual void Verify() { | 240 virtual void Verify() OVERRIDE { |
| 241 EXPECT_TRUE(prefs()->IsExtensionDisabled(extension->id())); | 241 EXPECT_TRUE(prefs()->IsExtensionDisabled(extension->id())); |
| 242 } | 242 } |
| 243 | 243 |
| 244 private: | 244 private: |
| 245 scoped_refptr<Extension> extension; | 245 scoped_refptr<Extension> extension; |
| 246 }; | 246 }; |
| 247 TEST_F(ExtensionPrefsExtensionState, ExtensionState) {} | 247 TEST_F(ExtensionPrefsExtensionState, ExtensionState) {} |
| 248 | 248 |
| 249 class ExtensionPrefsEscalatePermissions : public ExtensionPrefsTest { | 249 class ExtensionPrefsEscalatePermissions : public ExtensionPrefsTest { |
| 250 public: | 250 public: |
| 251 virtual void Initialize() { | 251 virtual void Initialize() OVERRIDE { |
| 252 extension = prefs_.AddExtension("test"); | 252 extension = prefs_.AddExtension("test"); |
| 253 prefs()->SetDidExtensionEscalatePermissions(extension.get(), true); | 253 prefs()->SetDidExtensionEscalatePermissions(extension.get(), true); |
| 254 } | 254 } |
| 255 | 255 |
| 256 virtual void Verify() { | 256 virtual void Verify() OVERRIDE { |
| 257 EXPECT_TRUE(prefs()->DidExtensionEscalatePermissions(extension->id())); | 257 EXPECT_TRUE(prefs()->DidExtensionEscalatePermissions(extension->id())); |
| 258 } | 258 } |
| 259 | 259 |
| 260 private: | 260 private: |
| 261 scoped_refptr<Extension> extension; | 261 scoped_refptr<Extension> extension; |
| 262 }; | 262 }; |
| 263 TEST_F(ExtensionPrefsEscalatePermissions, EscalatePermissions) {} | 263 TEST_F(ExtensionPrefsEscalatePermissions, EscalatePermissions) {} |
| 264 | 264 |
| 265 // Tests the AddGrantedPermissions / GetGrantedPermissions functions. | 265 // Tests the AddGrantedPermissions / GetGrantedPermissions functions. |
| 266 class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest { | 266 class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest { |
| 267 public: | 267 public: |
| 268 virtual void Initialize() { | 268 virtual void Initialize() OVERRIDE { |
| 269 const APIPermissionInfo* permission_info = | 269 const APIPermissionInfo* permission_info = |
| 270 PermissionsInfo::GetInstance()->GetByID(APIPermission::kSocket); | 270 PermissionsInfo::GetInstance()->GetByID(APIPermission::kSocket); |
| 271 | 271 |
| 272 extension_id_ = prefs_.AddExtensionAndReturnId("test"); | 272 extension_id_ = prefs_.AddExtensionAndReturnId("test"); |
| 273 | 273 |
| 274 api_perm_set1_.insert(APIPermission::kTab); | 274 api_perm_set1_.insert(APIPermission::kTab); |
| 275 api_perm_set1_.insert(APIPermission::kBookmark); | 275 api_perm_set1_.insert(APIPermission::kBookmark); |
| 276 scoped_ptr<APIPermission> permission( | 276 scoped_ptr<APIPermission> permission( |
| 277 permission_info->CreateAPIPermission()); | 277 permission_info->CreateAPIPermission()); |
| 278 { | 278 { |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 EXPECT_EQ(ehost_permissions_, | 378 EXPECT_EQ(ehost_permissions_, |
| 379 granted_permissions->explicit_hosts()); | 379 granted_permissions->explicit_hosts()); |
| 380 EXPECT_EQ(shost_permissions_, | 380 EXPECT_EQ(shost_permissions_, |
| 381 granted_permissions->scriptable_hosts()); | 381 granted_permissions->scriptable_hosts()); |
| 382 effective_permissions_.ClearPatterns(); | 382 effective_permissions_.ClearPatterns(); |
| 383 URLPatternSet::CreateUnion(ehost_permissions_, shost_permissions_, | 383 URLPatternSet::CreateUnion(ehost_permissions_, shost_permissions_, |
| 384 &effective_permissions_); | 384 &effective_permissions_); |
| 385 EXPECT_EQ(effective_permissions_, granted_permissions->effective_hosts()); | 385 EXPECT_EQ(effective_permissions_, granted_permissions->effective_hosts()); |
| 386 } | 386 } |
| 387 | 387 |
| 388 virtual void Verify() { | 388 virtual void Verify() OVERRIDE { |
| 389 scoped_refptr<PermissionSet> permissions( | 389 scoped_refptr<PermissionSet> permissions( |
| 390 prefs()->GetGrantedPermissions(extension_id_)); | 390 prefs()->GetGrantedPermissions(extension_id_)); |
| 391 EXPECT_TRUE(permissions.get()); | 391 EXPECT_TRUE(permissions.get()); |
| 392 EXPECT_FALSE(permissions->HasEffectiveFullAccess()); | 392 EXPECT_FALSE(permissions->HasEffectiveFullAccess()); |
| 393 EXPECT_EQ(api_permissions_, permissions->apis()); | 393 EXPECT_EQ(api_permissions_, permissions->apis()); |
| 394 EXPECT_EQ(ehost_permissions_, | 394 EXPECT_EQ(ehost_permissions_, |
| 395 permissions->explicit_hosts()); | 395 permissions->explicit_hosts()); |
| 396 EXPECT_EQ(shost_permissions_, | 396 EXPECT_EQ(shost_permissions_, |
| 397 permissions->scriptable_hosts()); | 397 permissions->scriptable_hosts()); |
| 398 } | 398 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 409 APIPermissionSet api_permissions_; | 409 APIPermissionSet api_permissions_; |
| 410 URLPatternSet ehost_permissions_; | 410 URLPatternSet ehost_permissions_; |
| 411 URLPatternSet shost_permissions_; | 411 URLPatternSet shost_permissions_; |
| 412 URLPatternSet effective_permissions_; | 412 URLPatternSet effective_permissions_; |
| 413 }; | 413 }; |
| 414 TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {} | 414 TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {} |
| 415 | 415 |
| 416 // Tests the SetActivePermissions / GetActivePermissions functions. | 416 // Tests the SetActivePermissions / GetActivePermissions functions. |
| 417 class ExtensionPrefsActivePermissions : public ExtensionPrefsTest { | 417 class ExtensionPrefsActivePermissions : public ExtensionPrefsTest { |
| 418 public: | 418 public: |
| 419 virtual void Initialize() { | 419 virtual void Initialize() OVERRIDE { |
| 420 extension_id_ = prefs_.AddExtensionAndReturnId("test"); | 420 extension_id_ = prefs_.AddExtensionAndReturnId("test"); |
| 421 | 421 |
| 422 APIPermissionSet api_perms; | 422 APIPermissionSet api_perms; |
| 423 api_perms.insert(APIPermission::kTab); | 423 api_perms.insert(APIPermission::kTab); |
| 424 api_perms.insert(APIPermission::kBookmark); | 424 api_perms.insert(APIPermission::kBookmark); |
| 425 api_perms.insert(APIPermission::kHistory); | 425 api_perms.insert(APIPermission::kHistory); |
| 426 | 426 |
| 427 URLPatternSet ehosts; | 427 URLPatternSet ehosts; |
| 428 AddPattern(&ehosts, "http://*.google.com/*"); | 428 AddPattern(&ehosts, "http://*.google.com/*"); |
| 429 AddPattern(&ehosts, "http://example.com/*"); | 429 AddPattern(&ehosts, "http://example.com/*"); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 442 | 442 |
| 443 // Set the active permissions. | 443 // Set the active permissions. |
| 444 prefs()->SetActivePermissions(extension_id_, active_perms_.get()); | 444 prefs()->SetActivePermissions(extension_id_, active_perms_.get()); |
| 445 active = prefs()->GetActivePermissions(extension_id_); | 445 active = prefs()->GetActivePermissions(extension_id_); |
| 446 EXPECT_EQ(active_perms_->apis(), active->apis()); | 446 EXPECT_EQ(active_perms_->apis(), active->apis()); |
| 447 EXPECT_EQ(active_perms_->explicit_hosts(), active->explicit_hosts()); | 447 EXPECT_EQ(active_perms_->explicit_hosts(), active->explicit_hosts()); |
| 448 EXPECT_EQ(active_perms_->scriptable_hosts(), active->scriptable_hosts()); | 448 EXPECT_EQ(active_perms_->scriptable_hosts(), active->scriptable_hosts()); |
| 449 EXPECT_EQ(*active_perms_, *active); | 449 EXPECT_EQ(*active_perms_, *active); |
| 450 } | 450 } |
| 451 | 451 |
| 452 virtual void Verify() { | 452 virtual void Verify() OVERRIDE { |
| 453 scoped_refptr<PermissionSet> permissions( | 453 scoped_refptr<PermissionSet> permissions( |
| 454 prefs()->GetActivePermissions(extension_id_)); | 454 prefs()->GetActivePermissions(extension_id_)); |
| 455 EXPECT_EQ(*active_perms_, *permissions); | 455 EXPECT_EQ(*active_perms_, *permissions); |
| 456 } | 456 } |
| 457 | 457 |
| 458 private: | 458 private: |
| 459 std::string extension_id_; | 459 std::string extension_id_; |
| 460 scoped_refptr<PermissionSet> active_perms_; | 460 scoped_refptr<PermissionSet> active_perms_; |
| 461 }; | 461 }; |
| 462 TEST_F(ExtensionPrefsActivePermissions, SetAndGetActivePermissions) {} | 462 TEST_F(ExtensionPrefsActivePermissions, SetAndGetActivePermissions) {} |
| 463 | 463 |
| 464 // Tests the GetVersionString function. | 464 // Tests the GetVersionString function. |
| 465 class ExtensionPrefsVersionString : public ExtensionPrefsTest { | 465 class ExtensionPrefsVersionString : public ExtensionPrefsTest { |
| 466 public: | 466 public: |
| 467 virtual void Initialize() { | 467 virtual void Initialize() OVERRIDE { |
| 468 extension = prefs_.AddExtension("test"); | 468 extension = prefs_.AddExtension("test"); |
| 469 EXPECT_EQ("0.1", prefs()->GetVersionString(extension->id())); | 469 EXPECT_EQ("0.1", prefs()->GetVersionString(extension->id())); |
| 470 prefs()->OnExtensionUninstalled(extension->id(), | 470 prefs()->OnExtensionUninstalled(extension->id(), |
| 471 Manifest::INTERNAL, false); | 471 Manifest::INTERNAL, false); |
| 472 } | 472 } |
| 473 | 473 |
| 474 virtual void Verify() { | 474 virtual void Verify() OVERRIDE { |
| 475 EXPECT_EQ("", prefs()->GetVersionString(extension->id())); | 475 EXPECT_EQ("", prefs()->GetVersionString(extension->id())); |
| 476 } | 476 } |
| 477 | 477 |
| 478 private: | 478 private: |
| 479 scoped_refptr<Extension> extension; | 479 scoped_refptr<Extension> extension; |
| 480 }; | 480 }; |
| 481 TEST_F(ExtensionPrefsVersionString, VersionString) {} | 481 TEST_F(ExtensionPrefsVersionString, VersionString) {} |
| 482 | 482 |
| 483 class ExtensionPrefsAcknowledgment : public ExtensionPrefsTest { | 483 class ExtensionPrefsAcknowledgment : public ExtensionPrefsTest { |
| 484 public: | 484 public: |
| 485 virtual void Initialize() { | 485 virtual void Initialize() OVERRIDE { |
| 486 not_installed_id_ = "pghjnghklobnfoidcldiidjjjhkeeaoi"; | 486 not_installed_id_ = "pghjnghklobnfoidcldiidjjjhkeeaoi"; |
| 487 | 487 |
| 488 // Install some extensions. | 488 // Install some extensions. |
| 489 for (int i = 0; i < 5; i++) { | 489 for (int i = 0; i < 5; i++) { |
| 490 std::string name = "test" + base::IntToString(i); | 490 std::string name = "test" + base::IntToString(i); |
| 491 extensions_.push_back(prefs_.AddExtension(name)); | 491 extensions_.push_back(prefs_.AddExtension(name)); |
| 492 } | 492 } |
| 493 EXPECT_EQ(NULL, | 493 EXPECT_EQ(NULL, |
| 494 prefs()->GetInstalledExtensionInfo(not_installed_id_).get()); | 494 prefs()->GetInstalledExtensionInfo(not_installed_id_).get()); |
| 495 | 495 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 508 } | 508 } |
| 509 } | 509 } |
| 510 // For each type of acknowledgment, acknowledge one installed and one | 510 // For each type of acknowledgment, acknowledge one installed and one |
| 511 // not-installed extension id. | 511 // not-installed extension id. |
| 512 prefs()->AcknowledgeExternalExtension(external_id_); | 512 prefs()->AcknowledgeExternalExtension(external_id_); |
| 513 prefs()->AcknowledgeBlacklistedExtension(blacklisted_id_); | 513 prefs()->AcknowledgeBlacklistedExtension(blacklisted_id_); |
| 514 prefs()->AcknowledgeExternalExtension(not_installed_id_); | 514 prefs()->AcknowledgeExternalExtension(not_installed_id_); |
| 515 prefs()->AcknowledgeBlacklistedExtension(not_installed_id_); | 515 prefs()->AcknowledgeBlacklistedExtension(not_installed_id_); |
| 516 } | 516 } |
| 517 | 517 |
| 518 virtual void Verify() { | 518 virtual void Verify() OVERRIDE { |
| 519 ExtensionList::const_iterator iter; | 519 ExtensionList::const_iterator iter; |
| 520 for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) { | 520 for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) { |
| 521 std::string id = (*iter)->id(); | 521 std::string id = (*iter)->id(); |
| 522 if (id == external_id_) { | 522 if (id == external_id_) { |
| 523 EXPECT_TRUE(prefs()->IsExternalExtensionAcknowledged(id)); | 523 EXPECT_TRUE(prefs()->IsExternalExtensionAcknowledged(id)); |
| 524 } else { | 524 } else { |
| 525 EXPECT_FALSE(prefs()->IsExternalExtensionAcknowledged(id)); | 525 EXPECT_FALSE(prefs()->IsExternalExtensionAcknowledged(id)); |
| 526 } | 526 } |
| 527 if (id == blacklisted_id_) { | 527 if (id == blacklisted_id_) { |
| 528 EXPECT_TRUE(prefs()->IsBlacklistedExtensionAcknowledged(id)); | 528 EXPECT_TRUE(prefs()->IsBlacklistedExtensionAcknowledged(id)); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 539 | 539 |
| 540 std::string not_installed_id_; | 540 std::string not_installed_id_; |
| 541 std::string external_id_; | 541 std::string external_id_; |
| 542 std::string blacklisted_id_; | 542 std::string blacklisted_id_; |
| 543 }; | 543 }; |
| 544 TEST_F(ExtensionPrefsAcknowledgment, Acknowledgment) {} | 544 TEST_F(ExtensionPrefsAcknowledgment, Acknowledgment) {} |
| 545 | 545 |
| 546 // Tests force hiding browser actions. | 546 // Tests force hiding browser actions. |
| 547 class ExtensionPrefsHidingBrowserActions : public ExtensionPrefsTest { | 547 class ExtensionPrefsHidingBrowserActions : public ExtensionPrefsTest { |
| 548 public: | 548 public: |
| 549 virtual void Initialize() { | 549 virtual void Initialize() OVERRIDE { |
| 550 // Install 5 extensions. | 550 // Install 5 extensions. |
| 551 for (int i = 0; i < 5; i++) { | 551 for (int i = 0; i < 5; i++) { |
| 552 std::string name = "test" + base::IntToString(i); | 552 std::string name = "test" + base::IntToString(i); |
| 553 extensions_.push_back(prefs_.AddExtension(name)); | 553 extensions_.push_back(prefs_.AddExtension(name)); |
| 554 } | 554 } |
| 555 | 555 |
| 556 ExtensionList::const_iterator iter; | 556 ExtensionList::const_iterator iter; |
| 557 for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) | 557 for (iter = extensions_.begin(); iter != extensions_.end(); ++iter) |
| 558 EXPECT_TRUE(prefs()->GetBrowserActionVisibility(*iter)); | 558 EXPECT_TRUE(prefs()->GetBrowserActionVisibility(*iter)); |
| 559 | 559 |
| 560 prefs()->SetBrowserActionVisibility(extensions_[0], false); | 560 prefs()->SetBrowserActionVisibility(extensions_[0], false); |
| 561 prefs()->SetBrowserActionVisibility(extensions_[1], true); | 561 prefs()->SetBrowserActionVisibility(extensions_[1], true); |
| 562 } | 562 } |
| 563 | 563 |
| 564 virtual void Verify() { | 564 virtual void Verify() OVERRIDE { |
| 565 // Make sure the one we hid is hidden. | 565 // Make sure the one we hid is hidden. |
| 566 EXPECT_FALSE(prefs()->GetBrowserActionVisibility(extensions_[0])); | 566 EXPECT_FALSE(prefs()->GetBrowserActionVisibility(extensions_[0])); |
| 567 | 567 |
| 568 // Make sure the other id's are not hidden. | 568 // Make sure the other id's are not hidden. |
| 569 ExtensionList::const_iterator iter = extensions_.begin() + 1; | 569 ExtensionList::const_iterator iter = extensions_.begin() + 1; |
| 570 for (; iter != extensions_.end(); ++iter) { | 570 for (; iter != extensions_.end(); ++iter) { |
| 571 SCOPED_TRACE(base::StringPrintf("Loop %d ", | 571 SCOPED_TRACE(base::StringPrintf("Loop %d ", |
| 572 static_cast<int>(iter - extensions_.begin()))); | 572 static_cast<int>(iter - extensions_.begin()))); |
| 573 EXPECT_TRUE(prefs()->GetBrowserActionVisibility(*iter)); | 573 EXPECT_TRUE(prefs()->GetBrowserActionVisibility(*iter)); |
| 574 } | 574 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 612 | 612 |
| 613 bool HasInfoForId(extensions::ExtensionPrefs::ExtensionsInfo* info, | 613 bool HasInfoForId(extensions::ExtensionPrefs::ExtensionsInfo* info, |
| 614 const std::string& id) { | 614 const std::string& id) { |
| 615 for (size_t i = 0; i < info->size(); ++i) { | 615 for (size_t i = 0; i < info->size(); ++i) { |
| 616 if (info->at(i)->extension_id == id) | 616 if (info->at(i)->extension_id == id) |
| 617 return true; | 617 return true; |
| 618 } | 618 } |
| 619 return false; | 619 return false; |
| 620 } | 620 } |
| 621 | 621 |
| 622 virtual void Initialize() { | 622 virtual void Initialize() OVERRIDE { |
| 623 PathService::Get(chrome::DIR_TEST_DATA, &basedir_); | 623 PathService::Get(chrome::DIR_TEST_DATA, &basedir_); |
| 624 now_ = Time::Now(); | 624 now_ = Time::Now(); |
| 625 id1_ = prefs_.AddExtensionAndReturnId("1"); | 625 id1_ = prefs_.AddExtensionAndReturnId("1"); |
| 626 id2_ = prefs_.AddExtensionAndReturnId("2"); | 626 id2_ = prefs_.AddExtensionAndReturnId("2"); |
| 627 id3_ = prefs_.AddExtensionAndReturnId("3"); | 627 id3_ = prefs_.AddExtensionAndReturnId("3"); |
| 628 id4_ = prefs_.AddExtensionAndReturnId("4"); | 628 id4_ = prefs_.AddExtensionAndReturnId("4"); |
| 629 | 629 |
| 630 // Set info for two extensions, then remove it. | 630 // Set info for two extensions, then remove it. |
| 631 SetIdleInfo(id1_, 1); | 631 SetIdleInfo(id1_, 1); |
| 632 SetIdleInfo(id2_, 2); | 632 SetIdleInfo(id2_, 2); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 655 SetIdleInfo(id2_, 2); | 655 SetIdleInfo(id2_, 2); |
| 656 SetIdleInfo(id3_, 3); | 656 SetIdleInfo(id3_, 3); |
| 657 SetIdleInfo(id4_, 4); | 657 SetIdleInfo(id4_, 4); |
| 658 VerifyIdleInfo(id1_, 1); | 658 VerifyIdleInfo(id1_, 1); |
| 659 VerifyIdleInfo(id2_, 2); | 659 VerifyIdleInfo(id2_, 2); |
| 660 VerifyIdleInfo(id3_, 3); | 660 VerifyIdleInfo(id3_, 3); |
| 661 VerifyIdleInfo(id4_, 4); | 661 VerifyIdleInfo(id4_, 4); |
| 662 prefs()->RemoveDelayedInstallInfo(id3_); | 662 prefs()->RemoveDelayedInstallInfo(id3_); |
| 663 } | 663 } |
| 664 | 664 |
| 665 virtual void Verify() { | 665 virtual void Verify() OVERRIDE { |
| 666 // Make sure the info for the 3 extensions we expect is present. | 666 // Make sure the info for the 3 extensions we expect is present. |
| 667 scoped_ptr<extensions::ExtensionPrefs::ExtensionsInfo> info( | 667 scoped_ptr<extensions::ExtensionPrefs::ExtensionsInfo> info( |
| 668 prefs()->GetAllDelayedInstallInfo()); | 668 prefs()->GetAllDelayedInstallInfo()); |
| 669 EXPECT_EQ(3u, info->size()); | 669 EXPECT_EQ(3u, info->size()); |
| 670 EXPECT_TRUE(HasInfoForId(info.get(), id1_)); | 670 EXPECT_TRUE(HasInfoForId(info.get(), id1_)); |
| 671 EXPECT_TRUE(HasInfoForId(info.get(), id2_)); | 671 EXPECT_TRUE(HasInfoForId(info.get(), id2_)); |
| 672 EXPECT_TRUE(HasInfoForId(info.get(), id4_)); | 672 EXPECT_TRUE(HasInfoForId(info.get(), id4_)); |
| 673 VerifyIdleInfo(id1_, 1); | 673 VerifyIdleInfo(id1_, 1); |
| 674 VerifyIdleInfo(id2_, 2); | 674 VerifyIdleInfo(id2_, 2); |
| 675 VerifyIdleInfo(id4_, 4); | 675 VerifyIdleInfo(id4_, 4); |
| 676 | 676 |
| 677 // Make sure there isn't info the for the one extension id we removed. | 677 // Make sure there isn't info the for the one extension id we removed. |
| 678 EXPECT_FALSE(prefs()->GetDelayedInstallInfo(id3_)); | 678 EXPECT_FALSE(prefs()->GetDelayedInstallInfo(id3_)); |
| 679 } | 679 } |
| 680 | 680 |
| 681 protected: | 681 protected: |
| 682 Time now_; | 682 Time now_; |
| 683 FilePath basedir_; | 683 FilePath basedir_; |
| 684 std::string id1_; | 684 std::string id1_; |
| 685 std::string id2_; | 685 std::string id2_; |
| 686 std::string id3_; | 686 std::string id3_; |
| 687 std::string id4_; | 687 std::string id4_; |
| 688 }; | 688 }; |
| 689 TEST_F(ExtensionPrefsDelayedInstallInfo, DelayedInstallInfo) {} | 689 TEST_F(ExtensionPrefsDelayedInstallInfo, DelayedInstallInfo) {} |
| 690 | 690 |
| 691 class ExtensionPrefsOnExtensionInstalled : public ExtensionPrefsTest { | 691 class ExtensionPrefsOnExtensionInstalled : public ExtensionPrefsTest { |
| 692 public: | 692 public: |
| 693 virtual void Initialize() { | 693 virtual void Initialize() OVERRIDE { |
| 694 extension_ = prefs_.AddExtension("on_extension_installed"); | 694 extension_ = prefs_.AddExtension("on_extension_installed"); |
| 695 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); | 695 EXPECT_FALSE(prefs()->IsExtensionDisabled(extension_->id())); |
| 696 prefs()->OnExtensionInstalled( | 696 prefs()->OnExtensionInstalled( |
| 697 extension_.get(), Extension::DISABLED, | 697 extension_.get(), Extension::DISABLED, |
| 698 syncer::StringOrdinal()); | 698 syncer::StringOrdinal()); |
| 699 } | 699 } |
| 700 | 700 |
| 701 virtual void Verify() { | 701 virtual void Verify() OVERRIDE { |
| 702 EXPECT_TRUE(prefs()->IsExtensionDisabled(extension_->id())); | 702 EXPECT_TRUE(prefs()->IsExtensionDisabled(extension_->id())); |
| 703 } | 703 } |
| 704 | 704 |
| 705 private: | 705 private: |
| 706 scoped_refptr<Extension> extension_; | 706 scoped_refptr<Extension> extension_; |
| 707 }; | 707 }; |
| 708 TEST_F(ExtensionPrefsOnExtensionInstalled, | 708 TEST_F(ExtensionPrefsOnExtensionInstalled, |
| 709 ExtensionPrefsOnExtensionInstalled) {} | 709 ExtensionPrefsOnExtensionInstalled) {} |
| 710 | 710 |
| 711 class ExtensionPrefsAppDraggedByUser : public ExtensionPrefsTest { | 711 class ExtensionPrefsAppDraggedByUser : public ExtensionPrefsTest { |
| 712 public: | 712 public: |
| 713 virtual void Initialize() { | 713 virtual void Initialize() OVERRIDE { |
| 714 extension_ = prefs_.AddExtension("on_extension_installed"); | 714 extension_ = prefs_.AddExtension("on_extension_installed"); |
| 715 EXPECT_FALSE(prefs()->WasAppDraggedByUser(extension_->id())); | 715 EXPECT_FALSE(prefs()->WasAppDraggedByUser(extension_->id())); |
| 716 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED, | 716 prefs()->OnExtensionInstalled(extension_.get(), Extension::ENABLED, |
| 717 syncer::StringOrdinal()); | 717 syncer::StringOrdinal()); |
| 718 } | 718 } |
| 719 | 719 |
| 720 virtual void Verify() { | 720 virtual void Verify() OVERRIDE { |
| 721 // Set the flag and see if it persisted. | 721 // Set the flag and see if it persisted. |
| 722 prefs()->SetAppDraggedByUser(extension_->id()); | 722 prefs()->SetAppDraggedByUser(extension_->id()); |
| 723 EXPECT_TRUE(prefs()->WasAppDraggedByUser(extension_->id())); | 723 EXPECT_TRUE(prefs()->WasAppDraggedByUser(extension_->id())); |
| 724 | 724 |
| 725 // Make sure it doesn't change on consecutive calls. | 725 // Make sure it doesn't change on consecutive calls. |
| 726 prefs()->SetAppDraggedByUser(extension_->id()); | 726 prefs()->SetAppDraggedByUser(extension_->id()); |
| 727 EXPECT_TRUE(prefs()->WasAppDraggedByUser(extension_->id())); | 727 EXPECT_TRUE(prefs()->WasAppDraggedByUser(extension_->id())); |
| 728 } | 728 } |
| 729 | 729 |
| 730 private: | 730 private: |
| 731 scoped_refptr<Extension> extension_; | 731 scoped_refptr<Extension> extension_; |
| 732 }; | 732 }; |
| 733 TEST_F(ExtensionPrefsAppDraggedByUser, ExtensionPrefsAppDraggedByUser) {} | 733 TEST_F(ExtensionPrefsAppDraggedByUser, ExtensionPrefsAppDraggedByUser) {} |
| 734 | 734 |
| 735 class ExtensionPrefsFlags : public ExtensionPrefsTest { | 735 class ExtensionPrefsFlags : public ExtensionPrefsTest { |
| 736 public: | 736 public: |
| 737 virtual void Initialize() { | 737 virtual void Initialize() OVERRIDE { |
| 738 { | 738 { |
| 739 base::DictionaryValue dictionary; | 739 base::DictionaryValue dictionary; |
| 740 dictionary.SetString(extension_manifest_keys::kName, "from_webstore"); | 740 dictionary.SetString(extension_manifest_keys::kName, "from_webstore"); |
| 741 dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); | 741 dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); |
| 742 webstore_extension_ = prefs_.AddExtensionWithManifestAndFlags( | 742 webstore_extension_ = prefs_.AddExtensionWithManifestAndFlags( |
| 743 dictionary, Manifest::INTERNAL, Extension::FROM_WEBSTORE); | 743 dictionary, Manifest::INTERNAL, Extension::FROM_WEBSTORE); |
| 744 } | 744 } |
| 745 | 745 |
| 746 { | 746 { |
| 747 base::DictionaryValue dictionary; | 747 base::DictionaryValue dictionary; |
| 748 dictionary.SetString(extension_manifest_keys::kName, "from_bookmark"); | 748 dictionary.SetString(extension_manifest_keys::kName, "from_bookmark"); |
| 749 dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); | 749 dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); |
| 750 bookmark_extension_ = prefs_.AddExtensionWithManifestAndFlags( | 750 bookmark_extension_ = prefs_.AddExtensionWithManifestAndFlags( |
| 751 dictionary, Manifest::INTERNAL, Extension::FROM_BOOKMARK); | 751 dictionary, Manifest::INTERNAL, Extension::FROM_BOOKMARK); |
| 752 } | 752 } |
| 753 | 753 |
| 754 { | 754 { |
| 755 base::DictionaryValue dictionary; | 755 base::DictionaryValue dictionary; |
| 756 dictionary.SetString(extension_manifest_keys::kName, | 756 dictionary.SetString(extension_manifest_keys::kName, |
| 757 "was_installed_by_default"); | 757 "was_installed_by_default"); |
| 758 dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); | 758 dictionary.SetString(extension_manifest_keys::kVersion, "0.1"); |
| 759 default_extension_ = prefs_.AddExtensionWithManifestAndFlags( | 759 default_extension_ = prefs_.AddExtensionWithManifestAndFlags( |
| 760 dictionary, | 760 dictionary, |
| 761 Manifest::INTERNAL, | 761 Manifest::INTERNAL, |
| 762 Extension::WAS_INSTALLED_BY_DEFAULT); | 762 Extension::WAS_INSTALLED_BY_DEFAULT); |
| 763 } | 763 } |
| 764 } | 764 } |
| 765 | 765 |
| 766 virtual void Verify() { | 766 virtual void Verify() OVERRIDE { |
| 767 EXPECT_TRUE(prefs()->IsFromWebStore(webstore_extension_->id())); | 767 EXPECT_TRUE(prefs()->IsFromWebStore(webstore_extension_->id())); |
| 768 EXPECT_FALSE(prefs()->IsFromBookmark(webstore_extension_->id())); | 768 EXPECT_FALSE(prefs()->IsFromBookmark(webstore_extension_->id())); |
| 769 | 769 |
| 770 EXPECT_TRUE(prefs()->IsFromBookmark(bookmark_extension_->id())); | 770 EXPECT_TRUE(prefs()->IsFromBookmark(bookmark_extension_->id())); |
| 771 EXPECT_FALSE(prefs()->IsFromWebStore(bookmark_extension_->id())); | 771 EXPECT_FALSE(prefs()->IsFromWebStore(bookmark_extension_->id())); |
| 772 | 772 |
| 773 EXPECT_TRUE(prefs()->WasInstalledByDefault(default_extension_->id())); | 773 EXPECT_TRUE(prefs()->WasInstalledByDefault(default_extension_->id())); |
| 774 } | 774 } |
| 775 | 775 |
| 776 private: | 776 private: |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 886 if (extensions[i]->id() == extension_id) { | 886 if (extensions[i]->id() == extension_id) { |
| 887 installed[i] = false; | 887 installed[i] = false; |
| 888 break; | 888 break; |
| 889 } | 889 } |
| 890 } | 890 } |
| 891 prefs()->OnExtensionUninstalled(extension_id, Manifest::INTERNAL, false); | 891 prefs()->OnExtensionUninstalled(extension_id, Manifest::INTERNAL, false); |
| 892 } | 892 } |
| 893 | 893 |
| 894 class ExtensionPrefsInstallOneExtension | 894 class ExtensionPrefsInstallOneExtension |
| 895 : public ExtensionPrefsPrepopulatedTest { | 895 : public ExtensionPrefsPrepopulatedTest { |
| 896 virtual void Initialize() { | 896 virtual void Initialize() OVERRIDE { |
| 897 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 897 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 898 } | 898 } |
| 899 virtual void Verify() { | 899 virtual void Verify() OVERRIDE { |
| 900 std::string actual = prefs()->pref_service()->GetString(kPref1); | 900 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 901 EXPECT_EQ("val1", actual); | 901 EXPECT_EQ("val1", actual); |
| 902 } | 902 } |
| 903 }; | 903 }; |
| 904 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} | 904 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} |
| 905 | 905 |
| 906 // Check that we do not forget persistent incognito values after a reload. | 906 // Check that we do not forget persistent incognito values after a reload. |
| 907 class ExtensionPrefsInstallIncognitoPersistent | 907 class ExtensionPrefsInstallIncognitoPersistent |
| 908 : public ExtensionPrefsPrepopulatedTest { | 908 : public ExtensionPrefsPrepopulatedTest { |
| 909 public: | 909 public: |
| 910 virtual void Initialize() { | 910 virtual void Initialize() OVERRIDE { |
| 911 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 911 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 912 InstallExtControlledPrefIncognito(ext1_, kPref1, | 912 InstallExtControlledPrefIncognito(ext1_, kPref1, |
| 913 Value::CreateStringValue("val2")); | 913 Value::CreateStringValue("val2")); |
| 914 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); | 914 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| 915 std::string actual = incog_prefs->GetString(kPref1); | 915 std::string actual = incog_prefs->GetString(kPref1); |
| 916 EXPECT_EQ("val2", actual); | 916 EXPECT_EQ("val2", actual); |
| 917 } | 917 } |
| 918 virtual void Verify() { | 918 virtual void Verify() OVERRIDE { |
| 919 // Main pref service shall see only non-incognito settings. | 919 // Main pref service shall see only non-incognito settings. |
| 920 std::string actual = prefs()->pref_service()->GetString(kPref1); | 920 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 921 EXPECT_EQ("val1", actual); | 921 EXPECT_EQ("val1", actual); |
| 922 // Incognito pref service shall see incognito values. | 922 // Incognito pref service shall see incognito values. |
| 923 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); | 923 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| 924 actual = incog_prefs->GetString(kPref1); | 924 actual = incog_prefs->GetString(kPref1); |
| 925 EXPECT_EQ("val2", actual); | 925 EXPECT_EQ("val2", actual); |
| 926 } | 926 } |
| 927 }; | 927 }; |
| 928 TEST_F(ExtensionPrefsInstallIncognitoPersistent, | 928 TEST_F(ExtensionPrefsInstallIncognitoPersistent, |
| 929 ExtensionPrefsInstallOneExtension) {} | 929 ExtensionPrefsInstallOneExtension) {} |
| 930 | 930 |
| 931 // Check that we forget 'session only' incognito values after a reload. | 931 // Check that we forget 'session only' incognito values after a reload. |
| 932 class ExtensionPrefsInstallIncognitoSessionOnly | 932 class ExtensionPrefsInstallIncognitoSessionOnly |
| 933 : public ExtensionPrefsPrepopulatedTest { | 933 : public ExtensionPrefsPrepopulatedTest { |
| 934 public: | 934 public: |
| 935 ExtensionPrefsInstallIncognitoSessionOnly() : iteration_(0) {} | 935 ExtensionPrefsInstallIncognitoSessionOnly() : iteration_(0) {} |
| 936 | 936 |
| 937 virtual void Initialize() { | 937 virtual void Initialize() OVERRIDE { |
| 938 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 938 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 939 InstallExtControlledPrefIncognitoSessionOnly( | 939 InstallExtControlledPrefIncognitoSessionOnly( |
| 940 ext1_, kPref1, Value::CreateStringValue("val2")); | 940 ext1_, kPref1, Value::CreateStringValue("val2")); |
| 941 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); | 941 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| 942 std::string actual = incog_prefs->GetString(kPref1); | 942 std::string actual = incog_prefs->GetString(kPref1); |
| 943 EXPECT_EQ("val2", actual); | 943 EXPECT_EQ("val2", actual); |
| 944 } | 944 } |
| 945 virtual void Verify() { | 945 virtual void Verify() OVERRIDE { |
| 946 // Main pref service shall see only non-incognito settings. | 946 // Main pref service shall see only non-incognito settings. |
| 947 std::string actual = prefs()->pref_service()->GetString(kPref1); | 947 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 948 EXPECT_EQ("val1", actual); | 948 EXPECT_EQ("val1", actual); |
| 949 // Incognito pref service shall see session-only incognito values only | 949 // Incognito pref service shall see session-only incognito values only |
| 950 // during first run. Once the pref service was reloaded, all values shall be | 950 // during first run. Once the pref service was reloaded, all values shall be |
| 951 // discarded. | 951 // discarded. |
| 952 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); | 952 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| 953 actual = incog_prefs->GetString(kPref1); | 953 actual = incog_prefs->GetString(kPref1); |
| 954 if (iteration_ == 0) { | 954 if (iteration_ == 0) { |
| 955 EXPECT_EQ("val2", actual); | 955 EXPECT_EQ("val2", actual); |
| 956 } else { | 956 } else { |
| 957 EXPECT_EQ("val1", actual); | 957 EXPECT_EQ("val1", actual); |
| 958 } | 958 } |
| 959 ++iteration_; | 959 ++iteration_; |
| 960 } | 960 } |
| 961 int iteration_; | 961 int iteration_; |
| 962 }; | 962 }; |
| 963 TEST_F(ExtensionPrefsInstallIncognitoSessionOnly, | 963 TEST_F(ExtensionPrefsInstallIncognitoSessionOnly, |
| 964 ExtensionPrefsInstallOneExtension) {} | 964 ExtensionPrefsInstallOneExtension) {} |
| 965 | 965 |
| 966 class ExtensionPrefsUninstallExtension : public ExtensionPrefsPrepopulatedTest { | 966 class ExtensionPrefsUninstallExtension : public ExtensionPrefsPrepopulatedTest { |
| 967 virtual void Initialize() { | 967 virtual void Initialize() OVERRIDE { |
| 968 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 968 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 969 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2")); | 969 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2")); |
| 970 ContentSettingsStore* store = prefs()->content_settings_store(); | 970 ContentSettingsStore* store = prefs()->content_settings_store(); |
| 971 ContentSettingsPattern pattern = | 971 ContentSettingsPattern pattern = |
| 972 ContentSettingsPattern::FromString("http://[*.]example.com"); | 972 ContentSettingsPattern::FromString("http://[*.]example.com"); |
| 973 store->SetExtensionContentSetting(ext1_->id(), | 973 store->SetExtensionContentSetting(ext1_->id(), |
| 974 pattern, pattern, | 974 pattern, pattern, |
| 975 CONTENT_SETTINGS_TYPE_IMAGES, | 975 CONTENT_SETTINGS_TYPE_IMAGES, |
| 976 std::string(), | 976 std::string(), |
| 977 CONTENT_SETTING_BLOCK, | 977 CONTENT_SETTING_BLOCK, |
| 978 kExtensionPrefsScopeRegular); | 978 kExtensionPrefsScopeRegular); |
| 979 | 979 |
| 980 UninstallExtension(ext1_->id()); | 980 UninstallExtension(ext1_->id()); |
| 981 } | 981 } |
| 982 virtual void Verify() { | 982 virtual void Verify() OVERRIDE { |
| 983 EXPECT_EQ(NULL, prefs()->GetExtensionPref(ext1_->id())); | 983 EXPECT_EQ(NULL, prefs()->GetExtensionPref(ext1_->id())); |
| 984 | 984 |
| 985 std::string actual; | 985 std::string actual; |
| 986 actual = prefs()->pref_service()->GetString(kPref1); | 986 actual = prefs()->pref_service()->GetString(kPref1); |
| 987 EXPECT_EQ(kDefaultPref1, actual); | 987 EXPECT_EQ(kDefaultPref1, actual); |
| 988 actual = prefs()->pref_service()->GetString(kPref2); | 988 actual = prefs()->pref_service()->GetString(kPref2); |
| 989 EXPECT_EQ(kDefaultPref2, actual); | 989 EXPECT_EQ(kDefaultPref2, actual); |
| 990 } | 990 } |
| 991 }; | 991 }; |
| 992 TEST_F(ExtensionPrefsUninstallExtension, | 992 TEST_F(ExtensionPrefsUninstallExtension, |
| 993 ExtensionPrefsUninstallExtension) {} | 993 ExtensionPrefsUninstallExtension) {} |
| 994 | 994 |
| 995 // Tests triggering of notifications to registered observers. | 995 // Tests triggering of notifications to registered observers. |
| 996 class ExtensionPrefsNotifyWhenNeeded : public ExtensionPrefsPrepopulatedTest { | 996 class ExtensionPrefsNotifyWhenNeeded : public ExtensionPrefsPrepopulatedTest { |
| 997 virtual void Initialize() { | 997 virtual void Initialize() OVERRIDE { |
| 998 using testing::_; | 998 using testing::_; |
| 999 using testing::Mock; | 999 using testing::Mock; |
| 1000 using testing::StrEq; | 1000 using testing::StrEq; |
| 1001 | 1001 |
| 1002 MockPrefChangeCallback observer(prefs()->pref_service()); | 1002 MockPrefChangeCallback observer(prefs()->pref_service()); |
| 1003 PrefChangeRegistrar registrar; | 1003 PrefChangeRegistrar registrar; |
| 1004 registrar.Init(prefs()->pref_service()); | 1004 registrar.Init(prefs()->pref_service()); |
| 1005 registrar.Add(kPref1, observer.GetCallback()); | 1005 registrar.Add(kPref1, observer.GetCallback()); |
| 1006 | 1006 |
| 1007 MockPrefChangeCallback incognito_observer(prefs()->pref_service()); | 1007 MockPrefChangeCallback incognito_observer(prefs()->pref_service()); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1053 // Uninstall. | 1053 // Uninstall. |
| 1054 EXPECT_CALL(observer, OnPreferenceChanged(_)); | 1054 EXPECT_CALL(observer, OnPreferenceChanged(_)); |
| 1055 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); | 1055 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); |
| 1056 UninstallExtension(ext1_->id()); | 1056 UninstallExtension(ext1_->id()); |
| 1057 Mock::VerifyAndClearExpectations(&observer); | 1057 Mock::VerifyAndClearExpectations(&observer); |
| 1058 Mock::VerifyAndClearExpectations(&incognito_observer); | 1058 Mock::VerifyAndClearExpectations(&incognito_observer); |
| 1059 | 1059 |
| 1060 registrar.Remove(kPref1); | 1060 registrar.Remove(kPref1); |
| 1061 incognito_registrar.Remove(kPref1); | 1061 incognito_registrar.Remove(kPref1); |
| 1062 } | 1062 } |
| 1063 virtual void Verify() { | 1063 virtual void Verify() OVERRIDE { |
| 1064 std::string actual = prefs()->pref_service()->GetString(kPref1); | 1064 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 1065 EXPECT_EQ(kDefaultPref1, actual); | 1065 EXPECT_EQ(kDefaultPref1, actual); |
| 1066 } | 1066 } |
| 1067 }; | 1067 }; |
| 1068 TEST_F(ExtensionPrefsNotifyWhenNeeded, | 1068 TEST_F(ExtensionPrefsNotifyWhenNeeded, |
| 1069 ExtensionPrefsNotifyWhenNeeded) {} | 1069 ExtensionPrefsNotifyWhenNeeded) {} |
| 1070 | 1070 |
| 1071 // Tests disabling an extension. | 1071 // Tests disabling an extension. |
| 1072 class ExtensionPrefsDisableExt : public ExtensionPrefsPrepopulatedTest { | 1072 class ExtensionPrefsDisableExt : public ExtensionPrefsPrepopulatedTest { |
| 1073 virtual void Initialize() { | 1073 virtual void Initialize() OVERRIDE { |
| 1074 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 1074 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 1075 std::string actual = prefs()->pref_service()->GetString(kPref1); | 1075 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 1076 EXPECT_EQ("val1", actual); | 1076 EXPECT_EQ("val1", actual); |
| 1077 prefs()->SetExtensionState(ext1_->id(), Extension::DISABLED); | 1077 prefs()->SetExtensionState(ext1_->id(), Extension::DISABLED); |
| 1078 } | 1078 } |
| 1079 virtual void Verify() { | 1079 virtual void Verify() OVERRIDE { |
| 1080 std::string actual = prefs()->pref_service()->GetString(kPref1); | 1080 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 1081 EXPECT_EQ(kDefaultPref1, actual); | 1081 EXPECT_EQ(kDefaultPref1, actual); |
| 1082 } | 1082 } |
| 1083 }; | 1083 }; |
| 1084 TEST_F(ExtensionPrefsDisableExt, ExtensionPrefsDisableExt) {} | 1084 TEST_F(ExtensionPrefsDisableExt, ExtensionPrefsDisableExt) {} |
| 1085 | 1085 |
| 1086 // Tests disabling and reenabling an extension. | 1086 // Tests disabling and reenabling an extension. |
| 1087 class ExtensionPrefsReenableExt : public ExtensionPrefsPrepopulatedTest { | 1087 class ExtensionPrefsReenableExt : public ExtensionPrefsPrepopulatedTest { |
| 1088 virtual void Initialize() { | 1088 virtual void Initialize() OVERRIDE { |
| 1089 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 1089 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 1090 prefs()->SetExtensionState(ext1_->id(), Extension::DISABLED); | 1090 prefs()->SetExtensionState(ext1_->id(), Extension::DISABLED); |
| 1091 prefs()->SetExtensionState(ext1_->id(), Extension::ENABLED); | 1091 prefs()->SetExtensionState(ext1_->id(), Extension::ENABLED); |
| 1092 } | 1092 } |
| 1093 virtual void Verify() { | 1093 virtual void Verify() OVERRIDE { |
| 1094 std::string actual = prefs()->pref_service()->GetString(kPref1); | 1094 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 1095 EXPECT_EQ("val1", actual); | 1095 EXPECT_EQ("val1", actual); |
| 1096 } | 1096 } |
| 1097 }; | 1097 }; |
| 1098 TEST_F(ExtensionPrefsDisableExt, ExtensionPrefsReenableExt) {} | 1098 TEST_F(ExtensionPrefsDisableExt, ExtensionPrefsReenableExt) {} |
| 1099 | 1099 |
| 1100 // Mock class to test whether objects are deleted correctly. | 1100 // Mock class to test whether objects are deleted correctly. |
| 1101 class MockStringValue : public StringValue { | 1101 class MockStringValue : public StringValue { |
| 1102 public: | 1102 public: |
| 1103 explicit MockStringValue(const std::string& in_value) | 1103 explicit MockStringValue(const std::string& in_value) |
| 1104 : StringValue(in_value) { | 1104 : StringValue(in_value) { |
| 1105 } | 1105 } |
| 1106 virtual ~MockStringValue() { | 1106 virtual ~MockStringValue() { |
| 1107 Die(); | 1107 Die(); |
| 1108 } | 1108 } |
| 1109 MOCK_METHOD0(Die, void()); | 1109 MOCK_METHOD0(Die, void()); |
| 1110 }; | 1110 }; |
| 1111 | 1111 |
| 1112 class ExtensionPrefsSetExtensionControlledPref | 1112 class ExtensionPrefsSetExtensionControlledPref |
| 1113 : public ExtensionPrefsPrepopulatedTest { | 1113 : public ExtensionPrefsPrepopulatedTest { |
| 1114 public: | 1114 public: |
| 1115 virtual void Initialize() { | 1115 virtual void Initialize() OVERRIDE { |
| 1116 MockStringValue* v1 = new MockStringValue("https://www.chromium.org"); | 1116 MockStringValue* v1 = new MockStringValue("https://www.chromium.org"); |
| 1117 MockStringValue* v2 = new MockStringValue("https://www.chromium.org"); | 1117 MockStringValue* v2 = new MockStringValue("https://www.chromium.org"); |
| 1118 MockStringValue* v1i = new MockStringValue("https://www.chromium.org"); | 1118 MockStringValue* v1i = new MockStringValue("https://www.chromium.org"); |
| 1119 MockStringValue* v2i = new MockStringValue("https://www.chromium.org"); | 1119 MockStringValue* v2i = new MockStringValue("https://www.chromium.org"); |
| 1120 // Ownership is taken, value shall not be deleted. | 1120 // Ownership is taken, value shall not be deleted. |
| 1121 EXPECT_CALL(*v1, Die()).Times(0); | 1121 EXPECT_CALL(*v1, Die()).Times(0); |
| 1122 EXPECT_CALL(*v1i, Die()).Times(0); | 1122 EXPECT_CALL(*v1i, Die()).Times(0); |
| 1123 InstallExtControlledPref(ext1_, kPref1, v1); | 1123 InstallExtControlledPref(ext1_, kPref1, v1); |
| 1124 InstallExtControlledPrefIncognito(ext1_, kPref1, v1i); | 1124 InstallExtControlledPrefIncognito(ext1_, kPref1, v1i); |
| 1125 testing::Mock::VerifyAndClearExpectations(v1); | 1125 testing::Mock::VerifyAndClearExpectations(v1); |
| 1126 testing::Mock::VerifyAndClearExpectations(v1i); | 1126 testing::Mock::VerifyAndClearExpectations(v1i); |
| 1127 // Make sure there is no memory leak and both values are deleted. | 1127 // Make sure there is no memory leak and both values are deleted. |
| 1128 EXPECT_CALL(*v1, Die()).Times(1); | 1128 EXPECT_CALL(*v1, Die()).Times(1); |
| 1129 EXPECT_CALL(*v1i, Die()).Times(1); | 1129 EXPECT_CALL(*v1i, Die()).Times(1); |
| 1130 EXPECT_CALL(*v2, Die()).Times(1); | 1130 EXPECT_CALL(*v2, Die()).Times(1); |
| 1131 EXPECT_CALL(*v2i, Die()).Times(1); | 1131 EXPECT_CALL(*v2i, Die()).Times(1); |
| 1132 InstallExtControlledPref(ext1_, kPref1, v2); | 1132 InstallExtControlledPref(ext1_, kPref1, v2); |
| 1133 InstallExtControlledPrefIncognito(ext1_, kPref1, v2i); | 1133 InstallExtControlledPrefIncognito(ext1_, kPref1, v2i); |
| 1134 prefs_.RecreateExtensionPrefs(); | 1134 prefs_.RecreateExtensionPrefs(); |
| 1135 testing::Mock::VerifyAndClearExpectations(v1); | 1135 testing::Mock::VerifyAndClearExpectations(v1); |
| 1136 testing::Mock::VerifyAndClearExpectations(v1i); | 1136 testing::Mock::VerifyAndClearExpectations(v1i); |
| 1137 testing::Mock::VerifyAndClearExpectations(v2); | 1137 testing::Mock::VerifyAndClearExpectations(v2); |
| 1138 testing::Mock::VerifyAndClearExpectations(v2i); | 1138 testing::Mock::VerifyAndClearExpectations(v2i); |
| 1139 } | 1139 } |
| 1140 | 1140 |
| 1141 virtual void Verify() { | 1141 virtual void Verify() OVERRIDE { |
| 1142 } | 1142 } |
| 1143 }; | 1143 }; |
| 1144 TEST_F(ExtensionPrefsSetExtensionControlledPref, | 1144 TEST_F(ExtensionPrefsSetExtensionControlledPref, |
| 1145 ExtensionPrefsSetExtensionControlledPref) {} | 1145 ExtensionPrefsSetExtensionControlledPref) {} |
| 1146 | 1146 |
| 1147 // Tests that the switches::kDisableExtensions command-line flag prevents | 1147 // Tests that the switches::kDisableExtensions command-line flag prevents |
| 1148 // extension controlled preferences from being enacted. | 1148 // extension controlled preferences from being enacted. |
| 1149 class ExtensionPrefsDisableExtensions : public ExtensionPrefsPrepopulatedTest { | 1149 class ExtensionPrefsDisableExtensions : public ExtensionPrefsPrepopulatedTest { |
| 1150 public: | 1150 public: |
| 1151 ExtensionPrefsDisableExtensions() | 1151 ExtensionPrefsDisableExtensions() |
| 1152 : iteration_(0) {} | 1152 : iteration_(0) {} |
| 1153 virtual ~ExtensionPrefsDisableExtensions() {} | 1153 virtual ~ExtensionPrefsDisableExtensions() {} |
| 1154 virtual void Initialize() { | 1154 virtual void Initialize() OVERRIDE { |
| 1155 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 1155 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| 1156 // This becomes only active in the second verification phase. | 1156 // This becomes only active in the second verification phase. |
| 1157 prefs_.set_extensions_disabled(true); | 1157 prefs_.set_extensions_disabled(true); |
| 1158 } | 1158 } |
| 1159 virtual void Verify() { | 1159 virtual void Verify() OVERRIDE { |
| 1160 std::string actual = prefs()->pref_service()->GetString(kPref1); | 1160 std::string actual = prefs()->pref_service()->GetString(kPref1); |
| 1161 if (iteration_ == 0) { | 1161 if (iteration_ == 0) { |
| 1162 EXPECT_EQ("val1", actual); | 1162 EXPECT_EQ("val1", actual); |
| 1163 ++iteration_; | 1163 ++iteration_; |
| 1164 } else { | 1164 } else { |
| 1165 EXPECT_EQ(kDefaultPref1, actual); | 1165 EXPECT_EQ(kDefaultPref1, actual); |
| 1166 } | 1166 } |
| 1167 } | 1167 } |
| 1168 | 1168 |
| 1169 private: | 1169 private: |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1244 | 1244 |
| 1245 private: | 1245 private: |
| 1246 scoped_refptr<const Extension> extension_a_; | 1246 scoped_refptr<const Extension> extension_a_; |
| 1247 scoped_refptr<const Extension> extension_b_; | 1247 scoped_refptr<const Extension> extension_b_; |
| 1248 scoped_refptr<const Extension> extension_c_; | 1248 scoped_refptr<const Extension> extension_c_; |
| 1249 }; | 1249 }; |
| 1250 TEST_F(ExtensionPrefsBlacklistedExtensions, | 1250 TEST_F(ExtensionPrefsBlacklistedExtensions, |
| 1251 ExtensionPrefsBlacklistedExtensions) {} | 1251 ExtensionPrefsBlacklistedExtensions) {} |
| 1252 | 1252 |
| 1253 } // namespace extensions | 1253 } // namespace extensions |
| OLD | NEW |