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 #include "content/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
69 #include "content/renderer/idle_user_detector.h" | 69 #include "content/renderer/idle_user_detector.h" |
70 #include "content/renderer/input_tag_speech_dispatcher.h" | 70 #include "content/renderer/input_tag_speech_dispatcher.h" |
71 #include "content/renderer/java/java_bridge_dispatcher.h" | 71 #include "content/renderer/java/java_bridge_dispatcher.h" |
72 #include "content/renderer/load_progress_tracker.h" | 72 #include "content/renderer/load_progress_tracker.h" |
73 #include "content/renderer/media/media_stream_dependency_factory.h" | 73 #include "content/renderer/media/media_stream_dependency_factory.h" |
74 #include "content/renderer/media/media_stream_dispatcher.h" | 74 #include "content/renderer/media/media_stream_dispatcher.h" |
75 #include "content/renderer/media/media_stream_impl.h" | 75 #include "content/renderer/media/media_stream_impl.h" |
76 #include "content/renderer/media/render_audiosourceprovider.h" | 76 #include "content/renderer/media/render_audiosourceprovider.h" |
77 #include "content/renderer/media/render_media_log.h" | 77 #include "content/renderer/media/render_media_log.h" |
78 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h" | 78 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h" |
79 #include "content/renderer/media/renderer_webaudiodevice_impl.h" | |
79 #include "content/renderer/mhtml_generator.h" | 80 #include "content/renderer/mhtml_generator.h" |
80 #include "content/renderer/notification_provider.h" | 81 #include "content/renderer/notification_provider.h" |
81 #include "content/renderer/p2p/socket_dispatcher.h" | 82 #include "content/renderer/p2p/socket_dispatcher.h" |
82 #include "content/renderer/plugin_channel_host.h" | 83 #include "content/renderer/plugin_channel_host.h" |
83 #include "content/renderer/render_process.h" | 84 #include "content/renderer/render_process.h" |
84 #include "content/renderer/render_thread_impl.h" | 85 #include "content/renderer/render_thread_impl.h" |
85 #include "content/renderer/render_view_mouse_lock_dispatcher.h" | 86 #include "content/renderer/render_view_mouse_lock_dispatcher.h" |
86 #include "content/renderer/render_widget_fullscreen_pepper.h" | 87 #include "content/renderer/render_widget_fullscreen_pepper.h" |
87 #include "content/renderer/renderer_accessibility.h" | 88 #include "content/renderer/renderer_accessibility.h" |
88 #include "content/renderer/renderer_accessibility_complete.h" | 89 #include "content/renderer/renderer_accessibility_complete.h" |
(...skipping 2270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2359 media::FilterCollection* collection = new media::FilterCollection(); | 2360 media::FilterCollection* collection = new media::FilterCollection(); |
2360 RenderMediaLog* render_media_log = new RenderMediaLog(); | 2361 RenderMediaLog* render_media_log = new RenderMediaLog(); |
2361 | 2362 |
2362 RenderAudioSourceProvider* audio_source_provider = NULL; | 2363 RenderAudioSourceProvider* audio_source_provider = NULL; |
2363 | 2364 |
2364 // Add in any custom filter factories first. | 2365 // Add in any custom filter factories first. |
2365 const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); | 2366 const CommandLine* cmd_line = CommandLine::ForCurrentProcess(); |
2366 if (!cmd_line->HasSwitch(switches::kDisableAudio)) { | 2367 if (!cmd_line->HasSwitch(switches::kDisableAudio)) { |
2367 // audio_source_provider is a "provider" to WebKit, and a sink | 2368 // audio_source_provider is a "provider" to WebKit, and a sink |
2368 // from the perspective of the audio renderer. | 2369 // from the perspective of the audio renderer. |
2369 audio_source_provider = new RenderAudioSourceProvider(); | 2370 audio_source_provider = new RenderAudioSourceProvider(routing_id_); |
2370 | 2371 |
2371 // Add the chrome specific audio renderer, using audio_source_provider | 2372 // Add the chrome specific audio renderer, using audio_source_provider |
2372 // as the sink. | 2373 // as the sink. |
2373 media::AudioRendererImpl* audio_renderer = | 2374 media::AudioRendererImpl* audio_renderer = |
2374 new media::AudioRendererImpl(audio_source_provider); | 2375 new media::AudioRendererImpl(audio_source_provider); |
2375 collection->AddAudioRenderer(audio_renderer); | 2376 collection->AddAudioRenderer(audio_renderer); |
2376 } | 2377 } |
2377 | 2378 |
2378 // Accelerated video decode is not enabled by default on Linux. | 2379 // Accelerated video decode is not enabled by default on Linux. |
2379 // crbug.com/137247 | 2380 // crbug.com/137247 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2419 | 2420 |
2420 WebApplicationCacheHost* RenderViewImpl::createApplicationCacheHost( | 2421 WebApplicationCacheHost* RenderViewImpl::createApplicationCacheHost( |
2421 WebFrame* frame, WebApplicationCacheHostClient* client) { | 2422 WebFrame* frame, WebApplicationCacheHostClient* client) { |
2422 if (!frame || !frame->view()) | 2423 if (!frame || !frame->view()) |
2423 return NULL; | 2424 return NULL; |
2424 return new RendererWebApplicationCacheHostImpl( | 2425 return new RendererWebApplicationCacheHostImpl( |
2425 FromWebView(frame->view()), client, | 2426 FromWebView(frame->view()), client, |
2426 RenderThreadImpl::current()->appcache_dispatcher()->backend_proxy()); | 2427 RenderThreadImpl::current()->appcache_dispatcher()->backend_proxy()); |
2427 } | 2428 } |
2428 | 2429 |
2430 | |
2431 WebKit::WebAudioDevice* | |
2432 RenderViewImpl::createAudioDevice( | |
2433 size_t bufferSize, | |
2434 unsigned numberOfChannels, | |
2435 double sampleRate, | |
2436 WebKit::WebAudioDevice::RenderCallback* callback) { | |
2437 ChannelLayout layout = CHANNEL_LAYOUT_UNSUPPORTED; | |
2438 | |
2439 // The |numberOfChannels| does not exactly identify the channel layout of the | |
2440 // device. The switch statement below assigns a best guess to the channel | |
2441 // layout based on number of channels. | |
2442 // TODO(crogers): WebKit should give the channel layout instead of the hard | |
2443 // channel count. | |
tommi (sloooow) - chröme
2012/07/31 10:52:41
file a bug?
sail
2012/07/31 22:02:08
Done.
Filed bug 139882
| |
2444 switch (numberOfChannels) { | |
2445 case 1: | |
2446 layout = CHANNEL_LAYOUT_MONO; | |
2447 break; | |
2448 case 2: | |
2449 layout = CHANNEL_LAYOUT_STEREO; | |
2450 break; | |
2451 case 3: | |
2452 layout = CHANNEL_LAYOUT_2_1; | |
2453 break; | |
2454 case 4: | |
2455 layout = CHANNEL_LAYOUT_4_0; | |
2456 break; | |
2457 case 5: | |
2458 layout = CHANNEL_LAYOUT_5_0; | |
2459 break; | |
2460 case 6: | |
2461 layout = CHANNEL_LAYOUT_5_1; | |
2462 break; | |
2463 case 7: | |
2464 layout = CHANNEL_LAYOUT_7_0; | |
2465 break; | |
2466 case 8: | |
2467 layout = CHANNEL_LAYOUT_7_1; | |
2468 break; | |
2469 default: | |
2470 layout = CHANNEL_LAYOUT_STEREO; | |
tommi (sloooow) - chröme
2012/07/31 10:52:41
add break;
sail
2012/07/31 22:02:08
Done.
| |
2471 } | |
2472 | |
2473 media::AudioParameters params( | |
2474 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, layout, | |
2475 static_cast<int>(sampleRate), 16, bufferSize); | |
2476 | |
2477 return new RendererWebAudioDeviceImpl( | |
2478 routing_id_, params, callback); | |
2479 } | |
2480 | |
2429 WebCookieJar* RenderViewImpl::cookieJar(WebFrame* frame) { | 2481 WebCookieJar* RenderViewImpl::cookieJar(WebFrame* frame) { |
2430 return &cookie_jar_; | 2482 return &cookie_jar_; |
2431 } | 2483 } |
2432 | 2484 |
2433 void RenderViewImpl::frameDetached(WebFrame* frame) { | 2485 void RenderViewImpl::frameDetached(WebFrame* frame) { |
2434 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameDetached(frame)); | 2486 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameDetached(frame)); |
2435 } | 2487 } |
2436 | 2488 |
2437 void RenderViewImpl::willClose(WebFrame* frame) { | 2489 void RenderViewImpl::willClose(WebFrame* frame) { |
2438 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameWillClose(frame)); | 2490 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameWillClose(frame)); |
(...skipping 3276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5715 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { | 5767 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { |
5716 return !!RenderThreadImpl::current()->compositor_thread(); | 5768 return !!RenderThreadImpl::current()->compositor_thread(); |
5717 } | 5769 } |
5718 | 5770 |
5719 void RenderViewImpl::OnJavaBridgeInit() { | 5771 void RenderViewImpl::OnJavaBridgeInit() { |
5720 DCHECK(!java_bridge_dispatcher_); | 5772 DCHECK(!java_bridge_dispatcher_); |
5721 #if defined(ENABLE_JAVA_BRIDGE) | 5773 #if defined(ENABLE_JAVA_BRIDGE) |
5722 java_bridge_dispatcher_ = new JavaBridgeDispatcher(this); | 5774 java_bridge_dispatcher_ = new JavaBridgeDispatcher(this); |
5723 #endif | 5775 #endif |
5724 } | 5776 } |
OLD | NEW |