Skip to content

Commit

Permalink
Cleanup: Modify 'NSPrintInfo' raw pointer to a scoped_nsobject.
Browse files Browse the repository at this point in the history
BUG=none
TEST=printing works after code change.

Review URL: http://codereview.chromium.org/6698035

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78298 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
kmadhusu@chromium.org committed Mar 15, 2011
1 parent 32d4f65 commit a7d7b63
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 19 deletions.
3 changes: 2 additions & 1 deletion printing/printing_context_mac.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

#include <string>

#include "base/scoped_nsobject.h"
#include "printing/printing_context.h"

#ifdef __OBJC__
Expand Down Expand Up @@ -43,7 +44,7 @@ class PrintingContextMac : public PrintingContext {
void ParsePrintInfo(NSPrintInfo* print_info);

// The native print info object.
NSPrintInfo* print_info_;
scoped_nsobject<NSPrintInfo> print_info_;

// The current page's context; only valid between NewPage and PageDone call
// pairs.
Expand Down
32 changes: 14 additions & 18 deletions printing/printing_context_mac.mm
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

PrintingContextMac::PrintingContextMac(const std::string& app_locale)
: PrintingContext(app_locale),
print_info_(NULL),
context_(NULL) {
}

Expand Down Expand Up @@ -95,19 +94,19 @@

void PrintingContextMac::ParsePrintInfo(NSPrintInfo* print_info) {
ResetSettings();
print_info_ = [print_info retain];
print_info_.reset([print_info retain]);
PageRanges page_ranges;
NSDictionary* print_info_dict = [print_info_ dictionary];
NSDictionary* print_info_dict = [print_info_.get() dictionary];
if (![[print_info_dict objectForKey:NSPrintAllPages] boolValue]) {
PageRange range;
range.from = [[print_info_dict objectForKey:NSPrintFirstPage] intValue] - 1;
range.to = [[print_info_dict objectForKey:NSPrintLastPage] intValue] - 1;
page_ranges.push_back(range);
}
PMPrintSession print_session =
static_cast<PMPrintSession>([print_info_ PMPrintSession]);
static_cast<PMPrintSession>([print_info_.get() PMPrintSession]);
PMPageFormat page_format =
static_cast<PMPageFormat>([print_info_ PMPageFormat]);
static_cast<PMPageFormat>([print_info_.get() PMPageFormat]);
PMPrinter printer;
PMSessionGetCurrentPrinter(print_session, &printer);

Expand All @@ -133,11 +132,11 @@
in_print_job_ = true;

PMPrintSession print_session =
static_cast<PMPrintSession>([print_info_ PMPrintSession]);
static_cast<PMPrintSession>([print_info_.get() PMPrintSession]);
PMPrintSettings print_settings =
static_cast<PMPrintSettings>([print_info_ PMPrintSettings]);
static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]);
PMPageFormat page_format =
static_cast<PMPageFormat>([print_info_ PMPageFormat]);
static_cast<PMPageFormat>([print_info_.get() PMPageFormat]);

base::mac::ScopedCFTypeRef<CFStringRef> job_title(
base::SysUTF16ToCFStringRef(document_name));
Expand All @@ -159,9 +158,9 @@
DCHECK(!context_);

PMPrintSession print_session =
static_cast<PMPrintSession>([print_info_ PMPrintSession]);
static_cast<PMPrintSession>([print_info_.get() PMPrintSession]);
PMPageFormat page_format =
static_cast<PMPageFormat>([print_info_ PMPageFormat]);
static_cast<PMPageFormat>([print_info_.get() PMPageFormat]);
OSStatus status;
status = PMSessionBeginPageNoDialog(print_session, page_format, NULL);
if (status != noErr)
Expand All @@ -180,7 +179,7 @@
DCHECK(context_);

PMPrintSession print_session =
static_cast<PMPrintSession>([print_info_ PMPrintSession]);
static_cast<PMPrintSession>([print_info_.get() PMPrintSession]);
OSStatus status = PMSessionEndPageNoDialog(print_session);
if (status != noErr)
OnError();
Expand All @@ -195,7 +194,7 @@
DCHECK(in_print_job_);

PMPrintSession print_session =
static_cast<PMPrintSession>([print_info_ PMPrintSession]);
static_cast<PMPrintSession>([print_info_.get() PMPrintSession]);
OSStatus status = PMSessionEndDocumentNoDialog(print_session);
if (status != noErr)
OnError();
Expand All @@ -210,16 +209,13 @@
context_ = NULL;

PMPrintSession print_session =
static_cast<PMPrintSession>([print_info_ PMPrintSession]);
static_cast<PMPrintSession>([print_info_.get() PMPrintSession]);
PMSessionEndPageNoDialog(print_session);
}

void PrintingContextMac::ReleaseContext() {
if (print_info_) {
[print_info_ autorelease];
print_info_ = nil;
context_ = NULL;
}
print_info_.reset();
context_ = NULL;
}

gfx::NativeDrawingContext PrintingContextMac::context() const {
Expand Down

0 comments on commit a7d7b63

Please sign in to comment.