diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-03 22:34:59 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-03 22:34:59 +0000 |
commit | ca32a43d3d00983134f0ecec4e43a5a8dc0b61da (patch) | |
tree | 247221d443cf96540b8db75ae3c631ec163e256a /views/controls/textfield | |
parent | 06cafed03fc3a63eb1282d1416c3629faa33c762 (diff) | |
download | chromium_src-ca32a43d3d00983134f0ecec4e43a5a8dc0b61da.zip chromium_src-ca32a43d3d00983134f0ecec4e43a5a8dc0b61da.tar.gz chromium_src-ca32a43d3d00983134f0ecec4e43a5a8dc0b61da.tar.bz2 |
Makes views not draw focus for native controls on Gtk. As Gtk renders
the focus for us, this resulted in double the focus indicators.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/468004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33739 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/textfield')
-rw-r--r-- | views/controls/textfield/textfield.cc | 20 | ||||
-rw-r--r-- | views/controls/textfield/textfield.h | 1 |
2 files changed, 12 insertions, 9 deletions
diff --git a/views/controls/textfield/textfield.cc b/views/controls/textfield/textfield.cc index e906337..e12138e 100644 --- a/views/controls/textfield/textfield.cc +++ b/views/controls/textfield/textfield.cc @@ -9,20 +9,17 @@ #endif #include "app/gfx/insets.h" -#if defined(OS_WIN) -#include "app/win_util.h" -#include "base/win_util.h" -#endif - -#if defined(OS_LINUX) -#include "base/keyboard_code_conversion_gtk.h" -#endif #include "base/keyboard_codes.h" #include "base/string_util.h" +#include "views/controls/native/native_view_host.h" #include "views/controls/textfield/native_textfield_wrapper.h" #include "views/widget/widget.h" -#if defined(OS_WIN) +#if defined(OS_LINUX) +#include "base/keyboard_code_conversion_gtk.h" +#elif defined(OS_WIN) +#include "app/win_util.h" +#include "base/win_util.h" // TODO(beng): this should be removed when the OS_WIN hack from // ViewHierarchyChanged is removed. #include "views/controls/textfield/native_textfield_win.h" @@ -225,6 +222,11 @@ bool Textfield::SkipDefaultKeyEventProcessing(const KeyEvent& e) { return false; } +void Textfield::PaintFocusBorder(gfx::Canvas* canvas) { + if (NativeViewHost::kRenderNativeControlFocus) + View::PaintFocusBorder(canvas); +} + void Textfield::SetEnabled(bool enabled) { View::SetEnabled(enabled); if (native_wrapper_) diff --git a/views/controls/textfield/textfield.h b/views/controls/textfield/textfield.h index 79266d0..3810d82 100644 --- a/views/controls/textfield/textfield.h +++ b/views/controls/textfield/textfield.h @@ -200,6 +200,7 @@ class Textfield : public View { virtual void AboutToRequestFocusFromTabTraversal(bool reverse); virtual bool SkipDefaultKeyEventProcessing(const KeyEvent& e); virtual void SetEnabled(bool enabled); + virtual void PaintFocusBorder(gfx::Canvas* canvas); protected: virtual void Focus(); |