blob: f30cc86f0f15e51f6b246cdf081c851d50c0be31 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/test/base/test_browser_window_aura.h"
#include <utility>
#include "base/memory/ptr_util.h"
namespace chrome {
std::unique_ptr<Browser> CreateBrowserWithAuraTestWindowForParams(
std::unique_ptr<aura::Window> window,
Browser::CreateParams* params) {
if (window.get() == nullptr) {
window.reset(new aura::Window(nullptr));
window->set_id(0);
window->SetType(ui::wm::WINDOW_TYPE_NORMAL);
window->Init(ui::LAYER_TEXTURED);
window->Show();
}
TestBrowserWindowAura* browser_window =
new TestBrowserWindowAura(std::move(window));
new TestBrowserWindowOwner(browser_window);
return browser_window->CreateBrowser(params);
}
} // namespace chrome
TestBrowserWindowAura::TestBrowserWindowAura(
std::unique_ptr<aura::Window> native_window)
: native_window_(std::move(native_window)) {}
TestBrowserWindowAura::~TestBrowserWindowAura() {}
gfx::NativeWindow TestBrowserWindowAura::GetNativeWindow() const {
return native_window_.get();
}
void TestBrowserWindowAura::Show() {
native_window_->Show();
}
void TestBrowserWindowAura::Hide() {
native_window_->Hide();
}
gfx::Rect TestBrowserWindowAura::GetBounds() const {
return native_window_->bounds();
}
std::unique_ptr<Browser> TestBrowserWindowAura::CreateBrowser(
Browser::CreateParams* params) {
params->window = this;
browser_ = new Browser(*params);
return base::WrapUnique(browser_);
}