01org/ozone-wayland — pull request #302 by Tarnyko (2014-10-03 09:55:05+00:00)
Title: XDG-Shell: fix popup windows (drop-drow lists)

Clicking a HTML drop-down list will create a popup window,
which will make Ozone-Wayland crash if xdg-shell is in use.

Rationale :
When creating a popup window, wl_shell and xdg-shell behave
differently : while the first will turn an existing shell
surface into a popup, the second will create a whole new
object named "xdg_popup". A wl_surface cannot have a
xdg_surface and xdg_popup associated with it at the same
time, and we cannot even destroy an existing xdg_surface
because the shell intefaces will not be reusable anymore
(weston 1.7.0 will formally enforce this behavior with
"roles").

So the only solution is to make sure an xdg_surface is
never created for a popup window, and we do this by
passing the type in the early window creation process,
which means adding a parameter in a virtual function
and all its overrides.

Bug: XWALK-2594

Change-Id: Id6e4d3a9e98d50e47bc57d3d85315c5d38fb3a48
Signed-off-by: Manuel Bachmann