summaryrefslogtreecommitdiffstats
path: root/views/window/non_client_view.cc
Commit message (Collapse)AuthorAgeFilesLines
* views: Move views/window/ to ui/views/window directory.tfarina@chromium.org2011-11-131-276/+0
| | | | | | | | | | | | Left stub files that will be removed in a follow up patch after updating the files to point to the new location. BUG=104039 R=ben@chromium.org Review URL: http://codereview.chromium.org/8552005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109827 0039d316-1c4b-4281-b951-d872f2087c98
* Aura: Resize cursors show properly when hovering over window framejamescook@chromium.org2011-11-091-4/+1
| | | | | | | | | | | | | + Set the cursor in the desktop's event filter. + Add the ui::EF_IS_NON_CLIENT flag to mouse events when needed, so views doesn't override the cursor. + Move views/window/hit_test.h to ui/base/hit_test.h and remove the extra copy in ui/aura. BUG=103298 TEST=move cursor over desktop, window edges, window client area Review URL: http://codereview.chromium.org/8501018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109278 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes painting regression. The problem was I optimized to only send tosky@chromium.org2011-11-031-3/+2
| | | | | | | | | | | | | | | | | | | NonClientView when inactive rendering disabled changes, but implementations are relying on this to be sent when active state may have changed too. This isn't the right fix, but gives us the old behavior. We really need to persist active state in widget, then notify the NonClientView when it changes, or the inactive rendering disabled state changes. BUG=102695 TEST=easiest to verify on windows in classic mode (non-aero). Create two chrome windows, click between them and make sure the window losing activation state looks inactive. R=ben@chromium.org Review URL: http://codereview.chromium.org/8386064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108465 0039d316-1c4b-4281-b951-d872f2087c98
* Gets disable inactive frame rendering to work correctly for aura. Thissky@chromium.org2011-11-011-2/+18
| | | | | | | | | | | | is needed for bubbles. BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/8351042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108179 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate Window completely.ben@chromium.org2011-06-131-1/+0
| | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7108047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88905 0039d316-1c4b-4281-b951-d872f2087c98
* Move more from Window onto Widget.ben@chromium.org2011-06-081-3/+3
| | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7054052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88356 0039d316-1c4b-4281-b951-d872f2087c98
* Add some missing view class name to better debug view miletus@chromium.org2011-06-031-0/+14
| | | | | | | | | | | | | hierarchy. BUG= TEST= Review URL: http://codereview.chromium.org/7024025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87882 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: Move NonClientView and FrameType logic from Window to Widget.ben@chromium.org2011-06-031-6/+6
| | | | | | | | | | Also fixes leak of default WidgetDelegate by replacing it with a DefaultWidgetDelegate subclass that overrides DeleteDelegate and deletes itself. This required moving the destruction logic from Window down onto Widget. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7033049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87784 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 87702 - Move NonClientView and FrameType logic from Window to Widget.ben@chromium.org2011-06-021-6/+6
| | | | | | | | | | | | | Also fixes leak of default WidgetDelegate by replacing it with a DefaultWidgetDelegate subclass that overrides DeleteDelegate and deletes itself. This required moving the destruction logic from Window down onto Widget. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7033049 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/7109028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87719 0039d316-1c4b-4281-b951-d872f2087c98
* Move NonClientView and FrameType logic from Window to Widget.ben@chromium.org2011-06-021-6/+6
| | | | | | | | | | Also fixes leak of default WidgetDelegate by replacing it with a DefaultWidgetDelegate subclass that overrides DeleteDelegate and deletes itself. This required moving the destruction logic from Window down onto Widget. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7033049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87702 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land:ben@chromium.org2011-05-181-23/+0
| | | | | | | | | | | | Consolidate ShouldUseNativeFrame/AlwaysUseNativeFrame/UseNativeFrame spaghetti. See earlier commit in log for full description. THIS WILL BREAK chrome_frame_tests! BUG=none TEST=none Review URL: http://codereview.chromium.org/7036011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85765 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 85666 - Consolidate ↵ben@chromium.org2011-05-181-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ShouldUseNativeFrame/AlwaysUseNativeFrame/UseNativeFrame spaghetti. Now there is: ... window::ShouldUseNativeFrame() Which is basically just a pass-thru to WindowWin::ShouldUseNativeFrame() ... which can be overridden by subclasses. Native-Frame is a windows-only concept but keeping the API on Window means I don't have to update a lot of call sites. Window also gains a FrameType state member that toggles three states - default, force-native and force-custom. This supercedes the "AlwaysUseNativeFrame/AlwaysUseCustomFrame" methods on NonClientView. I have also hooked up a context menu item behind a command line flag --debug-enable-frame-toggle that allows the frame type for an individual window to be toggled, useful for debugging. BUG=none TEST=none Review URL: http://codereview.chromium.org/7036014 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/6975037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85702 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate ShouldUseNativeFrame/AlwaysUseNativeFrame/UseNativeFrame spaghetti.ben@chromium.org2011-05-171-23/+0
| | | | | | | | | | | | | | | | | | | | | | | Now there is: ... window::ShouldUseNativeFrame() Which is basically just a pass-thru to WindowWin::ShouldUseNativeFrame() ... which can be overridden by subclasses. Native-Frame is a windows-only concept but keeping the API on Window means I don't have to update a lot of call sites. Window also gains a FrameType state member that toggles three states - default, force-native and force-custom. This supercedes the "AlwaysUseNativeFrame/AlwaysUseCustomFrame" methods on NonClientView. I have also hooked up a context menu item behind a command line flag --debug-enable-frame-toggle that allows the frame type for an individual window to be toggled, useful for debugging. BUG=none TEST=none Review URL: http://codereview.chromium.org/7036014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85666 0039d316-1c4b-4281-b951-d872f2087c98
* Implement new gray mock.davemoore@chromium.org2011-05-021-6/+6
| | | | | | | | | BUG=chromium-os:14276 TEST=Login, examine both regular and OTR, and test with and without themes. Review URL: http://codereview.chromium.org/6904160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83729 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: Refactor Views accessibility.dmazzoni@chromium.org2011-03-141-4/+10
| | | | | | | | | BUG=74988 TEST=none Review URL: http://codereview.chromium.org/6581010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78006 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate more into Window:ben@chromium.org2011-03-091-0/+4
| | | | | | | | | | | | - inactive rendering disabling tracking - window icon updating BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6650031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77497 0039d316-1c4b-4281-b951-d872f2087c98
* This will help minimize the area we paint various views, including ↵davemoore@chromium.org2011-03-091-5/+5
| | | | | | | | | | | | | | | | | 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
* Move WindowDelegate and NonClientView creation and management to Window.ben@chromium.org2011-03-071-1/+2
| | | | | | | | | | | This makes WindowGtk/WindowWin a little uglier for now, will improve with consolidation of more functions into Window. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6621033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77194 0039d316-1c4b-4281-b951-d872f2087c98
* Do all OOLing in the views code. linux_views now builds clean with the clang ↵erg@google.com2011-03-041-0/+8
| | | | | | | | | | | plugin. BUG=carnitas TEST=compiles Review URL: http://codereview.chromium.org/6622002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76992 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 76825 - Refactor Views accessibility.jcivelli@chromium.org2011-03-041-10/+4
| | | | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6581010 TBR=dmazzoni@chromium.org Review URL: http://codereview.chromium.org/6612035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76844 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor Views accessibility.dmazzoni@chromium.org2011-03-031-4/+10
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6581010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76825 0039d316-1c4b-4281-b951-d872f2087c98
* Use GetEventHandlerForPoint instead of GetViewForPoint.sadrul@chromium.org2011-02-251-3/+3
| | | | | | | | | BUG=74121 TEST=none Review URL: http://codereview.chromium.org/6575050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76102 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more direct uses of RootView to Widget.ben@chromium.org2011-02-241-1/+1
| | | | | | | | | | | | | | | | | | 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
* Rework tree APIs to reflect Google style and more const-correctness.Also, ↵ben@chromium.org2011-02-091-4/+4
| | | | | | | | | | | move PrintViewHierarchy/PrintFocusHierarchy out into a separate header. BUG=72040 TEST=None Review URL: http://codereview.chromium.org/6452011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74244 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes possible crash in confirm dialog. If you press and hold space,sky@chromium.org2011-02-081-1/+1
| | | | | | | | | | | | | | then press escape (with space still down) and release we end up notifying the delegate twice. The first the time the delegate is notified causes some action so that the second time through we end up crashing (delegate deleted). The fix is to only notify delegate once. BUG=71940 TEST=see bug Review URL: http://codereview.chromium.org/6429001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74131 0039d316-1c4b-4281-b951-d872f2087c98
* Rework basic bounds methods on View to match new V2 API: ben@chromium.org2011-02-081-4/+3
| | | | | | | | | | | | | | | | SetBounds(const gfx::Rect& rect) -> SetBoundsRect(); DidChangeBounds()->OnBoundsChanged() GetLocalBounds(false)->GetLocalBounds() GetLocalBounds(true)->GetContentsBounds() Moved GetBounds(), GetX(), and GetPosition into RTL section. http://crbug.com/72040 TEST=none Review URL: http://codereview.chromium.org/6410109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74052 0039d316-1c4b-4281-b951-d872f2087c98
* Make accessible getters return values instead of accepting an output ↵ctguil@chromium.org2010-09-281-6/+4
| | | | | | | | | | | parameter. GetAccessibleName still needs to be converted. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/3416033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60828 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded headers from app/ (part 2)thestig@chromium.org2010-07-311-4/+1
| | | | | | | | 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
* Make theme change notifications auto-propagate through the view hierarchy, ↵pkasting@chromium.org2010-07-271-1/+1
| | | | | | | | | | | | instead of forcing subclasses to manually call their superclass implementation. This fixes some problems where not all views would get notified of a theme change. Make naming for theme and locale changes consistent and clear. BUG=50107 TEST=none Review URL: http://codereview.chromium.org/2878055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53736 0039d316-1c4b-4281-b951-d872f2087c98
* Initial work to fix the IAccessible tree in circumstances where there is a ↵ctguil@chromium.org2010-05-271-0/+5
| | | | | | | | | | widget not at the root of the UI heirarchy. Also contains misc fixes for setting correct name/role for controls found in the Options dialog. BUG=9621 TEST=none Review URL: http://codereview.chromium.org/2174002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48444 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate a lot of duplicated implementations of Get/SetAccessibleName() by ↵pkasting@chromium.org2010-04-031-12/+0
| | | | | | | | | | just putting it on the base class. Also cleans up a couple other misc. accessibility functions in view.h. BUG=none TEST=none Review URL: http://codereview.chromium.org/1512012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43558 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 41882 - [Accessibility] Chrome's main window is missing an accessible ↵ctguil@chromium.org2010-03-171-3/+0
| | | | | | | | | | | | | | | | name checkdeps.py failed BUG=36732 TEST=Verify Chrome's main window has a name in AccExplorer or run the new test. Review URL: http://codereview.chromium.org/661054 TBR=ctguil@chromium.org Review URL: http://codereview.chromium.org/1063004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41885 0039d316-1c4b-4281-b951-d872f2087c98
* [Accessibility] Chrome's main window is missing an accessible namectguil@chromium.org2010-03-171-0/+3
| | | | | | | | | BUG=36732 TEST=Verify Chrome's main window has a name in AccExplorer or run the new test. Review URL: http://codereview.chromium.org/661054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41882 0039d316-1c4b-4281-b951-d872f2087c98
* Rework nonclient hittest plumbing so the NonClientFrameView is responsible ↵pkasting@chromium.org2010-02-061-12/+1
| | | | | | | | | | for the whole window's hit testing. Make use of this in the glass frame to add support for HTSYSMENU. Doing this in the opaque frame will be more complex, so that's coming next. BUG=6961 TEST=Single- and double-clicks on the upper left corner of a Chrome window in Aero glass mode should trigger the system menu and the window closing, respectively. Review URL: http://codereview.chromium.org/573042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38301 0039d316-1c4b-4281-b951-d872f2087c98
* Support app menu and double-click close on upper left corner of window, part ↵pkasting@chromium.org2010-02-051-5/+1
| | | | | | | | | | | | one. This makes things work right for windows that have an icon. The behavior of the main window is unchanged because right now it never returns HTSYSMENU anywhere. Part two of this change will be figuring out how to return that at the right place, which will make things Just Work. BUG=6961 TEST=Open an app or popup window. Single click the icon. The app menu should appear. Close it, then click-and-drag into the app menu. The item you release on should execute. Double-click the icon. The window should close. Review URL: http://codereview.chromium.org/577018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38187 0039d316-1c4b-4281-b951-d872f2087c98
* Fix style issues in View class.maruel@chromium.org2009-11-071-1/+1
| | | | | | | | | | | BUG=None TEST=None Patch contributed by thiago.farina@gmail.com Review URL: http://codereview.chromium.org/338011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31360 0039d316-1c4b-4281-b951-d872f2087c98
* Enable System Context Menu for linux views.oshima@chromium.org2009-10-221-1/+1
| | | | | | | | | | | | | | | | * Chagned WindowGtk to pass through right click mouse event for HTCAPTION so that ContextMenuController on Frame/Tab view works. * Added ContetMenuController to NonClientView. * Added "PointIsWithinWindowCaption to BrowserView to exclude chromeos specific components from Caption area. Fix a minor bug in NonClientView * GetViewForPoint was using wrong point. This wasn't causing any issue as the frame_view's origin was (0, 0) BUG=None TEST=run chromeos build and right click frame view and verify that you get system menu. Review URL: http://codereview.chromium.org/303014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29807 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bubbles deactivating the opaque frame.ben@chromium.org2009-10-201-0/+4
| | | | | | | | | | | The theme work caused a check that had been included to see if the frame view should be painted as active even if it was inactive. This reintroduces that check. http://crbug.com/20966 TEST=see bug Review URL: http://codereview.chromium.org/303012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29571 0039d316-1c4b-4281-b951-d872f2087c98
* Change the way the NonClientView handles forcing the native frame for ↵ben@chromium.org2009-09-281-11/+12
| | | | | | | | | | | | | popups/app windows. Rather than carrying state in a force_native_frame_ member it uses a virtual method AlwaysUseNativeFrame analogous to AlwaysUseCustomFrame. This makes me a little happier. BUG=none TEST=On a vista capable system, test that when a theme is installed, popups and app frames are rendered with the native frame. Test that constrained windows (e.g. HTTP basic auth) are rendered with the custom frame. Without a theme installed, test that all windows have a native frame except constrained windows. With Vista Basic system setting, verify that all windows have a custom frame, including constrained windows. Review URL: http://codereview.chromium.org/200146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27413 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that popups windows are not themed.mirandac@chromium.org2009-08-071-1/+8
| | | | | | | | | BUG= http://crbug.com/18093 TEST= While running Chrome with a theme installed, and force a popup. Note that the popup window is not themed. Review URL: http://codereview.chromium.org/159871 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22783 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes the Linux build break.klink@chromium.org2009-07-281-4/+0
| | | | | | | | TBR=jcampan Review URL: http://codereview.chromium.org/159543 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21897 0039d316-1c4b-4281-b951-d872f2087c98
* Adds additional MSAA information to fill in a few gaps in the hierarchy.klink@chromium.org2009-07-281-0/+21
| | | | | | | | | TEST=None BUG=None Review URL: http://codereview.chromium.org/160239 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21896 0039d316-1c4b-4281-b951-d872f2087c98
* Inverted logic in UseNativeFrame meant all constrained windows were opened ↵ben@chromium.org2009-07-081-1/+1
| | | | | | | | | | | with double-window frames. http://crbug.com/14476 TEST=see bug, or visit any page with HTTP basic auth Review URL: http://codereview.chromium.org/149294 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20105 0039d316-1c4b-4281-b951-d872f2087c98
* Use the right frame type on startup, do proper swapping of frames when ↵glen@chromium.org2009-05-311-18/+11
| | | | | | | | | | | themes change. Leave the native frame decision up to the ThemeProvider. BUG=12890 TEST=In Aero, unstall a theme, reset to default, install again, restart, reset theme to default. Make sure that the Aero frame changes to the themed frame and back again appropriately. Review URL: http://codereview.chromium.org/118053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17301 0039d316-1c4b-4281-b951-d872f2087c98
* Removing floating views, they are not used anymore.jcampan@chromium.org2009-05-111-6/+1
| | | | | | | | | BUG=None TEST=Run unit_tests, ui_tests, interactive ui_tests. Make sure focus traversal still works. Review URL: http://codereview.chromium.org/113215 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15817 0039d316-1c4b-4281-b951-d872f2087c98
* Use the non-native frame when using themes even on Aero Glass.ben@chromium.org2009-05-091-0/+2
| | | | | | Review URL: http://codereview.chromium.org/113183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15725 0039d316-1c4b-4281-b951-d872f2087c98
* Move win_util.h from common to app.ben@chromium.org2009-05-081-1/+1
| | | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/113169 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15694 0039d316-1c4b-4281-b951-d872f2087c98
* Resurrect Scott's WindowGtk changes.ben@chromium.org2009-05-081-0/+9
| | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/115143 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15678 0039d316-1c4b-4281-b951-d872f2087c98
* Move src/chrome/views to src/views. RS=darin http://crbug.com/11387ben@chromium.org2009-05-081-0/+255
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15604 0039d316-1c4b-4281-b951-d872f2087c98