summaryrefslogtreecommitdiffstats
path: root/views/focus/focus_manager_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Reverting 18872.jcampan@chromium.org2009-06-191-3/+2
| | | | | | | | | | | | Broke the Windows build. BUG=None TEST=None TBR=ben Review URL: http://codereview.chromium.org/140023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18873 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the last Windows specific part out of the focus manager. HWNDs are ↵jcampan@chromium.org2009-06-191-2/+3
| | | | | | | | not subclassed anymore.The FocusManager is now created and owned by top-level WidgetWins.BUG=NoneTEST=Run the unit tests, UI tests, interactive UI tests. Fully test the focus behavior in the browser: activate/deactivate the browser windows, make sure focus is remembered. Switch tabs, make sure focus is remembered for each tab. make sure accelerators work as expected. Test focus traversal in a web page, in the option dialog. Review URL: http://codereview.chromium.org/125148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18872 0039d316-1c4b-4281-b951-d872f2087c98
* Fix focus traversal cycle.yutak@chromium.org2009-06-151-11/+3
| | | | | | | | | | This change makes traversal order of focus cycle consistent between forward and backward traversal. This is a partial fix for issue 6785. BUG=http://crbug.com/6785 TEST=Move the focus to the find bar, and push [Shift]+[Tab]. The focus should not cycle inside the find bar, but go out to the omnibox (or somewhere outside the find bar). Review URL: http://codereview.chromium.org/125130 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18402 0039d316-1c4b-4281-b951-d872f2087c98
* Fix reversed focus traversal order issue.yutak@chromium.org2009-06-121-24/+0
| | | | | | | | | | | | | | | | This change fixes several problems in handling focus traversal and resolves TabbedPane's traversal order issue. Reversed focus traversal is very tricky, and the original traversal code overlooked several things. (1) A focusable view may have a FocusTraverasble. (2) When we are going down, we have to check if the current view has a FocusTraversable. (3) When we are going up from a FocusTraversable, the parent view may gain the next focus. This change fixes these issues. BUG=6871 TEST=See issue 6871. Review URL: http://codereview.chromium.org/125062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18335 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the focus manager to not subclass HWNDs (but for the ↵jcampan@chromium.org2009-06-121-0/+29
| | | | | | | | top-windows).Components that have HWND now need to specifically let the FocusManager know when they get the native focus.This is the reason for the new GotFocus() notification on the RenderWidgetHostViewWin class.BUG=NoneTEST=Run the interactive tests, the unit-tests. Test that the focus is remembered correctly when switching windows, switching tabs. Test that focus traversal in the browser and in the option dialog works as expected. Review URL: http://codereview.chromium.org/122002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18301 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a memory leak in a focus manager unit-test.jcampan@chromium.org2009-06-091-2/+2
| | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/118461 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17986 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds some more FocusManager unit-tests.jcampan@chromium.org2009-06-091-223/+494
| | | | | | | | BUG=None TEST=Run the unit-tests. Review URL: http://codereview.chromium.org/118413 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17951 0039d316-1c4b-4281-b951-d872f2087c98
* FocusManager should accept multiple AcceleratorTargets for each accelerator.yutak@chromium.org2009-06-031-0/+164
| | | | | | | | | | Originally, FocusManager automatically unregisters an old target if multiple AcceleratorTargets are registered to the same accelerator. This behavior is somewhat troublesome, and actually ShelfItemDialog hits a run-time assertion due to the conflict of registrations (issue 12401). This change modifies the behavior of FocusManager to allow multiple targets to be registered for each accelerator. BUG=12401 TEST=See if issue 12401 is resolved. Review URL: http://codereview.chromium.org/114065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17533 0039d316-1c4b-4281-b951-d872f2087c98
* Recent refactoring of the combobox had broken focus.jcampan@chromium.org2009-06-031-21/+40
| | | | | | | | | BUG=13256 TEST=Open the option dialog. Move the focus around by pressing tab, make sure the combobox gets focused correctly. When the focus is on the combobox, activate another (non Chromium) window, then come back to the option dialog, the focus should still be on the combobox. Review URL: http://codereview.chromium.org/118175 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17526 0039d316-1c4b-4281-b951-d872f2087c98
* Move text_field.cc and rename the class to Textfield in preparation for porting.ben@chromium.org2009-05-271-23/+23
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/115825 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17014 0039d316-1c4b-4281-b951-d872f2087c98
* This CL updates chrome to the latest version of skia, retrieved via DEPS, andsenorblanco@chromium.org2009-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | placed in third_party. All relevant skia changes (for all 3 platforms) have been upstreamed. Most of this CL is mind-numbingly repetitive. Things of interest are: skia.gyp (now points at third_party versions), DEPS, and SkUserConfig.h. stdint.h: Skia now requires C99 integer types, which MSVC doesn't support natively. I have put typedefs in config/win/stdint.h. Note that the new version of skia appears to render rects whose coordinates are "backwards" (ie., x2 < x1 or y2 < y1), which were formerly culled. There were a couple obvious instances of this in the code which I fixed, but there may be more. There were ~35 layout test failures due to minor pixel differences which I rebaselined on Windows and Linux, and 8 genuine failures related to masks and stroked text, which I have put in text_expectations.txt and assigned to myself. (There was another change which broke ~1700 tests on each platform, but I put that change behind an #ifdef for now). R=brettw Review URL: http://codereview.chromium.org/65012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15949 0039d316-1c4b-4281-b951-d872f2087c98
* Move src/chrome/views to src/views. RS=darin http://crbug.com/11387ben@chromium.org2009-05-081-0/+666
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15604 0039d316-1c4b-4281-b951-d872f2087c98