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

Unified Diff: printing/printing_context_mac.mm

Issue 3610013: Printing: Convert PrintingContext into an interface implemented by the separate (Closed)
Patch Set: Comment cleanup only. Created 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « printing/printing_context_mac.h ('k') | printing/printing_context_win.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: printing/printing_context_mac.mm
diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
index 828a7f4fb3a07776abd0b2e44d17d89c71a50009..50431ae63831137166e64f0d1ad74c5d70099e80 100644
--- a/printing/printing_context_mac.mm
+++ b/printing/printing_context_mac.mm
@@ -2,33 +2,36 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "printing/printing_context.h"
+#include "printing/printing_context_mac.h"
#import <ApplicationServices/ApplicationServices.h>
#import <AppKit/AppKit.h>
#include "base/logging.h"
+#include "base/scoped_cftyperef.h"
#include "base/sys_string_conversions.h"
namespace printing {
-PrintingContext::PrintingContext()
- : context_(NULL),
- print_info_(nil),
- dialog_box_dismissed_(false),
- in_print_job_(false),
- abort_printing_(false) {
+// static
+PrintingContext* PrintingContext::Create() {
+ return static_cast<PrintingContext*>(new PrintingContextMac);
}
-PrintingContext::~PrintingContext() {
- ResetSettings();
+PrintingContextMac::PrintingContextMac()
+ : PrintingContext(),
+ print_info_(NULL),
+ context_(NULL) {
}
+PrintingContextMac::~PrintingContextMac() {
+ ReleaseContext();
+}
-void PrintingContext::AskUserForSettings(gfx::NativeView parent_view,
- int max_pages,
- bool has_selection,
- PrintSettingsCallback* callback) {
+void PrintingContextMac::AskUserForSettings(gfx::NativeView parent_view,
+ int max_pages,
+ bool has_selection,
+ PrintSettingsCallback* callback) {
DCHECK([NSThread isMainThread]);
// We deliberately don't feed max_pages into the dialog, because setting
@@ -68,7 +71,7 @@ void PrintingContext::AskUserForSettings(gfx::NativeView parent_view,
}
}
-PrintingContext::Result PrintingContext::UseDefaultSettings() {
+PrintingContext::Result PrintingContextMac::UseDefaultSettings() {
DCHECK(!in_print_job_);
ParsePrintInfo([NSPrintInfo sharedPrintInfo]);
@@ -76,7 +79,7 @@ PrintingContext::Result PrintingContext::UseDefaultSettings() {
return OK;
}
-void PrintingContext::ParsePrintInfo(NSPrintInfo* print_info) {
+void PrintingContextMac::ParsePrintInfo(NSPrintInfo* print_info) {
ResetSettings();
print_info_ = [print_info retain];
PageRanges page_ranges;
@@ -97,7 +100,7 @@ void PrintingContext::ParsePrintInfo(NSPrintInfo* print_info) {
settings_.Init(printer, page_format, page_ranges, false);
}
-PrintingContext::Result PrintingContext::InitWithSettings(
+PrintingContext::Result PrintingContextMac::InitWithSettings(
const PrintSettings& settings) {
DCHECK(!in_print_job_);
settings_ = settings;
@@ -107,17 +110,7 @@ PrintingContext::Result PrintingContext::InitWithSettings(
return FAILED;
}
-void PrintingContext::ResetSettings() {
- [print_info_ autorelease];
- print_info_ = nil;
- settings_.Clear();
- dialog_box_dismissed_ = false;
- abort_printing_ = false;
- in_print_job_ = false;
- context_ = NULL;
-}
-
-PrintingContext::Result PrintingContext::NewDocument(
+PrintingContext::Result PrintingContextMac::NewDocument(
const string16& document_name) {
DCHECK(!in_print_job_);
@@ -143,7 +136,7 @@ PrintingContext::Result PrintingContext::NewDocument(
return OK;
}
-PrintingContext::Result PrintingContext::NewPage() {
+PrintingContext::Result PrintingContextMac::NewPage() {
if (abort_printing_)
return CANCEL;
DCHECK(in_print_job_);
@@ -164,7 +157,7 @@ PrintingContext::Result PrintingContext::NewPage() {
return OK;
}
-PrintingContext::Result PrintingContext::PageDone() {
+PrintingContext::Result PrintingContextMac::PageDone() {
if (abort_printing_)
return CANCEL;
DCHECK(in_print_job_);
@@ -180,7 +173,7 @@ PrintingContext::Result PrintingContext::PageDone() {
return OK;
}
-PrintingContext::Result PrintingContext::DocumentDone() {
+PrintingContext::Result PrintingContextMac::DocumentDone() {
if (abort_printing_)
return CANCEL;
DCHECK(in_print_job_);
@@ -195,7 +188,7 @@ PrintingContext::Result PrintingContext::DocumentDone() {
return OK;
}
-void PrintingContext::Cancel() {
+void PrintingContextMac::Cancel() {
abort_printing_ = true;
in_print_job_ = false;
context_ = NULL;
@@ -205,13 +198,20 @@ void PrintingContext::Cancel() {
PMSessionEndPageNoDialog(print_session);
}
-void PrintingContext::DismissDialog() {
+void PrintingContextMac::DismissDialog() {
NOTIMPLEMENTED();
}
-PrintingContext::Result PrintingContext::OnError() {
- ResetSettings();
- return abort_printing_ ? CANCEL : FAILED;
+void PrintingContextMac::ReleaseContext() {
+ if (print_info_) {
+ [print_info_ autorelease];
+ print_info_ = nil;
+ context_ = NULL;
+ }
+}
+
+gfx::NativeDrawingContext PrintingContextMac::context() const {
+ return context_;
}
} // namespace printing
« no previous file with comments | « printing/printing_context_mac.h ('k') | printing/printing_context_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698