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

Side by Side Diff: ppapi/proxy/ppb_video_capture_proxy.cc

Issue 8342016: Revert 106142 - Add a new globals object for PPAPI tracking information. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 2 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
« no previous file with comments | « ppapi/proxy/ppb_var_proxy.cc ('k') | ppapi/proxy/ppp_instance_private_proxy_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ppapi/proxy/ppb_video_capture_proxy.h" 5 #include "ppapi/proxy/ppb_video_capture_proxy.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 IPC_END_MESSAGE_MAP() 366 IPC_END_MESSAGE_MAP()
367 // TODO(brettw) handle bad messages! 367 // TODO(brettw) handle bad messages!
368 return handled; 368 return handled;
369 } 369 }
370 370
371 void PPP_VideoCapture_Proxy::OnMsgOnDeviceInfo( 371 void PPP_VideoCapture_Proxy::OnMsgOnDeviceInfo(
372 const HostResource& host_resource, 372 const HostResource& host_resource,
373 const PP_VideoCaptureDeviceInfo_Dev& info, 373 const PP_VideoCaptureDeviceInfo_Dev& info,
374 const std::vector<PPPVideoCapture_Buffer>& buffers) { 374 const std::vector<PPPVideoCapture_Buffer>& buffers) {
375 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource); 375 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource);
376 if (enter.failed() || !ppp_video_capture_impl_) 376 PluginResourceTracker* tracker = PluginResourceTracker::GetInstance();
377 PP_Resource resource = tracker->PluginResourceForHostResource(host_resource);
378 if (!resource || !ppp_video_capture_impl_ || enter.failed())
377 return; 379 return;
378 380
379 PluginResourceTracker* tracker =
380 PluginGlobals::Get()->plugin_resource_tracker();
381 scoped_array<PP_Resource> resources(new PP_Resource[buffers.size()]); 381 scoped_array<PP_Resource> resources(new PP_Resource[buffers.size()]);
382 for (size_t i = 0; i < buffers.size(); ++i) { 382 for (size_t i = 0; i < buffers.size(); ++i) {
383 // We assume that the browser created a new set of resources. 383 // We assume that the browser created a new set of resources.
384 DCHECK(!tracker->PluginResourceForHostResource(buffers[i].resource)); 384 DCHECK(!tracker->PluginResourceForHostResource(buffers[i].resource));
385 resources[i] = PPB_Buffer_Proxy::AddProxyResource(buffers[i].resource, 385 resources[i] = PPB_Buffer_Proxy::AddProxyResource(buffers[i].resource,
386 buffers[i].handle, 386 buffers[i].handle,
387 buffers[i].size); 387 buffers[i].size);
388 } 388 }
389 389 static_cast<VideoCapture*>(enter.object())->SetBufferCount(buffers.size());
390 VideoCapture* capture = static_cast<VideoCapture*>(enter.object());
391 capture->SetBufferCount(buffers.size());
392 ppp_video_capture_impl_->OnDeviceInfo( 390 ppp_video_capture_impl_->OnDeviceInfo(
393 host_resource.instance(), 391 host_resource.instance(),
394 capture->pp_resource(), 392 resource,
395 &info, 393 &info,
396 buffers.size(), 394 buffers.size(),
397 resources.get()); 395 resources.get());
398 for (size_t i = 0; i < buffers.size(); ++i) 396 for (size_t i = 0; i < buffers.size(); ++i)
399 tracker->ReleaseResource(resources[i]); 397 tracker->ReleaseResource(resources[i]);
400 } 398 }
401 399
402 void PPP_VideoCapture_Proxy::OnMsgOnStatus(const HostResource& host_resource, 400 void PPP_VideoCapture_Proxy::OnMsgOnStatus(const HostResource& host_resource,
403 uint32_t status) { 401 uint32_t status) {
404 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource); 402 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource);
405 if (enter.failed() || !ppp_video_capture_impl_) 403 PluginResourceTracker* tracker = PluginResourceTracker::GetInstance();
404 PP_Resource resource = tracker->PluginResourceForHostResource(host_resource);
405 if (!resource || !ppp_video_capture_impl_ || enter.failed())
406 return; 406 return;
407 407
408 VideoCapture* capture = static_cast<VideoCapture*>(enter.object()); 408 if (!static_cast<VideoCapture*>(enter.object())->OnStatus(status))
409 if (!capture->OnStatus(status))
410 return; 409 return;
411 ppp_video_capture_impl_->OnStatus( 410 ppp_video_capture_impl_->OnStatus(
412 host_resource.instance(), capture->pp_resource(), status); 411 host_resource.instance(), resource, status);
413 } 412 }
414 413
415 void PPP_VideoCapture_Proxy::OnMsgOnError(const HostResource& host_resource, 414 void PPP_VideoCapture_Proxy::OnMsgOnError(const HostResource& host_resource,
416 uint32_t error_code) { 415 uint32_t error_code) {
417 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource); 416 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource);
418 if (enter.failed() || !ppp_video_capture_impl_) 417 PluginResourceTracker* tracker = PluginResourceTracker::GetInstance();
418 PP_Resource resource = tracker->PluginResourceForHostResource(host_resource);
419 if (!resource || !ppp_video_capture_impl_ || enter.failed())
419 return; 420 return;
420 421 static_cast<VideoCapture*>(enter.object())->set_status(
421 VideoCapture* capture = static_cast<VideoCapture*>(enter.object()); 422 PP_VIDEO_CAPTURE_STATUS_STOPPED);
422 capture->set_status(PP_VIDEO_CAPTURE_STATUS_STOPPED);
423 ppp_video_capture_impl_->OnError( 423 ppp_video_capture_impl_->OnError(
424 host_resource.instance(), capture->pp_resource(), error_code); 424 host_resource.instance(), resource, error_code);
425 } 425 }
426 426
427 void PPP_VideoCapture_Proxy::OnMsgOnBufferReady( 427 void PPP_VideoCapture_Proxy::OnMsgOnBufferReady(
428 const HostResource& host_resource, uint32_t buffer) { 428 const HostResource& host_resource, uint32_t buffer) {
429 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource); 429 EnterPluginFromHostResource<PPB_VideoCapture_API> enter(host_resource);
430 if (enter.failed() || !ppp_video_capture_impl_) 430 PluginResourceTracker* tracker = PluginResourceTracker::GetInstance();
431 PP_Resource resource = tracker->PluginResourceForHostResource(host_resource);
432 if (!resource || !ppp_video_capture_impl_ || enter.failed())
431 return; 433 return;
432 434 static_cast<VideoCapture*>(enter.object())->SetBufferInUse(buffer);
433 VideoCapture* capture = static_cast<VideoCapture*>(enter.object());
434 capture->SetBufferInUse(buffer);
435 ppp_video_capture_impl_->OnBufferReady( 435 ppp_video_capture_impl_->OnBufferReady(
436 host_resource.instance(), capture->pp_resource(), buffer); 436 host_resource.instance(), resource, buffer);
437 } 437 }
438 438
439 } // namespace proxy 439 } // namespace proxy
440 } // namespace ppapi 440 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/proxy/ppb_var_proxy.cc ('k') | ppapi/proxy/ppp_instance_private_proxy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698