| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #ifndef WEBKIT_GLUE_PLUGINS_PEPPER_RESOURCE_H_ | 
|  | 6 #define WEBKIT_GLUE_PLUGINS_PEPPER_RESOURCE_H_ | 
|  | 7 | 
|  | 8 #include "base/basictypes.h" | 
|  | 9 #include "base/ref_counted.h" | 
|  | 10 | 
|  | 11 typedef struct _pp_Resource PP_Resource; | 
|  | 12 | 
|  | 13 namespace pepper { | 
|  | 14 | 
|  | 15 class DeviceContext2D; | 
|  | 16 class ImageData; | 
|  | 17 class PluginModule; | 
|  | 18 | 
|  | 19 class Resource : public base::RefCountedThreadSafe<Resource> { | 
|  | 20  public: | 
|  | 21   explicit Resource(PluginModule* module); | 
|  | 22   virtual ~Resource(); | 
|  | 23 | 
|  | 24   PP_Resource GetResource() const; | 
|  | 25 | 
|  | 26   PluginModule* module() const { return module_; } | 
|  | 27 | 
|  | 28   // Type-specific getters for individual resource types. These will return | 
|  | 29   // NULL if the resource does not match the specified type. | 
|  | 30   virtual DeviceContext2D* AsDeviceContext2D() { return NULL; } | 
|  | 31   virtual ImageData* AsImageData() { return NULL; } | 
|  | 32 | 
|  | 33  private: | 
|  | 34   PluginModule* module_;  // Non-owning pointer to our module. | 
|  | 35 | 
|  | 36   DISALLOW_COPY_AND_ASSIGN(Resource); | 
|  | 37 }; | 
|  | 38 | 
|  | 39 // Returns a "NULL" resource. This is just a helper function so callers | 
|  | 40 // can avoid creating a resource with a 0 ID. | 
|  | 41 PP_Resource NullPPResource(); | 
|  | 42 | 
|  | 43 }  // namespace pepper | 
|  | 44 | 
|  | 45 #endif  // WEBKIT_GLUE_PLUGINS_PEPPER_RESOURCE_H_ | 
| OLD | NEW | 
|---|