summaryrefslogtreecommitdiffstats
path: root/views/focus/focus_manager_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Move some more direct uses of RootView to Widget.ben@chromium.org2011-02-241-1/+2
| | | | | | | | | | | | | | | | | | The idea is to remove RootView from the public API of Views and eventually move it into the internal namespace. It is really an implementation detail of event propagation into a view hierarchy. Anyone that calls GetRootView() and does something that isn't a View method should be calling that method on the Widget instead... e.g. instead of calling GetRootView()->NotifyThemeChanged(), call GetWidget()->ThemeChanged(). The RootView is a focus traversable, which is fine, but calling code should call GetWidget()->GetFocusTraversable() to obtain it, rather than knowing RootView is-a focus traversable and just calling GetRootView(). This also changes FocusManager::ContainsView to be simpler and cross platform. Since there is one FocusManager per view hierarchy (attached to the toplevel Widget), getting the view's focus manager and comparing it to the current focus manager is a sufficient test. BUG=72040 TEST=existing unittests, none Review URL: http://codereview.chromium.org/6577017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75940 0039d316-1c4b-4281-b951-d872f2087c98
* Rename WillGain/Lose/DidGainFocus, Focus methods. Now there are only two ↵ben@chromium.org2011-02-241-21/+12
| | | | | | | | | | | | | | | | | | | | notifications: OnFocus() OnBlur() View gains a Focus()/Blur() processing method pair. Cleans up code in FocusManager::SetFocusedView. Also adds OVERRIDE to a bunch of methods. BUG=72040 TEST=existing unittests. Review URL: http://codereview.chromium.org/6577010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75830 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 74693. Changing approach.ben@chromium.org2011-02-141-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74849 0039d316-1c4b-4281-b951-d872f2087c98
* Fix small incompatibility issues with Visual Studio 2010.jeanluc@chromium.org2011-02-141-9/+27
| | | | | | | | | BUG=25628 TEST=Compile all.sln cleanly Review URL: http://codereview.chromium.org/6512012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74778 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Widgetwin->NativeWidgetWinben@chromium.org2011-02-111-4/+4
| | | | | | | | | BUG=72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/6510001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74693 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate Event API methods to Google Style.ben@chromium.org2011-02-101-2/+2
| | | | | | | | | | | | | | Re-landing, moving the bits Mac uses to ui/base/events.h BUG=72040 TEST=none TBR=sky Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=74377 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74408 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 74377 - Migrate Event API methods to Google Style.ben@chromium.org2011-02-091-2/+2
| | | | | | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6480001 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/6469014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74379 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate Event API methods to Google Style.ben@chromium.org2011-02-091-2/+2
| | | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6480001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74377 0039d316-1c4b-4281-b951-d872f2087c98
* Change includes of gfx/* to ui/gfx/*sail@chromium.org2011-02-051-1/+1
| | | | | | | | | BUG=71063 TEST=compiled Review URL: http://codereview.chromium.org/6312156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73890 0039d316-1c4b-4281-b951-d872f2087c98
* Move models from app to ui/base/modelsben@chromium.org2011-01-141-1/+3
| | | | | | | | | BUG=none TEST=none TBR=brettw git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71446 0039d316-1c4b-4281-b951-d872f2087c98
* Move app/key* to ui/base/keycodes/*ben@chromium.org2011-01-131-45/+45
| | | | | | | | | | BUG=none TEST=none TBR=brettw Review URL: http://codereview.chromium.org/6246001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71330 0039d316-1c4b-4281-b951-d872f2087c98
* Re-lands 58186:bryeung@chromium.org2010-09-031-45/+45
| | | | | | | | | | | | | | | | | | | | Original message: """ Move the keyboard files from base/ to app/. Also moves the associated classes/enums from base:: to app::. TEST=try bots compile BUG=NONE Review URL: http://codereview.chromium.org/3165064 """ TBR=phajdan.jr@chromium.org Review URL: http://codereview.chromium.org/3354005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58438 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58388 - Revert 58215 - Revert 58186 - Move the keyboard files from ↵akalin@chromium.org2010-09-021-45/+45
| | | | | | | | | | | | | | | | | | | | | base/ to app/. Also moves the associated classes/enums from base:: to app::. TEST=try bots compile BUG=NONE Review URL: http://codereview.chromium.org/3165064 TBR=bryeung@chromium.org TBR=phajdan.jr@chromium.org Review URL: http://codereview.chromium.org/3361003 TBR=bryeung@chromium.org Review URL: http://codereview.chromium.org/3337006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58390 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58215 - Revert 58186 - Move the keyboard files from base/ to app/.bryeung@chromium.org2010-09-021-45/+45
| | | | | | | | | | | | | | | | Also moves the associated classes/enums from base:: to app::. TEST=try bots compile BUG=NONE Review URL: http://codereview.chromium.org/3165064 TBR=bryeung@chromium.org TBR=phajdan.jr@chromium.org Review URL: http://codereview.chromium.org/3361003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58388 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 58186 - Move the keyboard files from base/ to app/.phajdan.jr@chromium.org2010-09-011-45/+45
| | | | | | | | | | | | | Also moves the associated classes/enums from base:: to app::. TEST=try bots compile BUG=NONE Review URL: http://codereview.chromium.org/3165064 TBR=bryeung@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58215 0039d316-1c4b-4281-b951-d872f2087c98
* Move the keyboard files from base/ to app/.bryeung@chromium.org2010-09-011-45/+45
| | | | | | | | | | | Also moves the associated classes/enums from base:: to app::. TEST=try bots compile BUG=NONE Review URL: http://codereview.chromium.org/3165064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58186 0039d316-1c4b-4281-b951-d872f2087c98
* Remove wstrings from bookmarks, part 12.viettrungluu@chromium.org2010-08-221-5/+6
| | | | | | | | | | | | | | - This changes RecentlyUsedFoldersComboModel::GetItemAt() to return a string16 instead of a wstring. - This entailed changing the base class, ComboboxModel, and shaving a herd of yaks. BUG=23581 TEST=builds and passes tests Review URL: http://codereview.chromium.org/3159031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57021 0039d316-1c4b-4281-b951-d872f2087c98
* [Linux Views] Refactor accelerator handler related code.suzhe@chromium.org2010-08-041-4/+5
| | | | | | | | | | | | | | | | | This CL removes the accelerator handling logic in accelerator_handler_gtk.cc and implements a much simpler solution in WidgetGtk. The new approach always sends a key event to the focused View and native GtkWidget first and only sends it to the focus manager if it's not handled by any View or native GtkWidget. BUG=23383 AcceleratorHandler on Windows should not dispatch the KEYUP messages eaten by the FocusManager BUG=40966 BrowserKeyEventsTest.AccessKeys is crashy BUG=49701 [Linux Views]Some Emacs keybindings are broken in omnibox and find in page box. TEST=Press Alt key in different place (web page, omnibox, find bar, etc.) to see if menu bar can be focused correctly. Press alt-F to popup wrench menu and Escape to close it, then try alt key again. Review URL: http://codereview.chromium.org/3046041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54947 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more callers of the integer/string functions to usingbrettw@chromium.org2010-07-311-2/+3
| | | | | | | | | | string_number_conversions.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3013046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54454 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded headers from app/ (part 2)thestig@chromium.org2010-07-311-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3066014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54437 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent non-visible views from getting focused.mnissler@chromium.org2010-07-141-2/+53
| | | | | | | | | BUG=48719 TEST=FocusManagerTest.TraversalWithNonVisibleViews Review URL: http://codereview.chromium.org/2935005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52293 0039d316-1c4b-4281-b951-d872f2087c98
* Improve toolbar keyboard accessibility.dmazzoni@chromium.org2010-06-181-32/+201
| | | | | | | | | | | | Design doc: https://docs.google.com/a/google.com/Doc?docid=0ATICCjR-gNReY2djdjkyNnNfNzl4ZnpiODQ2Mg&hl=en BUG=40745 BUG=36728 BUG=36222 TEST=New test added to focus_manager_unittest.cc Review URL: http://codereview.chromium.org/2737010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50234 0039d316-1c4b-4281-b951-d872f2087c98
* Defer WidgetGtk's focus manager destructionxiyuan@chromium.org2010-04-201-0/+102
| | | | | | | | | | | | | | | | | | This is for the case when a WidgetGtk is hosted in another WidgtGtk and holds a reference to its focus manager. When hosting widget is destroied, it gets the "destroy" signal before the contained widget and thus schedules its destruction before the contained widget. And currently, we are not clearing the focus manager reference in another root view and when contained widget destructs, we crash. By changing focus manager's release into another message, the focus manager remains valid during contained widget destruction. BUG=none TEST=In ChromeOS, bring up options dialog and then click on buttons such as language settings, networ config etc. Then dismiss the options dialog and Chrome should not crash. Review URL: http://codereview.chromium.org/1661003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45071 0039d316-1c4b-4281-b951-d872f2087c98
* * WidgetGtk::OnKeyPressed never called on window because the signal handleroshima@chromium.org2010-04-021-8/+50
| | | | | | | | | | | | was connected to the content, but the focus was set to GtkWindow by FocusManager. * Enable IgnoreKeyupForAccelerators for linux. BUG=40140 TEST=IgnoreKeyupForAccelerators shoud pass now on linux. Review URL: http://codereview.chromium.org/1575001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43506 0039d316-1c4b-4281-b951-d872f2087c98
* Reenabling some unit-tests on Linux, they seem to work fine now,jcivelli@chromium.org2010-03-251-6/+0
| | | | | | | | | | | even with the screen locked. BUG=23394 TEST=Run the tests. Review URL: http://codereview.chromium.org/1286005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42634 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/gfx contents to gfx/ben@chromium.org2010-03-141-1/+1
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
* Fix compile error "error: #elif with no expression"nsylvain@chromium.org2010-02-271-1/+1
| | | | | | Review URL: http://codereview.chromium.org/660190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40195 0039d316-1c4b-4281-b951-d872f2087c98
* Landing Marshall Greenblatt change.jcampan@chromium.org2010-02-241-0/+59
| | | | | | | | | | | | | See review at: http://codereview.chromium.org/609010/show BUG=None TEST=None Review URL: http://codereview.chromium.org/657019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39827 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes two related focus bugs on views/gtk:sky@chromium.org2010-01-071-0/+3
| | | | | | | | | | | | | | . Focus was inadvertently getting cleared when a window was shown because the focus-in event is received asynchronously. . In some situations we get multiple focus-out events in a row, this caused us to clear out who we thought would have focus. BUG=31140, 31130 TEST=see bugs Review URL: http://codereview.chromium.org/521045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35714 0039d316-1c4b-4281-b951-d872f2087c98
* Use predefined color names where possible for clarity. Also use ↵pkasting@chromium.org2009-10-131-2/+2
| | | | | | | | | | "SkColorSetARGB(0, 0, 0, 0)" in place of "NULL" since it's not obvious what the latter means as a color. BUG=none TEST=none Review URL: http://codereview.chromium.org/273042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28874 0039d316-1c4b-4281-b951-d872f2087c98
* Enabling the default button behavior on Linux toolkit_views.jcampan@chromium.org2009-10-081-13/+14
| | | | | | | | | | | | I had to make the KeyEvent constructor include the event flags. Also cleaned-up some unit-tests BUG=None TEST=Run the unit-tests. Review URL: http://codereview.chromium.org/266012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28397 0039d316-1c4b-4281-b951-d872f2087c98
* Turns on the focus traversal unit-tests and fixed some focus traversal problem:jcampan@chromium.org2009-10-071-74/+74
| | | | | | | | | | | | | | | | - in TabbedPaneView, the focus traversable were not properly hooked-up - the NativeTextField was focusing the wrapper view instead of the actual Textfield view. Also in the FocusTraversal unit-test I had to select one of the radio-button that the test uses, as the behavior of focusing a disabled button is different on Windows (it forces any non disabled radio-button to become selected) than on Gtk. BUG=None TEST=Run the unit tests. Review URL: http://codereview.chromium.org/242163 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28263 0039d316-1c4b-4281-b951-d872f2087c98
* This CL make the AcceleratorDispatcher eat the WM_KEYUP associated tojcampan@chromium.org2009-10-061-0/+132
| | | | | | | | | | | | WM_KEYDOWN that resulted in an accelerator, as they would cause orphaned KeyUp events to be sent to views. This is Windows only for now, still needs to be ported to Linux. BUG=23383 TEST=Run unit-tests. Ensure accelerators work as expected in Chrome. Review URL: http://codereview.chromium.org/246074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28096 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting the NativeViewHostWin focus refactoring.jcampan@chromium.org2009-10-051-103/+1
| | | | | | | | | | | It seems the added subclassing is causing crashers in the field. BUG=23861 TEST=None TBR=beng Review URL: http://codereview.chromium.org/259052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28061 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for a focus related unit-test on Linux toolkit views.jcampan@chromium.org2009-09-301-12/+13
| | | | | | | | | | | | | | | | The problem was caused by the way we were setting the focus, using grab_focus which does not work whenthe screen is locked. We now explicitly send a signal. Also make sure to give a good parent when building a child GtkWidget, as using the WidgetGtk native window would cause a Gtk error. BUG=23394 TEST=Run the unit-tests. R=oshima Review URL: http://codereview.chromium.org/242071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27629 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary disabling a unit test that fails on Linux toolkit views while I ↵jcampan@chromium.org2009-09-301-0/+6
| | | | | | | | | | | investigate. BUG=23394 TBR=huanr Review URL: http://codereview.chromium.org/251039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27570 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding the NativeViewHost refactoring (it was breaking the ChromeOS build). jcampan@chromium.org2009-09-291-1/+103
| | | | | | | | | | | | | | | Refactoring some of the NativeViewHost and NativeControl focus management so their consumers don't have to explicitly set the focused view. See original review: http://codereview.chromium.org/235011/show BUG=None TEST=Run all tests. Make sure focus is stored/restored properly in Chrome. TBR=ben Review URL: http://codereview.chromium.org/246032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27563 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 27113, it breaks the ChomeOS build.jcampan@chromium.org2009-09-241-103/+1
| | | | | | | TBR=ben Review URL: http://codereview.chromium.org/231022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27115 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring some of the NativeViewHost and NativeControl focus management so ↵jcampan@chromium.org2009-09-241-1/+103
| | | | | | | | | | | their consumers don't have to explicitly set the focused view. BUG=None TEST=Run all tests. Make sure focus is stored/restored properly in Chrome. Review URL: http://codereview.chromium.org/214029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27113 0039d316-1c4b-4281-b951-d872f2087c98
* Disabling a focus related unit test on Linux (toolkit_views).jcampan@chromium.org2009-09-221-6/+4
| | | | | | | | | | | | This test fails when the screen is locked. BUG=None TEST=None TBR=nsylvain Review URL: http://codereview.chromium.org/214052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26813 0039d316-1c4b-4281-b951-d872f2087c98
* The FocusManager stores/restores focus when the top window becomes ↵jcampan@chromium.org2009-09-011-36/+59
| | | | | | | | | | | | inactive/active. BUG=None TEST=Run the focus manager unit-tests. Review URL: http://codereview.chromium.org/164448 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25108 0039d316-1c4b-4281-b951-d872f2087c98
* Try to fix the ChromeOS build. This tries to add a views dependency for ↵brettw@chromium.org2009-08-221-3/+4
| | | | | | | | browser_tests, and fixes some simple errors in the focus unit test. Review URL: http://codereview.chromium.org/173243 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24061 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out views::Combobox::Model so that it can be used cross-platform.mattm@chromium.org2009-08-181-6/+7
| | | | | | | | | | This removes the Combobox* source arg from the Model methods, which wasn't really used by anything. BUG=none TEST=none Review URL: http://codereview.chromium.org/165514 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23603 0039d316-1c4b-4281-b951-d872f2087c98
* Making the focus manager unit-tests less Windows specific.jcampan@chromium.org2009-08-041-76/+56
| | | | | | | | | | This is part of the FocusManager port on toolkit_views. BUG=None TEST=All FocusManager unit-tests should pass. Review URL: http://codereview.chromium.org/160601 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22417 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds accelerators to the Linux toolkit views.jcampan@chromium.org2009-07-311-81/+104
| | | | | | | | | | | The MessageLoop had to be modified to support Dispatchers on Linux. BUG=None TEST=On Windows and Linux, make sure the accelerators still work as expected. On Linux toolkit views, build and run the unit-tests. Review URL: http://codereview.chromium.org/159046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22210 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring of tabbed-pane component so it can be ported to Linux toolkit_view.jcampan@chromium.org2009-07-211-5/+7
| | | | | | | | BUG=None TEST=Make sure the Options dialog still works as expected (tab selection, focus traversal...) Review URL: http://codereview.chromium.org/155668 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21189 0039d316-1c4b-4281-b951-d872f2087c98
* This CL removes the last (major) Windows specific part out of the focus ↵jcampan@chromium.org2009-06-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | manager. It was previously landed and reverted because it broke the reliability tests. http://codereview.chromium.org/125148 The breakage was caused by constrained windows not getting a hold of the FocusManager when in unparented tabs. The fix is to ensure unparented tab still have a way to access their FocusManager for proper closure. Files changed from the previous patch that need reviewing: native_tab_contents_container_win.cc tab_contents_view_win.h tab_contents_view_win.cc BUG=None TEST=Run all tests (unit, ui, interactive). Extensively test the focus in Chrome. Review URL: http://codereview.chromium.org/146093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19617 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/150051jcampan@chromium.org2009-06-301-0/+20
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19582 0039d316-1c4b-4281-b951-d872f2087c98
* Revert :nsylvain@chromium.org2009-06-221-3/+2
| | | | | | | | | | | | | | | | | | Changed by: jcampan@chromium.org Changed at: Fri 19 Jun 2009 21:22:47 Branch: src Revision: 18889 Comments: Relanding focus manager refactoring with build fix, see:http://codereview.chromium.org/125148BUG=NoneTEST=NoneTBR=ben Review URL: http://codereview.chromium.org/141013 Because it creates hundreds of new reliability crashes. TBR:jcampan Review URL: http://codereview.chromium.org/140064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18904 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding focus manager refactoring with build fix, ↵jcampan@chromium.org2009-06-201-2/+3
| | | | | | | | see:http://codereview.chromium.org/125148BUG=NoneTEST=NoneTBR=ben Review URL: http://codereview.chromium.org/141013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18889 0039d316-1c4b-4281-b951-d872f2087c98