Chromium Code Reviews| Index: chrome/browser/ui/pip/pip_window.h | 
| diff --git a/chrome/browser/ui/pip/pip_window.h b/chrome/browser/ui/pip/pip_window.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..cfe496f1fa3ad6aab3db4e46bac749b9db0187f9 | 
| --- /dev/null | 
| +++ b/chrome/browser/ui/pip/pip_window.h | 
| @@ -0,0 +1,50 @@ | 
| +// 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_PIP_PIP_WINDOW_H_ | 
| +#define CHROME_BROWSER_UI_PIP_PIP_WINDOW_H_ | 
| + | 
| +#include "ui/base/base_window.h" | 
| +#include "ui/compositor/layer.h" | 
| + | 
| +class PipWindow : public ui::BaseWindow { | 
| 
 
mlamouri (slow - plz ping)
2017/06/05 13:09:33
Name: what about PictureInPictureWindow? It's a mo
 
apacible
2017/06/13 07:58:08
See other comment on naming.
 
 | 
| + public: | 
| + PipWindow() {} | 
| + virtual ~PipWindow() {} | 
| 
 
mlamouri (slow - plz ping)
2017/06/05 13:09:33
Aren't you missing the implementation file?
Also,
 
apacible
2017/06/13 07:58:08
It's implemented in pip_window_views.cc/h. The Mac
 
 | 
| + | 
| + // Returns a created PipWindow. This is defined in the platform-specific | 
| + // implementation for the class. | 
| + static std::unique_ptr<PipWindow> Create(); | 
| 
 
mlamouri (slow - plz ping)
2017/06/05 13:09:33
What's the difference between ::Create() and the c
 
apacible
2017/06/13 07:58:08
This is implemented on the platform-class level, w
 
 | 
| + | 
| + 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(PipWindow); | 
| +}; | 
| + | 
| +#endif // CHROME_BROWSER_UI_PIP_PIP_WINDOW_H_ |