| OLD | NEW |
| 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 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" | 27 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" |
| 28 #include "content/common/navigation_gesture.h" | 28 #include "content/common/navigation_gesture.h" |
| 29 #include "content/common/view_message_enums.h" | 29 #include "content/common/view_message_enums.h" |
| 30 #include "content/public/common/javascript_message_type.h" | 30 #include "content/public/common/javascript_message_type.h" |
| 31 #include "content/public/common/page_zoom.h" | 31 #include "content/public/common/page_zoom.h" |
| 32 #include "content/public/common/referrer.h" | 32 #include "content/public/common/referrer.h" |
| 33 #include "content/public/common/renderer_preferences.h" | 33 #include "content/public/common/renderer_preferences.h" |
| 34 #include "content/public/common/stop_find_action.h" | 34 #include "content/public/common/stop_find_action.h" |
| 35 #include "content/public/common/top_controls_state.h" | 35 #include "content/public/common/top_controls_state.h" |
| 36 #include "content/public/renderer/render_view.h" | 36 #include "content/public/renderer/render_view.h" |
| 37 #include "content/renderer/media/webmediaplayer_delegate.h" |
| 37 #include "content/renderer/mouse_lock_dispatcher.h" | 38 #include "content/renderer/mouse_lock_dispatcher.h" |
| 38 #include "content/renderer/render_frame_impl.h" | 39 #include "content/renderer/render_frame_impl.h" |
| 39 #include "content/renderer/render_view_pepper_helper.h" | 40 #include "content/renderer/render_view_pepper_helper.h" |
| 40 #include "content/renderer/render_widget.h" | 41 #include "content/renderer/render_widget.h" |
| 41 #include "content/renderer/renderer_webcookiejar_impl.h" | 42 #include "content/renderer/renderer_webcookiejar_impl.h" |
| 42 #include "content/renderer/stats_collection_observer.h" | 43 #include "content/renderer/stats_collection_observer.h" |
| 43 #include "ipc/ipc_platform_file.h" | 44 #include "ipc/ipc_platform_file.h" |
| 44 #include "third_party/WebKit/public/platform/WebFileSystem.h" | 45 #include "third_party/WebKit/public/platform/WebFileSystem.h" |
| 45 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" | 46 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
| 46 #include "third_party/WebKit/public/web/WebConsoleMessage.h" | 47 #include "third_party/WebKit/public/web/WebConsoleMessage.h" |
| 47 #include "third_party/WebKit/public/web/WebDataSource.h" | 48 #include "third_party/WebKit/public/web/WebDataSource.h" |
| 48 #include "third_party/WebKit/public/web/WebFrameClient.h" | 49 #include "third_party/WebKit/public/web/WebFrameClient.h" |
| 49 #include "third_party/WebKit/public/web/WebHistoryItem.h" | 50 #include "third_party/WebKit/public/web/WebHistoryItem.h" |
| 50 #include "third_party/WebKit/public/web/WebIconURL.h" | 51 #include "third_party/WebKit/public/web/WebIconURL.h" |
| 51 #include "third_party/WebKit/public/web/WebInputEvent.h" | 52 #include "third_party/WebKit/public/web/WebInputEvent.h" |
| 52 #include "third_party/WebKit/public/web/WebNavigationType.h" | 53 #include "third_party/WebKit/public/web/WebNavigationType.h" |
| 53 #include "third_party/WebKit/public/web/WebNode.h" | 54 #include "third_party/WebKit/public/web/WebNode.h" |
| 54 #include "third_party/WebKit/public/web/WebPageSerializerClient.h" | 55 #include "third_party/WebKit/public/web/WebPageSerializerClient.h" |
| 55 #include "third_party/WebKit/public/web/WebPageVisibilityState.h" | 56 #include "third_party/WebKit/public/web/WebPageVisibilityState.h" |
| 56 #include "third_party/WebKit/public/web/WebSecurityOrigin.h" | 57 #include "third_party/WebKit/public/web/WebSecurityOrigin.h" |
| 57 #include "third_party/WebKit/public/web/WebViewClient.h" | 58 #include "third_party/WebKit/public/web/WebViewClient.h" |
| 58 #include "ui/base/ui_base_types.h" | 59 #include "ui/base/ui_base_types.h" |
| 59 #include "ui/surface/transport_dib.h" | 60 #include "ui/surface/transport_dib.h" |
| 60 #include "webkit/common/webpreferences.h" | 61 #include "webkit/common/webpreferences.h" |
| 61 #include "webkit/plugins/npapi/webplugin_page_delegate.h" | 62 #include "webkit/plugins/npapi/webplugin_page_delegate.h" |
| 62 #include "webkit/renderer/media/webmediaplayer_delegate.h" | |
| 63 | 63 |
| 64 #if defined(OS_ANDROID) | 64 #if defined(OS_ANDROID) |
| 65 #include "content/renderer/android/content_detector.h" | 65 #include "content/renderer/android/content_detector.h" |
| 66 #include "third_party/WebKit/public/web/WebContentDetectionResult.h" | 66 #include "third_party/WebKit/public/web/WebContentDetectionResult.h" |
| 67 #endif | 67 #endif |
| 68 | 68 |
| 69 #if defined(COMPILER_MSVC) | 69 #if defined(COMPILER_MSVC) |
| 70 // RenderViewImpl is a diamond-shaped hierarchy, with WebWidgetClient at the | 70 // RenderViewImpl is a diamond-shaped hierarchy, with WebWidgetClient at the |
| 71 // root. VS warns when we inherit the WebWidgetClient method implementations | 71 // root. VS warns when we inherit the WebWidgetClient method implementations |
| 72 // from RenderWidget. It's safe to ignore that warning. | 72 // from RenderWidget. It's safe to ignore that warning. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 86 } // namespace ui | 86 } // namespace ui |
| 87 | 87 |
| 88 namespace webkit { | 88 namespace webkit { |
| 89 | 89 |
| 90 namespace ppapi { | 90 namespace ppapi { |
| 91 class PluginInstance; | 91 class PluginInstance; |
| 92 } // namespace ppapi | 92 } // namespace ppapi |
| 93 | 93 |
| 94 } // namespace webkit | 94 } // namespace webkit |
| 95 | 95 |
| 96 namespace webkit_media { | |
| 97 class MediaStreamClient; | |
| 98 } | |
| 99 | |
| 100 namespace WebKit { | 96 namespace WebKit { |
| 101 class WebApplicationCacheHost; | 97 class WebApplicationCacheHost; |
| 102 class WebApplicationCacheHostClient; | 98 class WebApplicationCacheHostClient; |
| 103 class WebDOMMessageEvent; | 99 class WebDOMMessageEvent; |
| 104 class WebDataSource; | 100 class WebDataSource; |
| 105 class WebDateTimeChooserCompletion; | 101 class WebDateTimeChooserCompletion; |
| 106 class WebDragData; | 102 class WebDragData; |
| 107 class WebGeolocationClient; | 103 class WebGeolocationClient; |
| 108 class WebGestureEvent; | 104 class WebGestureEvent; |
| 109 class WebIconURL; | 105 class WebIconURL; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 143 class DevToolsAgent; | 139 class DevToolsAgent; |
| 144 class DocumentState; | 140 class DocumentState; |
| 145 class DomAutomationController; | 141 class DomAutomationController; |
| 146 class ExternalPopupMenu; | 142 class ExternalPopupMenu; |
| 147 class FaviconHelper; | 143 class FaviconHelper; |
| 148 class GeolocationDispatcher; | 144 class GeolocationDispatcher; |
| 149 class ImageResourceFetcher; | 145 class ImageResourceFetcher; |
| 150 class InputTagSpeechDispatcher; | 146 class InputTagSpeechDispatcher; |
| 151 class JavaBridgeDispatcher; | 147 class JavaBridgeDispatcher; |
| 152 class LoadProgressTracker; | 148 class LoadProgressTracker; |
| 149 class MediaStreamClient; |
| 153 class MediaStreamDispatcher; | 150 class MediaStreamDispatcher; |
| 154 class MouseLockDispatcher; | 151 class MouseLockDispatcher; |
| 155 class NavigationState; | 152 class NavigationState; |
| 156 class NotificationProvider; | 153 class NotificationProvider; |
| 157 class RenderViewObserver; | 154 class RenderViewObserver; |
| 158 class RenderViewTest; | 155 class RenderViewTest; |
| 159 class RendererAccessibility; | 156 class RendererAccessibility; |
| 160 class RendererDateTimePicker; | 157 class RendererDateTimePicker; |
| 161 class RendererPpapiHost; | 158 class RendererPpapiHost; |
| 162 class RendererWebColorChooserImpl; | 159 class RendererWebColorChooserImpl; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 193 // RenderView is an object that manages a WebView object, and provides a | 190 // RenderView is an object that manages a WebView object, and provides a |
| 194 // communication interface with an embedding application process | 191 // communication interface with an embedding application process |
| 195 // | 192 // |
| 196 class CONTENT_EXPORT RenderViewImpl | 193 class CONTENT_EXPORT RenderViewImpl |
| 197 : public RenderWidget, | 194 : public RenderWidget, |
| 198 NON_EXPORTED_BASE(public WebKit::WebViewClient), | 195 NON_EXPORTED_BASE(public WebKit::WebViewClient), |
| 199 NON_EXPORTED_BASE(public WebKit::WebFrameClient), | 196 NON_EXPORTED_BASE(public WebKit::WebFrameClient), |
| 200 NON_EXPORTED_BASE(public WebKit::WebPageSerializerClient), | 197 NON_EXPORTED_BASE(public WebKit::WebPageSerializerClient), |
| 201 public RenderView, | 198 public RenderView, |
| 202 NON_EXPORTED_BASE(public webkit::npapi::WebPluginPageDelegate), | 199 NON_EXPORTED_BASE(public webkit::npapi::WebPluginPageDelegate), |
| 203 NON_EXPORTED_BASE(public webkit_media::WebMediaPlayerDelegate), | 200 NON_EXPORTED_BASE(public WebMediaPlayerDelegate), |
| 204 public base::SupportsWeakPtr<RenderViewImpl> { | 201 public base::SupportsWeakPtr<RenderViewImpl> { |
| 205 public: | 202 public: |
| 206 // Creates a new RenderView. If this is a blocked popup or as a new tab, | 203 // Creates a new RenderView. If this is a blocked popup or as a new tab, |
| 207 // opener_id is the routing ID of the RenderView responsible for creating this | 204 // opener_id is the routing ID of the RenderView responsible for creating this |
| 208 // RenderView. |counter| is either a currently initialized counter, or NULL | 205 // RenderView. |counter| is either a currently initialized counter, or NULL |
| 209 // (in which case we treat this RenderView as a top level window). | 206 // (in which case we treat this RenderView as a top level window). |
| 210 static RenderViewImpl* Create( | 207 static RenderViewImpl* Create( |
| 211 int32 opener_id, | 208 int32 opener_id, |
| 212 const RendererPreferences& renderer_prefs, | 209 const RendererPreferences& renderer_prefs, |
| 213 const WebPreferences& webkit_prefs, | 210 const WebPreferences& webkit_prefs, |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 // Change the device scale factor and force the compositor to resize. | 383 // Change the device scale factor and force the compositor to resize. |
| 387 void SetDeviceScaleFactorForTesting(float factor); | 384 void SetDeviceScaleFactorForTesting(float factor); |
| 388 | 385 |
| 389 // Control autoresize mode. | 386 // Control autoresize mode. |
| 390 void EnableAutoResizeForTesting(const gfx::Size& min_size, | 387 void EnableAutoResizeForTesting(const gfx::Size& min_size, |
| 391 const gfx::Size& max_size); | 388 const gfx::Size& max_size); |
| 392 void DisableAutoResizeForTesting(const gfx::Size& new_size); | 389 void DisableAutoResizeForTesting(const gfx::Size& new_size); |
| 393 | 390 |
| 394 // Overrides the MediaStreamClient used when creating MediaStream players. | 391 // Overrides the MediaStreamClient used when creating MediaStream players. |
| 395 // Must be called before any players are created. | 392 // Must be called before any players are created. |
| 396 void SetMediaStreamClientForTesting( | 393 void SetMediaStreamClientForTesting(MediaStreamClient* media_stream_client); |
| 397 webkit_media::MediaStreamClient* media_stream_client); | |
| 398 | 394 |
| 399 // IPC::Listener implementation ---------------------------------------------- | 395 // IPC::Listener implementation ---------------------------------------------- |
| 400 | 396 |
| 401 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; | 397 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; |
| 402 | 398 |
| 403 // WebKit::WebWidgetClient implementation ------------------------------------ | 399 // WebKit::WebWidgetClient implementation ------------------------------------ |
| 404 | 400 |
| 405 // Most methods are handled by RenderWidget. | 401 // Most methods are handled by RenderWidget. |
| 406 virtual void didFocus(); | 402 virtual void didFocus(); |
| 407 virtual void didBlur(); | 403 virtual void didBlur(); |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 760 virtual WebKit::WebPlugin* CreatePluginReplacement( | 756 virtual WebKit::WebPlugin* CreatePluginReplacement( |
| 761 const base::FilePath& file_path) OVERRIDE; | 757 const base::FilePath& file_path) OVERRIDE; |
| 762 virtual void CreatedPluginWindow(gfx::PluginWindowHandle handle) OVERRIDE; | 758 virtual void CreatedPluginWindow(gfx::PluginWindowHandle handle) OVERRIDE; |
| 763 virtual void WillDestroyPluginWindow(gfx::PluginWindowHandle handle) OVERRIDE; | 759 virtual void WillDestroyPluginWindow(gfx::PluginWindowHandle handle) OVERRIDE; |
| 764 virtual void DidMovePlugin( | 760 virtual void DidMovePlugin( |
| 765 const webkit::npapi::WebPluginGeometry& move) OVERRIDE; | 761 const webkit::npapi::WebPluginGeometry& move) OVERRIDE; |
| 766 virtual void DidStartLoadingForPlugin() OVERRIDE; | 762 virtual void DidStartLoadingForPlugin() OVERRIDE; |
| 767 virtual void DidStopLoadingForPlugin() OVERRIDE; | 763 virtual void DidStopLoadingForPlugin() OVERRIDE; |
| 768 virtual WebKit::WebCookieJar* GetCookieJar() OVERRIDE; | 764 virtual WebKit::WebCookieJar* GetCookieJar() OVERRIDE; |
| 769 | 765 |
| 770 // webkit_media::WebMediaPlayerDelegate implementation ----------------------- | 766 // WebMediaPlayerDelegate implementation ----------------------- |
| 771 | 767 |
| 772 virtual void DidPlay(WebKit::WebMediaPlayer* player) OVERRIDE; | 768 virtual void DidPlay(WebKit::WebMediaPlayer* player) OVERRIDE; |
| 773 virtual void DidPause(WebKit::WebMediaPlayer* player) OVERRIDE; | 769 virtual void DidPause(WebKit::WebMediaPlayer* player) OVERRIDE; |
| 774 virtual void PlayerGone(WebKit::WebMediaPlayer* player) OVERRIDE; | 770 virtual void PlayerGone(WebKit::WebMediaPlayer* player) OVERRIDE; |
| 775 | 771 |
| 776 // Please do not add your stuff randomly to the end here. If there is an | 772 // Please do not add your stuff randomly to the end here. If there is an |
| 777 // appropriate section, add it there. If not, there are some random functions | 773 // appropriate section, add it there. If not, there are some random functions |
| 778 // nearer to the top you can add it to. | 774 // nearer to the top you can add it to. |
| 779 | 775 |
| 780 // Cannot use std::set unfortunately since linked_ptr<> does not support | 776 // Cannot use std::set unfortunately since linked_ptr<> does not support |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1421 // Device orientation dispatcher attached to this view; lazily initialized. | 1417 // Device orientation dispatcher attached to this view; lazily initialized. |
| 1422 DeviceOrientationDispatcher* device_orientation_dispatcher_; | 1418 DeviceOrientationDispatcher* device_orientation_dispatcher_; |
| 1423 | 1419 |
| 1424 // MediaStream dispatcher attached to this view; lazily initialized. | 1420 // MediaStream dispatcher attached to this view; lazily initialized. |
| 1425 MediaStreamDispatcher* media_stream_dispatcher_; | 1421 MediaStreamDispatcher* media_stream_dispatcher_; |
| 1426 | 1422 |
| 1427 // BrowserPluginManager attached to this view; lazily initialized. | 1423 // BrowserPluginManager attached to this view; lazily initialized. |
| 1428 scoped_refptr<BrowserPluginManager> browser_plugin_manager_; | 1424 scoped_refptr<BrowserPluginManager> browser_plugin_manager_; |
| 1429 | 1425 |
| 1430 // MediaStreamClient attached to this view; lazily initialized. | 1426 // MediaStreamClient attached to this view; lazily initialized. |
| 1431 webkit_media::MediaStreamClient* media_stream_client_; | 1427 MediaStreamClient* media_stream_client_; |
| 1432 WebKit::WebUserMediaClient* web_user_media_client_; | 1428 WebKit::WebUserMediaClient* web_user_media_client_; |
| 1433 | 1429 |
| 1434 DevToolsAgent* devtools_agent_; | 1430 DevToolsAgent* devtools_agent_; |
| 1435 | 1431 |
| 1436 // The current accessibility mode. | 1432 // The current accessibility mode. |
| 1437 AccessibilityMode accessibility_mode_; | 1433 AccessibilityMode accessibility_mode_; |
| 1438 | 1434 |
| 1439 // Only valid if |accessibility_mode_| is anything other than | 1435 // Only valid if |accessibility_mode_| is anything other than |
| 1440 // AccessibilityModeOff. | 1436 // AccessibilityModeOff. |
| 1441 RendererAccessibility* renderer_accessibility_; | 1437 RendererAccessibility* renderer_accessibility_; |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1577 // use the Observer interface to filter IPC messages and receive frame change | 1573 // use the Observer interface to filter IPC messages and receive frame change |
| 1578 // notifications. | 1574 // notifications. |
| 1579 // --------------------------------------------------------------------------- | 1575 // --------------------------------------------------------------------------- |
| 1580 | 1576 |
| 1581 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); | 1577 DISALLOW_COPY_AND_ASSIGN(RenderViewImpl); |
| 1582 }; | 1578 }; |
| 1583 | 1579 |
| 1584 } // namespace content | 1580 } // namespace content |
| 1585 | 1581 |
| 1586 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ | 1582 #endif // CONTENT_RENDERER_RENDER_VIEW_IMPL_H_ |
| OLD | NEW |