diff options
Diffstat (limited to 'ppapi/shared_impl')
28 files changed, 94 insertions, 40 deletions
diff --git a/ppapi/shared_impl/audio_config_impl.h b/ppapi/shared_impl/audio_config_impl.h index 69a2b73..7577e00 100644 --- a/ppapi/shared_impl/audio_config_impl.h +++ b/ppapi/shared_impl/audio_config_impl.h @@ -12,8 +12,9 @@ namespace ppapi { -class AudioConfigImpl : public Resource, - public thunk::PPB_AudioConfig_API { +class PPAPI_SHARED_EXPORT AudioConfigImpl + : public Resource, + public thunk::PPB_AudioConfig_API { public: virtual ~AudioConfigImpl(); diff --git a/ppapi/shared_impl/audio_impl.h b/ppapi/shared_impl/audio_impl.h index 220962bb..201582d 100644 --- a/ppapi/shared_impl/audio_impl.h +++ b/ppapi/shared_impl/audio_impl.h @@ -18,8 +18,9 @@ namespace ppapi { // Implements the logic to map shared memory and run the audio thread signaled // from the sync socket. Both the proxy and the renderer implementation use // this code. -class AudioImpl : public thunk::PPB_Audio_API, - public base::DelegateSimpleThread::Delegate { +class PPAPI_SHARED_EXPORT AudioImpl + : public thunk::PPB_Audio_API, + public base::DelegateSimpleThread::Delegate { public: AudioImpl(); virtual ~AudioImpl(); diff --git a/ppapi/shared_impl/char_set_impl.h b/ppapi/shared_impl/char_set_impl.h index 4891346..d52e246 100644 --- a/ppapi/shared_impl/char_set_impl.h +++ b/ppapi/shared_impl/char_set_impl.h @@ -7,6 +7,7 @@ #include "base/basictypes.h" #include "ppapi/c/dev/ppb_char_set_dev.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" struct PPB_Memory_Dev; @@ -14,7 +15,7 @@ namespace ppapi { // Contains the implementation of character set conversion that is shared // between the proxy and the renderer. -class CharSetImpl { +class PPAPI_SHARED_EXPORT CharSetImpl { public: static char* UTF16ToCharSet(const PPB_Memory_Dev* memory, const uint16_t* utf16, diff --git a/ppapi/shared_impl/crypto_impl.h b/ppapi/shared_impl/crypto_impl.h index a959bc9..0dd99b2 100644 --- a/ppapi/shared_impl/crypto_impl.h +++ b/ppapi/shared_impl/crypto_impl.h @@ -7,10 +7,11 @@ #include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_stdint.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { -class CryptoImpl { +class PPAPI_SHARED_EXPORT CryptoImpl { public: static void GetRandomBytes(char* buffer, uint32_t num_bytes); }; diff --git a/ppapi/shared_impl/file_ref_impl.h b/ppapi/shared_impl/file_ref_impl.h index 515912b..3f4bf8f 100644 --- a/ppapi/shared_impl/file_ref_impl.h +++ b/ppapi/shared_impl/file_ref_impl.h @@ -29,7 +29,8 @@ struct PPB_FileRef_CreateInfo { // This class provides the shared implementation of a FileRef. The functions // that actually "do stuff" like Touch and MakeDirectory are implemented // differently for the proxied and non-proxied derived classes. -class FileRefImpl : public Resource, public thunk::PPB_FileRef_API { +class PPAPI_SHARED_EXPORT FileRefImpl : public Resource, + public thunk::PPB_FileRef_API { public: struct InitAsImpl {}; struct InitAsProxy {}; diff --git a/ppapi/shared_impl/font_impl.h b/ppapi/shared_impl/font_impl.h index 9496b16..a8ab2df 100644 --- a/ppapi/shared_impl/font_impl.h +++ b/ppapi/shared_impl/font_impl.h @@ -12,12 +12,13 @@ #include "base/memory/scoped_ptr.h" #include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_stdint.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" struct PP_FontDescription_Dev; namespace ppapi { -class FontImpl { +class PPAPI_SHARED_EXPORT FontImpl { public: // Validates the parameters in thee description. Can be called on any thread. static bool IsPPFontDescriptionValid(const PP_FontDescription_Dev& desc); diff --git a/ppapi/shared_impl/function_group_base.h b/ppapi/shared_impl/function_group_base.h index 23d82d5..31b164f 100644 --- a/ppapi/shared_impl/function_group_base.h +++ b/ppapi/shared_impl/function_group_base.h @@ -7,6 +7,8 @@ #include <stddef.h> // For NULL. +#include "ppapi/shared_impl/ppapi_shared_export.h" + #define FOR_ALL_PPAPI_FUNCTION_APIS(F) \ F(PPB_CharSet_FunctionAPI) \ F(PPB_CursorControl_FunctionAPI) \ @@ -25,7 +27,7 @@ FOR_ALL_PPAPI_FUNCTION_APIS(DECLARE_FUNCTION_CLASS) #undef DECLARE_FUNCTION_CLASS } // namespace thunk -class FunctionGroupBase { +class PPAPI_SHARED_EXPORT FunctionGroupBase { public: virtual ~FunctionGroupBase(); diff --git a/ppapi/shared_impl/graphics_3d_impl.h b/ppapi/shared_impl/graphics_3d_impl.h index 781f33f..e9f4187 100644 --- a/ppapi/shared_impl/graphics_3d_impl.h +++ b/ppapi/shared_impl/graphics_3d_impl.h @@ -8,6 +8,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" #include "ppapi/c/pp_completion_callback.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" #include "ppapi/thunk/ppb_graphics_3d_api.h" namespace gpu { @@ -20,7 +21,7 @@ class GLES2Implementation; namespace ppapi { -class Graphics3DImpl : public thunk::PPB_Graphics3D_API { +class PPAPI_SHARED_EXPORT Graphics3DImpl : public thunk::PPB_Graphics3D_API { public: // PPB_Graphics3D_API implementation. virtual int32_t GetAttribs(int32_t* attrib_list) OVERRIDE; diff --git a/ppapi/shared_impl/host_resource.h b/ppapi/shared_impl/host_resource.h index 0d9b3bf..b614546 100644 --- a/ppapi/shared_impl/host_resource.h +++ b/ppapi/shared_impl/host_resource.h @@ -7,6 +7,7 @@ #include "ppapi/c/pp_instance.h" #include "ppapi/c/pp_resource.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { @@ -17,7 +18,7 @@ namespace ppapi { // this tranformation. // // All HostResources respresent IDs valid in the host. -class HostResource { +class PPAPI_SHARED_EXPORT HostResource { public: HostResource() : instance_(0), host_resource_(0) { } diff --git a/ppapi/shared_impl/id_assignment.h b/ppapi/shared_impl/id_assignment.h index 1adc2bd..039e7fe 100644 --- a/ppapi/shared_impl/id_assignment.h +++ b/ppapi/shared_impl/id_assignment.h @@ -8,6 +8,7 @@ #include <limits> #include "base/basictypes.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { @@ -21,7 +22,7 @@ enum PPIdType { PP_ID_TYPE_COUNT }; -extern const unsigned int kPPIdTypeBits; +PPAPI_SHARED_EXPORT extern const unsigned int kPPIdTypeBits; extern const int32 kMaxPPId; diff --git a/ppapi/shared_impl/image_data_impl.h b/ppapi/shared_impl/image_data_impl.h index 1d2f76f5..f931c78 100644 --- a/ppapi/shared_impl/image_data_impl.h +++ b/ppapi/shared_impl/image_data_impl.h @@ -7,6 +7,7 @@ #include "ppapi/c/pp_bool.h" #include "ppapi/c/ppb_image_data.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { @@ -19,7 +20,7 @@ namespace ppapi { // probably best to have some kind of "configuration" message that the renderer // sends to the plugin process on startup that contains all of these kind of // settings. -class ImageDataImpl { +class PPAPI_SHARED_EXPORT ImageDataImpl { public: static PP_ImageDataFormat GetNativeImageDataFormat(); static bool IsImageDataFormatSupported(PP_ImageDataFormat format); diff --git a/ppapi/shared_impl/input_event_impl.h b/ppapi/shared_impl/input_event_impl.h index baa4bda..db6588b 100644 --- a/ppapi/shared_impl/input_event_impl.h +++ b/ppapi/shared_impl/input_event_impl.h @@ -17,7 +17,7 @@ namespace ppapi { // IF YOU ADD STUFF TO THIS CLASS // ============================== // Be sure to add it to the STRUCT_TRAITS at the top of ppapi_messages.h -struct InputEventData { +struct PPAPI_SHARED_EXPORT InputEventData { InputEventData(); ~InputEventData(); @@ -44,7 +44,9 @@ struct InputEventData { // This simple class implements the PPB_InputEvent_API in terms of the // shared InputEventData structure -class InputEventImpl : public Resource, public thunk::PPB_InputEvent_API { +class PPAPI_SHARED_EXPORT InputEventImpl + : public Resource, + public thunk::PPB_InputEvent_API { public: struct InitAsImpl {}; struct InitAsProxy {}; diff --git a/ppapi/shared_impl/instance_impl.h b/ppapi/shared_impl/instance_impl.h index 9cbfb89..fdc741f 100644 --- a/ppapi/shared_impl/instance_impl.h +++ b/ppapi/shared_impl/instance_impl.h @@ -6,10 +6,11 @@ #define PPAPI_SHARED_IMPL_INSTANCE_IMPL_H_ #include "ppapi/c/pp_stdint.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { -class InstanceImpl { +class PPAPI_SHARED_EXPORT InstanceImpl { public: virtual ~InstanceImpl(); diff --git a/ppapi/shared_impl/opengles2_impl.h b/ppapi/shared_impl/opengles2_impl.h index 6284a42..ea2a3b7 100644 --- a/ppapi/shared_impl/opengles2_impl.h +++ b/ppapi/shared_impl/opengles2_impl.h @@ -6,10 +6,11 @@ #define PPAPI_SHARED_IMPL_OPENGLES2_IMPL_H_ #include "ppapi/c/dev/ppb_opengles_dev.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { -class OpenGLES2Impl { +class PPAPI_SHARED_EXPORT OpenGLES2Impl { public: static const PPB_OpenGLES2_Dev* GetInterface(); }; diff --git a/ppapi/shared_impl/ppapi_preferences.h b/ppapi/shared_impl/ppapi_preferences.h index e026290..8e0847c 100644 --- a/ppapi/shared_impl/ppapi_preferences.h +++ b/ppapi/shared_impl/ppapi_preferences.h @@ -6,12 +6,13 @@ #define PPAPI_SHARED_IMPL_PPAPI_PREFERENCES_H_ #include "base/string16.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" struct WebPreferences; namespace ppapi { -struct Preferences { +struct PPAPI_SHARED_EXPORT Preferences { public: Preferences(); explicit Preferences(const WebPreferences& prefs); diff --git a/ppapi/shared_impl/ppapi_shared_export.h b/ppapi/shared_impl/ppapi_shared_export.h new file mode 100644 index 0000000..fb3c036 --- /dev/null +++ b/ppapi/shared_impl/ppapi_shared_export.h @@ -0,0 +1,26 @@ +// Copyright (c) 2011 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. + +#ifndef PPAPI_SHARED_IMPL_PPAPI_SHARED_EXPORT_H_ +#define PPAPI_SHARED_IMPL_PPAPI_SHARED_EXPORT_H_ +#pragma once + +#if defined(COMPONENT_BUILD) +#if defined(WIN32) + +#if defined(PPAPI_SHARED_IMPLEMENTATION) +#define PPAPI_SHARED_EXPORT __declspec(dllexport) +#else +#define PPAPI_SHARED_EXPORT __declspec(dllimport) +#endif // defined(PPAPI_SHARED_IMPLEMENTATION) + +#else // defined(WIN32) +#define PPAPI_SHARED_EXPORT __attribute__((visibility("default"))) +#endif + +#else // defined(COMPONENT_BUILD) +#define PPAPI_SHARED_EXPORT +#endif + +#endif // PPAPI_SHARED_IMPL_PPAPI_SHARED_EXPORT_H_ diff --git a/ppapi/shared_impl/ppp_instance_combined.h b/ppapi/shared_impl/ppp_instance_combined.h index 12e3301..3daf727 100644 --- a/ppapi/shared_impl/ppp_instance_combined.h +++ b/ppapi/shared_impl/ppp_instance_combined.h @@ -7,10 +7,11 @@ #include "base/basictypes.h" #include "ppapi/c/ppp_instance.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { -struct PPP_Instance_Combined : public PPP_Instance_1_0 { +struct PPAPI_SHARED_EXPORT PPP_Instance_Combined : public PPP_Instance_1_0 { public: explicit PPP_Instance_Combined(const PPP_Instance_1_0& instance_if); diff --git a/ppapi/shared_impl/resource.h b/ppapi/shared_impl/resource.h index 6bb4099..677d8a9 100644 --- a/ppapi/shared_impl/resource.h +++ b/ppapi/shared_impl/resource.h @@ -59,7 +59,7 @@ FOR_ALL_PPAPI_RESOURCE_APIS(DECLARE_RESOURCE_CLASS) #undef DECLARE_RESOURCE_CLASS } // namespace thunk -class Resource : public base::RefCounted<Resource> { +class PPAPI_SHARED_EXPORT Resource : public base::RefCounted<Resource> { public: // For constructing non-proxied objects. This just takes the associated // instance, and generates a new resource ID. The host resource will be the diff --git a/ppapi/shared_impl/resource_tracker.h b/ppapi/shared_impl/resource_tracker.h index b631653..e60d8e0 100644 --- a/ppapi/shared_impl/resource_tracker.h +++ b/ppapi/shared_impl/resource_tracker.h @@ -12,12 +12,13 @@ #include "base/memory/linked_ptr.h" #include "ppapi/c/pp_instance.h" #include "ppapi/c/pp_resource.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { class Resource; -class ResourceTracker { +class PPAPI_SHARED_EXPORT ResourceTracker { public: ResourceTracker(); virtual ~ResourceTracker(); diff --git a/ppapi/shared_impl/scoped_pp_resource.h b/ppapi/shared_impl/scoped_pp_resource.h index 96db4ee..b42e21e 100644 --- a/ppapi/shared_impl/scoped_pp_resource.h +++ b/ppapi/shared_impl/scoped_pp_resource.h @@ -6,13 +6,14 @@ #define PPAPI_SHARED_IMPL_SCOPED_RESOURCE_H_ #include "ppapi/c/pp_resource.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { class Resource; // This is a version of scoped_refptr but for PP_Resources. -class ScopedPPResource { +class PPAPI_SHARED_EXPORT ScopedPPResource { public: struct PassRef {}; diff --git a/ppapi/shared_impl/time_conversion.h b/ppapi/shared_impl/time_conversion.h index bf41987..0acd39e 100644 --- a/ppapi/shared_impl/time_conversion.h +++ b/ppapi/shared_impl/time_conversion.h @@ -7,20 +7,21 @@ #include "base/time.h" #include "ppapi/c/pp_time.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { -PP_Time TimeToPPTime(base::Time t); -base::Time PPTimeToTime(PP_Time t); +PPAPI_SHARED_EXPORT PP_Time TimeToPPTime(base::Time t); +PPAPI_SHARED_EXPORT base::Time PPTimeToTime(PP_Time t); -PP_TimeTicks TimeTicksToPPTimeTicks(base::TimeTicks t); +PPAPI_SHARED_EXPORT PP_TimeTicks TimeTicksToPPTimeTicks(base::TimeTicks t); // Converts between WebKit event times and time ticks. WebKit event times are // currently expressed in terms of wall clock time. This function does the // proper mapping to time ticks, assuming the wall clock time doesn't change // (which isn't necessarily the case). -PP_TimeTicks EventTimeToPPTimeTicks(double event_time); -double PPTimeTicksToEventTime(PP_TimeTicks t); +PPAPI_SHARED_EXPORT PP_TimeTicks EventTimeToPPTimeTicks(double event_time); +PPAPI_SHARED_EXPORT double PPTimeTicksToEventTime(PP_TimeTicks t); } // namespace ppapi diff --git a/ppapi/shared_impl/tracker_base.h b/ppapi/shared_impl/tracker_base.h index 49624c3..9ff19d4 100644 --- a/ppapi/shared_impl/tracker_base.h +++ b/ppapi/shared_impl/tracker_base.h @@ -11,6 +11,7 @@ #include "ppapi/c/pp_module.h" #include "ppapi/c/pp_resource.h" #include "ppapi/proxy/interface_id.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { @@ -26,7 +27,7 @@ class VarTracker; // does is forward to the process-type-specific tracker to get the information. // TODO(fischman/vrk): When brettw fixes the TODO above, fix the ugliness in // VideoDecoderImpl accordingly. -class TrackerBase { +class PPAPI_SHARED_EXPORT TrackerBase { public: // Must be called before any other function that uses the TrackerBase. // This sets the getter that returns the global implmenetation of diff --git a/ppapi/shared_impl/url_request_info_impl.h b/ppapi/shared_impl/url_request_info_impl.h index 622f8c5..9c619f9 100644 --- a/ppapi/shared_impl/url_request_info_impl.h +++ b/ppapi/shared_impl/url_request_info_impl.h @@ -18,8 +18,8 @@ namespace thunk { class PPB_FileRef_API; } -struct PPB_URLRequestInfo_Data { - struct BodyItem { +struct PPAPI_SHARED_EXPORT PPB_URLRequestInfo_Data { + struct PPAPI_SHARED_EXPORT BodyItem { BodyItem(); explicit BodyItem(const std::string& data); BodyItem(Resource* file_ref, @@ -90,8 +90,9 @@ struct PPB_URLRequestInfo_Data { // ppapi_messages.h }; -class URLRequestInfoImpl : public ::ppapi::Resource, - public ::ppapi::thunk::PPB_URLRequestInfo_API { +class PPAPI_SHARED_EXPORT URLRequestInfoImpl + : public ::ppapi::Resource, + public ::ppapi::thunk::PPB_URLRequestInfo_API { public: // This constructor initializes the object as a proxy object with the given // host resource. diff --git a/ppapi/shared_impl/url_util_impl.h b/ppapi/shared_impl/url_util_impl.h index 55d6c63..ae869c3 100644 --- a/ppapi/shared_impl/url_util_impl.h +++ b/ppapi/shared_impl/url_util_impl.h @@ -12,6 +12,7 @@ #include "ppapi/c/dev/ppb_url_util_dev.h" #include "ppapi/c/pp_module.h" #include "ppapi/c/pp_var.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" class GURL; @@ -19,7 +20,7 @@ namespace ppapi { // Contains the implementation of PPB_URLUtil that is shared between the proxy // and the renderer. -class URLUtilImpl { +class PPAPI_SHARED_EXPORT URLUtilImpl { public: // PPB_URLUtil shared functions. static PP_Var Canonicalize(PP_Module pp_module, diff --git a/ppapi/shared_impl/var.h b/ppapi/shared_impl/var.h index ce5aa2b..ceb7271 100644 --- a/ppapi/shared_impl/var.h +++ b/ppapi/shared_impl/var.h @@ -11,6 +11,7 @@ #include "base/memory/ref_counted.h" #include "ppapi/c/pp_module.h" #include "ppapi/c/pp_var.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { @@ -23,7 +24,7 @@ class StringVar; // Represents a non-POD var. This is derived from a resource even though it // isn't a resource from the plugin's perspective. This allows us to re-use // the refcounting and the association with the module from the resource code. -class Var : public base::RefCounted<Var> { +class PPAPI_SHARED_EXPORT Var : public base::RefCounted<Var> { public: virtual ~Var(); @@ -88,7 +89,7 @@ class Var : public base::RefCounted<Var> { // if (!string) // return false; // Not a string or an invalid var. // DoSomethingWithTheString(string->value()); -class StringVar : public Var { +class PPAPI_SHARED_EXPORT StringVar : public Var { public: StringVar(PP_Module module, const std::string& str); StringVar(PP_Module module, const char* str, uint32 len); diff --git a/ppapi/shared_impl/var_tracker.h b/ppapi/shared_impl/var_tracker.h index f05c5ac..f91c209 100644 --- a/ppapi/shared_impl/var_tracker.h +++ b/ppapi/shared_impl/var_tracker.h @@ -9,6 +9,7 @@ #include "base/hash_tables.h" #include "base/memory/ref_counted.h" #include "ppapi/c/pp_var.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" namespace ppapi { @@ -26,7 +27,7 @@ class Var; // This class maintains the "track_with_no_reference_count" but doesn't do // anything with it other than call virtual functions. The interesting parts // are added by the PluginObjectVar derived from this class. -class VarTracker { +class PPAPI_SHARED_EXPORT VarTracker { public: VarTracker(); virtual ~VarTracker(); diff --git a/ppapi/shared_impl/video_decoder_impl.h b/ppapi/shared_impl/video_decoder_impl.h index 191efa9..ff19d09 100644 --- a/ppapi/shared_impl/video_decoder_impl.h +++ b/ppapi/shared_impl/video_decoder_impl.h @@ -30,7 +30,8 @@ namespace ppapi { // Implements the logic to set and run callbacks for various video decoder // events. Both the proxy and the renderer implementation share this code. -class VideoDecoderImpl : public thunk::PPB_VideoDecoder_API { +class PPAPI_SHARED_EXPORT VideoDecoderImpl + : NON_EXPORTED_BASE(public thunk::PPB_VideoDecoder_API) { public: VideoDecoderImpl(); virtual ~VideoDecoderImpl(); diff --git a/ppapi/shared_impl/webkit_forwarding.h b/ppapi/shared_impl/webkit_forwarding.h index 2094523..d571aaa 100644 --- a/ppapi/shared_impl/webkit_forwarding.h +++ b/ppapi/shared_impl/webkit_forwarding.h @@ -9,6 +9,7 @@ #include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_stdint.h" +#include "ppapi/shared_impl/ppapi_shared_export.h" struct PP_FontDescription_Dev; struct PP_FontMetrics_Dev; @@ -27,9 +28,9 @@ namespace ppapi { struct Preferences; -class WebKitForwarding { +class PPAPI_SHARED_EXPORT WebKitForwarding { public: - class Font { + class PPAPI_SHARED_EXPORT Font { public: // C++ version of PP_TextRun_Dev. Since the functions below will be called // on an alternate thread in the proxy, and since there are different @@ -43,7 +44,7 @@ class WebKitForwarding { // DoDrawText takes too many arguments to be used with base::Bind, so we // use this struct to hold them. - struct DrawTextParams { + struct PPAPI_SHARED_EXPORT DrawTextParams { DrawTextParams(skia::PlatformCanvas* destination_arg, const TextRun& text_arg, const PP_Point* position_arg, |