OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "content/browser/browser_plugin/test_browser_plugin_guest_manager.h" | |
6 | |
7 #include "content/browser/browser_plugin/browser_plugin_guest.h" | |
8 #include "content/browser/web_contents/web_contents_impl.h" | |
9 #include "content/public/test/test_utils.h" | |
10 | |
11 namespace content { | |
12 | |
13 TestBrowserPluginGuestManager::TestBrowserPluginGuestManager( | |
14 BrowserContext* context) | |
15 : BrowserPluginGuestManager(context), | |
16 last_guest_added_(NULL) { | |
17 } | |
18 | |
19 TestBrowserPluginGuestManager::~TestBrowserPluginGuestManager() { | |
20 } | |
21 | |
22 BrowserPluginGuest* TestBrowserPluginGuestManager::CreateGuest( | |
23 SiteInstance* embedder_site_instance, | |
24 int instance_id, | |
25 const std::string& storage_partition_id, | |
26 bool persist_storage, | |
27 scoped_ptr<base::DictionaryValue> extra_params) { | |
28 BrowserPluginGuest* guest = BrowserPluginGuestManager::CreateGuest( | |
29 embedder_site_instance, | |
30 instance_id, | |
31 storage_partition_id, | |
32 persist_storage, | |
33 extra_params.Pass()); | |
34 last_guest_added_ = guest->GetWebContents(); | |
35 if (message_loop_runner_.get()) | |
36 message_loop_runner_->Quit(); | |
37 return guest; | |
38 } | |
39 | |
40 WebContents* TestBrowserPluginGuestManager::WaitForGuestAdded() { | |
41 // Check if guests were already created. | |
42 if (last_guest_added_) { | |
43 WebContents* last_guest_added = last_guest_added_; | |
44 last_guest_added_ = NULL; | |
45 return last_guest_added; | |
46 } | |
47 // Wait otherwise. | |
48 message_loop_runner_ = new MessageLoopRunner(); | |
49 message_loop_runner_->Run(); | |
50 WebContents* last_guest_added = last_guest_added_; | |
51 last_guest_added_ = NULL; | |
52 return last_guest_added; | |
53 } | |
54 | |
55 } // namespace content | |
OLD | NEW |