| 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..de20aefd6d62c4131a28736d0dc45f9d473cad6c
 | 
| --- /dev/null
 | 
| +++ b/chrome/browser/ui/overlay/overlay_window.h
 | 
| @@ -0,0 +1,47 @@
 | 
| +// 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 "base/memory/ptr_util.h"
 | 
| +#include "ui/gfx/native_widget_types.h"
 | 
| +
 | 
| +namespace gfx {
 | 
| +class Rect;
 | 
| +}
 | 
| +
 | 
| +namespace ui {
 | 
| +class Layer;
 | 
| +}
 | 
| +
 | 
| +// 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() = default;
 | 
| +  virtual ~OverlayWindow() = default;
 | 
| +
 | 
| +  // 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;
 | 
| +  virtual ui::Layer* GetLayer() = 0;
 | 
| +  virtual gfx::NativeWindow GetNativeWindow() const = 0;
 | 
| +  // Retrieves the window's current bounds, including its window.
 | 
| +  virtual gfx::Rect GetBounds() const = 0;
 | 
| +
 | 
| + private:
 | 
| +  DISALLOW_COPY_AND_ASSIGN(OverlayWindow);
 | 
| +};
 | 
| +
 | 
| +#endif  // CHROME_BROWSER_UI_OVERLAY_OVERLAY_WINDOW_H_
 | 
| 
 |