Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(840)

Unified Diff: ui/ozone/platform/dri/ozone_platform_gbm.cc

Issue 469343003: [Ozone-GBM] Pumb DriWindowDelegate throughout the platform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unittest && rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/ozone/platform/dri/ozone_platform_dri.cc ('k') | ui/ozone/platform/dri/screen_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/ozone/platform/dri/ozone_platform_gbm.cc
diff --git a/ui/ozone/platform/dri/ozone_platform_gbm.cc b/ui/ozone/platform/dri/ozone_platform_gbm.cc
index 791bdc32cdfe4a72bd6abaa845f6c0faadc15ee8..5b80d46337c9577f4b74b42c8984bb51abf392fc 100644
--- a/ui/ozone/platform/dri/ozone_platform_gbm.cc
+++ b/ui/ozone/platform/dri/ozone_platform_gbm.cc
@@ -14,6 +14,7 @@
#include "ui/events/ozone/evdev/event_factory_evdev.h"
#include "ui/ozone/platform/dri/cursor_factory_evdev_dri.h"
#include "ui/ozone/platform/dri/dri_window.h"
+#include "ui/ozone/platform/dri/dri_window_delegate_proxy.h"
#include "ui/ozone/platform/dri/dri_window_manager.h"
#include "ui/ozone/platform/dri/dri_wrapper.h"
#include "ui/ozone/platform/dri/gbm_buffer.h"
@@ -97,11 +98,16 @@ class OzonePlatformGbm : public OzonePlatform {
virtual scoped_ptr<PlatformWindow> CreatePlatformWindow(
PlatformWindowDelegate* delegate,
const gfx::Rect& bounds) OVERRIDE {
- return scoped_ptr<PlatformWindow>(
+ scoped_ptr<DriWindow> platform_window(
new DriWindow(delegate,
bounds,
- surface_factory_ozone_.get(),
- event_factory_ozone_.get()));
+ scoped_ptr<DriWindowDelegate>(new DriWindowDelegateProxy(
+ ui_window_manager_.NextAcceleratedWidget(),
+ gpu_platform_support_host_.get())),
+ event_factory_ozone_.get(),
+ &ui_window_manager_));
+ platform_window->Initialize();
+ return platform_window.PassAs<PlatformWindow>();
}
#if defined(OS_CHROMEOS)
virtual scoped_ptr<NativeDisplayDelegate> CreateNativeDisplayDelegate()
@@ -120,7 +126,6 @@ class OzonePlatformGbm : public OzonePlatform {
// Needed since the browser process creates the accelerated widgets and that
// happens through SFO.
surface_factory_ozone_.reset(new GbmSurfaceFactory(use_surfaceless_));
-
device_manager_ = CreateDeviceManager();
gpu_platform_support_host_.reset(new GpuPlatformSupportHostGbm());
cursor_factory_ozone_.reset(
@@ -139,7 +144,8 @@ class OzonePlatformGbm : public OzonePlatform {
surface_factory_ozone_->InitializeGpu(dri_.get(),
buffer_generator_->device(),
- screen_manager_.get());
+ screen_manager_.get(),
+ &gpu_window_manager_);
gpu_platform_support_.reset(
new GpuPlatformSupportGbm(surface_factory_ozone_.get(),
&gpu_window_manager_,
@@ -173,6 +179,7 @@ class OzonePlatformGbm : public OzonePlatform {
scoped_ptr<GpuPlatformSupportHostGbm> gpu_platform_support_host_;
DriWindowManager gpu_window_manager_;
+ DriWindowManager ui_window_manager_;
DISALLOW_COPY_AND_ASSIGN(OzonePlatformGbm);
};
« no previous file with comments | « ui/ozone/platform/dri/ozone_platform_dri.cc ('k') | ui/ozone/platform/dri/screen_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698