| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef COMPONENTS_GUEST_VIEW_BROWSER_TEST_GUEST_VIEW_MANAGER_H_ | 5 #ifndef COMPONENTS_GUEST_VIEW_BROWSER_TEST_GUEST_VIEW_MANAGER_H_ |
| 6 #define COMPONENTS_GUEST_VIEW_BROWSER_TEST_GUEST_VIEW_MANAGER_H_ | 6 #define COMPONENTS_GUEST_VIEW_BROWSER_TEST_GUEST_VIEW_MANAGER_H_ |
| 7 | 7 |
| 8 #include "base/memory/linked_ptr.h" | 8 #include "base/memory/linked_ptr.h" |
| 9 #include "components/guest_view/browser/guest_view_manager.h" | 9 #include "components/guest_view/browser/guest_view_manager.h" |
| 10 #include "components/guest_view/browser/guest_view_manager_factory.h" | 10 #include "components/guest_view/browser/guest_view_manager_factory.h" |
| 11 #include "content/public/test/browser_test_utils.h" | 11 #include "content/public/test/browser_test_utils.h" |
| 12 #include "content/public/test/test_utils.h" | 12 #include "content/public/test/test_utils.h" |
| 13 | 13 |
| 14 namespace guest_view { | 14 namespace guest_view { |
| 15 | 15 |
| 16 class TestGuestViewManager : public GuestViewManager { | 16 class TestGuestViewManager : public GuestViewManager { |
| 17 public: | 17 public: |
| 18 TestGuestViewManager( | 18 TestGuestViewManager( |
| 19 content::BrowserContext* context, | 19 content::BrowserContext* context, |
| 20 scoped_ptr<GuestViewManagerDelegate> delegate); | 20 scoped_ptr<GuestViewManagerDelegate> delegate); |
| 21 ~TestGuestViewManager() override; | 21 ~TestGuestViewManager() override; |
| 22 | 22 |
| 23 void WaitForAllGuestsDeleted(); | 23 void WaitForAllGuestsDeleted(); |
| 24 | 24 |
| 25 void WaitForLastGuestDeleted(); | 25 void WaitForLastGuestDeleted(); |
| 26 | 26 |
| 27 content::WebContents* WaitForSingleGuestCreated(); | 27 content::WebContents* WaitForSingleGuestCreated(); |
| 28 void WaitForNumGuestsCreated(size_t count); |
| 28 | 29 |
| 29 void WaitForSingleViewGarbageCollected(); | 30 void WaitForSingleViewGarbageCollected(); |
| 30 | 31 |
| 31 content::WebContents* GetLastGuestCreated(); | 32 content::WebContents* GetLastGuestCreated(); |
| 32 | 33 |
| 33 // Returns the number of guests currently still alive at the time of calling | 34 // Returns the number of guests currently still alive at the time of calling |
| 34 // this method. | 35 // this method. |
| 35 size_t GetNumGuestsActive() const; | 36 size_t GetNumGuestsActive() const; |
| 36 | 37 |
| 37 // Returns the size of the set of removed instance IDs. | 38 // Returns the size of the set of removed instance IDs. |
| (...skipping 22 matching lines...) Expand all Loading... |
| 60 | 61 |
| 61 // Returns the number of GuestViews that have been garbage collected in | 62 // Returns the number of GuestViews that have been garbage collected in |
| 62 // JavaScript since the creation of this GuestViewManager. | 63 // JavaScript since the creation of this GuestViewManager. |
| 63 int num_views_garbage_collected() const { | 64 int num_views_garbage_collected() const { |
| 64 return num_views_garbage_collected_; | 65 return num_views_garbage_collected_; |
| 65 } | 66 } |
| 66 | 67 |
| 67 // Returns the last guest instance ID removed from the manager. | 68 // Returns the last guest instance ID removed from the manager. |
| 68 int last_instance_id_removed() const { return last_instance_id_removed_; } | 69 int last_instance_id_removed() const { return last_instance_id_removed_; } |
| 69 | 70 |
| 71 // Returns the list of guests WebContentses that were created by this |
| 72 // manager. |
| 73 void GetGuestWebContentsList( |
| 74 std::vector<content::WebContents*>* guest_web_contents_list); |
| 75 |
| 70 private: | 76 private: |
| 71 FRIEND_TEST_ALL_PREFIXES(GuestViewManagerTest, AddRemove); | 77 FRIEND_TEST_ALL_PREFIXES(GuestViewManagerTest, AddRemove); |
| 72 | 78 |
| 73 // GuestViewManager override: | 79 // GuestViewManager override: |
| 74 void AddGuest(int guest_instance_id, | 80 void AddGuest(int guest_instance_id, |
| 75 content::WebContents* guest_web_contents) override; | 81 content::WebContents* guest_web_contents) override; |
| 76 void RemoveGuest(int guest_instance_id) override; | 82 void RemoveGuest(int guest_instance_id) override; |
| 77 void EmbedderWillBeDestroyed(int embedder_process_id) override; | 83 void EmbedderWillBeDestroyed(int embedder_process_id) override; |
| 78 void ViewGarbageCollected(int embedder_process_id, | 84 void ViewGarbageCollected(int embedder_process_id, |
| 79 int view_instance_id) override; | 85 int view_instance_id) override; |
| 80 | 86 |
| 81 void WaitForGuestCreated(); | |
| 82 | |
| 83 void WaitForViewGarbageCollected(); | 87 void WaitForViewGarbageCollected(); |
| 84 | 88 |
| 85 using GuestViewManager::last_instance_id_removed_; | 89 using GuestViewManager::last_instance_id_removed_; |
| 86 using GuestViewManager::removed_instance_ids_; | 90 using GuestViewManager::removed_instance_ids_; |
| 87 | 91 |
| 88 int num_embedder_processes_destroyed_; | 92 int num_embedder_processes_destroyed_; |
| 89 int num_guests_created_; | 93 size_t num_guests_created_; |
| 94 size_t expected_num_guests_created_; |
| 90 int num_views_garbage_collected_; | 95 int num_views_garbage_collected_; |
| 96 bool waiting_for_guests_created_; |
| 91 | 97 |
| 92 std::vector<linked_ptr<content::WebContentsDestroyedWatcher>> | 98 std::vector<linked_ptr<content::WebContentsDestroyedWatcher>> |
| 93 guest_web_contents_watchers_; | 99 guest_web_contents_watchers_; |
| 94 scoped_refptr<content::MessageLoopRunner> created_message_loop_runner_; | 100 scoped_refptr<content::MessageLoopRunner> created_message_loop_runner_; |
| 95 scoped_refptr<content::MessageLoopRunner> gc_message_loop_runner_; | 101 scoped_refptr<content::MessageLoopRunner> gc_message_loop_runner_; |
| 96 | 102 |
| 97 DISALLOW_COPY_AND_ASSIGN(TestGuestViewManager); | 103 DISALLOW_COPY_AND_ASSIGN(TestGuestViewManager); |
| 98 }; | 104 }; |
| 99 | 105 |
| 100 // Test factory for creating test instances of GuestViewManager. | 106 // Test factory for creating test instances of GuestViewManager. |
| 101 class TestGuestViewManagerFactory : public GuestViewManagerFactory { | 107 class TestGuestViewManagerFactory : public GuestViewManagerFactory { |
| 102 public: | 108 public: |
| 103 TestGuestViewManagerFactory(); | 109 TestGuestViewManagerFactory(); |
| 104 ~TestGuestViewManagerFactory() override; | 110 ~TestGuestViewManagerFactory() override; |
| 105 | 111 |
| 106 GuestViewManager* CreateGuestViewManager( | 112 GuestViewManager* CreateGuestViewManager( |
| 107 content::BrowserContext* context, | 113 content::BrowserContext* context, |
| 108 scoped_ptr<GuestViewManagerDelegate> delegate) override; | 114 scoped_ptr<GuestViewManagerDelegate> delegate) override; |
| 109 | 115 |
| 110 private: | 116 private: |
| 111 TestGuestViewManager* test_guest_view_manager_; | 117 TestGuestViewManager* test_guest_view_manager_; |
| 112 | 118 |
| 113 DISALLOW_COPY_AND_ASSIGN(TestGuestViewManagerFactory); | 119 DISALLOW_COPY_AND_ASSIGN(TestGuestViewManagerFactory); |
| 114 }; | 120 }; |
| 115 | 121 |
| 116 } // namespace guest_view | 122 } // namespace guest_view |
| 117 | 123 |
| 118 #endif // COMPONENTS_GUEST_VIEW_BROWSER_TEST_GUEST_VIEW_MANAGER_H_ | 124 #endif // COMPONENTS_GUEST_VIEW_BROWSER_TEST_GUEST_VIEW_MANAGER_H_ |
| OLD | NEW |