diff options
author | sadrul <sadrul@chromium.org> | 2015-07-01 22:06:54 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-02 05:07:30 +0000 |
commit | 446a048244b00414e716e461b23178278cba124d (patch) | |
tree | dc33e828d6c34845d338c995450ca91f678f9c14 /components | |
parent | 32558576aeb6e7704bd9c669435a6249893b65a5 (diff) | |
download | chromium_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')
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 |