Chromium Code Reviews| Index: components/pdf/renderer/pdf_resource_util.cc |
| diff --git a/components/pdf/renderer/pdf_resource_util.cc b/components/pdf/renderer/pdf_resource_util.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..44c75f42e3b0b9c7e47b31abd6a3cccadb0cec79 |
| --- /dev/null |
| +++ b/components/pdf/renderer/pdf_resource_util.cc |
| @@ -0,0 +1,113 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "components/pdf/renderer/pdf_resource_util.h" |
| + |
| +#include "base/strings/utf_string_conversions.h" |
| +#include "components/grit/component_scaled_resources.h" |
| +#include "components/strings/grit/components_strings.h" |
| +#include "ui/base/l10n/l10n_util.h" |
| +#include "ui/base/resource/resource_bundle.h" |
| + |
| +namespace { |
| + |
| +struct ResourceImageInfo { |
| + PP_ResourceImage pp_id; |
| + int res_id; |
| +}; |
| + |
| +static const ResourceImageInfo kResourceImageMap[] = { |
|
Lei Zhang
2014/08/26 22:05:53
s/static //
|
| + {PP_RESOURCEIMAGE_PDF_BUTTON_FTP, IDR_PDF_BUTTON_FTP}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_FTP_HOVER, IDR_PDF_BUTTON_FTP_HOVER}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_FTP_PRESSED, IDR_PDF_BUTTON_FTP_PRESSED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_FTW, IDR_PDF_BUTTON_FTW}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_FTW_HOVER, IDR_PDF_BUTTON_FTW_HOVER}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_FTW_PRESSED, IDR_PDF_BUTTON_FTW_PRESSED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_END, IDR_PDF_BUTTON_ZOOMIN_END}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_END_HOVER, |
| + IDR_PDF_BUTTON_ZOOMIN_END_HOVER}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_END_PRESSED, |
| + IDR_PDF_BUTTON_ZOOMIN_END_PRESSED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN, IDR_PDF_BUTTON_ZOOMIN}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_HOVER, IDR_PDF_BUTTON_ZOOMIN_HOVER}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMIN_PRESSED, IDR_PDF_BUTTON_ZOOMIN_PRESSED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT, IDR_PDF_BUTTON_ZOOMOUT}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_HOVER, IDR_PDF_BUTTON_ZOOMOUT_HOVER}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_ZOOMOUT_PRESSED, |
| + IDR_PDF_BUTTON_ZOOMOUT_PRESSED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_SAVE, IDR_PDF_BUTTON_SAVE}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_SAVE_HOVER, IDR_PDF_BUTTON_SAVE_HOVER}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_SAVE_PRESSED, IDR_PDF_BUTTON_SAVE_PRESSED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT, IDR_PDF_BUTTON_PRINT}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT_HOVER, IDR_PDF_BUTTON_PRINT_HOVER}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT_PRESSED, IDR_PDF_BUTTON_PRINT_PRESSED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_PRINT_DISABLED, IDR_PDF_BUTTON_PRINT_DISABLED}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_0, IDR_PDF_THUMBNAIL_0}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_1, IDR_PDF_THUMBNAIL_1}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_2, IDR_PDF_THUMBNAIL_2}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_3, IDR_PDF_THUMBNAIL_3}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_4, IDR_PDF_THUMBNAIL_4}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_5, IDR_PDF_THUMBNAIL_5}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_6, IDR_PDF_THUMBNAIL_6}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_7, IDR_PDF_THUMBNAIL_7}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_8, IDR_PDF_THUMBNAIL_8}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_9, IDR_PDF_THUMBNAIL_9}, |
| + {PP_RESOURCEIMAGE_PDF_BUTTON_THUMBNAIL_NUM_BACKGROUND, |
| + IDR_PDF_THUMBNAIL_NUM_BACKGROUND}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_0, IDR_PDF_PROGRESS_BAR_0}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_1, IDR_PDF_PROGRESS_BAR_1}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_2, IDR_PDF_PROGRESS_BAR_2}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_3, IDR_PDF_PROGRESS_BAR_3}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_4, IDR_PDF_PROGRESS_BAR_4}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_5, IDR_PDF_PROGRESS_BAR_5}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_6, IDR_PDF_PROGRESS_BAR_6}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_7, IDR_PDF_PROGRESS_BAR_7}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_8, IDR_PDF_PROGRESS_BAR_8}, |
| + {PP_RESOURCEIMAGE_PDF_PROGRESS_BAR_BACKGROUND, |
| + IDR_PDF_PROGRESS_BAR_BACKGROUND}, |
| + {PP_RESOURCEIMAGE_PDF_PAGE_INDICATOR_BACKGROUND, |
| + IDR_PDF_PAGE_INDICATOR_BACKGROUND}, |
| + {PP_RESOURCEIMAGE_PDF_PAGE_DROPSHADOW, IDR_PDF_PAGE_DROPSHADOW}, |
| + {PP_RESOURCEIMAGE_PDF_PAN_SCROLL_ICON, IDR_PDF_PAN_SCROLL_ICON}, |
| +}; |
| + |
| +} // namespace |
| + |
| +namespace pdf { |
| + |
| +gfx::ImageSkia* GetImageResource(PP_ResourceImage image_id) { |
| + int resource_id = 0; |
| + for (size_t i = 0; i < arraysize(kResourceImageMap); ++i) { |
| + if (kResourceImageMap[i].pp_id == image_id) { |
| + resource_id = kResourceImageMap[i].res_id; |
| + break; |
| + } |
| + } |
| + |
| + return resource_id ? ResourceBundle::GetSharedInstance().GetImageSkiaNamed( |
|
Lei Zhang
2014/08/26 22:05:53
nit: formatting here is a wee bit ugly IMO.
|
| + resource_id) |
| + : NULL; |
| +} |
| + |
| +std::string GetStringResource(PP_ResourceString string_id) { |
| + int resource_id = 0; |
| + switch (string_id) { |
| + case PP_RESOURCESTRING_PDFGETPASSWORD: |
| + resource_id = IDS_PDF_NEED_PASSWORD; |
| + break; |
| + case PP_RESOURCESTRING_PDFLOADING: |
| + resource_id = IDS_PDF_NEED_PASSWORD; |
| + break; |
| + case PP_RESOURCESTRING_PDFLOAD_FAILED: |
| + resource_id = IDS_PDF_PAGE_LOAD_FAILED; |
| + break; |
| + case PP_RESOURCESTRING_PDFPROGRESSLOADING: |
| + resource_id = IDS_PDF_PROGRESS_LOADING; |
| + break; |
| + } |
| + |
| + return base::UTF16ToUTF8(l10n_util::GetStringUTF16(resource_id)); |
|
raymes
2014/08/27 03:15:42
What happens in the case where resource_id == 0?
|
| +} |
| + |
| +} // namespace pdf |