| 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_dialog_cloud.h" | 5 #include "chrome/browser/printing/print_dialog_cloud.h" |
| 6 | 6 |
| 7 | 7 |
| 8 #include "base/base64.h" | 8 #include "base/base64.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 // We have the data in hand that needs to be pushed into the dialog | 206 // We have the data in hand that needs to be pushed into the dialog |
| 207 // contents; do so from the IO thread. | 207 // contents; do so from the IO thread. |
| 208 | 208 |
| 209 // TODO(scottbyer): If the print data ends up being larger than the | 209 // TODO(scottbyer): If the print data ends up being larger than the |
| 210 // upload limit (currently 10MB), what we need to do is upload that | 210 // upload limit (currently 10MB), what we need to do is upload that |
| 211 // large data to google docs and set the URL in the printing | 211 // large data to google docs and set the URL in the printing |
| 212 // JavaScript to that location, and make sure it gets deleted when not | 212 // JavaScript to that location, and make sure it gets deleted when not |
| 213 // needed. - 4/1/2010 | 213 // needed. - 4/1/2010 |
| 214 void CloudPrintDataSender::SendPrintData() { | 214 void CloudPrintDataSender::SendPrintData() { |
| 215 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 215 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 216 if (!data_ || !data_->size()) | 216 if (!data_.get() || !data_->size()) |
| 217 return; | 217 return; |
| 218 | 218 |
| 219 std::string base64_data; | 219 std::string base64_data; |
| 220 base::Base64Encode( | 220 base::Base64Encode( |
| 221 base::StringPiece(reinterpret_cast<const char*>(data_->front()), | 221 base::StringPiece(reinterpret_cast<const char*>(data_->front()), |
| 222 data_->size()), | 222 data_->size()), |
| 223 &base64_data); | 223 &base64_data); |
| 224 std::string header("data:"); | 224 std::string header("data:"); |
| 225 header.append(file_type_); | 225 header.append(file_type_); |
| 226 header.append(";base64,"); | 226 header.append(";base64,"); |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 if (rvh) | 366 if (rvh) |
| 367 DevToolsWindow::OpenDevToolsWindow(rvh); | 367 DevToolsWindow::OpenDevToolsWindow(rvh); |
| 368 } | 368 } |
| 369 } | 369 } |
| 370 | 370 |
| 371 scoped_refptr<CloudPrintDataSender> | 371 scoped_refptr<CloudPrintDataSender> |
| 372 CloudPrintFlowHandler::CreateCloudPrintDataSender() { | 372 CloudPrintFlowHandler::CreateCloudPrintDataSender() { |
| 373 DCHECK(web_ui()); | 373 DCHECK(web_ui()); |
| 374 print_data_helper_.reset(new CloudPrintDataSenderHelper(web_ui())); | 374 print_data_helper_.reset(new CloudPrintDataSenderHelper(web_ui())); |
| 375 scoped_refptr<CloudPrintDataSender> sender( | 375 scoped_refptr<CloudPrintDataSender> sender( |
| 376 new CloudPrintDataSender(print_data_helper_.get(), print_job_title_, | 376 new CloudPrintDataSender(print_data_helper_.get(), |
| 377 print_ticket_, file_type_, data_)); | 377 print_job_title_, |
| 378 print_ticket_, |
| 379 file_type_, |
| 380 data_.get())); |
| 378 return sender; | 381 return sender; |
| 379 } | 382 } |
| 380 | 383 |
| 381 void CloudPrintFlowHandler::HandleSendPrintData(const ListValue* args) { | 384 void CloudPrintFlowHandler::HandleSendPrintData(const ListValue* args) { |
| 382 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 385 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 383 // This will cancel any ReadPrintDataFile() or SendPrintDataFile() | 386 // This will cancel any ReadPrintDataFile() or SendPrintDataFile() |
| 384 // requests in flight (this is anticipation of when setting page | 387 // requests in flight (this is anticipation of when setting page |
| 385 // setup parameters becomes asynchronous and may be set while some | 388 // setup parameters becomes asynchronous and may be set while some |
| 386 // data is in flight). Then we can clear out the print data. | 389 // data is in flight). Then we can clear out the print data. |
| 387 CancelAnyRunningTask(); | 390 CancelAnyRunningTask(); |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 print_job_print_ticket, | 778 print_job_print_ticket, |
| 776 file_type, | 779 file_type, |
| 777 delete_on_close); | 780 delete_on_close); |
| 778 return true; | 781 return true; |
| 779 } | 782 } |
| 780 } | 783 } |
| 781 return false; | 784 return false; |
| 782 } | 785 } |
| 783 | 786 |
| 784 } // end namespace | 787 } // end namespace |
| OLD | NEW |