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

Side by Side Diff: chrome/browser/extensions/api/tab_capture/tab_capture_api.cc

Issue 22256002: Remove tabCapture about:flags switch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 // Implements the Chrome Extensions Tab Capture API. 5 // Implements the Chrome Extensions Tab Capture API.
6 6
7 #include "chrome/browser/extensions/api/tab_capture/tab_capture_api.h" 7 #include "chrome/browser/extensions/api/tab_capture/tab_capture_api.h"
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h" 12 #include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
13 #include "chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory .h" 13 #include "chrome/browser/extensions/api/tab_capture/tab_capture_registry_factory .h"
14 #include "chrome/browser/extensions/browser_event_router.h" 14 #include "chrome/browser/extensions/browser_event_router.h"
15 #include "chrome/browser/extensions/event_names.h" 15 #include "chrome/browser/extensions/event_names.h"
16 #include "chrome/browser/extensions/extension_renderer_state.h" 16 #include "chrome/browser/extensions/extension_renderer_state.h"
17 #include "chrome/browser/extensions/tab_helper.h" 17 #include "chrome/browser/extensions/tab_helper.h"
18 #include "chrome/browser/profiles/profile.h" 18 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/sessions/session_tab_helper.h" 19 #include "chrome/browser/sessions/session_tab_helper.h"
20 #include "chrome/browser/ui/browser.h" 20 #include "chrome/browser/ui/browser.h"
21 #include "chrome/browser/ui/browser_finder.h" 21 #include "chrome/browser/ui/browser_finder.h"
22 #include "chrome/browser/ui/tabs/tab_strip_model.h" 22 #include "chrome/browser/ui/tabs/tab_strip_model.h"
23 #include "chrome/common/chrome_switches.h" 23 #include "chrome/common/chrome_switches.h"
24 #include "chrome/common/extensions/feature_switch.h"
25 #include "chrome/common/extensions/features/base_feature_provider.h" 24 #include "chrome/common/extensions/features/base_feature_provider.h"
26 #include "chrome/common/extensions/features/simple_feature.h" 25 #include "chrome/common/extensions/features/simple_feature.h"
27 #include "content/public/browser/render_process_host.h" 26 #include "content/public/browser/render_process_host.h"
28 #include "content/public/browser/render_view_host.h" 27 #include "content/public/browser/render_view_host.h"
29 28
30 using extensions::api::tab_capture::MediaStreamConstraint; 29 using extensions::api::tab_capture::MediaStreamConstraint;
31 30
32 namespace TabCapture = extensions::api::tab_capture; 31 namespace TabCapture = extensions::api::tab_capture;
33 namespace GetCapturedTabs = TabCapture::GetCapturedTabs; 32 namespace GetCapturedTabs = TabCapture::GetCapturedTabs;
34 33
(...skipping 10 matching lines...) Expand all
45 "permission). Chrome pages cannot be captured."; 44 "permission). Chrome pages cannot be captured.";
46 45
47 // Keys/values for media stream constraints. 46 // Keys/values for media stream constraints.
48 const char kMediaStreamSource[] = "chromeMediaSource"; 47 const char kMediaStreamSource[] = "chromeMediaSource";
49 const char kMediaStreamSourceId[] = "chromeMediaSourceId"; 48 const char kMediaStreamSourceId[] = "chromeMediaSourceId";
50 const char kMediaStreamSourceTab[] = "tab"; 49 const char kMediaStreamSourceTab[] = "tab";
51 50
52 } // namespace 51 } // namespace
53 52
54 bool TabCaptureCaptureFunction::RunImpl() { 53 bool TabCaptureCaptureFunction::RunImpl() {
55 if (!FeatureSwitch::tab_capture()->IsEnabled()) {
56 error_ = kPermissionError;
57 return false;
58 }
59
60 scoped_ptr<api::tab_capture::Capture::Params> params = 54 scoped_ptr<api::tab_capture::Capture::Params> params =
61 TabCapture::Capture::Params::Create(*args_); 55 TabCapture::Capture::Params::Create(*args_);
62 EXTENSION_FUNCTION_VALIDATE(params.get()); 56 EXTENSION_FUNCTION_VALIDATE(params.get());
63 57
64 // Figure out the active WebContents and retrieve the needed ids. 58 // Figure out the active WebContents and retrieve the needed ids.
65 Browser* target_browser = chrome::FindAnyBrowser(profile(), 59 Browser* target_browser = chrome::FindAnyBrowser(profile(),
66 include_incognito(), 60 include_incognito(),
67 chrome::GetActiveDesktop()); 61 chrome::GetActiveDesktop());
68 if (!target_browser) { 62 if (!target_browser) {
69 error_ = kFindingTabError; 63 error_ = kFindingTabError;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 // intercepted by custom bindings which will build and send the special 143 // intercepted by custom bindings which will build and send the special
150 // WebRTC user media request. 144 // WebRTC user media request.
151 base::DictionaryValue* result = new base::DictionaryValue(); 145 base::DictionaryValue* result = new base::DictionaryValue();
152 result->MergeDictionary(params->options.ToValue().get()); 146 result->MergeDictionary(params->options.ToValue().get());
153 147
154 SetResult(result); 148 SetResult(result);
155 return true; 149 return true;
156 } 150 }
157 151
158 bool TabCaptureGetCapturedTabsFunction::RunImpl() { 152 bool TabCaptureGetCapturedTabsFunction::RunImpl() {
159 if (!FeatureSwitch::tab_capture()->IsEnabled()) {
160 error_ = kPermissionError;
161 return false;
162 }
163
164 extensions::TabCaptureRegistry* registry = 153 extensions::TabCaptureRegistry* registry =
165 extensions::TabCaptureRegistryFactory::GetForProfile(profile()); 154 extensions::TabCaptureRegistryFactory::GetForProfile(profile());
166 155
167 const TabCaptureRegistry::RegistryCaptureInfo& captured_tabs = 156 const TabCaptureRegistry::RegistryCaptureInfo& captured_tabs =
168 registry->GetCapturedTabs(GetExtension()->id()); 157 registry->GetCapturedTabs(GetExtension()->id());
169 158
170 base::ListValue *list = new base::ListValue(); 159 base::ListValue *list = new base::ListValue();
171 for (TabCaptureRegistry::RegistryCaptureInfo::const_iterator it = 160 for (TabCaptureRegistry::RegistryCaptureInfo::const_iterator it =
172 captured_tabs.begin(); it != captured_tabs.end(); ++it) { 161 captured_tabs.begin(); it != captured_tabs.end(); ++it) {
173 scoped_ptr<tab_capture::CaptureInfo> info(new tab_capture::CaptureInfo()); 162 scoped_ptr<tab_capture::CaptureInfo> info(new tab_capture::CaptureInfo());
174 info->tab_id = it->first; 163 info->tab_id = it->first;
175 info->status = it->second; 164 info->status = it->second;
176 list->Append(info->ToValue().release()); 165 list->Append(info->ToValue().release());
177 } 166 }
178 167
179 SetResult(list); 168 SetResult(list);
180 return true; 169 return true;
181 } 170 }
182 171
183 } // namespace extensions 172 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/about_flags.cc ('k') | chrome/browser/extensions/api/tab_capture/tab_capture_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698