Index: ui/ozone/public/ozone_platform.cc |
diff --git a/ui/ozone/public/ozone_platform.cc b/ui/ozone/public/ozone_platform.cc |
index 355c84dfe70330e9c09e0b2461487d72692c0e4a..a06a5196c3a7c1e48b282230fd91a7bb61053039 100644 |
--- a/ui/ozone/public/ozone_platform.cc |
+++ b/ui/ozone/public/ozone_platform.cc |
@@ -10,6 +10,8 @@ |
#include "ui/ozone/platform_selection.h" |
#include "ui/ozone/public/ozone_platform.h" |
#include "ui/ozone/public/ozone_switches.h" |
+#include "ui/platform_window/platform_window.h" |
+#include "ui/platform_window/platform_window_factory.h" |
namespace ui { |
@@ -18,6 +20,22 @@ namespace { |
bool g_platform_initialized_ui = false; |
bool g_platform_initialized_gpu = false; |
+class OzoneWindowFactory : public PlatformWindowFactory { |
+ public: |
+ static void CreateInstance() { new OzoneWindowFactory(); } |
+ |
+ private: |
+ OzoneWindowFactory() {} |
+ virtual ~OzoneWindowFactory() {} |
+ |
+ // PlatformWindowFactory: |
+ virtual scoped_ptr<PlatformWindow> CreatePlatformWindow( |
+ PlatformWindowDelegate* delegate, |
+ const gfx::Rect& bounds) OVERRIDE { |
+ return ui::OzonePlatform::GetInstance()->CreatePlatformWindow(delegate, |
+ bounds); |
+ } |
+}; |
} |
OzonePlatform::OzonePlatform() { |
@@ -42,6 +60,7 @@ void OzonePlatform::InitializeForUI() { |
// This is deliberately created after initializing so that the platform can |
// create its own version of DDM. |
DeviceDataManager::CreateInstance(); |
+ OzoneWindowFactory::CreateInstance(); |
} |
// static |