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

Side by Side Diff: extensions/browser/guest_view/web_view/test_guest_view_manager.cc

Issue 604443003: Adds more webview tests to app_shell_browsertests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "extensions/browser/guest_view/web_view/test_guest_view_manager.h"
6
7 #include "base/path_service.h"
8 #include "base/strings/stringprintf.h"
9 #include "content/public/test/browser_test_utils.h"
10 #include "extensions/browser/app_window/app_window.h"
11 #include "extensions/browser/app_window/app_window_registry.h"
12 #include "extensions/browser/extension_host.h"
13 #include "extensions/browser/process_manager.h"
14 #include "extensions/common/extension.h"
15 #include "extensions/common/extension_paths.h"
16 #include "extensions/shell/browser/shell_extension_system.h"
17 #include "extensions/shell/test/shell_test.h"
18 #include "extensions/test/extension_test_message_listener.h"
19
20 namespace extensions {
21
22 TestGuestViewManager::TestGuestViewManager(content::BrowserContext* context)
23 : GuestViewManager(context),
24 seen_guest_removed_(false),
25 web_contents_(NULL) {
26 }
27
28 TestGuestViewManager::~TestGuestViewManager() {
29 }
30
31 content::WebContents* TestGuestViewManager::WaitForGuestCreated() {
32 if (web_contents_)
33 return web_contents_;
34
35 created_message_loop_runner_ = new content::MessageLoopRunner;
36 created_message_loop_runner_->Run();
37 return web_contents_;
38 }
39
40 void TestGuestViewManager::WaitForGuestDeleted() {
41 if (seen_guest_removed_)
42 return;
43
44 deleted_message_loop_runner_ = new content::MessageLoopRunner;
45 deleted_message_loop_runner_->Run();
46 }
47
48 void TestGuestViewManager::AddGuest(int guest_instance_id,
49 content::WebContents* guest_web_contents) {
50 GuestViewManager::AddGuest(guest_instance_id, guest_web_contents);
51 web_contents_ = guest_web_contents;
52 seen_guest_removed_ = false;
53
54 if (created_message_loop_runner_.get())
55 created_message_loop_runner_->Quit();
56 }
57
58 void TestGuestViewManager::RemoveGuest(int guest_instance_id) {
59 GuestViewManager::RemoveGuest(guest_instance_id);
60 web_contents_ = NULL;
61 seen_guest_removed_ = true;
62
63 if (deleted_message_loop_runner_.get())
64 deleted_message_loop_runner_->Quit();
65 }
66
67 // Test factory for creating test instances of GuestViewManager.
68 TestGuestViewManagerFactory::TestGuestViewManagerFactory()
69 : test_guest_view_manager_(NULL) {
70 }
71
72 TestGuestViewManagerFactory::~TestGuestViewManagerFactory() {
73 }
74
75 GuestViewManager* TestGuestViewManagerFactory::CreateGuestViewManager(
76 content::BrowserContext* context) {
77 return GetManager(context);
78 }
79
80 // This function gets called from GuestViewManager::FromBrowserContext(),
81 // where test_guest_view_manager_ is assigned to a linked_ptr that takes care
82 // of deleting it.
83 TestGuestViewManager* TestGuestViewManagerFactory::GetManager(
84 content::BrowserContext* context) {
85 DCHECK(!test_guest_view_manager_);
86 test_guest_view_manager_ = new TestGuestViewManager(context);
87 return test_guest_view_manager_;
88 }
89
90 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698