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

Side by Side Diff: chrome/browser/printing/pwg_raster_converter.cc

Issue 1885813002: Delete the utility process startup ping. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/pwg_raster_converter.h" 5 #include "chrome/browser/printing/pwg_raster_converter.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 const PWGRasterConverter::ResultCallback& callback); 123 const PWGRasterConverter::ResultCallback& callback);
124 124
125 // UtilityProcessHostClient implementation. 125 // UtilityProcessHostClient implementation.
126 void OnProcessCrashed(int exit_code) override; 126 void OnProcessCrashed(int exit_code) override;
127 bool OnMessageReceived(const IPC::Message& message) override; 127 bool OnMessageReceived(const IPC::Message& message) override;
128 128
129 private: 129 private:
130 ~PwgUtilityProcessHostClient() override; 130 ~PwgUtilityProcessHostClient() override;
131 131
132 // Message handlers. 132 // Message handlers.
133 void OnProcessStarted();
134 void OnSucceeded(); 133 void OnSucceeded();
135 void OnFailed(); 134 void OnFailed();
136 135
137 void RunCallback(bool success); 136 void RunCallback(bool success);
138 137
139 void StartProcessOnIOThread(); 138 void StartProcessOnIOThread();
140 139
141 void RunCallbackOnUIThread(bool success); 140 void RunCallbackOnUIThread(bool success);
142 void OnFilesReadyOnUIThread(); 141 void OnFilesReadyOnUIThread();
143 142
144 std::unique_ptr<FileHandlers, BrowserThread::DeleteOnFileThread> files_; 143 std::unique_ptr<FileHandlers, BrowserThread::DeleteOnFileThread> files_;
145 PdfRenderSettings settings_; 144 PdfRenderSettings settings_;
146 PwgRasterSettings bitmap_settings_; 145 PwgRasterSettings bitmap_settings_;
147 PWGRasterConverter::ResultCallback callback_; 146 PWGRasterConverter::ResultCallback callback_;
148 base::WeakPtr<content::UtilityProcessHost> utility_process_host_;
149 147
150 DISALLOW_COPY_AND_ASSIGN(PwgUtilityProcessHostClient); 148 DISALLOW_COPY_AND_ASSIGN(PwgUtilityProcessHostClient);
151 }; 149 };
152 150
153 PwgUtilityProcessHostClient::PwgUtilityProcessHostClient( 151 PwgUtilityProcessHostClient::PwgUtilityProcessHostClient(
154 const printing::PdfRenderSettings& settings, 152 const printing::PdfRenderSettings& settings,
155 const printing::PwgRasterSettings& bitmap_settings) 153 const printing::PwgRasterSettings& bitmap_settings)
156 : settings_(settings), bitmap_settings_(bitmap_settings) {} 154 : settings_(settings), bitmap_settings_(bitmap_settings) {}
157 155
158 PwgUtilityProcessHostClient::~PwgUtilityProcessHostClient() { 156 PwgUtilityProcessHostClient::~PwgUtilityProcessHostClient() {
(...skipping 14 matching lines...) Expand all
173 } 171 }
174 172
175 void PwgUtilityProcessHostClient::OnProcessCrashed(int exit_code) { 173 void PwgUtilityProcessHostClient::OnProcessCrashed(int exit_code) {
176 OnFailed(); 174 OnFailed();
177 } 175 }
178 176
179 bool PwgUtilityProcessHostClient::OnMessageReceived( 177 bool PwgUtilityProcessHostClient::OnMessageReceived(
180 const IPC::Message& message) { 178 const IPC::Message& message) {
181 bool handled = true; 179 bool handled = true;
182 IPC_BEGIN_MESSAGE_MAP(PwgUtilityProcessHostClient, message) 180 IPC_BEGIN_MESSAGE_MAP(PwgUtilityProcessHostClient, message)
183 IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_ProcessStarted, OnProcessStarted)
184 IPC_MESSAGE_HANDLER( 181 IPC_MESSAGE_HANDLER(
185 ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Succeeded, OnSucceeded) 182 ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Succeeded, OnSucceeded)
186 IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Failed, 183 IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_RenderPDFPagesToPWGRaster_Failed,
187 OnFailed) 184 OnFailed)
188 IPC_MESSAGE_UNHANDLED(handled = false) 185 IPC_MESSAGE_UNHANDLED(handled = false)
189 IPC_END_MESSAGE_MAP() 186 IPC_END_MESSAGE_MAP()
190 return handled; 187 return handled;
191 } 188 }
192 189
193 void PwgUtilityProcessHostClient::OnProcessStarted() {
194 DCHECK_CURRENTLY_ON(BrowserThread::IO);
195 if (!utility_process_host_) {
196 RunCallbackOnUIThread(false);
197 return;
198 }
199
200 utility_process_host_->Send(new ChromeUtilityMsg_RenderPDFPagesToPWGRaster(
201 files_->GetPdfForProcess(), settings_, bitmap_settings_,
202 files_->GetPwgForProcess()));
203 utility_process_host_.reset();
204 }
205
206 void PwgUtilityProcessHostClient::OnSucceeded() { 190 void PwgUtilityProcessHostClient::OnSucceeded() {
207 DCHECK_CURRENTLY_ON(BrowserThread::IO); 191 DCHECK_CURRENTLY_ON(BrowserThread::IO);
208 RunCallback(true); 192 RunCallback(true);
209 } 193 }
210 194
211 void PwgUtilityProcessHostClient::OnFailed() { 195 void PwgUtilityProcessHostClient::OnFailed() {
212 DCHECK_CURRENTLY_ON(BrowserThread::IO); 196 DCHECK_CURRENTLY_ON(BrowserThread::IO);
213 RunCallback(false); 197 RunCallback(false);
214 } 198 }
215 199
216 void PwgUtilityProcessHostClient::OnFilesReadyOnUIThread() { 200 void PwgUtilityProcessHostClient::OnFilesReadyOnUIThread() {
217 DCHECK_CURRENTLY_ON(BrowserThread::UI); 201 DCHECK_CURRENTLY_ON(BrowserThread::UI);
218 if (!files_->IsValid()) { 202 if (!files_->IsValid()) {
219 RunCallbackOnUIThread(false); 203 RunCallbackOnUIThread(false);
220 return; 204 return;
221 } 205 }
222 BrowserThread::PostTask( 206 BrowserThread::PostTask(
223 BrowserThread::IO, FROM_HERE, 207 BrowserThread::IO, FROM_HERE,
224 base::Bind(&PwgUtilityProcessHostClient::StartProcessOnIOThread, this)); 208 base::Bind(&PwgUtilityProcessHostClient::StartProcessOnIOThread, this));
225 } 209 }
226 210
227 void PwgUtilityProcessHostClient::StartProcessOnIOThread() { 211 void PwgUtilityProcessHostClient::StartProcessOnIOThread() {
228 DCHECK_CURRENTLY_ON(BrowserThread::IO); 212 DCHECK_CURRENTLY_ON(BrowserThread::IO);
229 utility_process_host_ = 213 content::UtilityProcessHost* utility_process_host =
230 content::UtilityProcessHost::Create( 214 content::UtilityProcessHost::Create(
231 this, base::MessageLoop::current()->task_runner())->AsWeakPtr(); 215 this, base::MessageLoop::current()->task_runner());
232 utility_process_host_->SetName(l10n_util::GetStringUTF16( 216 utility_process_host->SetName(l10n_util::GetStringUTF16(
233 IDS_UTILITY_PROCESS_PWG_RASTER_CONVERTOR_NAME)); 217 IDS_UTILITY_PROCESS_PWG_RASTER_CONVERTOR_NAME));
234 utility_process_host_->Send(new ChromeUtilityMsg_StartupPing); 218 utility_process_host->Send(new ChromeUtilityMsg_RenderPDFPagesToPWGRaster(
219 files_->GetPdfForProcess(), settings_, bitmap_settings_,
220 files_->GetPwgForProcess()));
235 } 221 }
236 222
237 void PwgUtilityProcessHostClient::RunCallback(bool success) { 223 void PwgUtilityProcessHostClient::RunCallback(bool success) {
238 BrowserThread::PostTask( 224 BrowserThread::PostTask(
239 BrowserThread::UI, FROM_HERE, 225 BrowserThread::UI, FROM_HERE,
240 base::Bind(&PwgUtilityProcessHostClient::RunCallbackOnUIThread, this, 226 base::Bind(&PwgUtilityProcessHostClient::RunCallbackOnUIThread, this,
241 success)); 227 success));
242 } 228 }
243 229
244 void PwgUtilityProcessHostClient::RunCallbackOnUIThread(bool success) { 230 void PwgUtilityProcessHostClient::RunCallbackOnUIThread(bool success) {
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 } 341 }
356 } 342 }
357 343
358 result.rotate_all_pages = raster_capability.value().rotate_all_pages; 344 result.rotate_all_pages = raster_capability.value().rotate_all_pages;
359 345
360 result.reverse_page_order = raster_capability.value().reverse_order_streaming; 346 result.reverse_page_order = raster_capability.value().reverse_order_streaming;
361 return result; 347 return result;
362 } 348 }
363 349
364 } // namespace printing 350 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/pdf_to_emf_converter.cc ('k') | chrome/browser/safe_browsing/sandboxed_dmg_analyzer_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698