Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(605)

Side by Side Diff: chrome/browser/renderer_host/render_widget_host_view_mac.h

Issue 558035: [GPU] Get GPU process running on the mac... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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_MAC_H_ 5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_
6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_
7 7
8 #import <Cocoa/Cocoa.h> 8 #import <Cocoa/Cocoa.h>
9 #import <QuartzCore/CALayer.h>
9 10
10 #include "base/scoped_nsobject.h" 11 #include "base/scoped_nsobject.h"
11 #include "base/scoped_ptr.h" 12 #include "base/scoped_ptr.h"
12 #include "base/task.h" 13 #include "base/task.h"
13 #include "base/time.h" 14 #include "base/time.h"
14 #include "chrome/browser/cocoa/base_view.h" 15 #include "chrome/browser/cocoa/base_view.h"
15 #include "chrome/browser/renderer_host/render_widget_host_view.h" 16 #include "chrome/browser/renderer_host/render_widget_host_view.h"
16 #include "webkit/glue/webcursor.h" 17 #include "webkit/glue/webcursor.h"
17 #include "webkit/glue/webmenuitem.h" 18 #include "webkit/glue/webmenuitem.h"
19 #include "webkit/glue/plugins/mac_gpu_plugin_container_manager.h"
18 20
19 class RenderWidgetHostViewMac; 21 class RenderWidgetHostViewMac;
20 class RWHVMEditCommandHelper; 22 class RWHVMEditCommandHelper;
21 @class ToolTip; 23 @class ToolTip;
22 24
23 @protocol RenderWidgetHostViewMacOwner 25 @protocol RenderWidgetHostViewMacOwner
24 - (RenderWidgetHostViewMac*)renderWidgetHostViewMac; 26 - (RenderWidgetHostViewMac*)renderWidgetHostViewMac;
25 @end 27 @end
26 28
27 // This is the view that lives in the Cocoa view hierarchy. In Windows-land, 29 // This is the view that lives in the Cocoa view hierarchy. In Windows-land,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 virtual void ShowPopupWithItems(gfx::Rect bounds, 107 virtual void ShowPopupWithItems(gfx::Rect bounds,
106 int item_height, 108 int item_height,
107 int selected_item, 109 int selected_item,
108 const std::vector<WebMenuItem>& items); 110 const std::vector<WebMenuItem>& items);
109 virtual gfx::Rect GetWindowRect(); 111 virtual gfx::Rect GetWindowRect();
110 virtual gfx::Rect GetRootWindowRect(); 112 virtual gfx::Rect GetRootWindowRect();
111 virtual void SetActive(bool active); 113 virtual void SetActive(bool active);
112 virtual void SetWindowVisibility(bool visible); 114 virtual void SetWindowVisibility(bool visible);
113 virtual void SetBackground(const SkBitmap& background); 115 virtual void SetBackground(const SkBitmap& background);
114 116
117 // Methods associated with GPU plugin instances
118 virtual gfx::PluginWindowHandle AllocateFakePluginWindowHandle();
119 virtual void DestroyFakePluginWindowHandle(gfx::PluginWindowHandle window);
120 virtual void GPUPluginSetIOSurface(gfx::PluginWindowHandle window,
121 int32 width,
122 int32 height,
123 uint64 io_surface_identifier);
124 virtual void GPUPluginBuffersSwapped(gfx::PluginWindowHandle window);
125 // Draws the current GPU plugin instances into the given context.
126 virtual void DrawGPUPluginInstances(CGLContextObj context);
127
115 void KillSelf(); 128 void KillSelf();
116 129
117 void set_parent_view(BaseView* parent_view) { parent_view_ = parent_view; } 130 void set_parent_view(BaseView* parent_view) { parent_view_ = parent_view; }
118 131
119 // These member variables should be private, but the associated ObjC class 132 // These member variables should be private, but the associated ObjC class
120 // needs access to them and can't be made a friend. 133 // needs access to them and can't be made a friend.
121 134
122 // The associated Model. Can be NULL if Destroy() is called when 135 // The associated Model. Can be NULL if Destroy() is called when
123 // someone (other than superview) has retained |cocoa_view_|. 136 // someone (other than superview) has retained |cocoa_view_|.
124 RenderWidgetHost* render_widget_host_; 137 RenderWidgetHost* render_widget_host_;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 // To create a Char event in NSTextInput methods, we save the latest state 187 // To create a Char event in NSTextInput methods, we save the latest state
175 // of modifier keys when we receive it. 188 // of modifier keys when we receive it.
176 int im_modifiers_; 189 int im_modifiers_;
177 190
178 // Represents the cursor position in this view coordinate. 191 // Represents the cursor position in this view coordinate.
179 // The renderer sends the cursor position through an IPC message. 192 // The renderer sends the cursor position through an IPC message.
180 // We save the latest cursor position here and return it when an input 193 // We save the latest cursor position here and return it when an input
181 // methods needs it. 194 // methods needs it.
182 NSRect im_caret_rect_; 195 NSRect im_caret_rect_;
183 196
197 // The Core Animation layer, if any, hosting the GPU plugins' output.
198 scoped_nsobject<CALayer> gpu_plugin_layer_;
199
184 private: 200 private:
185 // Updates the display cursor to the current cursor if the cursor is over this 201 // Updates the display cursor to the current cursor if the cursor is over this
186 // render view. 202 // render view.
187 void UpdateCursorIfOverSelf(); 203 void UpdateCursorIfOverSelf();
188 204
189 // Shuts down the render_widget_host_. This is a separate function so we can 205 // Shuts down the render_widget_host_. This is a separate function so we can
190 // invoke it from the message loop. 206 // invoke it from the message loop.
191 void ShutdownHost(); 207 void ShutdownHost();
192 208
193 // The associated view. This is weak and is inserted into the view hierarchy 209 // The associated view. This is weak and is inserted into the view hierarchy
(...skipping 19 matching lines...) Expand all
213 229
214 // The text to be shown in the tooltip, supplied by the renderer. 230 // The text to be shown in the tooltip, supplied by the renderer.
215 std::wstring tooltip_text_; 231 std::wstring tooltip_text_;
216 232
217 // Factory used to safely scope delayed calls to ShutdownHost(). 233 // Factory used to safely scope delayed calls to ShutdownHost().
218 ScopedRunnableMethodFactory<RenderWidgetHostViewMac> shutdown_factory_; 234 ScopedRunnableMethodFactory<RenderWidgetHostViewMac> shutdown_factory_;
219 235
220 // Used for positioning a popup menu. 236 // Used for positioning a popup menu.
221 BaseView* parent_view_; 237 BaseView* parent_view_;
222 238
239 // Helper class for managing instances of the GPU plugin.
240 MacGPUPluginContainerManager plugin_container_manager_;
241
223 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); 242 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac);
224 }; 243 };
225 244
226 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ 245 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/render_widget_host_view.h ('k') | chrome/browser/renderer_host/render_widget_host_view_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698