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_ |