Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(886)

Side by Side Diff: webkit/plugins/ppapi/ppb_var_impl.cc

Issue 8344025: Add a new globals object for PPAPI tracking information. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/plugins/ppapi/ppb_proxy_impl.cc ('k') | webkit/plugins/ppapi/ppb_video_capture_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Deleted: svn:mergeinfo
Reverse-merged /branches/chrome_webkit_merge_branch/src/webkit/plugins/ppapi/ppb_var_impl.cc:r3734-4217,4606-5108,5177-5263
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "webkit/plugins/ppapi/ppb_var_impl.h" 5 #include "webkit/plugins/ppapi/ppb_var_impl.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "ppapi/c/dev/ppb_var_deprecated.h" 9 #include "ppapi/c/dev/ppb_var_deprecated.h"
10 #include "ppapi/c/ppb_var.h" 10 #include "ppapi/c/ppb_var.h"
11 #include "ppapi/c/pp_var.h" 11 #include "ppapi/c/pp_var.h"
12 #include "third_party/WebKit/Source/WebKit/chromium/public/WebBindings.h" 12 #include "third_party/WebKit/Source/WebKit/chromium/public/WebBindings.h"
13 #include "webkit/plugins/ppapi/common.h" 13 #include "webkit/plugins/ppapi/common.h"
14 #include "webkit/plugins/ppapi/host_globals.h"
14 #include "webkit/plugins/ppapi/npapi_glue.h" 15 #include "webkit/plugins/ppapi/npapi_glue.h"
15 #include "webkit/plugins/ppapi/npobject_var.h" 16 #include "webkit/plugins/ppapi/npobject_var.h"
16 #include "webkit/plugins/ppapi/plugin_module.h" 17 #include "webkit/plugins/ppapi/plugin_module.h"
17 #include "webkit/plugins/ppapi/plugin_object.h" 18 #include "webkit/plugins/ppapi/plugin_object.h"
18 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" 19 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
19 #include "webkit/plugins/ppapi/resource_tracker.h" 20 #include "webkit/plugins/ppapi/resource_tracker.h"
20 #include "v8/include/v8.h" 21 #include "v8/include/v8.h"
21 22
22 using ppapi::NPObjectVar; 23 using ppapi::NPObjectVar;
24 using ppapi::PpapiGlobals;
23 using ppapi::StringVar; 25 using ppapi::StringVar;
24 using ppapi::Var; 26 using ppapi::Var;
25 using WebKit::WebBindings; 27 using WebKit::WebBindings;
26 28
27 namespace webkit { 29 namespace webkit {
28 namespace ppapi { 30 namespace ppapi {
29 31
30 namespace { 32 namespace {
31 33
32 const char kInvalidObjectException[] = "Error: Invalid object"; 34 const char kInvalidObjectException[] = "Error: Invalid object";
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 SetInvalidObjectException(); 119 SetInvalidObjectException();
118 } else { 120 } else {
119 // When the object is valid, we have a valid module to associate 121 // When the object is valid, we have a valid module to associate
120 set_pp_module(object_->pp_module()); 122 set_pp_module(object_->pp_module());
121 } 123 }
122 } 124 }
123 125
124 NPObjectVar* object() { return object_.get(); } 126 NPObjectVar* object() { return object_.get(); }
125 127
126 PluginInstance* GetPluginInstance() { 128 PluginInstance* GetPluginInstance() {
127 return ResourceTracker::Get()->GetInstance(object()->pp_instance()); 129 return HostGlobals::Get()->host_resource_tracker()->GetInstance(
130 object()->pp_instance());
128 } 131 }
129 132
130 protected: 133 protected:
131 scoped_refptr<NPObjectVar> object_; 134 scoped_refptr<NPObjectVar> object_;
132 135
133 DISALLOW_COPY_AND_ASSIGN(ObjectAccessorTryCatch); 136 DISALLOW_COPY_AND_ASSIGN(ObjectAccessorTryCatch);
134 }; 137 };
135 138
136 // ObjectAccessiorWithIdentifierTryCatch --------------------------------------- 139 // ObjectAccessiorWithIdentifierTryCatch ---------------------------------------
137 140
(...skipping 25 matching lines...) Expand all
163 166
164 private: 167 private:
165 NPIdentifier identifier_; 168 NPIdentifier identifier_;
166 169
167 DISALLOW_COPY_AND_ASSIGN(ObjectAccessorWithIdentifierTryCatch); 170 DISALLOW_COPY_AND_ASSIGN(ObjectAccessorWithIdentifierTryCatch);
168 }; 171 };
169 172
170 // PPB_Var methods ------------------------------------------------------------- 173 // PPB_Var methods -------------------------------------------------------------
171 174
172 void AddRefVar(PP_Var var) { 175 void AddRefVar(PP_Var var) {
173 ResourceTracker::Get()->GetVarTracker()->AddRefVar(var); 176 PpapiGlobals::Get()->GetVarTracker()->AddRefVar(var);
174 } 177 }
175 178
176 void ReleaseVar(PP_Var var) { 179 void ReleaseVar(PP_Var var) {
177 ResourceTracker::Get()->GetVarTracker()->ReleaseVar(var); 180 PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(var);
178 } 181 }
179 182
180 PP_Var VarFromUtf8(PP_Module module, const char* data, uint32_t len) { 183 PP_Var VarFromUtf8(PP_Module module, const char* data, uint32_t len) {
181 return StringVar::StringToPPVar(module, data, len); 184 return StringVar::StringToPPVar(module, data, len);
182 } 185 }
183 186
184 const char* VarToUtf8(PP_Var var, uint32_t* len) { 187 const char* VarToUtf8(PP_Var var, uint32_t* len) {
185 StringVar* str = StringVar::FromPPVar(var); 188 StringVar* str = StringVar::FromPPVar(var);
186 if (!str) { 189 if (!str) {
187 *len = 0; 190 *len = 0;
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 const PPP_Class_Deprecated* ppp_class, 400 const PPP_Class_Deprecated* ppp_class,
398 void** ppp_class_data) { 401 void** ppp_class_data) {
399 scoped_refptr<NPObjectVar> object(NPObjectVar::FromPPVar(var)); 402 scoped_refptr<NPObjectVar> object(NPObjectVar::FromPPVar(var));
400 if (!object) 403 if (!object)
401 return false; // Not an object at all. 404 return false; // Not an object at all.
402 405
403 return PluginObject::IsInstanceOf(object->np_object(), 406 return PluginObject::IsInstanceOf(object->np_object(),
404 ppp_class, ppp_class_data); 407 ppp_class, ppp_class_data);
405 } 408 }
406 409
407 PP_Var CreateObjectDeprecated(PP_Instance instance_id, 410 PP_Var CreateObjectDeprecated(PP_Instance pp_instance,
408 const PPP_Class_Deprecated* ppp_class, 411 const PPP_Class_Deprecated* ppp_class,
409 void* ppp_class_data) { 412 void* ppp_class_data) {
410 PluginInstance* instance = ResourceTracker::Get()->GetInstance(instance_id); 413 PluginInstance* instance =
414 HostGlobals::Get()->host_resource_tracker()->GetInstance(pp_instance);
411 if (!instance) { 415 if (!instance) {
412 DLOG(ERROR) << "Create object passed an invalid instance."; 416 DLOG(ERROR) << "Create object passed an invalid instance.";
413 return PP_MakeNull(); 417 return PP_MakeNull();
414 } 418 }
415 return PluginObject::Create(instance, ppp_class, ppp_class_data); 419 return PluginObject::Create(instance, ppp_class, ppp_class_data);
416 } 420 }
417 421
418 PP_Var CreateObjectWithModuleDeprecated(PP_Module module_id, 422 PP_Var CreateObjectWithModuleDeprecated(PP_Module pp_module,
419 const PPP_Class_Deprecated* ppp_class, 423 const PPP_Class_Deprecated* ppp_class,
420 void* ppp_class_data) { 424 void* ppp_class_data) {
421 PluginModule* module = ResourceTracker::Get()->GetModule(module_id); 425 PluginModule* module =
426 HostGlobals::Get()->host_resource_tracker()->GetModule(pp_module);
422 if (!module) 427 if (!module)
423 return PP_MakeNull(); 428 return PP_MakeNull();
424 return PluginObject::Create(module->GetSomeInstance(), 429 return PluginObject::Create(module->GetSomeInstance(),
425 ppp_class, ppp_class_data); 430 ppp_class, ppp_class_data);
426 } 431 }
427 432
428 const PPB_Var_Deprecated var_deprecated_interface = { 433 const PPB_Var_Deprecated var_deprecated_interface = {
429 &AddRefVar, 434 &AddRefVar,
430 &ReleaseVar, 435 &ReleaseVar,
431 &VarFromUtf8, 436 &VarFromUtf8,
(...skipping 26 matching lines...) Expand all
458 } 463 }
459 464
460 // static 465 // static
461 const PPB_Var_Deprecated* PPB_Var_Impl::GetVarDeprecatedInterface() { 466 const PPB_Var_Deprecated* PPB_Var_Impl::GetVarDeprecatedInterface() {
462 return &var_deprecated_interface; 467 return &var_deprecated_interface;
463 } 468 }
464 469
465 } // namespace ppapi 470 } // namespace ppapi
466 } // namespace webkit 471 } // namespace webkit
467 472
OLDNEW
« no previous file with comments | « webkit/plugins/ppapi/ppb_proxy_impl.cc ('k') | webkit/plugins/ppapi/ppb_video_capture_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698