OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "extensions/browser/api/printer_provider/printer_provider_api.h" | 5 #include "extensions/browser/api/printer_provider/printer_provider_api.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/bind.h" | 12 #include "base/bind.h" |
13 #include "base/i18n/rtl.h" | 13 #include "base/i18n/rtl.h" |
14 #include "base/json/json_string_value_serializer.h" | 14 #include "base/json/json_string_value_serializer.h" |
15 #include "base/macros.h" | 15 #include "base/macros.h" |
16 #include "base/memory/ref_counted_memory.h" | 16 #include "base/memory/ref_counted_memory.h" |
17 #include "base/scoped_observer.h" | 17 #include "base/scoped_observer.h" |
18 #include "base/strings/string16.h" | 18 #include "base/strings/string16.h" |
| 19 #include "base/strings/utf_string_conversions.h" |
19 #include "base/values.h" | 20 #include "base/values.h" |
20 #include "extensions/browser/api/printer_provider/printer_provider_print_job.h" | 21 #include "extensions/browser/api/printer_provider/printer_provider_print_job.h" |
21 #include "extensions/browser/api/printer_provider_internal/printer_provider_inte
rnal_api.h" | 22 #include "extensions/browser/api/printer_provider_internal/printer_provider_inte
rnal_api.h" |
22 #include "extensions/browser/api/printer_provider_internal/printer_provider_inte
rnal_api_observer.h" | 23 #include "extensions/browser/api/printer_provider_internal/printer_provider_inte
rnal_api_observer.h" |
23 #include "extensions/browser/event_router.h" | 24 #include "extensions/browser/event_router.h" |
24 #include "extensions/browser/extension_registry.h" | 25 #include "extensions/browser/extension_registry.h" |
25 #include "extensions/browser/extension_registry_observer.h" | 26 #include "extensions/browser/extension_registry_observer.h" |
26 #include "extensions/common/api/printer_provider.h" | 27 #include "extensions/common/api/printer_provider.h" |
27 #include "extensions/common/api/printer_provider_internal.h" | 28 #include "extensions/common/api/printer_provider_internal.h" |
28 #include "extensions/common/extension.h" | 29 #include "extensions/common/extension.h" |
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 if (!ticket_value || | 504 if (!ticket_value || |
504 !core_api::printer_provider::PrintJob::Ticket::Populate( | 505 !core_api::printer_provider::PrintJob::Ticket::Populate( |
505 *ticket_value, &print_job.ticket)) { | 506 *ticket_value, &print_job.ticket)) { |
506 callback.Run(false, | 507 callback.Run(false, |
507 core_api::printer_provider::ToString( | 508 core_api::printer_provider::ToString( |
508 core_api::printer_provider::PRINT_ERROR_INVALID_TICKET)); | 509 core_api::printer_provider::PRINT_ERROR_INVALID_TICKET)); |
509 return; | 510 return; |
510 } | 511 } |
511 | 512 |
512 print_job.content_type = job.content_type; | 513 print_job.content_type = job.content_type; |
| 514 print_job.title = base::UTF16ToUTF8(job.job_title); |
513 int request_id = pending_print_requests_[extension_id].Add(job, callback); | 515 int request_id = pending_print_requests_[extension_id].Add(job, callback); |
514 | 516 |
515 scoped_ptr<base::ListValue> internal_args(new base::ListValue); | 517 scoped_ptr<base::ListValue> internal_args(new base::ListValue); |
516 // Request id is not part of the public API and it will be massaged out in | 518 // Request id is not part of the public API and it will be massaged out in |
517 // custom bindings. | 519 // custom bindings. |
518 internal_args->AppendInteger(request_id); | 520 internal_args->AppendInteger(request_id); |
519 internal_args->Append(print_job.ToValue().release()); | 521 internal_args->Append(print_job.ToValue().release()); |
520 scoped_ptr<Event> event( | 522 scoped_ptr<Event> event( |
521 new Event(core_api::printer_provider::OnPrintRequested::kEventName, | 523 new Event(core_api::printer_provider::OnPrintRequested::kEventName, |
522 internal_args.Pass())); | 524 internal_args.Pass())); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
632 return new PrinterProviderAPIImpl(context); | 634 return new PrinterProviderAPIImpl(context); |
633 } | 635 } |
634 | 636 |
635 // static | 637 // static |
636 std::string PrinterProviderAPI::GetDefaultPrintError() { | 638 std::string PrinterProviderAPI::GetDefaultPrintError() { |
637 return core_api::printer_provider_internal::ToString( | 639 return core_api::printer_provider_internal::ToString( |
638 core_api::printer_provider_internal::PRINT_ERROR_FAILED); | 640 core_api::printer_provider_internal::PRINT_ERROR_FAILED); |
639 } | 641 } |
640 | 642 |
641 } // namespace extensions | 643 } // namespace extensions |
OLD | NEW |