OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_ |
6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <gdk/gdk.h> | 9 #include <gdk/gdk.h> |
10 | 10 |
11 #include <vector> | 11 #include <vector> |
12 #include <string> | 12 #include <string> |
13 | 13 |
14 #include "app/animation_delegate.h" | |
15 #include "app/slide_animation.h" | |
16 #include "base/scoped_ptr.h" | 14 #include "base/scoped_ptr.h" |
17 #include "base/time.h" | 15 #include "base/time.h" |
18 #include "chrome/browser/gtk/owned_widget_gtk.h" | 16 #include "chrome/browser/gtk/owned_widget_gtk.h" |
19 #include "chrome/browser/renderer_host/render_widget_host_view.h" | 17 #include "chrome/browser/renderer_host/render_widget_host_view.h" |
20 #include "gfx/native_widget_types.h" | 18 #include "gfx/native_widget_types.h" |
21 #include "gfx/rect.h" | 19 #include "gfx/rect.h" |
| 20 #include "ui/base/animation/animation_delegate.h" |
| 21 #include "ui/base/animation/slide_animation.h" |
22 #include "webkit/glue/webcursor.h" | 22 #include "webkit/glue/webcursor.h" |
23 #include "webkit/plugins/npapi/gtk_plugin_container_manager.h" | 23 #include "webkit/plugins/npapi/gtk_plugin_container_manager.h" |
24 | 24 |
25 class RenderWidgetHost; | 25 class RenderWidgetHost; |
26 class GtkIMContextWrapper; | 26 class GtkIMContextWrapper; |
27 class GtkKeyBindingsHandler; | 27 class GtkKeyBindingsHandler; |
28 #if !defined(TOOLKIT_VIEWS) | 28 #if !defined(TOOLKIT_VIEWS) |
29 class MenuGtk; | 29 class MenuGtk; |
30 #endif | 30 #endif |
31 struct NativeWebKeyboardEvent; | 31 struct NativeWebKeyboardEvent; |
32 | 32 |
33 #if defined(OS_CHROMEOS) | 33 #if defined(OS_CHROMEOS) |
34 namespace views { | 34 namespace views { |
35 class TooltipWindowGtk; | 35 class TooltipWindowGtk; |
36 } | 36 } |
37 #endif // defined(OS_CHROMEOS) | 37 #endif // defined(OS_CHROMEOS) |
38 | 38 |
39 typedef struct _GtkClipboard GtkClipboard; | 39 typedef struct _GtkClipboard GtkClipboard; |
40 typedef struct _GtkSelectionData GtkSelectionData; | 40 typedef struct _GtkSelectionData GtkSelectionData; |
41 | 41 |
42 // ----------------------------------------------------------------------------- | 42 // ----------------------------------------------------------------------------- |
43 // See comments in render_widget_host_view.h about this class and its members. | 43 // See comments in render_widget_host_view.h about this class and its members. |
44 // ----------------------------------------------------------------------------- | 44 // ----------------------------------------------------------------------------- |
45 class RenderWidgetHostViewGtk : public RenderWidgetHostView, | 45 class RenderWidgetHostViewGtk : public RenderWidgetHostView, |
46 public AnimationDelegate { | 46 public ui::AnimationDelegate { |
47 public: | 47 public: |
48 explicit RenderWidgetHostViewGtk(RenderWidgetHost* widget); | 48 explicit RenderWidgetHostViewGtk(RenderWidgetHost* widget); |
49 ~RenderWidgetHostViewGtk(); | 49 ~RenderWidgetHostViewGtk(); |
50 | 50 |
51 // Initialize this object for use as a drawing area. | 51 // Initialize this object for use as a drawing area. |
52 void InitAsChild(); | 52 void InitAsChild(); |
53 | 53 |
54 // RenderWidgetHostView implementation. | 54 // RenderWidgetHostView implementation. |
55 virtual void InitAsPopup(RenderWidgetHostView* parent_host_view, | 55 virtual void InitAsPopup(RenderWidgetHostView* parent_host_view, |
56 const gfx::Rect& pos); | 56 const gfx::Rect& pos); |
(...skipping 28 matching lines...) Expand all Loading... |
85 virtual void SelectionChanged(const std::string& text); | 85 virtual void SelectionChanged(const std::string& text); |
86 virtual void ShowingContextMenu(bool showing); | 86 virtual void ShowingContextMenu(bool showing); |
87 virtual BackingStore* AllocBackingStore(const gfx::Size& size); | 87 virtual BackingStore* AllocBackingStore(const gfx::Size& size); |
88 virtual void SetBackground(const SkBitmap& background); | 88 virtual void SetBackground(const SkBitmap& background); |
89 virtual void CreatePluginContainer(gfx::PluginWindowHandle id); | 89 virtual void CreatePluginContainer(gfx::PluginWindowHandle id); |
90 virtual void DestroyPluginContainer(gfx::PluginWindowHandle id); | 90 virtual void DestroyPluginContainer(gfx::PluginWindowHandle id); |
91 virtual void SetVisuallyDeemphasized(const SkColor* color, bool animate); | 91 virtual void SetVisuallyDeemphasized(const SkColor* color, bool animate); |
92 virtual bool ContainsNativeView(gfx::NativeView native_view) const; | 92 virtual bool ContainsNativeView(gfx::NativeView native_view) const; |
93 virtual void AcceleratedCompositingActivated(bool activated); | 93 virtual void AcceleratedCompositingActivated(bool activated); |
94 | 94 |
95 // AnimationDelegate implementation. | 95 // ui::AnimationDelegate implementation. |
96 virtual void AnimationEnded(const Animation* animation); | 96 virtual void AnimationEnded(const ui::Animation* animation); |
97 virtual void AnimationProgressed(const Animation* animation); | 97 virtual void AnimationProgressed(const ui::Animation* animation); |
98 virtual void AnimationCanceled(const Animation* animation); | 98 virtual void AnimationCanceled(const ui::Animation* animation); |
99 | 99 |
100 gfx::NativeView native_view() const { return view_.get(); } | 100 gfx::NativeView native_view() const { return view_.get(); } |
101 | 101 |
102 // If the widget is aligned with an edge of the monitor its on and the user | 102 // If the widget is aligned with an edge of the monitor its on and the user |
103 // attempts to drag past that edge we track the number of times it has | 103 // attempts to drag past that edge we track the number of times it has |
104 // occurred, so that we can force the widget to scroll when it otherwise | 104 // occurred, so that we can force the widget to scroll when it otherwise |
105 // would be unable to. | 105 // would be unable to. |
106 void ModifyEventForEdgeDragging(GtkWidget* widget, GdkEventMotion* event); | 106 void ModifyEventForEdgeDragging(GtkWidget* widget, GdkEventMotion* event); |
107 void Paint(const gfx::Rect&); | 107 void Paint(const gfx::Rect&); |
108 | 108 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 | 172 |
173 // The time it took after this view was selected for it to be fully painted. | 173 // The time it took after this view was selected for it to be fully painted. |
174 base::TimeTicks tab_switch_paint_time_; | 174 base::TimeTicks tab_switch_paint_time_; |
175 | 175 |
176 // A color we use to shade the entire render view. If 100% transparent, we do | 176 // A color we use to shade the entire render view. If 100% transparent, we do |
177 // not shade the render view. | 177 // not shade the render view. |
178 SkColor overlay_color_; | 178 SkColor overlay_color_; |
179 | 179 |
180 // The animation used for the abovementioned shade effect. The animation's | 180 // The animation used for the abovementioned shade effect. The animation's |
181 // value affects the alpha we use for |overlay_color_|. | 181 // value affects the alpha we use for |overlay_color_|. |
182 SlideAnimation overlay_animation_; | 182 ui::SlideAnimation overlay_animation_; |
183 | 183 |
184 // Variables used only for popups -------------------------------------------- | 184 // Variables used only for popups -------------------------------------------- |
185 // Our parent widget. | 185 // Our parent widget. |
186 RenderWidgetHostView* parent_host_view_; | 186 RenderWidgetHostView* parent_host_view_; |
187 // The native view of our parent, equivalent to | 187 // The native view of our parent, equivalent to |
188 // parent_host_view_->GetNativeView(). | 188 // parent_host_view_->GetNativeView(). |
189 GtkWidget* parent_; | 189 GtkWidget* parent_; |
190 // We ignore the first mouse release on popups. This allows the popup to | 190 // We ignore the first mouse release on popups. This allows the popup to |
191 // stay open. | 191 // stay open. |
192 bool is_popup_first_mouse_release_; | 192 bool is_popup_first_mouse_release_; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 // indicate the top edge, positive the bottom. | 224 // indicate the top edge, positive the bottom. |
225 int dragged_at_vertical_edge_; | 225 int dragged_at_vertical_edge_; |
226 | 226 |
227 #if defined(OS_CHROMEOS) | 227 #if defined(OS_CHROMEOS) |
228 // Custimized tooltip window. | 228 // Custimized tooltip window. |
229 scoped_ptr<views::TooltipWindowGtk> tooltip_window_; | 229 scoped_ptr<views::TooltipWindowGtk> tooltip_window_; |
230 #endif // defined(OS_CHROMEOS) | 230 #endif // defined(OS_CHROMEOS) |
231 }; | 231 }; |
232 | 232 |
233 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_ | 233 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_GTK_H_ |
OLD | NEW |