summaryrefslogtreecommitdiffstats
path: root/chrome/views/view.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixes crash in ResizeCorner. ResizeCorner was caching the BrowserViewsky@google.com2009-03-091-0/+4
| | | | | | | | | | | | | | that created it, but if a tab contained a download shelf and was dragged to a new window the ResizeCorner would be referencing the wrong BrowserView. I've changed the code to look up the ancestor BrowserView as necessary. BUG=8477 TEST=see bug Review URL: http://codereview.chromium.org/41010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11285 0039d316-1c4b-4281-b951-d872f2087c98
* Support DWM switching.ben@chromium.org2009-03-031-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This completes the collapsing of window types and browser frames around a single class: views::Window. CustomFrameWindow is removed with this change. The Browser window is represented by a single views::Window subclass: BrowserFrame, which replaces both AeroGlassFrame and OpaqueFrame. NonClientView is now a container of two sibling classes - the Window's ClientView (in the Browser's case, BrowserView), and a NonClientFrameView subclass, which provides the rendering for the non-client portions of the window. These Views are siblings rather than the ClientView a child of the NonClientFrameView because when the DWM is toggled, the ClientView would have to be re-parented. Many Views make the assumption they are only inserted into a View hierarchy once, and so this is problematic. By having the views be siblings, this is avoided. With this in mind, all of the former NonClientViews now become NonClientFrameView subclasses: DefaultNonClientView -> CustomFrameView (non-existent, NonClientView) -> NativeFrameView AeroGlassNonClientView -> GlassBrowserFrameView OpaqueNonClientView -> OpaqueBrowserFrameView The latter two derive from NonClientFrameView via BrowserNonClientFrameView, which adds some extras. I also had to modify the TabRenderer class to know how to drop its cache of tab background images when the theme changes since it uses different ones for Glass and non-Glass. This change also fixes a few non-client flicker issues relating to window non-client activation by using more ScopedRedrawLocks. (Touches info_bubble.cc, window.cc) Bugs fixed: http://crbug.com/153 http://crbug.com/747 http://crbug.com/2371 http://crbug.com/3264 http://crbug.com/8234 Plumbing for http://crbug.com/8247 Design docs: http://dev.chromium.org/developers/design-documents/views-windowing http://dev.chromium.org/developers/design-documents/browser-window Review URL: http://codereview.chromium.org/27317 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10757 0039d316-1c4b-4281-b951-d872f2087c98
* Make system menus show up at the right place for all frames, whether they're ↵pkasting@chromium.org2009-02-131-3/+3
| | | | | | | | | | | | | | | | triggered by clicking the window icon or hitting alt-space. Make clicking the icon for windows without a non-client view (e.g. the Bookmark Manager on Aero Glass) bring up the system menu. Clean up more dead code, verbose code, or unnecessary statics/members. TEST=Right-click titlebars, hit alt-space, and left-click window icons (where present), for: * Main window * Dialogs, e.g. the bookmark manager * Popups * App windows When right-clicking, a system menu should appear at the cursor. For the other cases, a system menu should appear at the system native location (roughly just below the titlebar). Review URL: http://codereview.chromium.org/20225 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9766 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup forward declared classes that are not needed in chrome/renderer, ↵thestig@chromium.org2009-02-061-6/+6
| | | | | | | | chrome/test/, and chrome/views. Also fix some lint issues while I'm at it. Review URL: http://codereview.chromium.org/20112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9289 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the broken commit in r8250. The problem was that basictypes.herg@google.com2009-01-201-0/+8
| | | | | | | | | wasn't getting included before a defined(OS_WIN) check. Review URL: http://codereview.chromium.org/18414 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8308 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add #ifdefs to the views/ code and move windows specific codeerg@google.com2009-01-171-8/+0
| | | | | | | | | | into their own files to get some files compiling." Conflicts with something that went in in the interim... Review URL: http://codereview.chromium.org/18187 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8251 0039d316-1c4b-4281-b951-d872f2087c98
* Add #ifdefs to the views/ code and move windows specific code into their own ↵erg@google.com2009-01-171-0/+8
| | | | | | | | | files to get some files compiling. Review URL: http://codereview.chromium.org/18136 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8250 0039d316-1c4b-4281-b951-d872f2087c98
* Constify the params of a couple View functions, which I'll need for an ↵pkasting@chromium.org2009-01-151-5/+7
| | | | | | | | | upcoming change to be able to call these from someone else's const member function. Also fixes a couple cases of wrong parameter wrapping/"*" binding. Review URL: http://codereview.chromium.org/18251 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8057 0039d316-1c4b-4281-b951-d872f2087c98
* Porting in views/phajdan.jr@chromium.org2009-01-131-0/+12
| | | | | | | | | | This actually manages to compile few files on Linux. Porting some other files from views/ would be more difficult, but this view.h change unblocks porting opportunities in other areas. Review URL: http://codereview.chromium.org/17352 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7921 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Container->Widgetben@chromium.org2008-11-211-14/+14
| | | | | | | | | R=erg review url = http://codereview.chromium.org/11348/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5849 0039d316-1c4b-4281-b951-d872f2087c98
* Make border and background setting and getting non-virtual and use the ↵brettw@google.com2008-11-141-12/+10
| | | | | | | | correct style. I was debugging in here and this was annoying me, since there is no reason for these functions to be virtual. Review URL: http://codereview.chromium.org/10638 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5445 0039d316-1c4b-4281-b951-d872f2087c98
* Changes tree/table to pass in an appropriate location when the contextsky@google.com2008-11-101-0/+8
| | | | | | | | | | | | | menu is invoked from the keyboard. BUG=4029 TEST=In the bookmark manager bring up the context menu of the tree/table via the menu key and make sure the menu appears at a reasonable location. Review URL: http://codereview.chromium.org/10256 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5125 0039d316-1c4b-4281-b951-d872f2087c98
* In dialogs, when the focus moves to a button, that button should become the ↵jcampan@chromium.org2008-11-081-0/+3
| | | | | | | | | | | | | | default button. When the focus is not a button, then the default button should be the one the delegate specifies. BUG=4132 TEST=Open the option dialog. OK should be the default and focused button. Move the focus around by pressing tab. When a button is selected, it should be the default button. Review URL: http://codereview.chromium.org/10230 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5056 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for keyboard-triggered (through VK_APPS and SHIFT+VK_F10) ↵klink@chromium.org2008-10-311-0/+10
| | | | | | | | right-click menu, specifically on the toolbar's back/forward buttons. Review URL: http://codereview.chromium.org/8942 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4326 0039d316-1c4b-4281-b951-d872f2087c98
* fix release bustage :-(ben@chromium.org2008-10-171-1/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3555 0039d316-1c4b-4281-b951-d872f2087c98
* Convert SchedulePaint and a few other methods to use gfx types.ben@chromium.org2008-10-171-27/+10
| | | | | | | http://crbug.com/2186 Review URL: http://codereview.chromium.org/7468 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3550 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeViews namespace to viewsben@chromium.org2008-10-161-9/+9
| | | | | | http://crbug.com/2188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3495 0039d316-1c4b-4281-b951-d872f2087c98
* Make View::SetBounds take a const gfx::Rect& instead of a const CRect&ben@chromium.org2008-10-161-20/+21
| | | | | | | | | | Make View::DidChangeBounds call Layout by default, eliminating this function from most places. http://crbug.com/2186 Review URL: http://codereview.chromium.org/7429 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3471 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ViewContainer to Container and HWNDViewContainer to ContainerWin.ben@chromium.org2008-10-161-11/+11
| | | | | | | http://crbug.com/3430 Review URL: http://codereview.chromium.org/7376 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3441 0039d316-1c4b-4281-b951-d872f2087c98
* Convert GetPreferredSize from:beng@google.com2008-10-151-2/+3
| | | | | | | | | | | | | | | | | void GetPreferredSize(CSize* out); to: gfx::Size GetPreferredSize(); .. and update some other places to use gfx::Size as well. http://crbug.com/2186 Review URL: http://codereview.chromium.org/7344 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3400 0039d316-1c4b-4281-b951-d872f2087c98
* Convert HitTest/GetViewForPoint to use gfx::Pointben@chromium.org2008-10-141-3/+4
| | | | | | | http://crbug.com/2186 Review URL: http://codereview.chromium.org/7331 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3384 0039d316-1c4b-4281-b951-d872f2087c98
* Change all ConvertPointTo* methods to use gfx::Point instead of CPoint.ben@chromium.org2008-10-141-8/+3
| | | | | | | | http://crbug.com/2186 Review URL: http://codereview.chromium.org/7317 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3365 0039d316-1c4b-4281-b951-d872f2087c98
* Replace View::GetBounds(CRect* bounds) const; with gfx::Rect bounds() const. ben@chromium.org2008-10-141-4/+3
| | | | | | | | http://crbug.com/2186 Review URL: http://codereview.chromium.org/7136 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3348 0039d316-1c4b-4281-b951-d872f2087c98
* Fix RTL issues with opaque frame. ben@chromium.org2008-10-101-1/+1
| | | | | | | | http://crbug.com/3247 Review URL: http://codereview.chromium.org/7240 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3256 0039d316-1c4b-4281-b951-d872f2087c98
* Rename legacy methods that were in CamelCase to unix_hacker.erg@google.com2008-09-171-13/+15
| | | | | | | | | Required going through and modifying some of the code to solve name clashes. Review URL: http://codereview.chromium.org/2945 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2337 0039d316-1c4b-4281-b951-d872f2087c98
* Allow Views to support an optional hit-test mask. Make hittest use this.beng@google.com2008-09-161-0/+12
| | | | | | | | | | | Make GetViewForPoint call HitTest instead of rolling its own crude hit testing. Update custom-shaped views to use this framework instead of overriding hittest themselves. B=2273 Review URL: http://codereview.chromium.org/3051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2255 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Large patch set (159 files total) to cleanup the includes.maruel@google.com2008-08-151-24/+21
| | | | | | | | | | - Slightly reduce the size of the generated .lib files ~3%. - Reduce the number of implicit and explicit atl and windows includes. hooray! - Help incremental build by reducing the number of unnecessary included files. - Split some template class in two, one base class for the common code and the specialization that inherits from the base class. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@937 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+1323
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98