summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-09 05:35:22 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-09 05:35:22 +0000
commit1a4cb9dc7e1d04805e3319dbac80d97650f11a41 (patch)
treeb7858fd02a03d71604b0ec294d6e3b70acc62f49
parent92c807c590fdaeadf5d39fa7f284cb2895523813 (diff)
downloadchromium_src-1a4cb9dc7e1d04805e3319dbac80d97650f11a41.zip
chromium_src-1a4cb9dc7e1d04805e3319dbac80d97650f11a41.tar.gz
chromium_src-1a4cb9dc7e1d04805e3319dbac80d97650f11a41.tar.bz2
Make ui_resources IDRs accessible via chrome://theme/<IDR>.
This helps cleanly move chrome/app/theme images to ui/resources. TODO(followup): Cleanup WebUI usage of ui/resources images. TODO(followup): Use a new handler like chrome://ui/ instead? (that seems like a bit of work for little tangible benefit) BUG=166075 TEST=ui/resources/ui_resources.grd IDRs are accessible like chrome://theme/IDR_CHECKMARK R=oshima@chromium.org,sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/11830002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175714 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/resources_util.cc3
-rw-r--r--chrome/browser/resources_util_unittest.cc33
-rw-r--r--chrome/chrome_browser.gypi1
3 files changed, 18 insertions, 19 deletions
diff --git a/chrome/browser/resources_util.cc b/chrome/browser/resources_util.cc
index 731e6a1..6fcfc13b 100644
--- a/chrome/browser/resources_util.cc
+++ b/chrome/browser/resources_util.cc
@@ -9,6 +9,7 @@
#include "base/hash_tables.h"
#include "base/lazy_instance.h"
#include "grit/theme_resources_map.h"
+#include "grit/ui_resources_map.h"
namespace {
@@ -22,6 +23,8 @@ class ThemeMap {
ThemeMap() {
for (size_t i = 0; i < kThemeResourcesSize; ++i)
id_map_[kThemeResources[i].name] = kThemeResources[i].value;
+ for (size_t i = 0; i < kUiResourcesSize; ++i)
+ id_map_[kUiResources[i].name] = kUiResources[i].value;
}
int GetId(const std::string& resource_name) {
diff --git a/chrome/browser/resources_util_unittest.cc b/chrome/browser/resources_util_unittest.cc
index dc28978..7637559 100644
--- a/chrome/browser/resources_util_unittest.cc
+++ b/chrome/browser/resources_util_unittest.cc
@@ -5,30 +5,25 @@
#include "chrome/browser/resources_util.h"
#include "grit/theme_resources.h"
+#include "grit/ui_resources.h"
#include "testing/gtest/include/gtest/gtest.h"
-namespace {
-
-struct TestCase {
- const char* name;
- int id;
-};
-
-} // namespace
-
TEST(ResourcesUtil, SpotCheckIds) {
- const TestCase kTestCases[] = {
+ const struct {
+ const char* name;
+ int id;
+ } kCases[] = {
+ // IDRs from chrome/app/theme/theme_resources.grd should be valid.
{"IDR_BACK", IDR_BACK},
{"IDR_STOP", IDR_STOP},
- {"IDR_OMNIBOX_STAR", IDR_OMNIBOX_STAR},
- {"IDR_SAD_TAB", IDR_SAD_TAB},
+ // IDRs from ui/resources/ui_resources.grd should be valid.
+ {"IDR_CHECKMARK", IDR_CHECKMARK},
+ {"IDR_THROBBER", IDR_THROBBER},
+ // Unknown names should be invalid and return -1.
+ {"foobar", -1},
+ {"backstar", -1},
};
- for (size_t i = 0; i < arraysize(kTestCases); ++i) {
- EXPECT_EQ(kTestCases[i].id,
- ResourcesUtil::GetThemeResourceId(kTestCases[i].name));
- }
- // Should return -1 of unknown names.
- EXPECT_EQ(-1, ResourcesUtil::GetThemeResourceId("foobar"));
- EXPECT_EQ(-1, ResourcesUtil::GetThemeResourceId("backstar"));
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kCases); ++i)
+ EXPECT_EQ(kCases[i].id, ResourcesUtil::GetThemeResourceId(kCases[i].name));
}
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index f58d9e5..f2996a0 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -2234,6 +2234,7 @@
'<(grit_out_dir)/grit/devtools_discovery_page_resources_map.cc',
'<(grit_out_dir)/grit/shared_resources_map.cc',
'<(grit_out_dir)/grit/theme_resources_map.cc',
+ '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/grit/ui_resources_map.cc',
# This file is generated by the autofill_regexes action.
'<(SHARED_INTERMEDIATE_DIR)/autofill_regex_constants.cc',