Index: components/exo/notification_surface.h |
diff --git a/components/exo/notification_surface.h b/components/exo/notification_surface.h |
index 33bfa2f0f4ce589db81d28abea5f18cecbfc9ec8..7d1fb94511988f3be2d40e9ff756baf595fc2285 100644 |
--- a/components/exo/notification_surface.h |
+++ b/components/exo/notification_surface.h |
@@ -17,39 +17,23 @@ namespace aura { |
class Window; |
} |
+namespace views { |
+class NativeViewHost; |
+} |
+ |
namespace exo { |
-class NotificationSurfaceManager; |
-class Surface; |
// Handles notification surface role of a given surface. |
-class NotificationSurface : public SurfaceDelegate, public SurfaceObserver { |
+class NotificationSurface { |
public: |
- NotificationSurface(NotificationSurfaceManager* manager, |
- Surface* surface, |
- const std::string& notification_id); |
- ~NotificationSurface() override; |
- |
- gfx::Size GetSize() const; |
- |
- aura::Window* window() { return window_.get(); } |
- const std::string& notification_id() const { return notification_id_; } |
- |
- // Overridden from SurfaceDelegate: |
- void OnSurfaceCommit() override; |
- bool IsSurfaceSynchronized() const override; |
- |
- // Overridden from SurfaceObserver: |
- void OnSurfaceDestroying(Surface* surface) override; |
+ virtual ~NotificationSurface() {} |
hidehiko
2017/03/02 15:38:16
How about; s/{}/= default;/
|
- private: |
- NotificationSurfaceManager* const manager_; // Not owned. |
- Surface* surface_; // Not owned. |
- const std::string notification_id_; |
+ virtual gfx::Size GetSize() const = 0; |
hidehiko
2017/03/02 15:38:15
Because this is now interface, could you document
|
- std::unique_ptr<aura::Window> window_; |
- bool added_to_manager_ = false; |
+ virtual void AttachWindow(views::NativeViewHost* nvh) = 0; |
- DISALLOW_COPY_AND_ASSIGN(NotificationSurface); |
+ virtual aura::Window* window() = 0; |
hidehiko
2017/03/02 15:38:16
Optional: These are now virtual function so it can
|
+ virtual const std::string& notification_id() const = 0; |
}; |
} // namespace exo |