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 "chrome/browser/ui/webui/print_preview/extension_printer_handler.h" | 5 #include "chrome/browser/ui/webui/print_preview/extension_printer_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 #include <queue> | 11 #include <queue> |
12 #include <string> | 12 #include <string> |
13 | 13 |
14 #include "base/bind.h" | 14 #include "base/bind.h" |
15 #include "base/files/file_util.h" | 15 #include "base/files/file_util.h" |
16 #include "base/files/scoped_temp_dir.h" | 16 #include "base/files/scoped_temp_dir.h" |
17 #include "base/json/json_string_value_serializer.h" | 17 #include "base/json/json_string_value_serializer.h" |
18 #include "base/macros.h" | 18 #include "base/macros.h" |
19 #include "base/memory/ptr_util.h" | 19 #include "base/memory/ptr_util.h" |
20 #include "base/run_loop.h" | 20 #include "base/run_loop.h" |
21 #include "base/strings/string16.h" | 21 #include "base/strings/string16.h" |
22 #include "base/strings/stringprintf.h" | 22 #include "base/strings/stringprintf.h" |
23 #include "base/strings/utf_string_conversions.h" | 23 #include "base/strings/utf_string_conversions.h" |
24 #include "base/test/values_test_util.h" | 24 #include "base/test/values_test_util.h" |
25 #include "base/values.h" | 25 #include "base/values.h" |
26 #include "chrome/browser/extensions/test_extension_environment.h" | 26 #include "chrome/browser/extensions/test_extension_environment.h" |
27 #include "chrome/browser/printing/pwg_raster_converter.h" | 27 #include "chrome/browser/printing/pwg_raster_converter.h" |
28 #include "chrome/test/base/testing_profile.h" | 28 #include "chrome/test/base/testing_profile.h" |
29 #include "components/version_info/version_info.h" | 29 #include "components/version_info/version_info.h" |
| 30 #include "content/public/test/test_utils.h" |
30 #include "device/base/mock_device_client.h" | 31 #include "device/base/mock_device_client.h" |
31 #include "device/usb/mock_usb_device.h" | 32 #include "device/usb/mock_usb_device.h" |
32 #include "device/usb/mock_usb_service.h" | 33 #include "device/usb/mock_usb_service.h" |
33 #include "extensions/browser/api/device_permissions_manager.h" | 34 #include "extensions/browser/api/device_permissions_manager.h" |
34 #include "extensions/browser/api/printer_provider/printer_provider_api.h" | 35 #include "extensions/browser/api/printer_provider/printer_provider_api.h" |
35 #include "extensions/browser/api/printer_provider/printer_provider_api_factory.h
" | 36 #include "extensions/browser/api/printer_provider/printer_provider_api_factory.h
" |
36 #include "extensions/browser/api/printer_provider/printer_provider_print_job.h" | 37 #include "extensions/browser/api/printer_provider/printer_provider_print_job.h" |
37 #include "extensions/common/extension.h" | 38 #include "extensions/common/extension.h" |
38 #include "extensions/common/value_builder.h" | 39 #include "extensions/common/value_builder.h" |
39 #include "printing/pdf_render_settings.h" | 40 #include "printing/pdf_render_settings.h" |
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 print_data->data() = "print data, PDF"; | 781 print_data->data() = "print data, PDF"; |
781 base::string16 title = base::ASCIIToUTF16("Title"); | 782 base::string16 title = base::ASCIIToUTF16("Title"); |
782 | 783 |
783 extension_printer_handler_->StartPrint( | 784 extension_printer_handler_->StartPrint( |
784 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, | 785 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, |
785 kEmptyPrintTicket, gfx::Size(100, 50), print_data, | 786 kEmptyPrintTicket, gfx::Size(100, 50), print_data, |
786 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 787 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
787 | 788 |
788 EXPECT_EQ(0u, call_count); | 789 EXPECT_EQ(0u, call_count); |
789 | 790 |
790 base::RunLoop().RunUntilIdle(); | 791 content::RunAllBlockingPoolTasksUntilIdle(); |
791 | 792 |
792 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 793 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
793 ASSERT_TRUE(fake_api); | 794 ASSERT_TRUE(fake_api); |
794 ASSERT_EQ(1u, fake_api->pending_print_count()); | 795 ASSERT_EQ(1u, fake_api->pending_print_count()); |
795 | 796 |
796 EXPECT_EQ(printing::TRANSFORM_NORMAL, | 797 EXPECT_EQ(printing::TRANSFORM_NORMAL, |
797 pwg_raster_converter_->bitmap_settings().odd_page_transform); | 798 pwg_raster_converter_->bitmap_settings().odd_page_transform); |
798 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); | 799 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); |
799 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().reverse_page_order); | 800 EXPECT_FALSE(pwg_raster_converter_->bitmap_settings().reverse_page_order); |
800 | 801 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 print_data->data() = "print data, PDF"; | 835 print_data->data() = "print data, PDF"; |
835 base::string16 title = base::ASCIIToUTF16("Title"); | 836 base::string16 title = base::ASCIIToUTF16("Title"); |
836 | 837 |
837 extension_printer_handler_->StartPrint( | 838 extension_printer_handler_->StartPrint( |
838 kPrinterId, kPWGRasterOnlyPrinter, title, kPrintTicketWithDuplex, | 839 kPrinterId, kPWGRasterOnlyPrinter, title, kPrintTicketWithDuplex, |
839 gfx::Size(100, 50), print_data, | 840 gfx::Size(100, 50), print_data, |
840 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 841 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
841 | 842 |
842 EXPECT_EQ(0u, call_count); | 843 EXPECT_EQ(0u, call_count); |
843 | 844 |
844 base::RunLoop().RunUntilIdle(); | 845 content::RunAllBlockingPoolTasksUntilIdle(); |
845 | 846 |
846 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 847 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
847 ASSERT_TRUE(fake_api); | 848 ASSERT_TRUE(fake_api); |
848 ASSERT_EQ(1u, fake_api->pending_print_count()); | 849 ASSERT_EQ(1u, fake_api->pending_print_count()); |
849 | 850 |
850 EXPECT_EQ(printing::TRANSFORM_FLIP_VERTICAL, | 851 EXPECT_EQ(printing::TRANSFORM_FLIP_VERTICAL, |
851 pwg_raster_converter_->bitmap_settings().odd_page_transform); | 852 pwg_raster_converter_->bitmap_settings().odd_page_transform); |
852 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); | 853 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().rotate_all_pages); |
853 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().reverse_page_order); | 854 EXPECT_TRUE(pwg_raster_converter_->bitmap_settings().reverse_page_order); |
854 | 855 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
888 print_data->data() = "print data, PDF"; | 889 print_data->data() = "print data, PDF"; |
889 base::string16 title = base::ASCIIToUTF16("Title"); | 890 base::string16 title = base::ASCIIToUTF16("Title"); |
890 | 891 |
891 extension_printer_handler_->StartPrint( | 892 extension_printer_handler_->StartPrint( |
892 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, | 893 kPrinterId, kPWGRasterOnlyPrinterSimpleDescription, title, |
893 kEmptyPrintTicket, gfx::Size(100, 50), print_data, | 894 kEmptyPrintTicket, gfx::Size(100, 50), print_data, |
894 base::Bind(&RecordPrintResult, &call_count, &success, &status)); | 895 base::Bind(&RecordPrintResult, &call_count, &success, &status)); |
895 | 896 |
896 EXPECT_EQ(0u, call_count); | 897 EXPECT_EQ(0u, call_count); |
897 | 898 |
898 base::RunLoop().RunUntilIdle(); | 899 content::RunAllBlockingPoolTasksUntilIdle(); |
899 | 900 |
900 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); | 901 FakePrinterProviderAPI* fake_api = GetPrinterProviderAPI(); |
901 ASSERT_TRUE(fake_api); | 902 ASSERT_TRUE(fake_api); |
902 ASSERT_EQ(1u, fake_api->pending_print_count()); | 903 ASSERT_EQ(1u, fake_api->pending_print_count()); |
903 | 904 |
904 extension_printer_handler_->Reset(); | 905 extension_printer_handler_->Reset(); |
905 | 906 |
906 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); | 907 fake_api->TriggerNextPrintCallback(kPrintRequestSuccess); |
907 | 908 |
908 EXPECT_EQ(0u, call_count); | 909 EXPECT_EQ(0u, call_count); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1008 DictionaryBuilder() | 1009 DictionaryBuilder() |
1009 .Set("id", "printer1") | 1010 .Set("id", "printer1") |
1010 .Set("name", "Printer 1") | 1011 .Set("name", "Printer 1") |
1011 .Build()); | 1012 .Build()); |
1012 | 1013 |
1013 fake_api->TriggerNextUsbPrinterInfoCallback(*original_printer_info); | 1014 fake_api->TriggerNextUsbPrinterInfoCallback(*original_printer_info); |
1014 | 1015 |
1015 EXPECT_EQ(0u, call_count); | 1016 EXPECT_EQ(0u, call_count); |
1016 EXPECT_FALSE(printer_info.get()); | 1017 EXPECT_FALSE(printer_info.get()); |
1017 } | 1018 } |
OLD | NEW |