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

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

Issue 10836025: Part 1: Plumb render view ID to render host (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review comments Created 8 years, 4 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) 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
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
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
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. See http://crbug.com/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;
2471 break;
2472 }
2473
2474 media::AudioParameters params(
2475 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, layout,
2476 static_cast<int>(sampleRate), 16, bufferSize);
2477
2478 return new RendererWebAudioDeviceImpl(
2479 routing_id_, params, callback);
2480 }
2481
2429 WebCookieJar* RenderViewImpl::cookieJar(WebFrame* frame) { 2482 WebCookieJar* RenderViewImpl::cookieJar(WebFrame* frame) {
2430 return &cookie_jar_; 2483 return &cookie_jar_;
2431 } 2484 }
2432 2485
2433 void RenderViewImpl::frameDetached(WebFrame* frame) { 2486 void RenderViewImpl::frameDetached(WebFrame* frame) {
2434 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameDetached(frame)); 2487 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameDetached(frame));
2435 } 2488 }
2436 2489
2437 void RenderViewImpl::willClose(WebFrame* frame) { 2490 void RenderViewImpl::willClose(WebFrame* frame) {
2438 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameWillClose(frame)); 2491 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameWillClose(frame));
(...skipping 3276 matching lines...) Expand 10 before | Expand all | Expand 10 after
5715 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { 5768 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const {
5716 return !!RenderThreadImpl::current()->compositor_thread(); 5769 return !!RenderThreadImpl::current()->compositor_thread();
5717 } 5770 }
5718 5771
5719 void RenderViewImpl::OnJavaBridgeInit() { 5772 void RenderViewImpl::OnJavaBridgeInit() {
5720 DCHECK(!java_bridge_dispatcher_); 5773 DCHECK(!java_bridge_dispatcher_);
5721 #if defined(ENABLE_JAVA_BRIDGE) 5774 #if defined(ENABLE_JAVA_BRIDGE)
5722 java_bridge_dispatcher_ = new JavaBridgeDispatcher(this); 5775 java_bridge_dispatcher_ = new JavaBridgeDispatcher(this);
5723 #endif 5776 #endif
5724 } 5777 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698