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

Unified Diff: services/ui/ws/platform_display.cc

Issue 2497303002: Fix ws::Display initialization order. (Closed)
Patch Set: Fix method name. Created 4 years, 1 month 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
Index: services/ui/ws/platform_display.cc
diff --git a/services/ui/ws/platform_display.cc b/services/ui/ws/platform_display.cc
index a490ff4ee70541f9f37ea7b5c343fb753c564705..e1f799c7841029610b44a1f3ecd8299f421ed5c1 100644
--- a/services/ui/ws/platform_display.cc
+++ b/services/ui/ws/platform_display.cc
@@ -4,6 +4,8 @@
#include "services/ui/ws/platform_display.h"
+#include <utility>
+
#include "base/numerics/safe_conversions.h"
#include "build/build_config.h"
#include "cc/ipc/quads.mojom.h"
@@ -43,12 +45,12 @@ namespace ws {
PlatformDisplayFactory* PlatformDisplay::factory_ = nullptr;
// static
-PlatformDisplay* PlatformDisplay::Create(
+std::unique_ptr<PlatformDisplay> PlatformDisplay::Create(
const PlatformDisplayInitParams& init_params) {
if (factory_)
return factory_->CreatePlatformDisplay();
- return new DefaultPlatformDisplay(init_params);
+ return base::MakeUnique<DefaultPlatformDisplay>(init_params);
}
DefaultPlatformDisplay::DefaultPlatformDisplay(
@@ -256,6 +258,10 @@ void DefaultPlatformDisplay::OnLostCapture() {
void DefaultPlatformDisplay::OnAcceleratedWidgetAvailable(
gfx::AcceleratedWidget widget,
float device_scale_factor) {
+ // This will get called after Init() is called, either synchronously as part
+ // of the Init() callstack or async after Init() has returned, depending on
+ // the platform.
+ delegate_->OnAcceleratedWidgetAvailable();
frame_generator_->OnAcceleratedWidgetAvailable(widget);
}

Powered by Google App Engine
This is Rietveld 408576698