Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: chrome/browser/extensions/api/idle/idle_api_unittest.cc

Issue 275383002: Use ExtensionRegistryObserver instead of deprecated extension notification from c/b/e/api. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/api/idle/idle_api.h" 5 #include "chrome/browser/extensions/api/idle/idle_api.h"
6 6
7 #include <limits.h> 7 #include <limits.h>
8 #include <string> 8 #include <string>
9 9
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
11 #include "chrome/browser/chrome_notification_types.h" 11 #include "chrome/browser/chrome_notification_types.h"
12 #include "chrome/browser/extensions/api/idle/idle_api_constants.h" 12 #include "chrome/browser/extensions/api/idle/idle_api_constants.h"
13 #include "chrome/browser/extensions/api/idle/idle_manager.h" 13 #include "chrome/browser/extensions/api/idle/idle_manager.h"
14 #include "chrome/browser/extensions/api/idle/idle_manager_factory.h" 14 #include "chrome/browser/extensions/api/idle/idle_manager_factory.h"
15 #include "chrome/browser/extensions/extension_api_unittest.h" 15 #include "chrome/browser/extensions/extension_api_unittest.h"
16 #include "chrome/common/extensions/api/idle.h" 16 #include "chrome/common/extensions/api/idle.h"
17 #include "content/public/browser/notification_details.h" 17 #include "content/public/browser/notification_details.h"
18 #include "content/public/browser/notification_source.h" 18 #include "content/public/browser/notification_source.h"
19 #include "extensions/browser/event_router.h" 19 #include "extensions/browser/event_router.h"
20 #include "extensions/browser/extension_registry.h"
20 #include "extensions/common/extension.h" 21 #include "extensions/common/extension.h"
21 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
22 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
23 24
24 using ::testing::_; 25 using ::testing::_;
25 26
26 namespace idle = extensions::api::idle; 27 namespace idle = extensions::api::idle;
27 28
28 namespace extensions { 29 namespace extensions {
29 30
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 { 503 {
503 ScopedListen listen(idle_manager_, extension()->id()); 504 ScopedListen listen(idle_manager_, extension()->id());
504 idle_provider_->set_idle_time(16); 505 idle_provider_->set_idle_time(16);
505 EXPECT_CALL(*event_delegate_, 506 EXPECT_CALL(*event_delegate_,
506 OnStateChanged(extension()->id(), IDLE_STATE_IDLE)); 507 OnStateChanged(extension()->id(), IDLE_STATE_IDLE));
507 idle_manager_->UpdateIdleState(); 508 idle_manager_->UpdateIdleState();
508 testing::Mock::VerifyAndClearExpectations(event_delegate_); 509 testing::Mock::VerifyAndClearExpectations(event_delegate_);
509 } 510 }
510 511
511 // Threshold will reset after unload (and listen count == 0) 512 // Threshold will reset after unload (and listen count == 0)
512 UnloadedExtensionInfo details(extension(), 513 ExtensionRegistry* registry = ExtensionRegistry::Get(browser()->profile());
513 UnloadedExtensionInfo::REASON_UNINSTALL); 514 registry->TriggerOnUnloaded(extension(),
514 idle_manager_->Observe( 515 UnloadedExtensionInfo::REASON_UNINSTALL);
515 chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED,
516 content::Source<Profile>(browser()->profile()),
517 content::Details<UnloadedExtensionInfo>(&details));
518 516
519 { 517 {
520 ScopedListen listen(idle_manager_, extension()->id()); 518 ScopedListen listen(idle_manager_, extension()->id());
521 idle_manager_->UpdateIdleState(); 519 idle_manager_->UpdateIdleState();
522 testing::Mock::VerifyAndClearExpectations(event_delegate_); 520 testing::Mock::VerifyAndClearExpectations(event_delegate_);
523 521
524 idle_provider_->set_idle_time(61); 522 idle_provider_->set_idle_time(61);
525 EXPECT_CALL(*event_delegate_, 523 EXPECT_CALL(*event_delegate_,
526 OnStateChanged(extension()->id(), IDLE_STATE_IDLE)); 524 OnStateChanged(extension()->id(), IDLE_STATE_IDLE));
527 idle_manager_->UpdateIdleState(); 525 idle_manager_->UpdateIdleState();
528 } 526 }
529 } 527 }
530 528
531 // Verifies that unloading an extension with no listeners or threshold works. 529 // Verifies that unloading an extension with no listeners or threshold works.
532 TEST_F(IdleTest, UnloadOnly) { 530 TEST_F(IdleTest, UnloadOnly) {
533 UnloadedExtensionInfo details(extension(), 531 ExtensionRegistry* registry = ExtensionRegistry::Get(browser()->profile());
534 UnloadedExtensionInfo::REASON_UNINSTALL); 532 registry->TriggerOnUnloaded(extension(),
535 idle_manager_->Observe( 533 UnloadedExtensionInfo::REASON_UNINSTALL);
536 chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED,
537 content::Source<Profile>(browser()->profile()),
538 content::Details<UnloadedExtensionInfo>(&details));
539 } 534 }
540 535
541 // Verifies that its ok for the unload notification to happen before all the 536 // Verifies that its ok for the unload notification to happen before all the
542 // listener removals. 537 // listener removals.
543 TEST_F(IdleTest, UnloadWhileListening) { 538 TEST_F(IdleTest, UnloadWhileListening) {
544 ScopedListen listen(idle_manager_, extension()->id()); 539 ScopedListen listen(idle_manager_, extension()->id());
545 UnloadedExtensionInfo details(extension(), 540 ExtensionRegistry* registry = ExtensionRegistry::Get(browser()->profile());
546 UnloadedExtensionInfo::REASON_UNINSTALL); 541 registry->TriggerOnUnloaded(extension(),
547 idle_manager_->Observe( 542 UnloadedExtensionInfo::REASON_UNINSTALL);
548 chrome::NOTIFICATION_EXTENSION_UNLOADED_DEPRECATED,
549 content::Source<Profile>(browser()->profile()),
550 content::Details<UnloadedExtensionInfo>(&details));
551 } 543 }
552 544
553 // Verifies that re-adding a listener after a state change doesn't immediately 545 // Verifies that re-adding a listener after a state change doesn't immediately
554 // fire a change event. Regression test for http://crbug.com/366580. 546 // fire a change event. Regression test for http://crbug.com/366580.
555 TEST_F(IdleTest, ReAddListener) { 547 TEST_F(IdleTest, ReAddListener) {
556 idle_provider_->set_locked(false); 548 idle_provider_->set_locked(false);
557 549
558 { 550 {
559 // Fire idle event. 551 // Fire idle event.
560 ScopedListen listen(idle_manager_, "test"); 552 ScopedListen listen(idle_manager_, "test");
561 idle_provider_->set_idle_time(60); 553 idle_provider_->set_idle_time(60);
562 EXPECT_CALL(*event_delegate_, OnStateChanged("test", IDLE_STATE_IDLE)); 554 EXPECT_CALL(*event_delegate_, OnStateChanged("test", IDLE_STATE_IDLE));
563 idle_manager_->UpdateIdleState(); 555 idle_manager_->UpdateIdleState();
564 testing::Mock::VerifyAndClearExpectations(event_delegate_); 556 testing::Mock::VerifyAndClearExpectations(event_delegate_);
565 } 557 }
566 558
567 // Trigger active. 559 // Trigger active.
568 idle_provider_->set_idle_time(0); 560 idle_provider_->set_idle_time(0);
569 idle_manager_->UpdateIdleState(); 561 idle_manager_->UpdateIdleState();
570 562
571 { 563 {
572 // Nothing should have fired, the listener wasn't added until afterward. 564 // Nothing should have fired, the listener wasn't added until afterward.
573 ScopedListen listen(idle_manager_, "test"); 565 ScopedListen listen(idle_manager_, "test");
574 idle_manager_->UpdateIdleState(); 566 idle_manager_->UpdateIdleState();
575 testing::Mock::VerifyAndClearExpectations(event_delegate_); 567 testing::Mock::VerifyAndClearExpectations(event_delegate_);
576 } 568 }
577 } 569 }
578 570
579 } // namespace extensions 571 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698