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

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

Issue 8060055: Adding support for MediaStream and PeerConnection functionality (Closed) Base URL: http://git.chromium.org/chromium/chromium.git@trunk
Patch Set: Code review fixes plus implementation of WebKit::WebUserMediaClient. Created 9 years, 1 month 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
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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 56
57 class AudioMessageFilter; 57 class AudioMessageFilter;
58 class DeviceOrientationDispatcher; 58 class DeviceOrientationDispatcher;
59 class DevToolsAgent; 59 class DevToolsAgent;
60 class ExternalPopupMenu; 60 class ExternalPopupMenu;
61 class GeolocationDispatcher; 61 class GeolocationDispatcher;
62 class GURL; 62 class GURL;
63 class IntentsDispatcher; 63 class IntentsDispatcher;
64 class JavaBridgeDispatcher; 64 class JavaBridgeDispatcher;
65 class LoadProgressTracker; 65 class LoadProgressTracker;
66 class MediaStreamDispatcher;
66 class MediaStreamImpl; 67 class MediaStreamImpl;
67 class NotificationProvider; 68 class NotificationProvider;
68 class PepperDeviceTest; 69 class PepperDeviceTest;
69 class PrintWebViewHelper; 70 class PrintWebViewHelper;
70 class RenderWidgetFullscreenPepper; 71 class RenderWidgetFullscreenPepper;
71 class RendererAccessibility; 72 class RendererAccessibility;
72 class SkBitmap; 73 class SkBitmap;
73 class SpeechInputDispatcher; 74 class SpeechInputDispatcher;
74 class WebPluginDelegateProxy; 75 class WebPluginDelegateProxy;
75 class WebUIBindings; 76 class WebUIBindings;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 class WebDragData; 125 class WebDragData;
125 class WebGeolocationClient; 126 class WebGeolocationClient;
126 class WebGeolocationServiceInterface; 127 class WebGeolocationServiceInterface;
127 class WebIconURL; 128 class WebIconURL;
128 class WebImage; 129 class WebImage;
129 class WebInputElement; 130 class WebInputElement;
130 class WebKeyboardEvent; 131 class WebKeyboardEvent;
131 class WebMediaPlayer; 132 class WebMediaPlayer;
132 class WebMediaPlayerClient; 133 class WebMediaPlayerClient;
133 class WebMouseEvent; 134 class WebMouseEvent;
135 class WebPeerConnectionHandler;
136 class WebPeerConnectionHandlerClient;
134 class WebSpeechInputController; 137 class WebSpeechInputController;
135 class WebSpeechInputListener; 138 class WebSpeechInputListener;
136 class WebStorageNamespace; 139 class WebStorageNamespace;
137 class WebTouchEvent; 140 class WebTouchEvent;
138 class WebURLLoader; 141 class WebURLLoader;
139 class WebURLRequest; 142 class WebURLRequest;
143 class WebUserMediaClient;
140 struct WebFileChooserParams; 144 struct WebFileChooserParams;
141 struct WebFindOptions; 145 struct WebFindOptions;
142 struct WebMediaPlayerAction; 146 struct WebMediaPlayerAction;
143 struct WebPoint; 147 struct WebPoint;
144 struct WebWindowFeatures; 148 struct WebWindowFeatures;
145 } 149 }
146 150
147 // We need to prevent a page from trying to create infinite popups. It is not 151 // We need to prevent a page from trying to create infinite popups. It is not
148 // as simple as keeping a count of the number of immediate children 152 // as simple as keeping a count of the number of immediate children
149 // popups. Having an html file that window.open()s itself would create 153 // popups. Having an html file that window.open()s itself would create
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 CONTENT_EXPORT WebKit::WebView* webview() const; 201 CONTENT_EXPORT WebKit::WebView* webview() const;
198 202
199 // Called by a GraphicsContext associated with this view when swapbuffers 203 // Called by a GraphicsContext associated with this view when swapbuffers
200 // is posted, completes or is aborted. 204 // is posted, completes or is aborted.
201 void OnViewContextSwapBuffersPosted(); 205 void OnViewContextSwapBuffersPosted();
202 void OnViewContextSwapBuffersComplete(); 206 void OnViewContextSwapBuffersComplete();
203 void OnViewContextSwapBuffersAborted(); 207 void OnViewContextSwapBuffersAborted();
204 208
205 int history_list_offset() const { return history_list_offset_; } 209 int history_list_offset() const { return history_list_offset_; }
206 210
211 MediaStreamDispatcher* media_stream_dispatcher() {
darin (slow to review) 2011/11/17 18:04:02 nit: can you move this down nearby the p2p_socket_
Henrik Grunell 2011/11/18 16:05:21 Done.
212 return media_stream_dispatcher_;
213 }
214
207 const WebPreferences& webkit_preferences() const { 215 const WebPreferences& webkit_preferences() const {
208 return webkit_preferences_; 216 return webkit_preferences_;
209 } 217 }
210 218
211 void set_send_content_state_immediately(bool value) { 219 void set_send_content_state_immediately(bool value) {
212 send_content_state_immediately_ = value; 220 send_content_state_immediately_ = value;
213 } 221 }
214 222
215 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled. 223 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled.
216 content::P2PSocketDispatcher* p2p_socket_dispatcher() { 224 content::P2PSocketDispatcher* p2p_socket_dispatcher() {
217 return p2p_socket_dispatcher_; 225 return p2p_socket_dispatcher_;
218 } 226 }
219 227
228 WebKit::WebPeerConnectionHandler* CreatePeerConnectionHandler(
229 WebKit::WebPeerConnectionHandlerClient* client);
230
220 // Functions to add and remove observers for this object. 231 // Functions to add and remove observers for this object.
221 void AddObserver(content::RenderViewObserver* observer); 232 void AddObserver(content::RenderViewObserver* observer);
222 void RemoveObserver(content::RenderViewObserver* observer); 233 void RemoveObserver(content::RenderViewObserver* observer);
223 234
224 // Adds the given file chooser request to the file_chooser_completion_ queue 235 // Adds the given file chooser request to the file_chooser_completion_ queue
225 // (see that var for more) and requests the chooser be displayed if there are 236 // (see that var for more) and requests the chooser be displayed if there are
226 // no other waiting items in the queue. 237 // no other waiting items in the queue.
227 // 238 //
228 // Returns true if the chooser was successfully scheduled. False means we 239 // Returns true if the chooser was successfully scheduled. False means we
229 // didn't schedule anything. 240 // didn't schedule anything.
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 virtual void registerIntentHandler(const WebKit::WebString& action, 409 virtual void registerIntentHandler(const WebKit::WebString& action,
399 const WebKit::WebString& type, 410 const WebKit::WebString& type,
400 const WebKit::WebString& href, 411 const WebKit::WebString& href,
401 const WebKit::WebString& title, 412 const WebKit::WebString& title,
402 const WebKit::WebString& disposition); 413 const WebKit::WebString& disposition);
403 virtual WebKit::WebPageVisibilityState visibilityState() const; 414 virtual WebKit::WebPageVisibilityState visibilityState() const;
404 virtual void startActivity(const WebKit::WebString& action, 415 virtual void startActivity(const WebKit::WebString& action,
405 const WebKit::WebString& type, 416 const WebKit::WebString& type,
406 const WebKit::WebString& data, 417 const WebKit::WebString& data,
407 int intent_id); 418 int intent_id);
419 virtual WebKit::WebUserMediaClient* userMediaClient();
408 420
409 // WebKit::WebFrameClient implementation ------------------------------------- 421 // WebKit::WebFrameClient implementation -------------------------------------
410 422
411 virtual WebKit::WebPlugin* createPlugin( 423 virtual WebKit::WebPlugin* createPlugin(
412 WebKit::WebFrame* frame, 424 WebKit::WebFrame* frame,
413 const WebKit::WebPluginParams& params); 425 const WebKit::WebPluginParams& params);
414 virtual WebKit::WebSharedWorker* createSharedWorker( 426 virtual WebKit::WebSharedWorker* createSharedWorker(
415 WebKit::WebFrame* frame, const WebKit::WebURL& url, 427 WebKit::WebFrame* frame, const WebKit::WebURL& url,
416 const WebKit::WebString& name, unsigned long long documentId); 428 const WebKit::WebString& name, unsigned long long documentId);
417 virtual WebKit::WebMediaPlayer* createMediaPlayer( 429 virtual WebKit::WebMediaPlayer* createMediaPlayer(
(...skipping 726 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 1156
1145 // The intents dispatcher attached to this view. Not lazily initialized. 1157 // The intents dispatcher attached to this view. Not lazily initialized.
1146 IntentsDispatcher* intents_dispatcher_; 1158 IntentsDispatcher* intents_dispatcher_;
1147 1159
1148 // The speech dispatcher attached to this view, lazily initialized. 1160 // The speech dispatcher attached to this view, lazily initialized.
1149 SpeechInputDispatcher* speech_input_dispatcher_; 1161 SpeechInputDispatcher* speech_input_dispatcher_;
1150 1162
1151 // Device orientation dispatcher attached to this view; lazily initialized. 1163 // Device orientation dispatcher attached to this view; lazily initialized.
1152 DeviceOrientationDispatcher* device_orientation_dispatcher_; 1164 DeviceOrientationDispatcher* device_orientation_dispatcher_;
1153 1165
1166 // MediaStream dispatcher attached to this view; lazily initialized.
1167 MediaStreamDispatcher* media_stream_dispatcher_;
1168
1154 // MediaStreamImpl attached to this view; lazily initialized. 1169 // MediaStreamImpl attached to this view; lazily initialized.
1155 scoped_refptr<MediaStreamImpl> media_stream_impl_; 1170 scoped_refptr<MediaStreamImpl> media_stream_impl_;
1156 1171
1157 // Dispatches all P2P socket used by the renderer. 1172 // Dispatches all P2P socket used by the renderer.
1158 content::P2PSocketDispatcher* p2p_socket_dispatcher_; 1173 content::P2PSocketDispatcher* p2p_socket_dispatcher_;
1159 1174
1160 DevToolsAgent* devtools_agent_; 1175 DevToolsAgent* devtools_agent_;
1161 1176
1162 RendererAccessibility* renderer_accessibility_; 1177 RendererAccessibility* renderer_accessibility_;
1163 1178
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1228 // bunch of stuff, you should probably create a helper class and put your 1243 // bunch of stuff, you should probably create a helper class and put your
1229 // data and methods on that to avoid bloating RenderView more. You can 1244 // data and methods on that to avoid bloating RenderView more. You can
1230 // use the Observer interface to filter IPC messages and receive frame change 1245 // use the Observer interface to filter IPC messages and receive frame change
1231 // notifications. 1246 // notifications.
1232 // --------------------------------------------------------------------------- 1247 // ---------------------------------------------------------------------------
1233 1248
1234 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); 1249 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl);
1235 }; 1250 };
1236 1251
1237 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ 1252 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698