Index: printing/native_metafile_factory.cc |
diff --git a/printing/native_metafile_factory.cc b/printing/native_metafile_factory.cc |
index f97145252702b7c834b805bf5bd0663d3e184ad6..a2f1ec41122cc246260ce512088cc7c4a1b8cadb 100644 |
--- a/printing/native_metafile_factory.cc |
+++ b/printing/native_metafile_factory.cc |
@@ -15,7 +15,28 @@ |
namespace printing { |
// static |
-printing::NativeMetafile* NativeMetafileFactory::Create() { |
+NativeMetafile* NativeMetafileFactory::Create() { |
+ NativeMetafile* metafile = CreateNewMetafile(); |
vandebo (ex-Chrome)
2011/03/24 22:15:42
You could make metafile a scoped_ptr to make its l
dpapad
2011/03/24 22:37:53
Done.
|
+ if (!metafile->Init()) { |
+ delete metafile; |
+ return NULL; |
+ } |
+ return metafile; |
+} |
+ |
+// static |
+NativeMetafile* NativeMetafileFactory::CreateFromData( |
+ const void* src_buffer, uint32 src_buffer_size) { |
+ NativeMetafile* metafile = CreateNewMetafile(); |
+ if (!metafile->InitFromData(src_buffer, src_buffer_size)) { |
+ delete metafile; |
+ return NULL; |
+ } |
+ return metafile; |
+} |
+ |
+// static |
+NativeMetafile* NativeMetafileFactory::CreateNewMetafile(){ |
#if defined(OS_WIN) |
return new printing::Emf; |
#elif defined(OS_MACOSX) |