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

Side by Side Diff: content/renderer/render_view.cc

Issue 7157001: Implements AudioMessageFilter as member in RenderThread (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 9 years, 6 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 #include "content/renderer/render_view.h" 5 #include "content/renderer/render_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 28 matching lines...) Expand all
39 #include "content/common/renderer_preferences.h" 39 #include "content/common/renderer_preferences.h"
40 #include "content/common/url_constants.h" 40 #include "content/common/url_constants.h"
41 #include "content/common/view_messages.h" 41 #include "content/common/view_messages.h"
42 #include "content/renderer/content_renderer_client.h" 42 #include "content/renderer/content_renderer_client.h"
43 #include "content/renderer/device_orientation_dispatcher.h" 43 #include "content/renderer/device_orientation_dispatcher.h"
44 #include "content/renderer/external_popup_menu.h" 44 #include "content/renderer/external_popup_menu.h"
45 #include "content/renderer/geolocation_dispatcher.h" 45 #include "content/renderer/geolocation_dispatcher.h"
46 #include "content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h" 46 #include "content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h"
47 #include "content/renderer/load_progress_tracker.h" 47 #include "content/renderer/load_progress_tracker.h"
48 #include "content/renderer/media/audio_message_filter.h" 48 #include "content/renderer/media/audio_message_filter.h"
49 #include "content/renderer/media/audio_message_filter_creator.h"
49 #include "content/renderer/media/audio_renderer_impl.h" 50 #include "content/renderer/media/audio_renderer_impl.h"
50 #include "content/renderer/navigation_state.h" 51 #include "content/renderer/navigation_state.h"
51 #include "content/renderer/notification_provider.h" 52 #include "content/renderer/notification_provider.h"
52 #include "content/renderer/p2p/socket_dispatcher.h" 53 #include "content/renderer/p2p/socket_dispatcher.h"
53 #include "content/renderer/plugin_channel_host.h" 54 #include "content/renderer/plugin_channel_host.h"
54 #include "content/renderer/render_process.h" 55 #include "content/renderer/render_process.h"
55 #include "content/renderer/render_thread.h" 56 #include "content/renderer/render_thread.h"
56 #include "content/renderer/render_view_observer.h" 57 #include "content/renderer/render_view_observer.h"
57 #include "content/renderer/render_view_visitor.h" 58 #include "content/renderer/render_view_visitor.h"
58 #include "content/renderer/render_widget_fullscreen_pepper.h" 59 #include "content/renderer/render_widget_fullscreen_pepper.h"
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 webkit_glue::kForegroundTabTimerInterval); 398 webkit_glue::kForegroundTabTimerInterval);
398 399
399 OnSetRendererPrefs(renderer_prefs); 400 OnSetRendererPrefs(renderer_prefs);
400 401
401 host_window_ = parent_hwnd; 402 host_window_ = parent_hwnd;
402 403
403 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 404 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
404 if (command_line.HasSwitch(switches::kEnableAccessibility)) 405 if (command_line.HasSwitch(switches::kEnableAccessibility))
405 WebAccessibilityCache::enableAccessibility(); 406 WebAccessibilityCache::enableAccessibility();
406 407
407 audio_message_filter_ = new AudioMessageFilter(routing_id_);
408 render_thread_->AddFilter(audio_message_filter_);
409
410 #if defined(ENABLE_P2P_APIS) 408 #if defined(ENABLE_P2P_APIS)
411 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableP2PApi)) 409 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableP2PApi))
412 p2p_socket_dispatcher_ = new P2PSocketDispatcher(this); 410 p2p_socket_dispatcher_ = new P2PSocketDispatcher(this);
413 #endif 411 #endif
414 412
415 content::GetContentClient()->renderer()->RenderViewCreated(this); 413 content::GetContentClient()->renderer()->RenderViewCreated(this);
416 } 414 }
417 415
418 RenderView::~RenderView() { 416 RenderView::~RenderView() {
419 if (decrement_shared_popup_at_destruction_) 417 if (decrement_shared_popup_at_destruction_)
(...skipping 11 matching lines...) Expand all
431 #if defined(OS_MACOSX) 429 #if defined(OS_MACOSX)
432 // Destroy all fake plugin window handles on the browser side. 430 // Destroy all fake plugin window handles on the browser side.
433 while (!fake_plugin_window_handles_.empty()) { 431 while (!fake_plugin_window_handles_.empty()) {
434 // Make sure no NULL plugin window handles were inserted into this list. 432 // Make sure no NULL plugin window handles were inserted into this list.
435 DCHECK(*fake_plugin_window_handles_.begin()); 433 DCHECK(*fake_plugin_window_handles_.begin());
436 // DestroyFakePluginWindowHandle modifies fake_plugin_window_handles_. 434 // DestroyFakePluginWindowHandle modifies fake_plugin_window_handles_.
437 DestroyFakePluginWindowHandle(*fake_plugin_window_handles_.begin()); 435 DestroyFakePluginWindowHandle(*fake_plugin_window_handles_.begin());
438 } 436 }
439 #endif 437 #endif
440 438
441 render_thread_->RemoveFilter(audio_message_filter_);
442
443 #ifndef NDEBUG 439 #ifndef NDEBUG
444 // Make sure we are no longer referenced by the ViewMap. 440 // Make sure we are no longer referenced by the ViewMap.
445 ViewMap* views = g_view_map.Pointer(); 441 ViewMap* views = g_view_map.Pointer();
446 for (ViewMap::iterator it = views->begin(); it != views->end(); ++it) 442 for (ViewMap::iterator it = views->begin(); it != views->end(); ++it)
447 DCHECK_NE(this, it->second) << "Failed to call Close?"; 443 DCHECK_NE(this, it->second) << "Failed to call Close?";
448 #endif 444 #endif
449 445
450 FOR_EACH_OBSERVER(RenderViewObserver, observers_, set_render_view(NULL)); 446 FOR_EACH_OBSERVER(RenderViewObserver, observers_, set_render_view(NULL));
451 FOR_EACH_OBSERVER(RenderViewObserver, observers_, OnDestruct()); 447 FOR_EACH_OBSERVER(RenderViewObserver, observers_, OnDestruct());
452 } 448 }
(...skipping 894 matching lines...) Expand 10 before | Expand all | Expand 10 after
1347 return WebStorageNamespace::createSessionStorageNamespace(quota); 1343 return WebStorageNamespace::createSessionStorageNamespace(quota);
1348 CHECK(session_storage_namespace_id_ != kInvalidSessionStorageNamespaceId); 1344 CHECK(session_storage_namespace_id_ != kInvalidSessionStorageNamespaceId);
1349 return new RendererWebStorageNamespaceImpl(DOM_STORAGE_SESSION, 1345 return new RendererWebStorageNamespaceImpl(DOM_STORAGE_SESSION,
1350 session_storage_namespace_id_); 1346 session_storage_namespace_id_);
1351 } 1347 }
1352 1348
1353 void RenderView::didAddMessageToConsole( 1349 void RenderView::didAddMessageToConsole(
1354 const WebConsoleMessage& message, const WebString& source_name, 1350 const WebConsoleMessage& message, const WebString& source_name,
1355 unsigned source_line) { 1351 unsigned source_line) {
1356 logging::LogSeverity log_severity = logging::LOG_VERBOSE; 1352 logging::LogSeverity log_severity = logging::LOG_VERBOSE;
1357 switch(message.level) { 1353 switch (message.level) {
1358 case WebConsoleMessage::LevelTip: 1354 case WebConsoleMessage::LevelTip:
1359 log_severity = logging::LOG_VERBOSE; 1355 log_severity = logging::LOG_VERBOSE;
1360 break; 1356 break;
1361 case WebConsoleMessage::LevelLog: 1357 case WebConsoleMessage::LevelLog:
1362 log_severity = logging::LOG_INFO; 1358 log_severity = logging::LOG_INFO;
1363 break; 1359 break;
1364 case WebConsoleMessage::LevelWarning: 1360 case WebConsoleMessage::LevelWarning:
1365 log_severity = logging::LOG_WARNING; 1361 log_severity = logging::LOG_WARNING;
1366 break; 1362 break;
1367 case WebConsoleMessage::LevelError: 1363 case WebConsoleMessage::LevelError:
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
1884 1880
1885 scoped_ptr<media::MessageLoopFactory> message_loop_factory( 1881 scoped_ptr<media::MessageLoopFactory> message_loop_factory(
1886 new media::MessageLoopFactoryImpl()); 1882 new media::MessageLoopFactoryImpl());
1887 scoped_ptr<media::FilterCollection> collection( 1883 scoped_ptr<media::FilterCollection> collection(
1888 new media::FilterCollection()); 1884 new media::FilterCollection());
1889 1885
1890 // Add in any custom filter factories first. 1886 // Add in any custom filter factories first.
1891 const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); 1887 const CommandLine* cmd_line = CommandLine::ForCurrentProcess();
1892 if (!cmd_line->HasSwitch(switches::kDisableAudio)) { 1888 if (!cmd_line->HasSwitch(switches::kDisableAudio)) {
1893 // Add the chrome specific audio renderer. 1889 // Add the chrome specific audio renderer.
1894 collection->AddAudioRenderer(new AudioRendererImpl(audio_message_filter())); 1890 collection->AddAudioRenderer(
1891 new AudioRendererImpl(AudioMessageFilterCreator::SharedFilter()));
1895 } 1892 }
1896 1893
1897 scoped_refptr<webkit_glue::WebVideoRenderer> video_renderer; 1894 scoped_refptr<webkit_glue::WebVideoRenderer> video_renderer;
1898 bool pts_logging = cmd_line->HasSwitch(switches::kEnableVideoLogging); 1895 bool pts_logging = cmd_line->HasSwitch(switches::kEnableVideoLogging);
1899 scoped_refptr<webkit_glue::VideoRendererImpl> renderer( 1896 scoped_refptr<webkit_glue::VideoRendererImpl> renderer(
1900 new webkit_glue::VideoRendererImpl(pts_logging)); 1897 new webkit_glue::VideoRendererImpl(pts_logging));
1901 collection->AddVideoRenderer(renderer); 1898 collection->AddVideoRenderer(renderer);
1902 video_renderer = renderer; 1899 video_renderer = renderer;
1903 1900
1904 scoped_ptr<webkit_glue::WebMediaPlayerImpl> result( 1901 scoped_ptr<webkit_glue::WebMediaPlayerImpl> result(
(...skipping 2340 matching lines...) Expand 10 before | Expand all | Expand 10 after
4245 const webkit_glue::CustomContextMenuContext& custom_context) { 4242 const webkit_glue::CustomContextMenuContext& custom_context) {
4246 if (custom_context.is_pepper_menu) 4243 if (custom_context.is_pepper_menu)
4247 pepper_delegate_.OnContextMenuClosed(custom_context); 4244 pepper_delegate_.OnContextMenuClosed(custom_context);
4248 else 4245 else
4249 context_menu_node_.reset(); 4246 context_menu_node_.reset();
4250 } 4247 }
4251 4248
4252 void RenderView::OnNetworkStateChanged(bool online) { 4249 void RenderView::OnNetworkStateChanged(bool online) {
4253 WebNetworkStateNotifier::setOnLine(online); 4250 WebNetworkStateNotifier::setOnLine(online);
4254 } 4251 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698