Chromium Code Reviews| Index: chrome/browser/ui/overlay/overlay_window.h |
| diff --git a/chrome/browser/ui/overlay/overlay_window.h b/chrome/browser/ui/overlay/overlay_window.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..971797bb2a4221e9d14f168ca5a1bc554343272a |
| --- /dev/null |
| +++ b/chrome/browser/ui/overlay/overlay_window.h |
| @@ -0,0 +1,37 @@ |
| +// Copyright 2017 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 CHROME_BROWSER_UI_OVERLAY_OVERLAY_WINDOW_H_ |
| +#define CHROME_BROWSER_UI_OVERLAY_OVERLAY_WINDOW_H_ |
| + |
| +#include "ui/compositor/layer.h" |
|
sky
2017/07/11 18:02:25
forward declare this (assuming you need Layer, whi
apacible
2017/07/18 01:08:27
Done. Included ui/gfx/native_widget_types.h becaus
|
| + |
| +// This window will always float above other windows. The intention is to show |
| +// content perpetually while the user is still interacting with the other |
| +// browser windows. |
| +class OverlayWindow { |
| + public: |
| + OverlayWindow() {} |
| + virtual ~OverlayWindow() {} |
|
mlamouri (slow - plz ping)
2017/07/07 10:34:38
= default for both
apacible
2017/07/18 01:08:28
Done.
|
| + |
| + // Returns a created OverlayWindow. This is defined in the platform-specific |
| + // implementation for the class. |
| + static std::unique_ptr<OverlayWindow> Create(); |
| + |
| + virtual void Init() = 0; |
| + virtual bool IsActive() const = 0; |
| + virtual void Show() = 0; |
| + virtual void Hide() = 0; |
| + virtual void Close() = 0; |
| + virtual void Activate() = 0; |
| + virtual bool IsAlwaysOnTop() const = 0; |
|
sky
2017/07/11 18:02:25
Is this really needed? Same question for GetLayer.
apacible
2017/07/18 01:08:28
Yes, we want these both to be exposed.
|
| + virtual ui::Layer* GetLayer() = 0; |
| + virtual gfx::NativeWindow GetNativeWindow() const = 0; |
| + virtual gfx::Rect GetBounds() const = 0; |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(OverlayWindow); |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_OVERLAY_OVERLAY_WINDOW_H_ |