summaryrefslogtreecommitdiffstats
path: root/views/view.h
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.h
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.h')
-rw-r--r--views/view.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/views/view.h b/views/view.h
index fcd0ee7..22c38d0 100644
--- a/views/view.h
+++ b/views/view.h
@@ -976,15 +976,15 @@ class View : public AcceleratorTarget {
// Called when the UI theme has changed, overriding allows individual Views to
// do special cleanup and processing (such as dropping resource caches).
- // Subclasses that override this method must call the base class
- // implementation to ensure child views are processed.
- // Can only be called by subclasses. To dispatch a theme changed notification,
- // call this method on the RootView.
- virtual void ThemeChanged();
+ // To dispatch a theme changed notification, call
+ // RootView::NotifyThemeChanged().
+ virtual void OnThemeChanged() { }
// Called when the locale has changed, overriding allows individual Views to
// update locale-dependent strings.
- virtual void LocaleChanged() { }
+ // To dispatch a locale changed notification, call
+ // RootView::NotifyLocaleChanged().
+ virtual void OnLocaleChanged() { }
#ifndef NDEBUG
// Returns true if the View is currently processing a paint.
@@ -1138,9 +1138,13 @@ class View : public AcceleratorTarget {
gfx::Point start_pt;
};
- // Propagates locale changed notification from the root view downside.
- // Invokes LocaleChanged() for every view in the hierarchy.
- virtual void NotifyLocaleChanged();
+ // Used to propagate theme changed notifications from the root view to all
+ // views in the hierarchy.
+ virtual void PropagateThemeChanged();
+
+ // Used to propagate locale changed notifications from the root view to all
+ // views in the hierarchy.
+ virtual void PropagateLocaleChanged();
// RootView invokes these. These in turn invoke the appropriate OnMouseXXX
// method. If a drag is detected, DoDrag is invoked.