From 8eb52a9ae0407aa717113d48b540b1abdb0616e8 Mon Sep 17 00:00:00 2001 From: "davemoore@chromium.org" Date: Wed, 9 Mar 2011 16:52:00 +0000 Subject: 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 --- views/controls/textfield/native_textfield_views.cc | 8 ++++---- views/controls/textfield/native_textfield_views.h | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'views/controls/textfield') 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; -- cgit v1.1