diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 00:27:04 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 00:27:04 +0000 |
commit | 00d320a6e403c645dc00d47217028aef5f2792a0 (patch) | |
tree | 4cb1feea9a8c9819c95d1520db3ebd2dff69a3c6 /ppapi/shared_impl/private | |
parent | 2354c0fa1003d87661d20255211306ae4c9cf622 (diff) | |
download | chromium_src-00d320a6e403c645dc00d47217028aef5f2792a0.zip chromium_src-00d320a6e403c645dc00d47217028aef5f2792a0.tar.gz chromium_src-00d320a6e403c645dc00d47217028aef5f2792a0.tar.bz2 |
Make a global enum to differentiate impl & proxy.
Use this in resource constructors and remove all the old weird structs that we
used to tell which one to call. This removes some extra code we had to deal
with this.
Review URL: http://codereview.chromium.org/9391013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121781 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/private')
-rw-r--r-- | ppapi/shared_impl/private/ppb_font_shared.cc | 47 | ||||
-rw-r--r-- | ppapi/shared_impl/private/ppb_font_shared.h | 24 | ||||
-rw-r--r-- | ppapi/shared_impl/private/tcp_socket_private_impl.cc | 6 | ||||
-rw-r--r-- | ppapi/shared_impl/private/udp_socket_private_impl.cc | 6 |
4 files changed, 22 insertions, 61 deletions
diff --git a/ppapi/shared_impl/private/ppb_font_shared.cc b/ppapi/shared_impl/private/ppb_font_shared.cc index 3b4f04b..3918088 100644 --- a/ppapi/shared_impl/private/ppb_font_shared.cc +++ b/ppapi/shared_impl/private/ppb_font_shared.cc @@ -302,41 +302,24 @@ bool PPB_Font_Shared::IsPPFontDescriptionValid( } // static -PP_Resource PPB_Font_Shared::CreateAsImpl( - PP_Instance instance, - const PP_FontDescription_Dev& description, - const ::ppapi::Preferences& prefs) { +PP_Resource PPB_Font_Shared::Create(ResourceObjectType type, + PP_Instance instance, + const PP_FontDescription_Dev& description, + const ::ppapi::Preferences& prefs) { if (!::ppapi::PPB_Font_Shared::IsPPFontDescriptionValid(description)) return 0; - return (new PPB_Font_Shared(InitAsImpl(), instance, description, + return (new PPB_Font_Shared(type, instance, description, prefs))->GetReference(); } -// static -PP_Resource PPB_Font_Shared::CreateAsProxy( - PP_Instance instance, - const PP_FontDescription_Dev& description, - const ::ppapi::Preferences& prefs) { - if (!::ppapi::PPB_Font_Shared::IsPPFontDescriptionValid(description)) - return 0; - return (new PPB_Font_Shared(InitAsProxy(), instance, description, - prefs))->GetReference(); -} - -PPB_Font_Shared::PPB_Font_Shared(const InitAsImpl&, - PP_Instance pp_instance, - const PP_FontDescription_Dev& desc, - const ::ppapi::Preferences& prefs) - : Resource(pp_instance) { - Initialize(desc, prefs); -} - -PPB_Font_Shared::PPB_Font_Shared(const InitAsProxy&, - PP_Instance pp_instance, +PPB_Font_Shared::PPB_Font_Shared(ResourceObjectType type, + PP_Instance instance, const PP_FontDescription_Dev& desc, const ::ppapi::Preferences& prefs) - : Resource(HostResource::MakeInstanceOnly(pp_instance)) { - Initialize(desc, prefs); + : Resource(type, instance) { + StringVar* face_name = StringVar::FromPPVar(desc.face); + font_impl_.reset(new FontImpl( + desc, face_name ? face_name->value() : std::string(), prefs)); } PPB_Font_Shared::~PPB_Font_Shared() { @@ -425,13 +408,5 @@ int32_t PPB_Font_Shared::PixelOffsetForCharacter(const PP_TextRun_Dev* text, return result; } -void PPB_Font_Shared::Initialize(const PP_FontDescription_Dev& desc, - const ::ppapi::Preferences& prefs) { - StringVar* face_name = StringVar::FromPPVar(desc.face); - - font_impl_.reset(new FontImpl( - desc, face_name ? face_name->value() : std::string(), prefs)); -} - } // namespace ppapi diff --git a/ppapi/shared_impl/private/ppb_font_shared.h b/ppapi/shared_impl/private/ppb_font_shared.h index ec34215..8e5bebb 100644 --- a/ppapi/shared_impl/private/ppb_font_shared.h +++ b/ppapi/shared_impl/private/ppb_font_shared.h @@ -33,12 +33,10 @@ class PPAPI_SHARED_EXPORT PPB_Font_Shared virtual ~PPB_Font_Shared(); - static PP_Resource CreateAsImpl(PP_Instance instance, - const PP_FontDescription_Dev& description, - const ::ppapi::Preferences& prefs); - static PP_Resource CreateAsProxy(PP_Instance instance, - const PP_FontDescription_Dev& description, - const ::ppapi::Preferences& prefs); + static PP_Resource Create(ResourceObjectType type, + PP_Instance instance, + const PP_FontDescription_Dev& description, + const ::ppapi::Preferences& prefs); // Resource. virtual ::ppapi::thunk::PPB_Font_API* AsPPB_Font_API() OVERRIDE; @@ -59,23 +57,11 @@ class PPAPI_SHARED_EXPORT PPB_Font_Shared uint32_t char_offset) OVERRIDE; private: - struct InitAsImpl {}; - struct InitAsProxy {}; - - // The dummy arguments control which version of Resource's constructor is - // called for this base class. - PPB_Font_Shared(const InitAsImpl&, - PP_Instance instance, - const PP_FontDescription_Dev& desc, - const ::ppapi::Preferences& prefs); - PPB_Font_Shared(const InitAsProxy&, + PPB_Font_Shared(ResourceObjectType type, PP_Instance instance, const PP_FontDescription_Dev& desc, const ::ppapi::Preferences& prefs); - void Initialize(const PP_FontDescription_Dev& desc, - const ::ppapi::Preferences& prefs); - scoped_ptr< ::ppapi::WebKitForwarding::Font> font_impl_; DISALLOW_COPY_AND_ASSIGN(PPB_Font_Shared); diff --git a/ppapi/shared_impl/private/tcp_socket_private_impl.cc b/ppapi/shared_impl/private/tcp_socket_private_impl.cc index a268801..de99e20 100644 --- a/ppapi/shared_impl/private/tcp_socket_private_impl.cc +++ b/ppapi/shared_impl/private/tcp_socket_private_impl.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -22,13 +22,13 @@ const int32_t TCPSocketPrivateImpl::kMaxWriteSize = 1024 * 1024; TCPSocketPrivateImpl::TCPSocketPrivateImpl(PP_Instance instance, uint32 socket_id) - : Resource(instance) { + : Resource(OBJECT_IS_IMPL, instance) { Init(socket_id); } TCPSocketPrivateImpl::TCPSocketPrivateImpl(const HostResource& resource, uint32 socket_id) - : Resource(resource) { + : Resource(OBJECT_IS_PROXY, resource) { Init(socket_id); } diff --git a/ppapi/shared_impl/private/udp_socket_private_impl.cc b/ppapi/shared_impl/private/udp_socket_private_impl.cc index 23f125d..d596b02 100644 --- a/ppapi/shared_impl/private/udp_socket_private_impl.cc +++ b/ppapi/shared_impl/private/udp_socket_private_impl.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -22,13 +22,13 @@ const int32_t UDPSocketPrivateImpl::kMaxWriteSize = 1024 * 1024; UDPSocketPrivateImpl::UDPSocketPrivateImpl(const HostResource& resource, uint32 socket_id) - : Resource(resource) { + : Resource(OBJECT_IS_PROXY, resource) { Init(socket_id); } UDPSocketPrivateImpl::UDPSocketPrivateImpl(PP_Instance instance, uint32 socket_id) - : Resource(instance) { + : Resource(OBJECT_IS_IMPL, instance) { Init(socket_id); } |