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

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

Issue 10537121: Adds AudioDevice factory for all audio clients in Chrome (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed DVLOGs Created 8 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) 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/renderer_webkitplatformsupport_impl.h" 5 #include "content/renderer/renderer_webkitplatformsupport_impl.h"
6 6
7 #include <algorithm>
8 #include <vector>
9
7 #include "base/command_line.h" 10 #include "base/command_line.h"
8 #include "base/file_path.h" 11 #include "base/file_path.h"
9 #include "base/file_util.h" 12 #include "base/file_util.h"
10 #include "base/metrics/histogram.h" 13 #include "base/metrics/histogram.h"
11 #include "base/platform_file.h" 14 #include "base/platform_file.h"
12 #include "base/shared_memory.h" 15 #include "base/shared_memory.h"
13 #include "base/utf_string_conversions.h" 16 #include "base/utf_string_conversions.h"
14 #include "content/common/database_util.h" 17 #include "content/common/database_util.h"
15 #include "content/common/fileapi/webblobregistry_impl.h" 18 #include "content/common/fileapi/webblobregistry_impl.h"
16 #include "content/common/fileapi/webfilesystem_impl.h" 19 #include "content/common/fileapi/webfilesystem_impl.h"
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 WebIDBFactory* RendererWebKitPlatformSupportImpl::idbFactory() { 339 WebIDBFactory* RendererWebKitPlatformSupportImpl::idbFactory() {
337 if (!web_idb_factory_.get()) { 340 if (!web_idb_factory_.get()) {
338 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess)) 341 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess))
339 web_idb_factory_.reset(WebIDBFactory::create()); 342 web_idb_factory_.reset(WebIDBFactory::create());
340 else 343 else
341 web_idb_factory_.reset(new RendererWebIDBFactoryImpl()); 344 web_idb_factory_.reset(new RendererWebIDBFactoryImpl());
342 } 345 }
343 return web_idb_factory_.get(); 346 return web_idb_factory_.get();
344 } 347 }
345 348
346 void RendererWebKitPlatformSupportImpl::createIDBKeysFromSerializedValuesAndKeyP ath( 349 void
350 RendererWebKitPlatformSupportImpl::createIDBKeysFromSerializedValuesAndKeyPath(
347 const WebVector<WebSerializedScriptValue>& values, 351 const WebVector<WebSerializedScriptValue>& values,
348 const WebIDBKeyPath& keyPath, 352 const WebIDBKeyPath& keyPath,
349 WebVector<WebIDBKey>& keys_out) { 353 WebVector<WebIDBKey>& keys_out) {
350 DCHECK(CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess)); 354 DCHECK(CommandLine::ForCurrentProcess()->HasSwitch(switches::kSingleProcess));
351 WebVector<WebIDBKey> keys(values.size()); 355 WebVector<WebIDBKey> keys(values.size());
352 for (size_t i = 0; i < values.size(); ++i) { 356 for (size_t i = 0; i < values.size(); ++i) {
353 keys[i] = WebIDBKey::createFromValueAndKeyPath( 357 keys[i] = WebIDBKey::createFromValueAndKeyPath(
354 values[i], keyPath); 358 values[i], keyPath);
355 } 359 }
356 keys_out.swap(keys); 360 keys_out.swap(keys);
(...skipping 25 matching lines...) Expand all
382 if (IsPluginProcess()) 386 if (IsPluginProcess())
383 return SimpleWebMimeRegistryImpl::mimeTypeForExtension(file_extension); 387 return SimpleWebMimeRegistryImpl::mimeTypeForExtension(file_extension);
384 388
385 // The sandbox restricts our access to the registry, so we need to proxy 389 // The sandbox restricts our access to the registry, so we need to proxy
386 // these calls over to the browser process. 390 // these calls over to the browser process.
387 std::string mime_type; 391 std::string mime_type;
388 RenderThreadImpl::current()->Send( 392 RenderThreadImpl::current()->Send(
389 new MimeRegistryMsg_GetMimeTypeFromExtension( 393 new MimeRegistryMsg_GetMimeTypeFromExtension(
390 webkit_glue::WebStringToFilePathString(file_extension), &mime_type)); 394 webkit_glue::WebStringToFilePathString(file_extension), &mime_type));
391 return ASCIIToUTF16(mime_type); 395 return ASCIIToUTF16(mime_type);
392
393 } 396 }
394 397
395 WebString RendererWebKitPlatformSupportImpl::MimeRegistry::mimeTypeFromFile( 398 WebString RendererWebKitPlatformSupportImpl::MimeRegistry::mimeTypeFromFile(
396 const WebString& file_path) { 399 const WebString& file_path) {
397 if (IsPluginProcess()) 400 if (IsPluginProcess())
398 return SimpleWebMimeRegistryImpl::mimeTypeFromFile(file_path); 401 return SimpleWebMimeRegistryImpl::mimeTypeFromFile(file_path);
399 402
400 // The sandbox restricts our access to the registry, so we need to proxy 403 // The sandbox restricts our access to the registry, so we need to proxy
401 // these calls over to the browser process. 404 // these calls over to the browser process.
402 std::string mime_type; 405 std::string mime_type;
403 RenderThreadImpl::current()->Send(new MimeRegistryMsg_GetMimeTypeFromFile( 406 RenderThreadImpl::current()->Send(new MimeRegistryMsg_GetMimeTypeFromFile(
404 FilePath(webkit_glue::WebStringToFilePathString(file_path)), 407 FilePath(webkit_glue::WebStringToFilePathString(file_path)),
405 &mime_type)); 408 &mime_type));
406 return ASCIIToUTF16(mime_type); 409 return ASCIIToUTF16(mime_type);
407
408 } 410 }
409 411
410 WebString 412 WebString
411 RendererWebKitPlatformSupportImpl::MimeRegistry::preferredExtensionForMIMEType( 413 RendererWebKitPlatformSupportImpl::MimeRegistry::preferredExtensionForMIMEType(
412 const WebString& mime_type) { 414 const WebString& mime_type) {
413 if (IsPluginProcess()) 415 if (IsPluginProcess())
414 return SimpleWebMimeRegistryImpl::preferredExtensionForMIMEType(mime_type); 416 return SimpleWebMimeRegistryImpl::preferredExtensionForMIMEType(mime_type);
415 417
416 // The sandbox restricts our access to the registry, so we need to proxy 418 // The sandbox restricts our access to the registry, so we need to proxy
417 // these calls over to the browser process. 419 // these calls over to the browser process.
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 layout = CHANNEL_LAYOUT_7_1; 632 layout = CHANNEL_LAYOUT_7_1;
631 break; 633 break;
632 default: 634 default:
633 layout = CHANNEL_LAYOUT_STEREO; 635 layout = CHANNEL_LAYOUT_STEREO;
634 } 636 }
635 637
636 media::AudioParameters params( 638 media::AudioParameters params(
637 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, layout, 639 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, layout,
638 static_cast<int>(sampleRate), 16, bufferSize); 640 static_cast<int>(sampleRate), 16, bufferSize);
639 641
640 return new RendererWebAudioDeviceImpl(params, callback); 642 // Get access to the RenderView to be able to inject the audio-device
643 // factory.
644 WebFrame* web_frame = WebFrame::frameForCurrentContext();
piman 2012/06/14 17:00:50 This sounds like this method needs to be a member
henrika (OOO until Aug 14) 2012/06/14 17:18:29 I can try to refactor if you think it is required.
piman 2012/06/14 17:29:32 TBH I don't think the other uses in this file are
645 if (!web_frame)
646 return NULL;
647
648 RenderViewImpl* render_view = RenderViewImpl::FromWebView(web_frame->view());
649 if (!render_view)
650 return NULL;
651
652 return new RendererWebAudioDeviceImpl(
653 render_view->audio_device_factory(), params, callback);
641 } 654 }
642 655
643 //------------------------------------------------------------------------------ 656 //------------------------------------------------------------------------------
644 657
645 WebKit::WebString 658 WebKit::WebString
646 RendererWebKitPlatformSupportImpl::signedPublicKeyAndChallengeString( 659 RendererWebKitPlatformSupportImpl::signedPublicKeyAndChallengeString(
647 unsigned key_size_index, 660 unsigned key_size_index,
648 const WebKit::WebString& challenge, 661 const WebKit::WebString& challenge,
649 const WebKit::WebURL& url) { 662 const WebKit::WebURL& url) {
650 std::string signed_public_key; 663 std::string signed_public_key;
(...skipping 18 matching lines...) Expand all
669 //------------------------------------------------------------------------------ 682 //------------------------------------------------------------------------------
670 683
671 void RendererWebKitPlatformSupportImpl::sampleGamepads(WebGamepads& gamepads) { 684 void RendererWebKitPlatformSupportImpl::sampleGamepads(WebGamepads& gamepads) {
672 if (!gamepad_shared_memory_reader_.get()) 685 if (!gamepad_shared_memory_reader_.get())
673 gamepad_shared_memory_reader_.reset(new content::GamepadSharedMemoryReader); 686 gamepad_shared_memory_reader_.reset(new content::GamepadSharedMemoryReader);
674 gamepad_shared_memory_reader_->SampleGamepads(gamepads); 687 gamepad_shared_memory_reader_->SampleGamepads(gamepads);
675 } 688 }
676 689
677 WebKit::WebString RendererWebKitPlatformSupportImpl::userAgent( 690 WebKit::WebString RendererWebKitPlatformSupportImpl::userAgent(
678 const WebKit::WebURL& url) { 691 const WebKit::WebURL& url) {
679 return WebKitPlatformSupportImpl::userAgent(url); 692 return WebKitPlatformSupportImpl::userAgent(url);
680 } 693 }
681 694
682 void RendererWebKitPlatformSupportImpl::GetPlugins( 695 void RendererWebKitPlatformSupportImpl::GetPlugins(
683 bool refresh, std::vector<webkit::WebPluginInfo>* plugins) { 696 bool refresh, std::vector<webkit::WebPluginInfo>* plugins) {
684 if (!RenderThreadImpl::current()->plugin_refresh_allowed()) 697 if (!RenderThreadImpl::current()->plugin_refresh_allowed())
685 refresh = false; 698 refresh = false;
686 RenderThreadImpl::current()->Send( 699 RenderThreadImpl::current()->Send(
687 new ViewHostMsg_GetPlugins(refresh, plugins)); 700 new ViewHostMsg_GetPlugins(refresh, plugins));
688 } 701 }
689 702
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 bool enable) { 743 bool enable) {
731 bool was_enabled = g_sandbox_enabled; 744 bool was_enabled = g_sandbox_enabled;
732 g_sandbox_enabled = enable; 745 g_sandbox_enabled = enable;
733 return was_enabled; 746 return was_enabled;
734 } 747 }
735 748
736 GpuChannelHostFactory* 749 GpuChannelHostFactory*
737 RendererWebKitPlatformSupportImpl::GetGpuChannelHostFactory() { 750 RendererWebKitPlatformSupportImpl::GetGpuChannelHostFactory() {
738 return RenderThreadImpl::current(); 751 return RenderThreadImpl::current();
739 } 752 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698