summaryrefslogtreecommitdiffstats
path: root/printing/image.cc
diff options
context:
space:
mode:
authordpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-02 16:46:20 +0000
committerdpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-02 16:46:20 +0000
commit1f3b6804df95e260d5e9a3fff0c478818240cdb9 (patch)
tree208ac1115304f544e62e1483ec12a7e17d7ff078 /printing/image.cc
parent21f1168bab8f4ac626011148ae6e65d8fd24272a (diff)
downloadchromium_src-1f3b6804df95e260d5e9a3fff0c478818240cdb9.zip
chromium_src-1f3b6804df95e260d5e9a3fff0c478818240cdb9.tar.gz
chromium_src-1f3b6804df95e260d5e9a3fff0c478818240cdb9.tar.bz2
Applying factory pattern (through NativeMetafileFactory class). It is used to retrieve different printing contexts (based on the platform and user preferences).
BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6544028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76553 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/image.cc')
-rw-r--r--printing/image.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/printing/image.cc b/printing/image.cc
index 1116f32..a99e307 100644
--- a/printing/image.cc
+++ b/printing/image.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// 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.
@@ -6,7 +6,9 @@
#include "base/file_util.h"
#include "base/md5.h"
+#include "base/scoped_ptr.h"
#include "base/string_number_conversions.h"
+#include "printing/native_metafile_factory.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/codec/png_codec.h"
@@ -144,9 +146,10 @@ bool Image::LoadPng(const std::string& compressed) {
bool Image::LoadMetafile(const std::string& data) {
DCHECK(!data.empty());
- NativeMetafile metafile;
- metafile.Init(data.data(), data.size());
- return LoadMetafile(metafile);
+ scoped_ptr<NativeMetafile> metafile(
+ printing::NativeMetafileFactory::CreateMetafile());
+ metafile->Init(data.data(), data.size());
+ return LoadMetafile(*metafile);
}
} // namespace printing