diff options
author | miu@chromium.org <miu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-17 08:04:32 +0000 |
---|---|---|
committer | miu@chromium.org <miu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-17 08:04:32 +0000 |
commit | 977db4a4225870c35d80393d2312cb1931a4dba4 (patch) | |
tree | 468d02055ff28dbb207ccad8b19c3f170f01569c /content/renderer/render_view_impl.cc | |
parent | 6ee8a1e328f53fd64c014484e3fdd0f765c64996 (diff) | |
download | chromium_src-977db4a4225870c35d80393d2312cb1931a4dba4.zip chromium_src-977db4a4225870c35d80393d2312cb1931a4dba4.tar.gz chromium_src-977db4a4225870c35d80393d2312cb1931a4dba4.tar.bz2 |
[Cross-Site Isolation] Migrate entire MediaStream verticals to be per-RenderFrame.
Much of this change is search-and-replace RenderView-->RenderFrame and
render_view_id-->render_frame_id. However, the following significant
changes have also been made, mainly to simplify/clarify/clean-up the
same LOC that would have had to be changed anyway:
1. Desktop and Tab capture APIs now "register" a WebContents instance,
rather than a RenderViewHost. This is a more-appropriate choice than
registering a RenderFrameHost, and simplifies a lot of code.
2. Removed unnecessary "prepending" and "stripping" of the first part of
the tab capture device ID in special circumstances. It is no longer
necessary.
3. TabCaptureRegistry uses WebContentsObserver to detect all fullscreen
changes, rather than the deprecated NotificationObserver scheme.
4. Fixes for buggy MediaStreamImpl tear-down: MediaStreamDispatcher is
now explicitly owned by MediaStreamImpl, to ensure it is destroyed
only after it is no longer needed. Also, weak pointers to
MediaStreamImpl are invalidated before MSI data members are destroyed
(it was observed during testing that outstanding callbacks were
firing *after* the data members were destroyed).
Testing:
1. All relevant content_unittests and browser_tests run.
2. Manually engaged tab capture and desktop capture using Google Cast
extension and "Desktop Capture Example"
(https://developer.chrome.com/extensions/samples) to test screen
picker UI.
3. Ran WebRTC demo: http://apprtc.appspot.com
4. Confirmed Flash webcam and microphone input.
5. Checked tab capture/recording/audio indicators.
6. Confirmed HTML5 and Flash fullscreen-within-tab functionality during
tab capture.
BUG=304341,323223,320200,163100,338445
TEST=See "Testing" above.
TBR=kenrb@chromium.org
Review URL: https://codereview.chromium.org/364123002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283702 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_view_impl.cc')
-rw-r--r-- | content/renderer/render_view_impl.cc | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index 64f1fa3..95c11b4 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -87,7 +87,6 @@ #include "content/renderer/input/input_handler_manager.h" #include "content/renderer/internal_document_state_data.h" #include "content/renderer/media/audio_device_factory.h" -#include "content/renderer/media/media_stream_dispatcher.h" #include "content/renderer/media/video_capture_impl_manager.h" #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" #include "content/renderer/memory_benchmarking_extension.h" @@ -726,7 +725,6 @@ RenderViewImpl::RenderViewImpl(RenderViewImplParams* params) #endif has_scrolled_focused_editable_node_into_rect_(false), speech_recognition_dispatcher_(NULL), - media_stream_dispatcher_(NULL), browser_plugin_manager_(NULL), devtools_agent_(NULL), accessibility_mode_(AccessibilityModeOff), @@ -849,11 +847,6 @@ void RenderViewImpl::Initialize(RenderViewImplParams* params) { OnSetRendererPrefs(params->renderer_prefs); -#if defined(ENABLE_WEBRTC) - if (!media_stream_dispatcher_) - media_stream_dispatcher_ = new MediaStreamDispatcher(this); -#endif - new MHTMLGenerator(this); #if defined(OS_MACOSX) new TextInputClientObserver(this); |