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

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

Issue 7058055: create one video capture message filter per renderer process (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: from code review Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_thread.h" 5 #include "content/renderer/render_thread.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <map> 9 #include <map>
10 #include <vector> 10 #include <vector>
(...skipping 26 matching lines...) Expand all
37 #include "content/renderer/gpu/gpu_channel_host.h" 37 #include "content/renderer/gpu/gpu_channel_host.h"
38 #include "content/renderer/gpu/gpu_video_service_host.h" 38 #include "content/renderer/gpu/gpu_video_service_host.h"
39 #include "content/renderer/indexed_db_dispatcher.h" 39 #include "content/renderer/indexed_db_dispatcher.h"
40 #include "content/renderer/plugin_channel_host.h" 40 #include "content/renderer/plugin_channel_host.h"
41 #include "content/renderer/render_process_impl.h" 41 #include "content/renderer/render_process_impl.h"
42 #include "content/renderer/render_process_observer.h" 42 #include "content/renderer/render_process_observer.h"
43 #include "content/renderer/render_view.h" 43 #include "content/renderer/render_view.h"
44 #include "content/renderer/render_view_visitor.h" 44 #include "content/renderer/render_view_visitor.h"
45 #include "content/renderer/renderer_webidbfactory_impl.h" 45 #include "content/renderer/renderer_webidbfactory_impl.h"
46 #include "content/renderer/renderer_webkitclient_impl.h" 46 #include "content/renderer/renderer_webkitclient_impl.h"
47 #include "content/renderer/video_capture_message_filter.h"
48 #include "content/renderer/video_capture_message_filter_creator.h"
47 #include "ipc/ipc_channel_handle.h" 49 #include "ipc/ipc_channel_handle.h"
48 #include "ipc/ipc_platform_file.h" 50 #include "ipc/ipc_platform_file.h"
49 #include "net/base/net_errors.h" 51 #include "net/base/net_errors.h"
50 #include "net/base/net_util.h" 52 #include "net/base/net_util.h"
51 #include "third_party/tcmalloc/chromium/src/google/malloc_extension.h" 53 #include "third_party/tcmalloc/chromium/src/google/malloc_extension.h"
52 #include "third_party/WebKit/Source/WebKit/chromium/public/WebColor.h" 54 #include "third_party/WebKit/Source/WebKit/chromium/public/WebColor.h"
53 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDatabase.h" 55 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDatabase.h"
54 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" 56 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
55 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" 57 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
56 #include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h" 58 #include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 hidden_widget_count_ = 0; 162 hidden_widget_count_ = 0;
161 idle_notification_delay_in_s_ = kInitialIdleHandlerDelayS; 163 idle_notification_delay_in_s_ = kInitialIdleHandlerDelayS;
162 task_factory_.reset(new ScopedRunnableMethodFactory<RenderThread>(this)); 164 task_factory_.reset(new ScopedRunnableMethodFactory<RenderThread>(this));
163 165
164 appcache_dispatcher_.reset(new AppCacheDispatcher(this)); 166 appcache_dispatcher_.reset(new AppCacheDispatcher(this));
165 indexed_db_dispatcher_.reset(new IndexedDBDispatcher()); 167 indexed_db_dispatcher_.reset(new IndexedDBDispatcher());
166 168
167 db_message_filter_ = new DBMessageFilter(); 169 db_message_filter_ = new DBMessageFilter();
168 AddFilter(db_message_filter_.get()); 170 AddFilter(db_message_filter_.get());
169 171
172 VideoCaptureMessageFilter* video_capture_message_filter =
173 VideoCaptureMessageFilterCreator::SharedFilter();
174 AddFilter(video_capture_message_filter);
175
170 content::GetContentClient()->renderer()->RenderThreadStarted(); 176 content::GetContentClient()->renderer()->RenderThreadStarted();
171 177
172 TRACE_EVENT_END_ETW("RenderThread::Init", 0, ""); 178 TRACE_EVENT_END_ETW("RenderThread::Init", 0, "");
173 } 179 }
174 180
175 RenderThread::~RenderThread() { 181 RenderThread::~RenderThread() {
176 FOR_EACH_OBSERVER( 182 FOR_EACH_OBSERVER(
177 RenderProcessObserver, observers_, OnRenderProcessShutdown()); 183 RenderProcessObserver, observers_, OnRenderProcessShutdown());
178 184
179 // Wait for all databases to be closed. 185 // Wait for all databases to be closed.
180 if (web_database_observer_impl_.get()) 186 if (web_database_observer_impl_.get())
181 web_database_observer_impl_->WaitForAllDatabasesToClose(); 187 web_database_observer_impl_->WaitForAllDatabasesToClose();
182 188
183 // Shutdown in reverse of the initialization order. 189 // Shutdown in reverse of the initialization order.
184 RemoveFilter(db_message_filter_.get()); 190 RemoveFilter(db_message_filter_.get());
185 db_message_filter_ = NULL; 191 db_message_filter_ = NULL;
186 192
193 VideoCaptureMessageFilter* video_capture_message_filter =
194 VideoCaptureMessageFilterCreator::SharedFilter();
195 RemoveFilter(video_capture_message_filter);
196
187 // Shutdown the file thread if it's running. 197 // Shutdown the file thread if it's running.
188 if (file_thread_.get()) 198 if (file_thread_.get())
189 file_thread_->Stop(); 199 file_thread_->Stop();
190 200
191 if (webkit_client_.get()) 201 if (webkit_client_.get())
192 WebKit::shutdown(); 202 WebKit::shutdown();
193 203
194 lazy_tls.Pointer()->Set(NULL); 204 lazy_tls.Pointer()->Set(NULL);
195 205
196 // TODO(port) 206 // TODO(port)
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 685
676 void RenderThread::RegisterExtension(v8::Extension* extension) { 686 void RenderThread::RegisterExtension(v8::Extension* extension) {
677 WebScriptController::registerExtension(extension); 687 WebScriptController::registerExtension(extension);
678 v8_extensions_.insert(extension->name()); 688 v8_extensions_.insert(extension->name());
679 } 689 }
680 690
681 bool RenderThread::IsRegisteredExtension( 691 bool RenderThread::IsRegisteredExtension(
682 const std::string& v8_extension_name) const { 692 const std::string& v8_extension_name) const {
683 return v8_extensions_.find(v8_extension_name) != v8_extensions_.end(); 693 return v8_extensions_.find(v8_extension_name) != v8_extensions_.end();
684 } 694 }
OLDNEW
« no previous file with comments | « content/renderer/media/video_capture_impl_unittest.cc ('k') | content/renderer/video_capture_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698