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

Side by Side Diff: chrome/browser/ui/webui/options/media_devices_selection_handler.cc

Issue 12153002: Move chrome://media-internals to content. This allows us to hide implementation details from the pu… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 10 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 "chrome/browser/ui/webui/options/media_devices_selection_handler.h" 5 #include "chrome/browser/ui/webui/options/media_devices_selection_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "chrome/browser/media/media_internals.h"
9 #include "chrome/browser/prefs/pref_service.h" 8 #include "chrome/browser/prefs/pref_service.h"
10 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
12 11
13 namespace { 12 namespace {
14 13
15 const char kAudio[] = "mic"; 14 const char kAudio[] = "mic";
16 const char kVideo[] = "camera"; 15 const char kVideo[] = "camera";
17 16
18 } // namespace 17 } // namespace
19 18
20 namespace options { 19 namespace options {
21 20
22 MediaDevicesSelectionHandler::MediaDevicesSelectionHandler() {} 21 MediaDevicesSelectionHandler::MediaDevicesSelectionHandler() {}
23 22
24 MediaDevicesSelectionHandler::~MediaDevicesSelectionHandler() { 23 MediaDevicesSelectionHandler::~MediaDevicesSelectionHandler() {
25 // Register to the device observer list to get up-to-date device lists. 24 MediaCaptureDevicesDispatcher::GetInstance()->RemoveObserver(this);
26 MediaCaptureDevicesDispatcher* dispatcher =
27 MediaInternals::GetInstance()->GetMediaCaptureDevicesDispatcher();
28 dispatcher->RemoveObserver(this);
29 } 25 }
30 26
31 void MediaDevicesSelectionHandler::GetLocalizedValues(DictionaryValue* values) { 27 void MediaDevicesSelectionHandler::GetLocalizedValues(DictionaryValue* values) {
32 DCHECK(values); 28 DCHECK(values);
33 29
34 static OptionsStringResource resources[] = { 30 static OptionsStringResource resources[] = {
35 { "mediaSelectMicLabel", IDS_MEDIA_SELECTED_MIC_LABEL }, 31 { "mediaSelectMicLabel", IDS_MEDIA_SELECTED_MIC_LABEL },
36 { "mediaSelectCameraLabel", IDS_MEDIA_SELECTED_CAMERA_LABEL }, 32 { "mediaSelectCameraLabel", IDS_MEDIA_SELECTED_CAMERA_LABEL },
37 }; 33 };
38 34
39 RegisterStrings(values, resources, arraysize(resources)); 35 RegisterStrings(values, resources, arraysize(resources));
40 } 36 }
41 37
42 void MediaDevicesSelectionHandler::InitializePage() { 38 void MediaDevicesSelectionHandler::InitializePage() {
43 // Register to the device observer list to get up-to-date device lists. 39 // Register to the device observer list to get up-to-date device lists.
44 MediaCaptureDevicesDispatcher* dispatcher = 40 MediaCaptureDevicesDispatcher::GetInstance()->AddObserver(this);
45 MediaInternals::GetInstance()->GetMediaCaptureDevicesDispatcher();
46 dispatcher->AddObserver(this);
47 41
48 // Update the device selection menus. 42 // Update the device selection menus.
49 UpdateDevicesMenuForType(AUDIO); 43 UpdateDevicesMenuForType(AUDIO);
50 UpdateDevicesMenuForType(VIDEO); 44 UpdateDevicesMenuForType(VIDEO);
51 } 45 }
52 46
53 void MediaDevicesSelectionHandler::RegisterMessages() { 47 void MediaDevicesSelectionHandler::RegisterMessages() {
54 web_ui()->RegisterMessageCallback("setDefaultCaptureDevice", 48 web_ui()->RegisterMessageCallback("setDefaultCaptureDevice",
55 base::Bind(&MediaDevicesSelectionHandler::SetDefaultCaptureDevice, 49 base::Bind(&MediaDevicesSelectionHandler::SetDefaultCaptureDevice,
56 base::Unretained(this))); 50 base::Unretained(this)));
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 119
126 StringValue default_value(default_id); 120 StringValue default_value(default_id);
127 StringValue type_value(device_type); 121 StringValue type_value(device_type);
128 web_ui()->CallJavascriptFunction("ContentSettings.updateDevicesMenu", 122 web_ui()->CallJavascriptFunction("ContentSettings.updateDevicesMenu",
129 type_value, 123 type_value,
130 device_list, 124 device_list,
131 default_value); 125 default_value);
132 } 126 }
133 127
134 void MediaDevicesSelectionHandler::UpdateDevicesMenuForType(DeviceType type) { 128 void MediaDevicesSelectionHandler::UpdateDevicesMenuForType(DeviceType type) {
135 scoped_refptr<MediaCaptureDevicesDispatcher> dispatcher =
136 MediaInternals::GetInstance()->GetMediaCaptureDevicesDispatcher();
137 content::MediaStreamDevices devices; 129 content::MediaStreamDevices devices;
138 switch (type) { 130 switch (type) {
139 case AUDIO: 131 case AUDIO:
140 devices = dispatcher->GetAudioCaptureDevices(); 132 devices = MediaCaptureDevicesDispatcher::GetInstance()->
133 GetAudioCaptureDevices();
141 break; 134 break;
142 case VIDEO: 135 case VIDEO:
143 devices = dispatcher->GetVideoCaptureDevices(); 136 devices = MediaCaptureDevicesDispatcher::GetInstance()->
137 GetVideoCaptureDevices();
144 break; 138 break;
145 } 139 }
146 140
147 UpdateDevicesMenu(type, devices); 141 UpdateDevicesMenu(type, devices);
148 } 142 }
149 143
150 } // namespace options 144 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698