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 "ash/test/ash_test_views_delegate.h"
6
7#include "ash/shell.h"
8#include "content/public/test/web_contents_tester.h"
9
10namespace ash {
11namespace test {
12
13AshTestViewsDelegate::AshTestViewsDelegate() {
14}
15
16AshTestViewsDelegate::~AshTestViewsDelegate() {
17}
18
19content::WebContents* AshTestViewsDelegate::CreateWebContents(
20    content::BrowserContext* browser_context,
21    content::SiteInstance* site_instance) {
22  return content::WebContentsTester::CreateTestWebContents(browser_context,
23                                                           site_instance);
24}
25
26void AshTestViewsDelegate::OnBeforeWidgetInit(
27    views::Widget::InitParams* params,
28    views::internal::NativeWidgetDelegate* delegate) {
29  TestViewsDelegate::OnBeforeWidgetInit(params, delegate);
30
31  if (!params->parent && !params->context && ash::Shell::HasInstance()) {
32    // If the window has neither a parent nor a context add to the root.
33    params->parent = ash::Shell::GetInstance()->GetPrimaryRootWindow();
34  }
35}
36
37}  // namespace test
38}  // namespace ash
39