| OLD | NEW |
| 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/pepper/pepper_plugin_delegate_impl.h" | 5 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <cstddef> | 8 #include <cstddef> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <queue> | 10 #include <queue> |
| (...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 825 | 825 |
| 826 webkit::ppapi::PluginDelegate::PlatformContext3D* | 826 webkit::ppapi::PluginDelegate::PlatformContext3D* |
| 827 PepperPluginDelegateImpl::CreateContext3D() { | 827 PepperPluginDelegateImpl::CreateContext3D() { |
| 828 #ifdef ENABLE_GPU | 828 #ifdef ENABLE_GPU |
| 829 // If accelerated compositing of plugins is disabled, fail to create a 3D | 829 // If accelerated compositing of plugins is disabled, fail to create a 3D |
| 830 // context, because it won't be visible. This allows graceful fallback in the | 830 // context, because it won't be visible. This allows graceful fallback in the |
| 831 // modules. | 831 // modules. |
| 832 const webkit_glue::WebPreferences& prefs = render_view_->webkit_preferences(); | 832 const webkit_glue::WebPreferences& prefs = render_view_->webkit_preferences(); |
| 833 if (!prefs.accelerated_compositing_for_plugins_enabled) | 833 if (!prefs.accelerated_compositing_for_plugins_enabled) |
| 834 return NULL; | 834 return NULL; |
| 835 return new PlatformContext3DImpl(this); | 835 return new PlatformContext3DImpl; |
| 836 #else | 836 #else |
| 837 return NULL; | 837 return NULL; |
| 838 #endif | 838 #endif |
| 839 } | 839 } |
| 840 | 840 |
| 841 void PepperPluginDelegateImpl::ReparentContext( | |
| 842 webkit::ppapi::PluginDelegate::PlatformContext3D* context) { | |
| 843 static_cast<PlatformContext3DImpl*>(context)->SetParentContext(this); | |
| 844 } | |
| 845 | |
| 846 webkit::ppapi::PluginDelegate::PlatformVideoCapture* | 841 webkit::ppapi::PluginDelegate::PlatformVideoCapture* |
| 847 PepperPluginDelegateImpl::CreateVideoCapture( | 842 PepperPluginDelegateImpl::CreateVideoCapture( |
| 848 const std::string& device_id, | 843 const std::string& device_id, |
| 849 PlatformVideoCaptureEventHandler* handler) { | 844 PlatformVideoCaptureEventHandler* handler) { |
| 850 return new PepperPlatformVideoCaptureImpl(AsWeakPtr(), device_id, handler); | 845 return new PepperPlatformVideoCaptureImpl(AsWeakPtr(), device_id, handler); |
| 851 } | 846 } |
| 852 | 847 |
| 853 webkit::ppapi::PluginDelegate::PlatformVideoDecoder* | 848 webkit::ppapi::PluginDelegate::PlatformVideoDecoder* |
| 854 PepperPluginDelegateImpl::CreateVideoDecoder( | 849 PepperPluginDelegateImpl::CreateVideoDecoder( |
| 855 media::VideoDecodeAccelerator::Client* client, | 850 media::VideoDecodeAccelerator::Client* client, |
| (...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1566 0); | 1561 0); |
| 1567 default: | 1562 default: |
| 1568 NOTREACHED(); | 1563 NOTREACHED(); |
| 1569 return 0; | 1564 return 0; |
| 1570 } | 1565 } |
| 1571 #else | 1566 #else |
| 1572 return 0; | 1567 return 0; |
| 1573 #endif | 1568 #endif |
| 1574 } | 1569 } |
| 1575 | 1570 |
| 1576 WebGraphicsContext3DCommandBufferImpl* | |
| 1577 PepperPluginDelegateImpl::GetParentContextForPlatformContext3D() { | |
| 1578 if (!offscreen_context3d_ || offscreen_context3d_->DestroyedOnMainThread()) { | |
| 1579 offscreen_context3d_ = | |
| 1580 RenderThreadImpl::current()->OffscreenContextProviderForMainThread(); | |
| 1581 | |
| 1582 if (!offscreen_context3d_->InitializeOnMainThread() || | |
| 1583 !offscreen_context3d_->BindToCurrentThread()) { | |
| 1584 offscreen_context3d_ = NULL; | |
| 1585 return NULL; | |
| 1586 } | |
| 1587 } | |
| 1588 return offscreen_context3d_->Context3d(); | |
| 1589 } | |
| 1590 | |
| 1591 MouseLockDispatcher::LockTarget* | 1571 MouseLockDispatcher::LockTarget* |
| 1592 PepperPluginDelegateImpl::GetOrCreateLockTargetAdapter( | 1572 PepperPluginDelegateImpl::GetOrCreateLockTargetAdapter( |
| 1593 webkit::ppapi::PluginInstance* instance) { | 1573 webkit::ppapi::PluginInstance* instance) { |
| 1594 MouseLockDispatcher::LockTarget* target = mouse_lock_instances_[instance]; | 1574 MouseLockDispatcher::LockTarget* target = mouse_lock_instances_[instance]; |
| 1595 if (target) | 1575 if (target) |
| 1596 return target; | 1576 return target; |
| 1597 | 1577 |
| 1598 return mouse_lock_instances_[instance] = | 1578 return mouse_lock_instances_[instance] = |
| 1599 new PluginInstanceLockTarget(instance); | 1579 new PluginInstanceLockTarget(instance); |
| 1600 } | 1580 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1616 RenderWidgetFullscreenPepper* container = | 1596 RenderWidgetFullscreenPepper* container = |
| 1617 static_cast<RenderWidgetFullscreenPepper*>( | 1597 static_cast<RenderWidgetFullscreenPepper*>( |
| 1618 instance->fullscreen_container()); | 1598 instance->fullscreen_container()); |
| 1619 return container->mouse_lock_dispatcher(); | 1599 return container->mouse_lock_dispatcher(); |
| 1620 } else { | 1600 } else { |
| 1621 return render_view_->mouse_lock_dispatcher(); | 1601 return render_view_->mouse_lock_dispatcher(); |
| 1622 } | 1602 } |
| 1623 } | 1603 } |
| 1624 | 1604 |
| 1625 } // namespace content | 1605 } // namespace content |
| OLD | NEW |