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

Unified Diff: ui/views/mus/native_widget_mus.cc

Issue 2369793002: WIP: Propagate SurfaceID up window tree hierarchy
Patch Set: Fix input events: EventDispatcher ignores container windows Created 4 years, 3 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/views/mus/native_widget_mus.h ('k') | ui/views/mus/surface_context_factory.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/mus/native_widget_mus.cc
diff --git a/ui/views/mus/native_widget_mus.cc b/ui/views/mus/native_widget_mus.cc
index 959b656065b347cef0eaa371f17eed9ab0c75cd7..7381ba5a7d40ae6ea89bfb32e5e1cfe954e40581 100644
--- a/ui/views/mus/native_widget_mus.cc
+++ b/ui/views/mus/native_widget_mus.cc
@@ -5,6 +5,7 @@
#include "ui/views/mus/native_widget_mus.h"
#include "base/callback.h"
+#include "base/debug/stack_trace.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
@@ -29,6 +30,7 @@
#include "ui/display/screen.h"
#include "ui/events/event.h"
#include "ui/gfx/canvas.h"
+#include "ui/gfx/geometry/dip_util.h"
#include "ui/gfx/path.h"
#include "ui/native_theme/native_theme_aura.h"
#include "ui/platform_window/platform_window_delegate.h"
@@ -57,6 +59,15 @@ DEFINE_WINDOW_PROPERTY_KEY(ui::Window*, kMusWindow, nullptr);
MUS_DEFINE_WINDOW_PROPERTY_KEY(NativeWidgetMus*, kNativeWidgetMusKey, nullptr);
+void SatisfyCallback(const cc::SurfaceSequence& sequence) {
+ fprintf(stderr, ">>>%s\n", __PRETTY_FUNCTION__);
+}
+
+void RequireCallback(const cc::SurfaceId& id,
+ const cc::SurfaceSequence& sequence) {
+ fprintf(stderr, ">>>%s\n", __PRETTY_FUNCTION__);
+}
+
// This ensures that only the top-level aura Window can be activated.
class FocusRulesImpl : public wm::BaseFocusRules {
public:
@@ -407,6 +418,23 @@ class NativeWidgetMus::MusWindowObserver : public ui::WindowObserver {
void OnWindowVisibilityChanged(ui::Window* window) override {
native_widget_mus_->OnMusWindowVisibilityChanged(window);
}
+
+ void OnChildWindowSurfaceCreated(
+ ui::Window* window,
+ const gfx::Size& size,
+ float device_scale_factor,
+ const cc::SurfaceId& surface_id,
+ const cc::SurfaceSequence& surface_sequence) override {
+ //NativeWidgetMus* nwm = NativeWidgetMus::GetForWindow(window);
+ //fprintf(stderr, ">>>>%s nwm: %p\n", __PRETTY_FUNCTION__, nwm);
+ //if (nwm) {
+ // gfx::Size size_in_dip = gfx::ConvertSizeToDIP(device_scale_factor, size);
+ // nwm->GetNativeView()->layer()->SetShowSurface(
+ // surface_id, base::Bind(&SatisfyCallback),
+ // base::Bind(&RequireCallback), size, device_scale_factor, size_in_dip);
+ //}
+ }
+
void OnWindowPredefinedCursorChanged(ui::Window* window,
ui::mojom::Cursor cursor) override {
DCHECK_EQ(window, mus_window());
@@ -524,6 +552,7 @@ NativeWidgetMus::NativeWidgetMus(internal::NativeWidgetDelegate* delegate,
ownership_(Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET),
content_(new aura::Window(this)),
close_widget_factory_(this) {
+ // base::debug::StackTrace().Print();
window_->set_input_event_handler(this);
mus_window_observer_.reset(new MusWindowObserver(this));
« no previous file with comments | « ui/views/mus/native_widget_mus.h ('k') | ui/views/mus/surface_context_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698