| 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..c80fb89a766a2b6a4d0f9374e9b8df725b4c3083
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/overlay/overlay_window.h
|
| @@ -0,0 +1,53 @@
|
| +// 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/base/base_window.h"
|
| +#include "ui/compositor/layer.h"
|
| +
|
| +// 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 ui::BaseWindow {
|
| + public:
|
| + OverlayWindow() {}
|
| + virtual ~OverlayWindow() {}
|
| +
|
| + // 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 ui::Layer* GetLayer() = 0;
|
| +
|
| + // ui::BaseWindow:
|
| + bool IsActive() const override;
|
| + bool IsMaximized() const override;
|
| + bool IsMinimized() const override;
|
| + bool IsFullscreen() const override;
|
| + gfx::NativeWindow GetNativeWindow() const override;
|
| + gfx::Rect GetRestoredBounds() const override;
|
| + ui::WindowShowState GetRestoredState() const override;
|
| + gfx::Rect GetBounds() const override;
|
| + void Show() override;
|
| + void Hide() override;
|
| + void ShowInactive() override;
|
| + void Close() override;
|
| + void Activate() override;
|
| + void Deactivate() override;
|
| + void Maximize() override;
|
| + void Minimize() override;
|
| + void Restore() override;
|
| + void SetBounds(const gfx::Rect& bounds) override;
|
| + void FlashFrame(bool flash) override;
|
| + bool IsAlwaysOnTop() const override;
|
| + void SetAlwaysOnTop(bool always_on_top) override;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(OverlayWindow);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_UI_OVERLAY_OVERLAY_WINDOW_H_
|
|
|