diff options
author | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-09 16:52:00 +0000 |
---|---|---|
committer | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-09 16:52:00 +0000 |
commit | 8eb52a9ae0407aa717113d48b540b1abdb0616e8 (patch) | |
tree | 358644668ef2e16d94c86d04b56bb7c1e8673c4e /views/controls/textfield | |
parent | 470ed45abe7452e9f72122e0273cc0506114860a (diff) | |
download | chromium_src-8eb52a9ae0407aa717113d48b540b1abdb0616e8.zip chromium_src-8eb52a9ae0407aa717113d48b540b1abdb0616e8.tar.gz chromium_src-8eb52a9ae0407aa717113d48b540b1abdb0616e8.tar.bz2 |
This will help minimize the area we paint various views, including BrowserView in cros. Before the default when a child's preferred view size changed was to propagate it up and
paint everything from the rootview down. This will limit the area to the parts that actually changed size.
I expect we may find things that aren't being painted because they were assuming the behavior of Layout(). We should fix this as necessary.
Also, a subsequent change will minimize our calls to SchedulePaint(). We frequently do it when we don't need to.
BUG=None
TEST=ViewTest.SetBoundsPaint
Review URL: http://codereview.chromium.org/6531032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77481 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/textfield')
-rw-r--r-- | views/controls/textfield/native_textfield_views.cc | 8 | ||||
-rw-r--r-- | views/controls/textfield/native_textfield_views.h | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/views/controls/textfield/native_textfield_views.cc b/views/controls/textfield/native_textfield_views.cc index 4950ebe..775308a 100644 --- a/views/controls/textfield/native_textfield_views.cc +++ b/views/controls/textfield/native_textfield_views.cc @@ -122,10 +122,6 @@ void NativeTextfieldViews::OnPaint(gfx::Canvas* canvas) { OnPaintBorder(canvas); } -void NativeTextfieldViews::OnBoundsChanged() { - UpdateCursorBoundsAndTextOffset(); -} - void NativeTextfieldViews::OnFocus() { NOTREACHED(); } @@ -406,6 +402,10 @@ void NativeTextfieldViews::SetEnableTextfieldViews(bool enabled) { textfield_view_enabled = enabled; } +void NativeTextfieldViews::OnBoundsChanged(const gfx::Rect& previous_bounds) { + UpdateCursorBoundsAndTextOffset(); +} + /////////////////////////////////////////////////////////////////////////////// // NativeTextfieldViews private: diff --git a/views/controls/textfield/native_textfield_views.h b/views/controls/textfield/native_textfield_views.h index 488551d..5a21596 100644 --- a/views/controls/textfield/native_textfield_views.h +++ b/views/controls/textfield/native_textfield_views.h @@ -54,7 +54,6 @@ class NativeTextfieldViews : public views::View, virtual bool OnKeyPressed(const views::KeyEvent& e) OVERRIDE; virtual bool OnKeyReleased(const views::KeyEvent& e) OVERRIDE; virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; - virtual void OnBoundsChanged() OVERRIDE; virtual void OnFocus() OVERRIDE; virtual void OnBlur() OVERRIDE; virtual gfx::NativeCursor GetCursorForPoint(ui::EventType event_type, @@ -119,6 +118,9 @@ class NativeTextfieldViews : public views::View, NONE, }; + protected: + // View override. + virtual void OnBoundsChanged(const gfx::Rect& previous_bounds) OVERRIDE; private: friend class NativeTextfieldViewsTest; |