summaryrefslogtreecommitdiffstats
path: root/ppapi/shared_impl/private
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-14 00:27:04 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-14 00:27:04 +0000
commit00d320a6e403c645dc00d47217028aef5f2792a0 (patch)
tree4cb1feea9a8c9819c95d1520db3ebd2dff69a3c6 /ppapi/shared_impl/private
parent2354c0fa1003d87661d20255211306ae4c9cf622 (diff)
downloadchromium_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.cc47
-rw-r--r--ppapi/shared_impl/private/ppb_font_shared.h24
-rw-r--r--ppapi/shared_impl/private/tcp_socket_private_impl.cc6
-rw-r--r--ppapi/shared_impl/private/udp_socket_private_impl.cc6
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);
}