blob: f725b9d5c76e9f4d7cb7658eac1efbfb71abce12 [file] [log] [blame]
[email protected]9f4f3322012-01-18 22:29:561// Copyright (c) 2012 The Chromium Authors. All rights reserved.
license.botbf09a502008-08-24 00:55:552// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
initial.commit09911bf2008-07-26 23:55:294
[email protected]2cff0052011-03-18 16:51:445#ifndef CONTENT_RENDERER_RENDER_WIDGET_H_
6#define CONTENT_RENDERER_RENDER_WIDGET_H_
initial.commit09911bf2008-07-26 23:55:297
[email protected]aa4117f2011-12-09 22:19:218#include <deque>
[email protected]0e241b4b2012-08-18 09:06:279#include <map>
[email protected]010ea08a2009-10-11 20:21:3210
initial.commit09911bf2008-07-26 23:55:2911#include "base/basictypes.h"
[email protected]f3112a52011-09-30 23:47:4912#include "base/compiler_specific.h"
[email protected]3b63f8f42011-03-28 01:54:1513#include "base/memory/ref_counted.h"
[email protected]8704f89b2011-04-15 00:30:0514#include "base/memory/scoped_ptr.h"
[email protected]bffc8302014-01-23 20:52:1615#include "base/observer_list.h"
[email protected]abb522162013-06-28 01:54:1616#include "base/time/time.h"
17#include "base/timer/timer.h"
[email protected]c1e6cc062013-08-24 03:35:3518#include "cc/debug/rendering_stats_instrumentation.h"
[email protected]f3112a52011-09-30 23:47:4919#include "content/common/content_export.h"
[email protected]c2809346d2014-03-20 00:11:0320#include "content/common/cursors/webcursor.h"
[email protected]ed7defa2013-03-12 21:29:5921#include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h"
[email protected]9017d7852013-11-21 17:47:3522#include "content/common/input/synthetic_gesture_params.h"
[email protected]921f1592011-03-18 00:41:0223#include "content/renderer/paint_aggregator.h"
[email protected]4f86bdb2012-11-10 19:11:1924#include "ipc/ipc_listener.h"
25#include "ipc/ipc_sender.h"
[email protected]5c30b5e02013-05-30 03:46:0826#include "third_party/WebKit/public/platform/WebRect.h"
[email protected]2255a9332013-06-17 05:12:3127#include "third_party/WebKit/public/web/WebCompositionUnderline.h"
28#include "third_party/WebKit/public/web/WebPopupType.h"
29#include "third_party/WebKit/public/web/WebTextDirection.h"
30#include "third_party/WebKit/public/web/WebTextInputInfo.h"
[email protected]5d0bbdfa92013-12-10 00:35:5131#include "third_party/WebKit/public/web/WebTouchAction.h"
[email protected]0e45bd02013-07-12 20:20:0232#include "third_party/WebKit/public/web/WebWidget.h"
[email protected]2255a9332013-06-17 05:12:3133#include "third_party/WebKit/public/web/WebWidgetClient.h"
[email protected]d65adb12010-04-28 17:26:4934#include "third_party/skia/include/core/SkBitmap.h"
[email protected]b256eca2013-07-11 10:57:4035#include "ui/base/ime/text_input_mode.h"
[email protected]ad26ef42011-06-17 07:59:4536#include "ui/base/ime/text_input_type.h"
[email protected]a09d53ce2014-01-31 00:46:4237#include "ui/base/ui_base_types.h"
[email protected]08397d52011-02-05 01:53:3838#include "ui/gfx/native_widget_types.h"
[email protected]db4fc1e2013-09-06 20:01:5139#include "ui/gfx/range/range.h"
[email protected]08397d52011-02-05 01:53:3840#include "ui/gfx/rect.h"
[email protected]990278ff2012-11-13 02:12:5541#include "ui/gfx/vector2d.h"
[email protected]a2b5ded2013-05-20 21:32:5342#include "ui/gfx/vector2d_f.h"
[email protected]d353541f2012-05-03 22:45:4143#include "ui/surface/transport_dib.h"
initial.commit09911bf2008-07-26 23:55:2944
[email protected]aa4117f2011-12-09 22:19:2145struct ViewHostMsg_UpdateRect_Params;
[email protected]0fdd5012013-05-29 08:05:5646struct ViewMsg_Resize_Params;
[email protected]aa4117f2011-12-09 22:19:2147class ViewHostMsg_UpdateRect;
48
[email protected]484955942010-08-19 16:13:1849namespace IPC {
50class SyncMessage;
51}
52
[email protected]180ef242013-11-07 06:50:4653namespace blink {
[email protected]41d86852012-11-07 12:23:2454class WebGestureEvent;
[email protected]0dea1652012-12-14 00:09:0955class WebInputEvent;
[email protected]f56c7872013-06-18 12:31:5756class WebKeyboardEvent;
[email protected]6a8ddba52010-09-05 04:38:0657class WebMouseEvent;
[email protected]2d0f2e92011-10-03 09:02:2458class WebTouchEvent;
[email protected]526476902011-10-06 20:34:0659}
60
[email protected]ba91a792013-02-06 09:48:2861namespace cc { class OutputSurface; }
62
[email protected]db4fc1e2013-09-06 20:01:5163namespace gfx {
[email protected]4de6d1692011-10-12 08:45:4464class Range;
65}
66
[email protected]e9ff79c2012-10-19 21:31:2667namespace content {
[email protected]b2e4c70132013-10-03 02:07:5168class ExternalPopupMenu;
[email protected]adab2332013-07-25 18:04:3269class PepperPluginInstanceImpl;
[email protected]bffc8302014-01-23 20:52:1670class RenderFrameImpl;
[email protected]ba91a792013-02-06 09:48:2871class RenderWidgetCompositor;