Delete DesktopScreenWayland during OzoneDisplay termination.

OzoneDisplay constructs DesktopScreenWayland but never destroys it. This
patch makes changes for OzoneDisplay to delete it during termination.
Merge pull request #100 from kalyankondapally/DesktopScreenWayland

Delete DesktopScreenWayland during OzoneDisplay termination.
Track upstream changes.

Effecting CL:https://codereview.chromium.org/24704002
Track upstream changes.

Effecting CL: https://codereview.chromium.org/24514003
Track upstream changes.

Effecting CL:https://codereview.chromium.org/23850008
Add missing virtual keyword for GetEGLSurfaceProperties.
Track upstream changes.

Effecting CL: https://codereview.chromium.org/25415007
Add support for tooltip.

This patch adds support for creating tooltip in DesktopRootWindowHostWayland.
Pushing it unreviewed as it is needed to fix crash with master.
wayland/inputs: Change WaylandCursorData constructor and destructor

It was using a funny "static WaylandCursorData" via Initialize() and
now I've changed it for using the more conventional way through the
class name constructor. Also Clear() was dropped in favor to the
destructor.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id 5bfabfad130b639b4215e57c11acccd003d4c429.

Change had fixed the crash associated with WaylandCursor
deletion but has a potential for memory leak. These changes
ensure that only one instance of CursorData is created.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Add SetGeometry API for DesktopScreenWayland.

Geometry of screen is needed for various api calls. Instead of having to
convert it from Display spec everytime, we can cache it locally. The
patch adds SetGeometry api, which can be used by Display to set the
geometry every time OutputSize changes.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>

The patch was imported from https://github.com/kalyankondapally/ozone-wayland/
as of commit id e5c1b62be1e21cd3b8d0c78072f387e72816da5e.

Rebase to latest Master branch.

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id bdccfdeadc3d45e4e2b974cd3fe2c8b9e0df0a6e.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
impl: Implement LookAheadOutputGeometry to anticipate output properties

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id 1254ac24c38387757f760a67e912fde6832bfe70.

Following changes have been done from the original patch:
1)Rebase to latest master branch.
2)Replace bool usage with enum in display constructor.
3)Avoid creating DesktopScreen on GPU side.
4)Move wayland related calls from OzoneDisplay to WaylandDisplay.
5)Avoid round trip to display if the screen geometry is already known.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Add DChecks in DesktopScreenWayland.
impl: OzoneDisplay::OnChannelEstablished shouldn't send old data.

Once the channel is established, the browser process already has been
running for awhile and the output geometries in question were already
accessed by the UI. So it's just useless to dispatch a late
OutputSizeChanged.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>

The patch was imported from https://github.com/tiagovignatti/ozone-wayland/
as of commit id ffd065d.

Rebased.

Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com>
Merge pull request #104 from tiagovignatti/output-review_authorship-fixed

Output review authorship fixed
gyp: Remove useless pkg-config variable definitions
gyp: Move wayland.gyp to wayland/ directory

wayland.gyp is the configuration file responsible for the libwayland and its
toolkit implementation; it naturally belongs to wayland/ therefore.
gyp: Specify Wayland and Mesa version

The versions set in there are figurative and are the ones that just work in my
machine. We may want to adjust them and the APIs accordingly whenever a new
version of those libraries are out and stable.
Update README.md

define specific versions for Mesa and Wayland.
Use LastIPCMsgStart instead of custom enum.

Currently we use a custom enum to register with IPC system.
As per the discussion at https://codereview.chromium.org/26211003/,
we could use LastIPCMsgStart. This patch makes changes in that
front.
Track Upstream changes.

New IsAlwaysOnTop method added to DesktopRootWindowHost

Effecting CL: https://codereview.chromium.org/26427002