Index: gfx/native_widget_types.h |
=================================================================== |
--- gfx/native_widget_types.h (revision 73487) |
+++ gfx/native_widget_types.h (working copy) |
@@ -6,171 +6,7 @@ |
#define GFX_NATIVE_WIDGET_TYPES_H_ |
#pragma once |
-#include "base/basictypes.h" |
-#include "build/build_config.h" |
+#include "ui/gfx/native_widget_types.h" |
+// TODO(sail): remove this file once all includes have been updated. |
-// This file provides cross platform typedefs for native widget types. |
-// NativeWindow: this is a handle to a native, top-level window |
-// NativeView: this is a handle to a native UI element. It may be the |
-// same type as a NativeWindow on some platforms. |
-// NativeViewId: Often, in our cross process model, we need to pass around a |
-// reference to a "window". This reference will, say, be echoed back from a |
-// renderer to the browser when it wishes to query its size. On Windows we |
-// use an HWND for this. |
-// |
-// As a rule of thumb - if you're in the renderer, you should be dealing |
-// with NativeViewIds. This should remind you that you shouldn't be doing |
-// direct operations on platform widgets from the renderer process. |
-// |
-// If you're in the browser, you're probably dealing with NativeViews, |
-// unless you're in the IPC layer, which will be translating between |
-// NativeViewIds from the renderer and NativeViews. |
-// |
-// NativeEditView: a handle to a native edit-box. The Mac folks wanted this |
-// specific typedef. |
-// |
-// NativeImage: The platform-specific image type used for drawing UI elements |
-// in the browser. |
-// |
-// The name 'View' here meshes with OS X where the UI elements are called |
-// 'views' and with our Chrome UI code where the elements are also called |
-// 'views'. |
- |
-#if defined(OS_WIN) |
-#include <windows.h> // NOLINT |
-typedef struct HFONT__* HFONT; |
-#elif defined(OS_MACOSX) |
-struct CGContext; |
-#ifdef __OBJC__ |
-@class NSFont; |
-@class NSImage; |
-@class NSView; |
-@class NSWindow; |
-@class NSTextField; |
-#else |
-class NSFont; |
-class NSImage; |
-class NSView; |
-class NSWindow; |
-class NSTextField; |
-#endif // __OBJC__ |
-#elif defined(TOOLKIT_USES_GTK) |
-typedef struct _PangoFontDescription PangoFontDescription; |
-typedef struct _GdkCursor GdkCursor; |
-typedef struct _GdkPixbuf GdkPixbuf; |
-typedef struct _GdkRegion GdkRegion; |
-typedef struct _GtkWidget GtkWidget; |
-typedef struct _GtkWindow GtkWindow; |
-typedef struct _cairo cairo_t; |
-#endif |
-class SkBitmap; |
- |
-namespace gfx { |
- |
-#if defined(OS_WIN) |
-typedef HFONT NativeFont; |
-typedef HWND NativeView; |
-typedef HWND NativeWindow; |
-typedef HWND NativeEditView; |
-typedef HDC NativeDrawingContext; |
-typedef HCURSOR NativeCursor; |
-typedef HMENU NativeMenu; |
-typedef HRGN NativeRegion; |
-#elif defined(OS_MACOSX) |
-typedef NSFont* NativeFont; |
-typedef NSView* NativeView; |
-typedef NSWindow* NativeWindow; |
-typedef NSTextField* NativeEditView; |
-typedef CGContext* NativeDrawingContext; |
-typedef void* NativeCursor; |
-typedef void* NativeMenu; |
-#elif defined(USE_X11) |
-typedef PangoFontDescription* NativeFont; |
-typedef GtkWidget* NativeView; |
-typedef GtkWindow* NativeWindow; |
-typedef GtkWidget* NativeEditView; |
-typedef cairo_t* NativeDrawingContext; |
-typedef GdkCursor* NativeCursor; |
-typedef GtkWidget* NativeMenu; |
-typedef GdkRegion* NativeRegion; |
-#endif |
- |
-#if defined(OS_MACOSX) |
-typedef NSImage NativeImageType; |
-#elif defined(OS_LINUX) && !defined(TOOLKIT_VIEWS) |
-typedef GdkPixbuf NativeImageType; |
-#else |
-typedef SkBitmap NativeImageType; |
-#endif |
-typedef NativeImageType* NativeImage; |
- |
-// Note: for test_shell we're packing a pointer into the NativeViewId. So, if |
-// you make it a type which is smaller than a pointer, you have to fix |
-// test_shell. |
-// |
-// See comment at the top of the file for usage. |
-typedef intptr_t NativeViewId; |
- |
-#if defined(OS_WIN) |
-// Convert a NativeViewId to a NativeView. |
-// |
-// On Windows, we pass an HWND into the renderer. As stated above, the renderer |
-// should not be performing operations on the view. |
-static inline NativeView NativeViewFromId(NativeViewId id) { |
- return reinterpret_cast<NativeView>(id); |
-} |
-#define NativeViewFromIdInBrowser(x) NativeViewFromId(x) |
-#elif defined(OS_POSIX) |
-// On Mac and Linux, a NativeView is a pointer to an object, and is useless |
-// outside the process in which it was created. NativeViewFromId should only be |
-// used inside the appropriate platform ifdef outside of the browser. |
-// (NativeViewFromIdInBrowser can be used everywhere in the browser.) If your |
-// cross-platform design involves a call to NativeViewFromId from outside the |
-// browser it will never work on Mac or Linux and is fundamentally broken. |
- |
-// Please do not call this from outside the browser. It won't work; the name |
-// should give you a subtle hint. |
-static inline NativeView NativeViewFromIdInBrowser(NativeViewId id) { |
- return reinterpret_cast<NativeView>(id); |
-} |
-#endif // defined(OS_POSIX) |
- |
-// Convert a NativeView to a NativeViewId. See the comments at the top of |
-// this file. |
-#if defined(OS_WIN) || defined(OS_MACOSX) |
-static inline NativeViewId IdFromNativeView(NativeView view) { |
- return reinterpret_cast<NativeViewId>(view); |
-} |
-#elif defined(USE_X11) |
-// Not inlined because it involves pulling too many headers. |
-NativeViewId IdFromNativeView(NativeView view); |
-#endif // defined(USE_X11) |
- |
- |
-// PluginWindowHandle is an abstraction wrapping "the types of windows |
-// used by NPAPI plugins". On Windows it's an HWND, on X it's an X |
-// window id. |
-#if defined(OS_WIN) |
- typedef HWND PluginWindowHandle; |
- const PluginWindowHandle kNullPluginWindow = NULL; |
-#elif defined(USE_X11) |
- typedef unsigned long PluginWindowHandle; |
- const PluginWindowHandle kNullPluginWindow = 0; |
-#else |
- // On OS X we don't have windowed plugins. |
- // We use a NULL/0 PluginWindowHandle in shared code to indicate there |
- // is no window present, so mirror that behavior here. |
- // |
- // The GPU plugin is currently an exception to this rule. As of this |
- // writing it uses some NPAPI infrastructure, and minimally we need |
- // to identify the plugin instance via this window handle. When the |
- // GPU plugin becomes a full-on GPU process, this typedef can be |
- // returned to a bool. For now we use a type large enough to hold a |
- // pointer on 64-bit architectures in case we need this capability. |
- typedef uint64 PluginWindowHandle; |
- const PluginWindowHandle kNullPluginWindow = 0; |
-#endif |
- |
-} // namespace gfx |
- |
#endif // GFX_NATIVE_WIDGET_TYPES_H_ |