summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorsadrul <sadrul@chromium.org>2015-07-01 22:06:54 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-02 05:07:30 +0000
commit446a048244b00414e716e461b23178278cba124d (patch)
treedc33e828d6c34845d338c995450ca91f678f9c14 /components
parent32558576aeb6e7704bd9c669435a6249893b65a5 (diff)
downloadchromium_src-446a048244b00414e716e461b23178278cba124d.zip
chromium_src-446a048244b00414e716e461b23178278cba124d.tar.gz
chromium_src-446a048244b00414e716e461b23178278cba124d.tar.bz2
view_manager: Add a stub impl for PlatformWindow, and remove PlatformViewportHeadless.
After this change, only a single implementation of PlatformViewport remains. A follow-up CL will remove PlatformViewport entirely, and directly use PlatformWindow from DisplayManager instead. BUG=487881 Committed earlier in https://crrev.com/337068, but reverted in https://crrev.com/337153 because it broke mac-gn builds. Also includes the fix from https://crrev.com/337115 Review URL: https://codereview.chromium.org/1214373004 Cr-Commit-Position: refs/heads/master@{#337176}
Diffstat (limited to 'components')
-rw-r--r--components/view_manager/native_viewport/BUILD.gn7
-rw-r--r--components/view_manager/native_viewport/platform_viewport_common.cc21
-rw-r--r--components/view_manager/native_viewport/platform_viewport_headless.cc52
-rw-r--r--components/view_manager/native_viewport/platform_viewport_headless.h40
-rw-r--r--components/view_manager/native_viewport/platform_viewport_stub.cc14
5 files changed, 12 insertions, 122 deletions
diff --git a/components/view_manager/native_viewport/BUILD.gn b/components/view_manager/native_viewport/BUILD.gn
index 350c16f..ef37e1b 100644
--- a/components/view_manager/native_viewport/BUILD.gn
+++ b/components/view_manager/native_viewport/BUILD.gn
@@ -10,15 +10,8 @@ source_set("native_viewport") {
"onscreen_context_provider.h",
"platform_viewport.h",
"platform_viewport_common.cc",
- "platform_viewport_headless.cc",
- "platform_viewport_headless.h",
- "platform_viewport_stub.cc",
]
- if (!is_ios) {
- sources -= [ "platform_viewport_stub.cc" ]
- }
-
deps = [
"//base",
"//components/view_manager/gles2",
diff --git a/components/view_manager/native_viewport/platform_viewport_common.cc b/components/view_manager/native_viewport/platform_viewport_common.cc
index 7656c42..a3a5606 100644
--- a/components/view_manager/native_viewport/platform_viewport_common.cc
+++ b/components/view_manager/native_viewport/platform_viewport_common.cc
@@ -6,7 +6,6 @@
#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
-#include "components/view_manager/native_viewport/platform_viewport_headless.h"
#include "components/view_manager/public/interfaces/view_manager.mojom.h"
#include "mojo/converters/geometry/geometry_type_converters.h"
#include "mojo/converters/input_events/input_events_type_converters.h"
@@ -17,6 +16,7 @@
#include "ui/gfx/geometry/rect.h"
#include "ui/platform_window/platform_window.h"
#include "ui/platform_window/platform_window_delegate.h"
+#include "ui/platform_window/stub/stub_window.h"
#if defined(OS_WIN)
#include "ui/platform_window/win/win_window.h"
@@ -42,8 +42,8 @@ float ConvertUIWheelValueToMojoValue(int offset) {
class PlatformViewportCommon : public PlatformViewport,
public ui::PlatformWindowDelegate {
public:
- explicit PlatformViewportCommon(Delegate* delegate) : delegate_(delegate) {
- }
+ PlatformViewportCommon(Delegate* delegate, bool headless)
+ : delegate_(delegate), headless_(headless) {}
~PlatformViewportCommon() override {
// Destroy the platform-window while |this| is still alive.
@@ -58,13 +58,17 @@ class PlatformViewportCommon : public PlatformViewport,
metrics_ = mojo::ViewportMetrics::New();
metrics_->size_in_pixels = mojo::Size::From(bounds.size());
+ if (headless_) {
+ platform_window_.reset(new ui::StubWindow(this));
+ } else {
#if defined(OS_WIN)
- platform_window_.reset(new ui::WinWindow(this, bounds));
+ platform_window_.reset(new ui::WinWindow(this, bounds));
#elif defined(USE_X11)
- platform_window_.reset(new ui::X11Window(this));
+ platform_window_.reset(new ui::X11Window(this));
#elif defined(OS_ANDROID)
- platform_window_.reset(new ui::PlatformWindowAndroid(this));
+ platform_window_.reset(new ui::PlatformWindowAndroid(this));
#endif
+ }
platform_window_->SetBounds(bounds);
}
@@ -171,6 +175,7 @@ class PlatformViewportCommon : public PlatformViewport,
scoped_ptr<ui::PlatformWindow> platform_window_;
Delegate* delegate_;
+ bool headless_;
mojo::ViewportMetricsPtr metrics_;
DISALLOW_COPY_AND_ASSIGN(PlatformViewportCommon);
@@ -179,9 +184,7 @@ class PlatformViewportCommon : public PlatformViewport,
// static
scoped_ptr<PlatformViewport> PlatformViewport::Create(Delegate* delegate,
bool headless) {
- if (headless)
- return PlatformViewportHeadless::Create(delegate);
- return make_scoped_ptr(new PlatformViewportCommon(delegate));
+ return make_scoped_ptr(new PlatformViewportCommon(delegate, headless));
}
} // namespace native_viewport
diff --git a/components/view_manager/native_viewport/platform_viewport_headless.cc b/components/view_manager/native_viewport/platform_viewport_headless.cc
deleted file mode 100644
index 959ddd4..0000000
--- a/components/view_manager/native_viewport/platform_viewport_headless.cc
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2013 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 "components/view_manager/native_viewport/platform_viewport_headless.h"
-
-#include "mojo/converters/geometry/geometry_type_converters.h"
-
-namespace native_viewport {
-
-PlatformViewportHeadless::PlatformViewportHeadless(Delegate* delegate)
- : delegate_(delegate) {
-}
-
-PlatformViewportHeadless::~PlatformViewportHeadless() {
-}
-
-void PlatformViewportHeadless::Init(const gfx::Rect& bounds) {
- metrics_ = mojo::ViewportMetrics::New();
- metrics_->device_pixel_ratio = 1.f;
- metrics_->size_in_pixels = mojo::Size::From(bounds.size());
-
- // The delegate assumes an initial metrics of 0.
- delegate_->OnMetricsChanged(bounds.size(), 1.f /* device_scale_factor */);
-}
-
-void PlatformViewportHeadless::Show() {
-}
-
-void PlatformViewportHeadless::Hide() {
-}
-
-void PlatformViewportHeadless::Close() {
- delegate_->OnDestroyed();
-}
-
-gfx::Size PlatformViewportHeadless::GetSize() {
- return metrics_->size_in_pixels.To<gfx::Size>();
-}
-
-void PlatformViewportHeadless::SetBounds(const gfx::Rect& bounds) {
- delegate_->OnMetricsChanged(bounds.size(), 1.f /* device_scale_factor */);
-}
-
-// static
-scoped_ptr<PlatformViewport> PlatformViewportHeadless::Create(
- Delegate* delegate) {
- return scoped_ptr<PlatformViewport>(
- new PlatformViewportHeadless(delegate)).Pass();
-}
-
-} // namespace native_viewport
diff --git a/components/view_manager/native_viewport/platform_viewport_headless.h b/components/view_manager/native_viewport/platform_viewport_headless.h
deleted file mode 100644
index 924f3a5..0000000
--- a/components/view_manager/native_viewport/platform_viewport_headless.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2013 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.
-
-#ifndef COMPONENTS_VIEW_MANAGER_NATIVE_VIEWPORT_PLATFORM_VIEWPORT_HEADLESS_H_
-#define COMPONENTS_VIEW_MANAGER_NATIVE_VIEWPORT_PLATFORM_VIEWPORT_HEADLESS_H_
-
-#include "base/macros.h"
-#include "components/view_manager/native_viewport/platform_viewport.h"
-#include "components/view_manager/public/interfaces/view_manager.mojom.h"
-#include "ui/gfx/geometry/rect.h"
-
-namespace native_viewport {
-
-class PlatformViewportHeadless : public PlatformViewport {
- public:
- ~PlatformViewportHeadless() override;
-
- static scoped_ptr<PlatformViewport> Create(Delegate* delegate);
-
- private:
- explicit PlatformViewportHeadless(Delegate* delegate);
-
- // Overridden from PlatformViewport:
- void Init(const gfx::Rect& bounds) override;
- void Show() override;
- void Hide() override;
- void Close() override;
- gfx::Size GetSize() override;
- void SetBounds(const gfx::Rect& bounds) override;
-
- Delegate* delegate_;
- mojo::ViewportMetricsPtr metrics_;
-
- DISALLOW_COPY_AND_ASSIGN(PlatformViewportHeadless);
-};
-
-} // namespace native_viewport
-
-#endif // COMPONENTS_VIEW_MANAGER_NATIVE_VIEWPORT_PLATFORM_VIEWPORT_HEADLESS_H_
diff --git a/components/view_manager/native_viewport/platform_viewport_stub.cc b/components/view_manager/native_viewport/platform_viewport_stub.cc
deleted file mode 100644
index 08976a2..0000000
--- a/components/view_manager/native_viewport/platform_viewport_stub.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright 2014 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 "components/view_manager/native_viewport/platform_viewport_headless.h"
-
-namespace mojo {
-
-// static
-scoped_ptr<PlatformViewport> PlatformViewport::Create(Delegate* delegate) {
- return PlatformViewportHeadless::Create(delegate);
-}
-
-} // namespace mojo