| Index: ui/ozone/platform/dri/dri_window.cc
|
| diff --git a/ui/ozone/platform/dri/dri_window.cc b/ui/ozone/platform/dri/dri_window.cc
|
| index 1f0b567ec6f324b39ff04f5d5bf2ef7efff321e0..2ce243515e3fa8eadebf4f4cf437cc5363844750 100644
|
| --- a/ui/ozone/platform/dri/dri_window.cc
|
| +++ b/ui/ozone/platform/dri/dri_window.cc
|
| @@ -7,25 +7,38 @@
|
| #include "ui/events/event.h"
|
| #include "ui/events/ozone/evdev/event_factory_evdev.h"
|
| #include "ui/events/platform/platform_event_source.h"
|
| -#include "ui/ozone/platform/dri/dri_surface_factory.h"
|
| +#include "ui/ozone/platform/dri/dri_window_delegate.h"
|
| +#include "ui/ozone/platform/dri/dri_window_manager.h"
|
| #include "ui/ozone/public/cursor_factory_ozone.h"
|
| -#include "ui/ozone/public/surface_factory_ozone.h"
|
| #include "ui/platform_window/platform_window_delegate.h"
|
|
|
| namespace ui {
|
|
|
| DriWindow::DriWindow(PlatformWindowDelegate* delegate,
|
| const gfx::Rect& bounds,
|
| - DriSurfaceFactory* surface_factory,
|
| - EventFactoryEvdev* event_factory)
|
| - : delegate_(delegate), bounds_(bounds), event_factory_(event_factory) {
|
| - widget_ = surface_factory->GetAcceleratedWidget();
|
| - delegate_->OnAcceleratedWidgetAvailable(widget_);
|
| - PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this);
|
| + scoped_ptr<DriWindowDelegate> dri_window_delegate,
|
| + EventFactoryEvdev* event_factory,
|
| + DriWindowManager* window_manager)
|
| + : delegate_(delegate),
|
| + bounds_(bounds),
|
| + widget_(dri_window_delegate->GetAcceleratedWidget()),
|
| + dri_window_delegate_(dri_window_delegate.get()),
|
| + event_factory_(event_factory),
|
| + window_manager_(window_manager) {
|
| + window_manager_->AddWindowDelegate(widget_, dri_window_delegate.Pass());
|
| }
|
|
|
| DriWindow::~DriWindow() {
|
| PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
| + dri_window_delegate_->Shutdown();
|
| + window_manager_->RemoveWindowDelegate(widget_);
|
| +}
|
| +
|
| +void DriWindow::Initialize() {
|
| + dri_window_delegate_->Initialize();
|
| + dri_window_delegate_->OnBoundsChanged(bounds_);
|
| + delegate_->OnAcceleratedWidgetAvailable(widget_);
|
| + PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this);
|
| }
|
|
|
| void DriWindow::Show() {}
|
| @@ -37,6 +50,7 @@ void DriWindow::Close() {}
|
| void DriWindow::SetBounds(const gfx::Rect& bounds) {
|
| bounds_ = bounds;
|
| delegate_->OnBoundsChanged(bounds);
|
| + dri_window_delegate_->OnBoundsChanged(bounds);
|
| }
|
|
|
| gfx::Rect DriWindow::GetBounds() {
|
|
|