summaryrefslogtreecommitdiffstats
path: root/chromium/ui/base/resource/resource_bundle_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/base/resource/resource_bundle_win.cc')
-rw-r--r--chromium/ui/base/resource/resource_bundle_win.cc40
1 files changed, 13 insertions, 27 deletions
diff --git a/chromium/ui/base/resource/resource_bundle_win.cc b/chromium/ui/base/resource/resource_bundle_win.cc
index cb99e209c3a..fa17eee5031 100644
--- a/chromium/ui/base/resource/resource_bundle_win.cc
+++ b/chromium/ui/base/resource/resource_bundle_win.cc
@@ -7,9 +7,13 @@
#include "base/logging.h"
#include "base/path_service.h"
#include "base/strings/utf_string_conversions.h"
+#include "skia/ext/image_operations.h"
#include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/resource/resource_data_dll_win.h"
+#include "ui/gfx/geometry/size_conversions.h"
+#include "ui/gfx/image/image_skia.h"
+#include "ui/gfx/image/image_skia_source.h"
#include "ui/gfx/win/dpi.h"
namespace ui {
@@ -30,7 +34,7 @@ base::FilePath GetResourcesPakFilePath(const std::string& pak_name) {
return path.AppendASCII(pak_name.c_str());
// Return just the name of the pack file.
- return base::FilePath(ASCIIToUTF16(pak_name));
+ return base::FilePath(base::ASCIIToUTF16(pak_name));
}
} // namespace
@@ -38,36 +42,18 @@ base::FilePath GetResourcesPakFilePath(const std::string& pak_name) {
void ResourceBundle::LoadCommonResources() {
// As a convenience, add the current resource module as a data packs.
data_packs_.push_back(new ResourceDataDLL(GetCurrentResourceDLL()));
- // Have high-DPI resources for 140% and 180% scaling on Windows based on
- // default scaling for Metro mode. If high-DPI mode is enabled, load resource
- // pak closest to the desired scale factor. The high-DPI resources are
- // scaled up from 100% touch.
- float scale = gfx::win::GetDeviceScaleFactor();
- bool force_touch_resources = false;
- switch(ui::GetSupportedScaleFactor(scale)) {
- case ui::SCALE_FACTOR_180P:
- AddDataPackFromPath(GetResourcesPakFilePath(
- "chrome_touch_180_percent.pak"),
- SCALE_FACTOR_180P);
- force_touch_resources = true;
- break;
- case ui::SCALE_FACTOR_140P:
- AddDataPackFromPath(GetResourcesPakFilePath(
- "chrome_touch_140_percent.pak"),
- SCALE_FACTOR_140P);
- force_touch_resources = true;
- }
- // TODO(kevers|girard): Remove loading of 1x resources when in high-DPI
- // mode once all resources are available at 140% and 180%.
- if (ui::GetDisplayLayout() == ui::LAYOUT_TOUCH || force_touch_resources) {
- AddDataPackFromPath(
- GetResourcesPakFilePath("chrome_touch_100_percent.pak"),
- SCALE_FACTOR_100P);
- } else {
+
+ if (IsScaleFactorSupported(SCALE_FACTOR_100P)) {
AddDataPackFromPath(
GetResourcesPakFilePath("chrome_100_percent.pak"),
SCALE_FACTOR_100P);
}
+ if (IsScaleFactorSupported(SCALE_FACTOR_200P)) {
+ DCHECK(gfx::IsHighDPIEnabled());
+ AddDataPackFromPath(
+ GetResourcesPakFilePath("chrome_200_percent.pak"),
+ SCALE_FACTOR_200P);
+ }
}
gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id, ImageRTL rtl) {