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

Side by Side Diff: content/renderer/render_view_impl.h

Issue 8970016: refactoring mouse lock to support pepper and WebKit (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated webkit API names. Created 8 years, 11 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
7 #pragma once 7 #pragma once
8 8
9 #include <deque> 9 #include <deque>
10 #include <map> 10 #include <map>
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 #endif 58 #endif
59 59
60 class DeviceOrientationDispatcher; 60 class DeviceOrientationDispatcher;
61 class DevToolsAgent; 61 class DevToolsAgent;
62 class ExternalPopupMenu; 62 class ExternalPopupMenu;
63 class GeolocationDispatcher; 63 class GeolocationDispatcher;
64 class GURL; 64 class GURL;
65 class JavaBridgeDispatcher; 65 class JavaBridgeDispatcher;
66 class LoadProgressTracker; 66 class LoadProgressTracker;
67 class MediaStreamImpl; 67 class MediaStreamImpl;
68 class MouseLockDispatcher;
68 class NotificationProvider; 69 class NotificationProvider;
69 class PepperDeviceTest; 70 class PepperDeviceTest;
70 struct PP_NetAddress_Private; 71 struct PP_NetAddress_Private;
71 class RenderWidgetFullscreenPepper; 72 class RenderWidgetFullscreenPepper;
72 class RendererAccessibility; 73 class RendererAccessibility;
73 class SkBitmap; 74 class SkBitmap;
74 class SpeechInputDispatcher; 75 class SpeechInputDispatcher;
75 struct ViewMsg_Navigate_Params; 76 struct ViewMsg_Navigate_Params;
76 struct ViewMsg_StopFinding_Params; 77 struct ViewMsg_StopFinding_Params;
77 struct ViewMsg_SwapOut_Params; 78 struct ViewMsg_SwapOut_Params;
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 // type. Returns false if no plugin was found. 281 // type. Returns false if no plugin was found.
281 // |actual_mime_type| is the actual mime type supported by the 282 // |actual_mime_type| is the actual mime type supported by the
282 // plugin found that match the URL given (one for each item in 283 // plugin found that match the URL given (one for each item in
283 // |info|). 284 // |info|).
284 CONTENT_EXPORT bool GetPluginInfo(const GURL& url, 285 CONTENT_EXPORT bool GetPluginInfo(const GURL& url,
285 const GURL& page_url, 286 const GURL& page_url,
286 const std::string& mime_type, 287 const std::string& mime_type,
287 webkit::WebPluginInfo* plugin_info, 288 webkit::WebPluginInfo* plugin_info,
288 std::string* actual_mime_type); 289 std::string* actual_mime_type);
289 290
291 bool PpapiLockMouse(webkit::ppapi::PluginInstance* pinstance);
yzshen1 2012/01/16 07:50:35 nit: pinstance -> instance.
scheib 2012/01/17 22:05:36 Done. -- changed pinstance to plugin everywhere.
292 void PpapiUnlockMouse(webkit::ppapi::PluginInstance* pinstance);
293 bool PpapiIsMouseLockedTo(webkit::ppapi::PluginInstance* pinstance);
294
290 // IPC::Channel::Listener implementation ------------------------------------- 295 // IPC::Channel::Listener implementation -------------------------------------
291 296
292 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; 297 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
293 298
294 // WebKit::WebWidgetClient implementation ------------------------------------ 299 // WebKit::WebWidgetClient implementation ------------------------------------
295 300
296 // Most methods are handled by RenderWidget. 301 // Most methods are handled by RenderWidget.
297 virtual void didFocus(); 302 virtual void didFocus();
298 virtual void didBlur(); 303 virtual void didBlur();
299 virtual void show(WebKit::WebNavigationPolicy policy); 304 virtual void show(WebKit::WebNavigationPolicy policy);
300 virtual void runModal(); 305 virtual void runModal();
301 virtual bool enterFullScreen(); 306 virtual bool enterFullScreen();
302 virtual void exitFullScreen(); 307 virtual void exitFullScreen();
308 virtual bool requestPointerLock();
309 virtual void requestPointerUnlock();
310 virtual bool isPointerLocked();
303 311
304 // WebKit::WebViewClient implementation -------------------------------------- 312 // WebKit::WebViewClient implementation --------------------------------------
305 313
306 virtual WebKit::WebView* createView( 314 virtual WebKit::WebView* createView(
307 WebKit::WebFrame* creator, 315 WebKit::WebFrame* creator,
308 const WebKit::WebURLRequest& request, 316 const WebKit::WebURLRequest& request,
309 const WebKit::WebWindowFeatures& features, 317 const WebKit::WebWindowFeatures& features,
310 const WebKit::WebString& frame_name); 318 const WebKit::WebString& frame_name);
311 virtual WebKit::WebWidget* createPopupMenu(WebKit::WebPopupType popup_type); 319 virtual WebKit::WebWidget* createPopupMenu(WebKit::WebPopupType popup_type);
312 virtual WebKit::WebWidget* createPopupMenu( 320 virtual WebKit::WebWidget* createPopupMenu(
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 void OnEnumerateDirectoryResponse(int id, const std::vector<FilePath>& paths); 789 void OnEnumerateDirectoryResponse(int id, const std::vector<FilePath>& paths);
782 void OnExecuteEditCommand(const std::string& name, const std::string& value); 790 void OnExecuteEditCommand(const std::string& name, const std::string& value);
783 void OnFileChooserResponse(const std::vector<FilePath>& paths); 791 void OnFileChooserResponse(const std::vector<FilePath>& paths);
784 void OnFind(int request_id, const string16&, const WebKit::WebFindOptions&); 792 void OnFind(int request_id, const string16&, const WebKit::WebFindOptions&);
785 void OnFindReplyAck(); 793 void OnFindReplyAck();
786 void OnGetAllSavableResourceLinksForCurrentPage(const GURL& page_url); 794 void OnGetAllSavableResourceLinksForCurrentPage(const GURL& page_url);
787 void OnGetSerializedHtmlDataForCurrentPageWithLocalLinks( 795 void OnGetSerializedHtmlDataForCurrentPageWithLocalLinks(
788 const std::vector<GURL>& links, 796 const std::vector<GURL>& links,
789 const std::vector<FilePath>& local_paths, 797 const std::vector<FilePath>& local_paths,
790 const FilePath& local_directory_name); 798 const FilePath& local_directory_name);
791 void OnLockMouseACK(bool succeeded);
792 void OnMediaPlayerActionAt(const gfx::Point& location, 799 void OnMediaPlayerActionAt(const gfx::Point& location,
793 const WebKit::WebMediaPlayerAction& action); 800 const WebKit::WebMediaPlayerAction& action);
794 void OnMouseLockLost();
795 void OnMoveOrResizeStarted(); 801 void OnMoveOrResizeStarted();
796 CONTENT_EXPORT void OnNavigate(const ViewMsg_Navigate_Params& params); 802 CONTENT_EXPORT void OnNavigate(const ViewMsg_Navigate_Params& params);
797 void OnPaste(); 803 void OnPaste();
798 void OnPasteAndMatchStyle(); 804 void OnPasteAndMatchStyle();
799 #if defined(OS_MACOSX) 805 #if defined(OS_MACOSX)
800 void OnPluginImeCompositionCompleted(const string16& text, int plugin_id); 806 void OnPluginImeCompositionCompleted(const string16& text, int plugin_id);
801 #endif 807 #endif
802 void OnRedo(); 808 void OnRedo();
803 void OnReloadFrame(); 809 void OnReloadFrame();
804 void OnReplace(const string16& text); 810 void OnReplace(const string16& text);
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1132 // Dispatches all P2P socket used by the renderer. 1138 // Dispatches all P2P socket used by the renderer.
1133 content::P2PSocketDispatcher* p2p_socket_dispatcher_; 1139 content::P2PSocketDispatcher* p2p_socket_dispatcher_;
1134 1140
1135 DevToolsAgent* devtools_agent_; 1141 DevToolsAgent* devtools_agent_;
1136 1142
1137 RendererAccessibility* renderer_accessibility_; 1143 RendererAccessibility* renderer_accessibility_;
1138 1144
1139 // Java Bridge dispatcher attached to this view; lazily initialized. 1145 // Java Bridge dispatcher attached to this view; lazily initialized.
1140 scoped_ptr<JavaBridgeDispatcher> java_bridge_dispatcher_; 1146 scoped_ptr<JavaBridgeDispatcher> java_bridge_dispatcher_;
1141 1147
1148 // Mouse Lock dispatcher attached to this view.
1149 MouseLockDispatcher* mouse_lock_dispatcher_;
1150
1142 // Misc ---------------------------------------------------------------------- 1151 // Misc ----------------------------------------------------------------------
1143 1152
1144 // The current and pending file chooser completion objects. If the queue is 1153 // The current and pending file chooser completion objects. If the queue is
1145 // nonempty, the first item represents the currently running file chooser 1154 // nonempty, the first item represents the currently running file chooser
1146 // callback, and the remaining elements are the other file chooser completion 1155 // callback, and the remaining elements are the other file chooser completion
1147 // still waiting to be run (in order). 1156 // still waiting to be run (in order).
1148 struct PendingFileChooser; 1157 struct PendingFileChooser;
1149 std::deque< linked_ptr<PendingFileChooser> > file_chooser_completions_; 1158 std::deque< linked_ptr<PendingFileChooser> > file_chooser_completions_;
1150 1159
1151 // The current directory enumeration callback 1160 // The current directory enumeration callback
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1219 // bunch of stuff, you should probably create a helper class and put your 1228 // bunch of stuff, you should probably create a helper class and put your
1220 // data and methods on that to avoid bloating RenderView more. You can 1229 // data and methods on that to avoid bloating RenderView more. You can
1221 // use the Observer interface to filter IPC messages and receive frame change 1230 // use the Observer interface to filter IPC messages and receive frame change
1222 // notifications. 1231 // notifications.
1223 // --------------------------------------------------------------------------- 1232 // ---------------------------------------------------------------------------
1224 1233
1225 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); 1234 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl);
1226 }; 1235 };
1227 1236
1228 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 1237 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698