diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-15 03:44:13 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-15 03:44:13 +0000 |
commit | 859a7f3a9264b3a2174e9625d6cfa20412ac6081 (patch) | |
tree | b9911798925fbff065346fa6c085b254d7fb2e55 /ppapi/proxy/ppb_char_set_proxy.h | |
parent | f615770cd0412b2524b8b4451e6518608af9abed (diff) | |
download | chromium_src-859a7f3a9264b3a2174e9625d6cfa20412ac6081.zip chromium_src-859a7f3a9264b3a2174e9625d6cfa20412ac6081.tar.gz chromium_src-859a7f3a9264b3a2174e9625d6cfa20412ac6081.tar.bz2 |
Make PP_Resources associated with the Instance rather than the module. This
adds PP_Instance to the necessary places in the API to make this possible.
String and Object vars used to be PP_Resources. But it is not practical to
assocaited strings with an instance since then we can't have implicit var
constructors and have to litter every string with an instance. So this changes
vars to use their own tracking system associated with the module (i.e. keeping
the current semantics) and making it no longer a resource. I made the internal
Var IDs 32 bits since Neb is about to land his 64->32 change.
Now it force-deletes resources associated with an instance when that instance
goes away. I added some additional code and tracking in ResourceTracker to do
this. I could then remove the Instance::Observer class since the resource can
use the (now renamed) StoppedTracking to know that it's being deleted in
response to the instance being destroyed.
TEST=ppapi ui tests
BUG=none
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71544 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/ppb_char_set_proxy.h')
-rw-r--r-- | ppapi/proxy/ppb_char_set_proxy.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ppapi/proxy/ppb_char_set_proxy.h b/ppapi/proxy/ppb_char_set_proxy.h index d944373..7a80fcb 100644 --- a/ppapi/proxy/ppb_char_set_proxy.h +++ b/ppapi/proxy/ppb_char_set_proxy.h @@ -6,7 +6,7 @@ #define PPAPI_PROXY_PPB_CHAR_SET_PROXY_H_ #include "base/basictypes.h" -#include "ppapi/c/pp_module.h" +#include "ppapi/c/pp_instance.h" #include "ppapi/c/pp_resource.h" #include "ppapi/proxy/interface_proxy.h" @@ -34,17 +34,19 @@ class PPB_CharSet_Proxy : public InterfaceProxy { private: // Message handlers. - void OnMsgUTF16ToCharSet(const string16& utf16, + void OnMsgUTF16ToCharSet(PP_Instance instance, + const string16& utf16, const std::string& char_set, int32_t on_error, std::string* output, bool* output_is_success); - void OnMsgCharSetToUTF16(const std::string& input, + void OnMsgCharSetToUTF16(PP_Instance instance, + const std::string& input, const std::string& char_set, int32_t on_error, string16* output, bool* output_is_success); - void OnMsgGetDefaultCharSet(PP_Module module, + void OnMsgGetDefaultCharSet(PP_Instance instance, SerializedVarReturnValue result); // Returns the local PPB_Core interface for freeing strings. |