| 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 |