1 // Copyright 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.
5 #include "components/native_viewport/platform_viewport_headless.h"
7 #include "mojo/converters/geometry/geometry_type_converters.h"
9 namespace native_viewport
{
11 PlatformViewportHeadless::PlatformViewportHeadless(Delegate
* delegate
)
12 : delegate_(delegate
) {
15 PlatformViewportHeadless::~PlatformViewportHeadless() {
18 void PlatformViewportHeadless::Init(const gfx::Rect
& bounds
) {
19 metrics_
= mojo::ViewportMetrics::New();
20 metrics_
->size
= mojo::Size::From(bounds
.size());
23 void PlatformViewportHeadless::Show() {
26 void PlatformViewportHeadless::Hide() {
29 void PlatformViewportHeadless::Close() {
30 delegate_
->OnDestroyed();
33 gfx::Size
PlatformViewportHeadless::GetSize() {
34 return metrics_
->size
.To
<gfx::Size
>();
37 void PlatformViewportHeadless::SetBounds(const gfx::Rect
& bounds
) {
38 metrics_
->size
= mojo::Size::From(bounds
.size());
39 delegate_
->OnMetricsChanged(metrics_
->Clone());
43 scoped_ptr
<PlatformViewport
> PlatformViewportHeadless::Create(
45 return scoped_ptr
<PlatformViewport
>(
46 new PlatformViewportHeadless(delegate
)).Pass();
49 } // namespace native_viewport