1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_COMMON_WEBPLUGIN_GEOMETRY_H_
6 #define CONTENT_COMMON_WEBPLUGIN_GEOMETRY_H_
10 #include "base/basictypes.h"
11 #include "ui/gfx/native_widget_types.h"
12 #include "ui/gfx/rect.h"
16 // Describes the new location for a plugin window.
17 struct WebPluginGeometry
{
21 bool Equals(const WebPluginGeometry
& rhs
) const;
23 // On Windows, this is the plugin window in the plugin process.
24 // On X11, this is the XID of the plugin-side GtkPlug containing the
25 // GtkSocket hosting the actual plugin window.
27 // On Mac OS X, all of the plugin types are currently "windowless"
28 // (window == 0) except for the special case of the GPU plugin,
29 // which currently performs rendering on behalf of the Pepper 3D API
30 // and WebGL. The GPU plugin uses a simple integer for the
31 // PluginWindowHandle which is used to map to a side data structure
32 // containing information about the plugin. Soon this plugin will be
33 // generalized, at which point this mechanism will be rethought or
35 gfx::PluginWindowHandle window
;
36 gfx::Rect window_rect
;
37 // Clip rect (include) and cutouts (excludes), relative to
38 // window_rect origin.
40 std::vector
<gfx::Rect
> cutout_rects
;
45 } // namespace content
47 #endif // CONTENT_COMMON_WEBPLUGIN_GEOMETRY_H_