// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ #pragma once #if defined(OS_MACOSX) #include #endif #include #include #include "base/process_util.h" #include "base/callback_forward.h" #include "content/common/content_export.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" #include "ui/base/ime/text_input_type.h" #include "ui/base/range/range.h" #include "ui/gfx/native_widget_types.h" #include "ui/gfx/rect.h" #include "ui/gfx/surface/transport_dib.h" struct GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params; struct GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params; class BackingStore; class RenderWidgetHost; class WebCursor; struct NativeWebKeyboardEvent; struct ViewHostMsg_AccessibilityNotification_Params; namespace content { class RenderProcessHost; } namespace gfx { class Rect; class Size; } namespace webkit { namespace npapi { struct WebPluginGeometry; } } #if defined(OS_POSIX) || defined(USE_AURA) namespace WebKit { struct WebScreenInfo; } #endif // RenderWidgetHostView is an interface implemented by an object that acts as // the "View" portion of a RenderWidgetHost. The RenderWidgetHost and its // associated RenderProcessHost own the "Model" in this case which is the // child renderer process. The View is responsible for receiving events from // the surrounding environment and passing them to the RenderWidgetHost, and // for actually displaying the content of the RenderWidgetHost when it // changes. class RenderWidgetHostView { public: CONTENT_EXPORT virtual ~RenderWidgetHostView(); // Perform all the initialization steps necessary for this object to represent // a popup (such as a