summaryrefslogtreecommitdiffstats
path: root/views/view.cc
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 01:39:13 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-27 01:39:13 +0000
commit8b9a8f156c4f0038012718378dab89416731f2f5 (patch)
tree22e90a98d3d1f3773c6cb952d35cea7000342378 /views/view.cc
parentdd29fbe689b366ac754837d5b2f2956650cf6e45 (diff)
downloadchromium_src-8b9a8f156c4f0038012718378dab89416731f2f5.zip
chromium_src-8b9a8f156c4f0038012718378dab89416731f2f5.tar.gz
chromium_src-8b9a8f156c4f0038012718378dab89416731f2f5.tar.bz2
Make theme change notifications auto-propagate through the view hierarchy, instead of forcing subclasses to manually call their superclass implementation. This fixes some problems where not all views would get notified of a theme change.
Make naming for theme and locale changes consistent and clear. BUG=50107 TEST=none Review URL: http://codereview.chromium.org/2878055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53736 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/view.cc')
-rw-r--r--views/view.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/views/view.cc b/views/view.cc
index 2c92338..c8e35de 100644
--- a/views/view.cc
+++ b/views/view.cc
@@ -667,15 +667,16 @@ bool View::IsFocusable() const {
return focusable_ && IsEnabled() && IsVisible();
}
-void View::ThemeChanged() {
+void View::PropagateThemeChanged() {
for (int i = GetChildViewCount() - 1; i >= 0; --i)
- GetChildViewAt(i)->ThemeChanged();
+ GetChildViewAt(i)->PropagateThemeChanged();
+ OnThemeChanged();
}
-void View::NotifyLocaleChanged() {
- LocaleChanged();
+void View::PropagateLocaleChanged() {
for (int i = GetChildViewCount() - 1; i >= 0; --i)
- GetChildViewAt(i)->NotifyLocaleChanged();
+ GetChildViewAt(i)->PropagateLocaleChanged();
+ OnLocaleChanged();
}
#ifndef NDEBUG