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

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: Remove WebKit API dependency 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 MediaStreamDispatcher; 67 class MediaStreamDispatcher;
68 class MediaStreamImpl; 68 class MediaStreamImpl;
69 class MouseLockDispatcher;
69 class NotificationProvider; 70 class NotificationProvider;
70 class PepperDeviceTest; 71 class PepperDeviceTest;
71 struct PP_NetAddress_Private; 72 struct PP_NetAddress_Private;
72 class RenderWidgetFullscreenPepper; 73 class RenderWidgetFullscreenPepper;
73 class RendererAccessibility; 74 class RendererAccessibility;
74 class SkBitmap; 75 class SkBitmap;
75 class SpeechInputDispatcher; 76 class SpeechInputDispatcher;
76 struct ViewMsg_Navigate_Params; 77 struct ViewMsg_Navigate_Params;
77 struct ViewMsg_StopFinding_Params; 78 struct ViewMsg_StopFinding_Params;
78 struct ViewMsg_SwapOut_Params; 79 struct ViewMsg_SwapOut_Params;
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 // type. Returns false if no plugin was found. 296 // type. Returns false if no plugin was found.
296 // |actual_mime_type| is the actual mime type supported by the 297 // |actual_mime_type| is the actual mime type supported by the
297 // plugin found that match the URL given (one for each item in 298 // plugin found that match the URL given (one for each item in
298 // |info|). 299 // |info|).
299 CONTENT_EXPORT bool GetPluginInfo(const GURL& url, 300 CONTENT_EXPORT bool GetPluginInfo(const GURL& url,
300 const GURL& page_url, 301 const GURL& page_url,
301 const std::string& mime_type, 302 const std::string& mime_type,
302 webkit::WebPluginInfo* plugin_info, 303 webkit::WebPluginInfo* plugin_info,
303 std::string* actual_mime_type); 304 std::string* actual_mime_type);
304 305
306 bool PpapiLockMouse(webkit::ppapi::PluginInstance* plugin);
307 void PpapiUnlockMouse(webkit::ppapi::PluginInstance* plugin);
308 bool PpapiIsMouseLockedTo(webkit::ppapi::PluginInstance* plugin);
309
305 // IPC::Channel::Listener implementation ------------------------------------- 310 // IPC::Channel::Listener implementation -------------------------------------
306 311
307 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; 312 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
308 313
309 // WebKit::WebWidgetClient implementation ------------------------------------ 314 // WebKit::WebWidgetClient implementation ------------------------------------
310 315
311 // Most methods are handled by RenderWidget. 316 // Most methods are handled by RenderWidget.
312 virtual void didFocus(); 317 virtual void didFocus();
313 virtual void didBlur(); 318 virtual void didBlur();
314 virtual void show(WebKit::WebNavigationPolicy policy); 319 virtual void show(WebKit::WebNavigationPolicy policy);
315 virtual void runModal(); 320 virtual void runModal();
316 virtual bool enterFullScreen(); 321 virtual bool enterFullScreen();
317 virtual void exitFullScreen(); 322 virtual void exitFullScreen();
323 virtual bool requestPointerLock();
324 virtual void requestPointerUnlock();
325 virtual bool isPointerLocked();
318 326
319 // WebKit::WebViewClient implementation -------------------------------------- 327 // WebKit::WebViewClient implementation --------------------------------------
320 328
321 virtual WebKit::WebView* createView( 329 virtual WebKit::WebView* createView(
322 WebKit::WebFrame* creator, 330 WebKit::WebFrame* creator,
323 const WebKit::WebURLRequest& request, 331 const WebKit::WebURLRequest& request,
324 const WebKit::WebWindowFeatures& features, 332 const WebKit::WebWindowFeatures& features,
325 const WebKit::WebString& frame_name); 333 const WebKit::WebString& frame_name);
326 virtual WebKit::WebWidget* createPopupMenu(WebKit::WebPopupType popup_type); 334 virtual WebKit::WebWidget* createPopupMenu(WebKit::WebPopupType popup_type);
327 virtual WebKit::WebWidget* createPopupMenu( 335 virtual WebKit::WebWidget* createPopupMenu(
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 void OnEnumerateDirectoryResponse(int id, const std::vector<FilePath>& paths); 805 void OnEnumerateDirectoryResponse(int id, const std::vector<FilePath>& paths);
798 void OnExecuteEditCommand(const std::string& name, const std::string& value); 806 void OnExecuteEditCommand(const std::string& name, const std::string& value);
799 void OnFileChooserResponse(const std::vector<FilePath>& paths); 807 void OnFileChooserResponse(const std::vector<FilePath>& paths);
800 void OnFind(int request_id, const string16&, const WebKit::WebFindOptions&); 808 void OnFind(int request_id, const string16&, const WebKit::WebFindOptions&);
801 void OnFindReplyAck(); 809 void OnFindReplyAck();
802 void OnGetAllSavableResourceLinksForCurrentPage(const GURL& page_url); 810 void OnGetAllSavableResourceLinksForCurrentPage(const GURL& page_url);
803 void OnGetSerializedHtmlDataForCurrentPageWithLocalLinks( 811 void OnGetSerializedHtmlDataForCurrentPageWithLocalLinks(
804 const std::vector<GURL>& links, 812 const std::vector<GURL>& links,
805 const std::vector<FilePath>& local_paths, 813 const std::vector<FilePath>& local_paths,
806 const FilePath& local_directory_name); 814 const FilePath& local_directory_name);
807 void OnLockMouseACK(bool succeeded);
808 void OnMediaPlayerActionAt(const gfx::Point& location, 815 void OnMediaPlayerActionAt(const gfx::Point& location,
809 const WebKit::WebMediaPlayerAction& action); 816 const WebKit::WebMediaPlayerAction& action);
810 void OnPluginActionAt(const gfx::Point& location, 817 void OnPluginActionAt(const gfx::Point& location,
811 const WebKit::WebPluginAction& action); 818 const WebKit::WebPluginAction& action);
812 void OnMouseLockLost();
813 void OnMoveOrResizeStarted(); 819 void OnMoveOrResizeStarted();
814 CONTENT_EXPORT void OnNavigate(const ViewMsg_Navigate_Params& params); 820 CONTENT_EXPORT void OnNavigate(const ViewMsg_Navigate_Params& params);
815 void OnPaste(); 821 void OnPaste();
816 void OnPasteAndMatchStyle(); 822 void OnPasteAndMatchStyle();
817 #if defined(OS_MACOSX) 823 #if defined(OS_MACOSX)
818 void OnPluginImeCompositionCompleted(const string16& text, int plugin_id); 824 void OnPluginImeCompositionCompleted(const string16& text, int plugin_id);
819 #endif 825 #endif
820 void OnRedo(); 826 void OnRedo();
821 void OnReloadFrame(); 827 void OnReloadFrame();
822 void OnReplace(const string16& text); 828 void OnReplace(const string16& text);
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 // Dispatches all P2P socket used by the renderer. 1161 // Dispatches all P2P socket used by the renderer.
1156 content::P2PSocketDispatcher* p2p_socket_dispatcher_; 1162 content::P2PSocketDispatcher* p2p_socket_dispatcher_;
1157 1163
1158 DevToolsAgent* devtools_agent_; 1164 DevToolsAgent* devtools_agent_;
1159 1165
1160 RendererAccessibility* renderer_accessibility_; 1166 RendererAccessibility* renderer_accessibility_;
1161 1167
1162 // Java Bridge dispatcher attached to this view; lazily initialized. 1168 // Java Bridge dispatcher attached to this view; lazily initialized.
1163 scoped_ptr<JavaBridgeDispatcher> java_bridge_dispatcher_; 1169 scoped_ptr<JavaBridgeDispatcher> java_bridge_dispatcher_;
1164 1170
1171 // Mouse Lock dispatcher attached to this view.
1172 MouseLockDispatcher* mouse_lock_dispatcher_;
1173
1165 // Misc ---------------------------------------------------------------------- 1174 // Misc ----------------------------------------------------------------------
1166 1175
1167 // The current and pending file chooser completion objects. If the queue is 1176 // The current and pending file chooser completion objects. If the queue is
1168 // nonempty, the first item represents the currently running file chooser 1177 // nonempty, the first item represents the currently running file chooser
1169 // callback, and the remaining elements are the other file chooser completion 1178 // callback, and the remaining elements are the other file chooser completion
1170 // still waiting to be run (in order). 1179 // still waiting to be run (in order).
1171 struct PendingFileChooser; 1180 struct PendingFileChooser;
1172 std::deque< linked_ptr<PendingFileChooser> > file_chooser_completions_; 1181 std::deque< linked_ptr<PendingFileChooser> > file_chooser_completions_;
1173 1182
1174 // The current directory enumeration callback 1183 // The current directory enumeration callback
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1242 // bunch of stuff, you should probably create a helper class and put your 1251 // bunch of stuff, you should probably create a helper class and put your
1243 // data and methods on that to avoid bloating RenderView more. You can 1252 // data and methods on that to avoid bloating RenderView more. You can
1244 // use the Observer interface to filter IPC messages and receive frame change 1253 // use the Observer interface to filter IPC messages and receive frame change
1245 // notifications. 1254 // notifications.
1246 // --------------------------------------------------------------------------- 1255 // ---------------------------------------------------------------------------
1247 1256
1248 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); 1257 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl);
1249 }; 1258 };
1250 1259
1251 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 1260 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698