OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/printing/print_job_manager.h" | 5 #include "chrome/browser/printing/print_job_manager.h" |
6 | 6 |
7 #include "chrome/browser/printing/print_job.h" | 7 #include "chrome/browser/printing/print_job.h" |
8 #include "chrome/browser/printing/printer_query.h" | 8 #include "chrome/browser/printing/printer_query.h" |
9 #include "chrome/common/chrome_notification_types.h" | 9 #include "chrome/common/chrome_notification_types.h" |
10 #include "content/public/browser/notification_service.h" | 10 #include "content/public/browser/notification_service.h" |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
99 switch (event_details.type()) { | 99 switch (event_details.type()) { |
100 case JobEventDetails::NEW_DOC: { | 100 case JobEventDetails::NEW_DOC: { |
101 DCHECK(current_jobs_.end() == std::find(current_jobs_.begin(), | 101 DCHECK(current_jobs_.end() == std::find(current_jobs_.begin(), |
102 current_jobs_.end(), | 102 current_jobs_.end(), |
103 print_job)); | 103 print_job)); |
104 // Causes a AddRef(). | 104 // Causes a AddRef(). |
105 current_jobs_.push_back(make_scoped_refptr(print_job)); | 105 current_jobs_.push_back(make_scoped_refptr(print_job)); |
106 break; | 106 break; |
107 } | 107 } |
108 case JobEventDetails::JOB_DONE: { | 108 case JobEventDetails::JOB_DONE: { |
109 PrintJobs::iterator itr = std::find(current_jobs_.begin(), | 109 DCHECK(std::count(current_jobs_.begin(), |
110 current_jobs_.end(), | 110 current_jobs_.end(), print_job) == 1); |
111 print_job); | 111 RemoveJob(print_job); |
112 DCHECK(current_jobs_.end() != itr); | |
113 current_jobs_.erase(itr); | |
114 DCHECK(current_jobs_.end() == std::find(current_jobs_.begin(), | |
115 current_jobs_.end(), | |
116 print_job)); | |
117 destination_ = NULL; | |
118 break; | 112 break; |
119 } | 113 } |
120 case JobEventDetails::FAILED: { | 114 case JobEventDetails::FAILED: { |
121 PrintJobs::iterator itr = std::find(current_jobs_.begin(), | 115 DCHECK(std::count(current_jobs_.begin(), |
gene
2012/12/05 21:52:31
I think this check makes more sense in RemoveJob()
Vitaly Buka (NO REVIEWS)
2012/12/05 23:27:42
Done.
| |
122 current_jobs_.end(), | 116 current_jobs_.end(), print_job) <= 1); |
123 print_job); | 117 RemoveJob(print_job); |
124 // A failed job may have never started. | |
125 if (current_jobs_.end() != itr) { | |
126 current_jobs_.erase(itr); | |
127 DCHECK(current_jobs_.end() == | |
128 std::find(current_jobs_.begin(), | |
129 current_jobs_.end(), | |
130 print_job)); | |
131 } | |
132 break; | 118 break; |
133 } | 119 } |
134 case JobEventDetails::USER_INIT_DONE: | 120 case JobEventDetails::USER_INIT_DONE: |
135 case JobEventDetails::USER_INIT_CANCELED: | 121 case JobEventDetails::USER_INIT_CANCELED: |
136 case JobEventDetails::DEFAULT_INIT_DONE: | 122 case JobEventDetails::DEFAULT_INIT_DONE: |
137 case JobEventDetails::NEW_PAGE: | 123 case JobEventDetails::NEW_PAGE: |
138 case JobEventDetails::PAGE_DONE: | 124 case JobEventDetails::PAGE_DONE: |
139 case JobEventDetails::DOC_DONE: | 125 case JobEventDetails::DOC_DONE: |
140 case JobEventDetails::ALL_PAGES_REQUESTED: { | 126 case JobEventDetails::ALL_PAGES_REQUESTED: { |
141 // Don't care. | 127 // Don't care. |
142 break; | 128 break; |
143 } | 129 } |
144 default: { | 130 default: { |
145 NOTREACHED(); | 131 NOTREACHED(); |
146 break; | 132 break; |
147 } | 133 } |
148 } | 134 } |
149 } | 135 } |
150 | 136 |
137 void PrintJobManager::RemoveJob(PrintJob* print_job) { | |
gene
2012/12/05 21:52:31
I think it will be easier to read if you iterate c
Vitaly Buka (NO REVIEWS)
2012/12/05 23:27:42
Done.
| |
138 current_jobs_.erase(std::remove(current_jobs_.begin(), current_jobs_.end(), | |
139 print_job), | |
140 current_jobs_.end()); | |
141 } | |
142 | |
151 } // namespace printing | 143 } // namespace printing |
OLD | NEW |