the Chromium logo

The Chromium Projects

Event Handling

A diagram of the architecture of this system:

image

HWNDMessageHandler owns the WNDPROC, and is code that is shared with the non-Aura windows build. This code is in production and "should work."

On this diagram, the new classes are DesktopRootWindowHostWin(**) and DesktopNativeWidgetAura. DesktopNativeWidgetAura is a new views::NativeWidgetPrivate implementation that wraps an aura::Window* hosted in a special RootWindow/Host, which is implemented by DesktopRootWindowHost[Win|Linux].

DesktopNativeWidgetAura is cross platform code, DesktopRootWindowHostWin|Linux is platform-specific.

Basically there are a bunch of functions on these two new classes that need to be connected together.

I've made a list of these functions here:

https://docs.google.com/a/google.com/spreadsheet/ccc?key=0AsMZXOiSimBbdGhhTU1xQWo2QUZGRTExdWhBN2toenc

.. along with some notes I quickly made about what I thought would be a resolution for that method.

A couple of notes about event handling: