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> |
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 // NULLed out. Save the pointer before passing it to the requests, as it will | 520 // NULLed out. Save the pointer before passing it to the requests, as it will |
521 // be needed later on. | 521 // be needed later on. |
522 int request_id = pending_get_printers_requests_.Add(callback); | 522 int request_id = pending_get_printers_requests_.Add(callback); |
523 | 523 |
524 scoped_ptr<base::ListValue> internal_args(new base::ListValue); | 524 scoped_ptr<base::ListValue> internal_args(new base::ListValue); |
525 // Request id is not part of the public API, but it will be massaged out in | 525 // Request id is not part of the public API, but it will be massaged out in |
526 // custom bindings. | 526 // custom bindings. |
527 internal_args->AppendInteger(request_id); | 527 internal_args->AppendInteger(request_id); |
528 | 528 |
529 scoped_ptr<Event> event( | 529 scoped_ptr<Event> event( |
530 new Event(core_api::printer_provider::OnGetPrintersRequested::kEventName, | 530 new Event(events::UNKNOWN, |
| 531 core_api::printer_provider::OnGetPrintersRequested::kEventName, |
531 internal_args.Pass())); | 532 internal_args.Pass())); |
532 // This callback is called synchronously during |BroadcastEvent|, so | 533 // This callback is called synchronously during |BroadcastEvent|, so |
533 // Unretained is safe. | 534 // Unretained is safe. |
534 event->will_dispatch_callback = | 535 event->will_dispatch_callback = |
535 base::Bind(&PrinterProviderAPIImpl::WillRequestPrinters, | 536 base::Bind(&PrinterProviderAPIImpl::WillRequestPrinters, |
536 base::Unretained(this), request_id); | 537 base::Unretained(this), request_id); |
537 | 538 |
538 event_router->BroadcastEvent(event.Pass()); | 539 event_router->BroadcastEvent(event.Pass()); |
539 } | 540 } |
540 | 541 |
(...skipping 17 matching lines...) Expand all Loading... |
558 | 559 |
559 int request_id = pending_capability_requests_[extension_id].Add(callback); | 560 int request_id = pending_capability_requests_[extension_id].Add(callback); |
560 | 561 |
561 scoped_ptr<base::ListValue> internal_args(new base::ListValue); | 562 scoped_ptr<base::ListValue> internal_args(new base::ListValue); |
562 // Request id is not part of the public API, but it will be massaged out in | 563 // Request id is not part of the public API, but it will be massaged out in |
563 // custom bindings. | 564 // custom bindings. |
564 internal_args->AppendInteger(request_id); | 565 internal_args->AppendInteger(request_id); |
565 internal_args->AppendString(internal_printer_id); | 566 internal_args->AppendString(internal_printer_id); |
566 | 567 |
567 scoped_ptr<Event> event(new Event( | 568 scoped_ptr<Event> event(new Event( |
| 569 events::UNKNOWN, |
568 core_api::printer_provider::OnGetCapabilityRequested::kEventName, | 570 core_api::printer_provider::OnGetCapabilityRequested::kEventName, |
569 internal_args.Pass())); | 571 internal_args.Pass())); |
570 | 572 |
571 event_router->DispatchEventToExtension(extension_id, event.Pass()); | 573 event_router->DispatchEventToExtension(extension_id, event.Pass()); |
572 } | 574 } |
573 | 575 |
574 void PrinterProviderAPIImpl::DispatchPrintRequested( | 576 void PrinterProviderAPIImpl::DispatchPrintRequested( |
575 const PrinterProviderPrintJob& job, | 577 const PrinterProviderPrintJob& job, |
576 const PrinterProviderAPI::PrintCallback& callback) { | 578 const PrinterProviderAPI::PrintCallback& callback) { |
577 std::string extension_id; | 579 std::string extension_id; |
(...skipping 27 matching lines...) Expand all Loading... |
605 | 607 |
606 print_job.content_type = job.content_type; | 608 print_job.content_type = job.content_type; |
607 print_job.title = base::UTF16ToUTF8(job.job_title); | 609 print_job.title = base::UTF16ToUTF8(job.job_title); |
608 int request_id = pending_print_requests_[extension_id].Add(job, callback); | 610 int request_id = pending_print_requests_[extension_id].Add(job, callback); |
609 | 611 |
610 scoped_ptr<base::ListValue> internal_args(new base::ListValue); | 612 scoped_ptr<base::ListValue> internal_args(new base::ListValue); |
611 // Request id is not part of the public API and it will be massaged out in | 613 // Request id is not part of the public API and it will be massaged out in |
612 // custom bindings. | 614 // custom bindings. |
613 internal_args->AppendInteger(request_id); | 615 internal_args->AppendInteger(request_id); |
614 internal_args->Append(print_job.ToValue().release()); | 616 internal_args->Append(print_job.ToValue().release()); |
615 scoped_ptr<Event> event( | 617 scoped_ptr<Event> event(new Event( |
616 new Event(core_api::printer_provider::OnPrintRequested::kEventName, | 618 events::UNKNOWN, core_api::printer_provider::OnPrintRequested::kEventName, |
617 internal_args.Pass())); | 619 internal_args.Pass())); |
618 event_router->DispatchEventToExtension(extension_id, event.Pass()); | 620 event_router->DispatchEventToExtension(extension_id, event.Pass()); |
619 } | 621 } |
620 | 622 |
621 const PrinterProviderPrintJob* PrinterProviderAPIImpl::GetPrintJob( | 623 const PrinterProviderPrintJob* PrinterProviderAPIImpl::GetPrintJob( |
622 const Extension* extension, | 624 const Extension* extension, |
623 int request_id) const { | 625 int request_id) const { |
624 auto it = pending_print_requests_.find(extension->id()); | 626 auto it = pending_print_requests_.find(extension->id()); |
625 if (it == pending_print_requests_.end()) | 627 if (it == pending_print_requests_.end()) |
626 return nullptr; | 628 return nullptr; |
627 return it->second.GetPrintJob(request_id); | 629 return it->second.GetPrintJob(request_id); |
(...skipping 18 matching lines...) Expand all Loading... |
646 UsbGuidMap::Get(browser_context_)->GetIdFromGuid(device->guid()); | 648 UsbGuidMap::Get(browser_context_)->GetIdFromGuid(device->guid()); |
647 usb_device.vendor_id = device->vendor_id(); | 649 usb_device.vendor_id = device->vendor_id(); |
648 usb_device.product_id = device->product_id(); | 650 usb_device.product_id = device->product_id(); |
649 | 651 |
650 scoped_ptr<base::ListValue> internal_args(new base::ListValue); | 652 scoped_ptr<base::ListValue> internal_args(new base::ListValue); |
651 // Request id is not part of the public API and it will be massaged out in | 653 // Request id is not part of the public API and it will be massaged out in |
652 // custom bindings. | 654 // custom bindings. |
653 internal_args->AppendInteger(request_id); | 655 internal_args->AppendInteger(request_id); |
654 internal_args->Append(usb_device.ToValue().release()); | 656 internal_args->Append(usb_device.ToValue().release()); |
655 scoped_ptr<Event> event(new Event( | 657 scoped_ptr<Event> event(new Event( |
| 658 events::UNKNOWN, |
656 core_api::printer_provider::OnGetUsbPrinterInfoRequested::kEventName, | 659 core_api::printer_provider::OnGetUsbPrinterInfoRequested::kEventName, |
657 internal_args.Pass())); | 660 internal_args.Pass())); |
658 event_router->DispatchEventToExtension(extension_id, event.Pass()); | 661 event_router->DispatchEventToExtension(extension_id, event.Pass()); |
659 } | 662 } |
660 | 663 |
661 void PrinterProviderAPIImpl::OnGetPrintersResult( | 664 void PrinterProviderAPIImpl::OnGetPrintersResult( |
662 const Extension* extension, | 665 const Extension* extension, |
663 int request_id, | 666 int request_id, |
664 const PrinterProviderInternalAPIObserver::PrinterInfoVector& result) { | 667 const PrinterProviderInternalAPIObserver::PrinterInfoVector& result) { |
665 base::ListValue printer_list; | 668 base::ListValue printer_list; |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
761 return new PrinterProviderAPIImpl(context); | 764 return new PrinterProviderAPIImpl(context); |
762 } | 765 } |
763 | 766 |
764 // static | 767 // static |
765 std::string PrinterProviderAPI::GetDefaultPrintError() { | 768 std::string PrinterProviderAPI::GetDefaultPrintError() { |
766 return core_api::printer_provider_internal::ToString( | 769 return core_api::printer_provider_internal::ToString( |
767 core_api::printer_provider_internal::PRINT_ERROR_FAILED); | 770 core_api::printer_provider_internal::PRINT_ERROR_FAILED); |
768 } | 771 } |
769 | 772 |
770 } // namespace extensions | 773 } // namespace extensions |
OLD | NEW |