| Index: content/test/content_browser_test_utils.cc
|
| ===================================================================
|
| --- content/test/content_browser_test_utils.cc (revision 148713)
|
| +++ content/test/content_browser_test_utils.cc (working copy)
|
| @@ -64,4 +64,29 @@
|
| runner->Run();
|
| }
|
|
|
| +ShellAddedObserver::ShellAddedObserver()
|
| + : shell_(NULL) {
|
| + Shell::SetShellCreatedCallback(
|
| + base::Bind(&ShellAddedObserver::ShellCreated, base::Unretained(this)));
|
| +}
|
| +
|
| +ShellAddedObserver::~ShellAddedObserver() {
|
| +}
|
| +
|
| +Shell* ShellAddedObserver::GetShell() {
|
| + if (shell_)
|
| + return shell_;
|
| +
|
| + runner_ = new MessageLoopRunner();
|
| + runner_->Run();
|
| + return shell_;
|
| +}
|
| +
|
| +void ShellAddedObserver::ShellCreated(Shell* shell) {
|
| + DCHECK(!shell_);
|
| + shell_ = shell;
|
| + if (runner_)
|
| + runner_->QuitClosure().Run();
|
| +}
|
| +
|
| } // namespace content
|
|
|