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

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

Issue 1553333002: Move cloud print specific files out of local_discovery (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@moveprn
Patch Set: Created 4 years, 11 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/local_discovery/pwg_raster_converter.h" 5 #include "chrome/browser/printing/pwg_raster_converter.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/cancelable_callback.h" 11 #include "base/cancelable_callback.h"
12 #include "base/files/file.h" 12 #include "base/files/file.h"
13 #include "base/files/file_util.h" 13 #include "base/files/file_util.h"
14 #include "base/files/scoped_temp_dir.h" 14 #include "base/files/scoped_temp_dir.h"
15 #include "base/location.h" 15 #include "base/location.h"
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/macros.h" 17 #include "base/macros.h"
18 #include "base/single_thread_task_runner.h" 18 #include "base/single_thread_task_runner.h"
19 #include "chrome/common/chrome_utility_messages.h" 19 #include "chrome/common/chrome_utility_messages.h"
20 #include "chrome/common/chrome_utility_printing_messages.h" 20 #include "chrome/common/chrome_utility_printing_messages.h"
21 #include "chrome/grit/generated_resources.h" 21 #include "chrome/grit/generated_resources.h"
22 #include "components/cloud_devices/common/cloud_device_description.h" 22 #include "components/cloud_devices/common/cloud_device_description.h"
23 #include "components/cloud_devices/common/printer_description.h" 23 #include "components/cloud_devices/common/printer_description.h"
24 #include "content/public/browser/browser_thread.h" 24 #include "content/public/browser/browser_thread.h"
25 #include "content/public/browser/child_process_data.h" 25 #include "content/public/browser/child_process_data.h"
26 #include "content/public/browser/utility_process_host.h" 26 #include "content/public/browser/utility_process_host.h"
27 #include "content/public/browser/utility_process_host_client.h" 27 #include "content/public/browser/utility_process_host_client.h"
28 #include "printing/pdf_render_settings.h" 28 #include "printing/pdf_render_settings.h"
29 #include "printing/pwg_raster_settings.h" 29 #include "printing/pwg_raster_settings.h"
30 #include "printing/units.h" 30 #include "printing/units.h"
31 #include "ui/base/l10n/l10n_util.h" 31 #include "ui/base/l10n/l10n_util.h"
32 #include "ui/gfx/geometry/rect.h" 32 #include "ui/gfx/geometry/rect.h"
33 #include "ui/gfx/geometry/size.h" 33 #include "ui/gfx/geometry/size.h"
34 34
35 namespace local_discovery { 35 namespace printing {
36 36
37 namespace { 37 namespace {
38 38
39 using content::BrowserThread; 39 using content::BrowserThread;
40 40
41 class FileHandlers { 41 class FileHandlers {
42 public: 42 public:
43 FileHandlers() {} 43 FileHandlers() {}
44 44
45 ~FileHandlers() { 45 ~FileHandlers() {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 // 2. Create file on the FILE thread. 107 // 2. Create file on the FILE thread.
108 // 3. Start utility process and start conversion on the IO thread. 108 // 3. Start utility process and start conversion on the IO thread.
109 // 4. Run result callback on the UI thread. 109 // 4. Run result callback on the UI thread.
110 // 5. Instance is destroyed from any thread that has the last reference. 110 // 5. Instance is destroyed from any thread that has the last reference.
111 // 6. FileHandlers destroyed on the FILE thread. 111 // 6. FileHandlers destroyed on the FILE thread.
112 // This step posts |FileHandlers| to be destroyed on the FILE thread. 112 // This step posts |FileHandlers| to be destroyed on the FILE thread.
113 // All these steps work sequentially, so no data should be accessed 113 // All these steps work sequentially, so no data should be accessed
114 // simultaneously by several threads. 114 // simultaneously by several threads.
115 class PwgUtilityProcessHostClient : public content::UtilityProcessHostClient { 115 class PwgUtilityProcessHostClient : public content::UtilityProcessHostClient {
116 public: 116 public:
117 explicit PwgUtilityProcessHostClient( 117 PwgUtilityProcessHostClient(
118 const printing::PdfRenderSettings& settings, 118 const PdfRenderSettings& settings,
119 const printing::PwgRasterSettings& bitmap_settings); 119 const PwgRasterSettings& bitmap_settings);
120 120
121 void Convert(base::RefCountedMemory* data, 121 void Convert(base::RefCountedMemory* data,
122 const PWGRasterConverter::ResultCallback& callback); 122 const PWGRasterConverter::ResultCallback& callback);
123 123
124 // UtilityProcessHostClient implementation. 124 // UtilityProcessHostClient implementation.
125 void OnProcessCrashed(int exit_code) override; 125 void OnProcessCrashed(int exit_code) override;
126 bool OnMessageReceived(const IPC::Message& message) override; 126 bool OnMessageReceived(const IPC::Message& message) override;
127 127
128 private: 128 private:
129 ~PwgUtilityProcessHostClient() override; 129 ~PwgUtilityProcessHostClient() override;
130 130
131 // Message handlers. 131 // Message handlers.
132 void OnProcessStarted(); 132 void OnProcessStarted();
133 void OnSucceeded(); 133 void OnSucceeded();
134 void OnFailed(); 134 void OnFailed();
135 135
136 void RunCallback(bool success); 136 void RunCallback(bool success);
137 137
138 void StartProcessOnIOThread(); 138 void StartProcessOnIOThread();
139 139
140 void RunCallbackOnUIThread(bool success); 140 void RunCallbackOnUIThread(bool success);
141 void OnFilesReadyOnUIThread(); 141 void OnFilesReadyOnUIThread();
142 142
143 scoped_ptr<FileHandlers, BrowserThread::DeleteOnFileThread> files_; 143 scoped_ptr<FileHandlers, BrowserThread::DeleteOnFileThread> files_;
144 printing::PdfRenderSettings settings_; 144 PdfRenderSettings settings_;
145 printing::PwgRasterSettings bitmap_settings_; 145 PwgRasterSettings bitmap_settings_;
146 PWGRasterConverter::ResultCallback callback_; 146 PWGRasterConverter::ResultCallback callback_;
147 base::WeakPtr<content::UtilityProcessHost> utility_process_host_; 147 base::WeakPtr<content::UtilityProcessHost> utility_process_host_;
148 148
149 DISALLOW_COPY_AND_ASSIGN(PwgUtilityProcessHostClient); 149 DISALLOW_COPY_AND_ASSIGN(PwgUtilityProcessHostClient);
150 }; 150 };
151 151
152 PwgUtilityProcessHostClient::PwgUtilityProcessHostClient( 152 PwgUtilityProcessHostClient::PwgUtilityProcessHostClient(
153 const printing::PdfRenderSettings& settings, 153 const printing::PdfRenderSettings& settings,
154 const printing::PwgRasterSettings& bitmap_settings) 154 const printing::PwgRasterSettings& bitmap_settings)
155 : settings_(settings), bitmap_settings_(bitmap_settings) {} 155 : settings_(settings), bitmap_settings_(bitmap_settings) {}
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 result.odd_page_transform = printing::TRANSFORM_FLIP_HORIZONTAL; 356 result.odd_page_transform = printing::TRANSFORM_FLIP_HORIZONTAL;
357 } 357 }
358 } 358 }
359 359
360 result.rotate_all_pages = raster_capability.value().rotate_all_pages; 360 result.rotate_all_pages = raster_capability.value().rotate_all_pages;
361 361
362 result.reverse_page_order = raster_capability.value().reverse_order_streaming; 362 result.reverse_page_order = raster_capability.value().reverse_order_streaming;
363 return result; 363 return result;
364 } 364 }
365 365
366 } // namespace local_discovery 366 } // namespace printing
OLDNEW
« no previous file with comments | « chrome/browser/printing/pwg_raster_converter.h ('k') | chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698