summaryrefslogtreecommitdiffstats
path: root/views/window/window_win.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename WindowWin|Gtk->NativeWindowWin|Gtkben@chromium.org2011-05-191-277/+0
| | | | | | | | | BUG=72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/7048006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85969 0039d316-1c4b-4281-b951-d872f2087c98
* Rename WidgetWin/Gtk -> NativeWidgetWin/Gtk.ben@chromium.org2011-05-191-7/+8
| | | | | | | | | BUG=72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/7039050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85910 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some rendering glitches in the custom frame by re-introducing nasty old ↵ben@chromium.org2011-05-181-3/+0
| | | | | | | | | | code since I have found no way to avoid using it. BUG=79640 TEST=see bug Review URL: http://codereview.chromium.org/7038021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85774 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes more default non-client frame painting.ben@chromium.org2011-05-171-0/+3
| | | | | | | | http://crbug.com/22704 TEST=see bug Review URL: http://codereview.chromium.org/7030025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85628 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land:ben@chromium.org2011-05-131-6/+6
| | | | | | | | | | | | Split the hierarchy. Now with AutocompletePopup implementing SupportsWeakPtr as before. This fixes the Windows XP crashes in browser_tests. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7015051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85298 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 85269 - Split the hierarchy. ben@chromium.org2011-05-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Widget ---- Now recognizes a supplied NativeWidget via InitParams. If this is specified then a default one is not created. Is now created directly rather than using a factory. NativeWidget creation is not performed until Init() is called. This means some functions that rely on a NativeWidget must not be called until _AFTER_ Init() (explains some of the function call reordering in this CL, e.g. moving SetOpacity() until after Init()). ResetLastMouseMovedFlag() moved to this API so that BaseTabStrip can call it in a cross-platform way. Made last remaining unimplemented methods on Widget pass-thru to NativeWidget implementations. * WidgetWin/WidgetGtk ---- The NativeWidget implementations now both require a NativeWidgetDelegate implementation upon construction. This is passed through the constructor by the static factory method NativeWidget::CreateNativeWidget and by subclasses such as WindowWin, BubbleWidgetWin, etc. Some classes that are constructed directly (e.g. LockWindow, in ChromeOS) never have a Widget created for them, so they create the Widget themselves in their base class initializer. Code in these classes (and their WindowWin/WindowGtk, BrowserFrameWin, BrowserFrameGtk subclasses) must now call GetWidget() etc to call Widget API methods since they are no longer subclasses. static_casting to this (and derived) types must now be done on the Widget's native_widget(). GetWindow() is renamed to GetContainingWindow() to avoid naming conflicts. * Window ---- Window is now a subclass of Widget. Now recognizes a supplied NativeWindow via InitParams. If this is specified then a default one is not created. Window::CloseWindow becomes an override of Widget::Close. CloseAllSecondaryWindows() becomes CloseAllSecondaryWidgets() and moves to widget.h IsAppWindow() is removed and replaced by set_is_secondary_widget on Widget. * MenuHost ---- Subclasses Widget now. * TabContentsViewViews ---- It looks like the Gtk-views code here was still using the old implementation of the Native version of this class - i.e. a class that subclassed TabContentsView AND WidgetGtk. A no-no. I had to write NativeTabContentsViewGtk, which is almost identical to NativeTabContentsViewWin with the Gtk bits of TabContentsViewGtk thrown in. * BrowserFrame ---- Platform-specific functionality is now restricted to BrowserFrameWin/BrowserFrameGtk behind a NativeBrowserFrame interface. Construction is exposed via a static factory method on NativeBrowserFrame. BrowserFrame becomes a concrete class that now subclasses Window. As a result, it no longer needs a GetWindow() accessor method, so people with a BrowserFrame* can just call Window methods directly on it. It is constructed directly, replacing the BrowserFrame::Create() method. NativeBrowserFrameDelegate is no longer needed. BrowserFrameChromeos is simpler as a couple of #ifdefs in BrowserFrame, so I got rid of that too. * AutocompletePopupWin/Gtk ---- No longer required. AutocompletePopupContentsView now just uses a Widget directly. * There is some lingering ugliness: - If you set a native_window field on Window::InitParams you must also manually set widget_init_params.native_widget. I will make InitParams do more of this automatically later. - It'd be nice for the ContentsView to be specified via InitParams. I'll get to this later. - NativeBrowserFrame could probably disappear as an interface. It only exists to provide a couple of methods that may be implemented in other ways. - delete_on_destroy should now be an ownership directionality enum. I will do this later. - Secondary-widgetness should somehow be inferred from transience. Later. - set_focus_on_creation for both the NativeWidgets should probably move to Widget if it is really needed. - WidgetWin/Gtk::SetInitialFocus seems like it could move to Widget. - I need to clean up function order in some cases. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7012006 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/7011038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85283 0039d316-1c4b-4281-b951-d872f2087c98
* Split the hierarchy. ben@chromium.org2011-05-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Widget ---- Now recognizes a supplied NativeWidget via InitParams. If this is specified then a default one is not created. Is now created directly rather than using a factory. NativeWidget creation is not performed until Init() is called. This means some functions that rely on a NativeWidget must not be called until _AFTER_ Init() (explains some of the function call reordering in this CL, e.g. moving SetOpacity() until after Init()). ResetLastMouseMovedFlag() moved to this API so that BaseTabStrip can call it in a cross-platform way. Made last remaining unimplemented methods on Widget pass-thru to NativeWidget implementations. * WidgetWin/WidgetGtk ---- The NativeWidget implementations now both require a NativeWidgetDelegate implementation upon construction. This is passed through the constructor by the static factory method NativeWidget::CreateNativeWidget and by subclasses such as WindowWin, BubbleWidgetWin, etc. Some classes that are constructed directly (e.g. LockWindow, in ChromeOS) never have a Widget created for them, so they create the Widget themselves in their base class initializer. Code in these classes (and their WindowWin/WindowGtk, BrowserFrameWin, BrowserFrameGtk subclasses) must now call GetWidget() etc to call Widget API methods since they are no longer subclasses. static_casting to this (and derived) types must now be done on the Widget's native_widget(). GetWindow() is renamed to GetContainingWindow() to avoid naming conflicts. * Window ---- Window is now a subclass of Widget. Now recognizes a supplied NativeWindow via InitParams. If this is specified then a default one is not created. Window::CloseWindow becomes an override of Widget::Close. CloseAllSecondaryWindows() becomes CloseAllSecondaryWidgets() and moves to widget.h IsAppWindow() is removed and replaced by set_is_secondary_widget on Widget. * MenuHost ---- Subclasses Widget now. * TabContentsViewViews ---- It looks like the Gtk-views code here was still using the old implementation of the Native version of this class - i.e. a class that subclassed TabContentsView AND WidgetGtk. A no-no. I had to write NativeTabContentsViewGtk, which is almost identical to NativeTabContentsViewWin with the Gtk bits of TabContentsViewGtk thrown in. * BrowserFrame ---- Platform-specific functionality is now restricted to BrowserFrameWin/BrowserFrameGtk behind a NativeBrowserFrame interface. Construction is exposed via a static factory method on NativeBrowserFrame. BrowserFrame becomes a concrete class that now subclasses Window. As a result, it no longer needs a GetWindow() accessor method, so people with a BrowserFrame* can just call Window methods directly on it. It is constructed directly, replacing the BrowserFrame::Create() method. NativeBrowserFrameDelegate is no longer needed. BrowserFrameChromeos is simpler as a couple of #ifdefs in BrowserFrame, so I got rid of that too. * AutocompletePopupWin/Gtk ---- No longer required. AutocompletePopupContentsView now just uses a Widget directly. * There is some lingering ugliness: - If you set a native_window field on Window::InitParams you must also manually set widget_init_params.native_widget. I will make InitParams do more of this automatically later. - It'd be nice for the ContentsView to be specified via InitParams. I'll get to this later. - NativeBrowserFrame could probably disappear as an interface. It only exists to provide a couple of methods that may be implemented in other ways. - delete_on_destroy should now be an ownership directionality enum. I will do this later. - Secondary-widgetness should somehow be inferred from transience. Later. - set_focus_on_creation for both the NativeWidgets should probably move to Widget if it is really needed. - WidgetWin/Gtk::SetInitialFocus seems like it could move to Widget. - I need to clean up function order in some cases. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7012006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85269 0039d316-1c4b-4281-b951-d872f2087c98
* Create InitParams for Window.ben@chromium.org2011-04-281-3/+1
| | | | | | | | http://crbug.com/72040 TEST=none Review URL: http://codereview.chromium.org/6902049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83384 0039d316-1c4b-4281-b951-d872f2087c98
* Scrap WNDCLASSEX.hCursor, update GetCursorForPoint.msw@chromium.org2011-04-271-7/+0
| | | | | | | | | | | | | | | | | Default to Win arrow in View::GetCursorForPoint & RootView::UpdateCursor. Simplify WidgetWin::SetCursor, avoid sending NULL. Only SetCuror on client events (DWM handles non-client). RIP TextButtonWithHandCursorOver (r57652 through r64531). RIP WindowWin::InitClass & |resize_cursors_|. Add OVERRIDE specifiers liberally. BUG=35356 TEST=Cursor styles shown in Win & Linux toolkit_views. Review URL: http://codereview.chromium.org/6880201 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83123 0039d316-1c4b-4281-b951-d872f2087c98
* Rename CreateParams to InitParams.ben@chromium.org2011-04-261-1/+1
| | | | | | | | | http://crbug.com/72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/6901034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83057 0039d316-1c4b-4281-b951-d872f2087c98
* Rework the way Widget::Init works:ben@chromium.org2011-04-261-6/+1
| | | | | | | | | | | | | - Remove SetCreateParams from the public Widget API. - Add parent/bounds fields to CreateParams - Make Widget::Init be the canonical init method (vs. WidgetWin/Gtk Init) and have it take a CreateParams. - NativeWidget now has a InitNativeWidget method, which subclasses can override. Everyone must call Widget::Init via Widget* (not WidgetWin* as this will be ambiguous to WindowImpl::Init). BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6881107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83037 0039d316-1c4b-4281-b951-d872f2087c98
* Fix painting glitch by suppressing non-client painting for WindowWins only ↵ben@chromium.org2011-04-241-0/+3
| | | | | | | | | | | when resizing, and forcing a NCPaint after the size/move ends. http://crbug.com/79640 TEST=classic mode, see bug Review URL: http://codereview.chromium.org/6897031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82804 0039d316-1c4b-4281-b951-d872f2087c98
* Refactors login window widget creation methods into platform specific methods.sky@chromium.org2011-04-201-5/+1
| | | | | | | | | | BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/6877064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82384 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate Widget Event code, other cleanup.msw@chromium.org2011-03-311-3/+0
| | | | | | | | | | | | | Rename *NativeCapture to *MouseCapture. Rename and move ShouldReleaseCaptureOnMouseReleased. Move static flag function to Event. BUG=72040 TEST=Mouse interaction on win & linux_views. Review URL: http://codereview.chromium.org/6756043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80065 0039d316-1c4b-4281-b951-d872f2087c98
* Fix window activation when closing a modal dialog box. It turns out ↵ben@chromium.org2011-03-161-0/+1
| | | | | | | | | | | | GetForegroundWindow() returns a different value when it's called from WM_DESTROY vs. WM_CLOSE. We need to do activation restoration earlier than WM_DESTROY. http://crbug.com/75610 TEST=see bug TBR=sky Review URL: http://codereview.chromium.org/6670054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78420 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 78062 with some NULL checks.ben@chromium.org2011-03-141-2/+4
| | | | | | | | | Revert 78062 - Migrate more of BrowserFrame's event handling down into WindowWin/WidgetWin and their delegate interfaces. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6683007 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/6686059 Review URL: http://codereview.chromium.org/6677029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78129 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 78062 - Migrate more of BrowserFrame's event handling down into ↵ben@chromium.org2011-03-141-4/+2
| | | | | | | | | | | | | | WindowWin/WidgetWin and their delegate interfaces. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6683007 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/6686059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78093 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate more of BrowserFrame's event handling down into WindowWin/WidgetWin ↵ben@chromium.org2011-03-141-2/+4
| | | | | | | | | | | and their delegate interfaces. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6683007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78062 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: Refactor Views accessibility.dmazzoni@chromium.org2011-03-141-2/+2
| | | | | | | | | 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
* Add Activation support to WindowDelegate.ben@chromium.org2011-03-111-1/+2
| | | | | | | | | | | | | WindowDelegate now sports two additional methods: CanActivate() and OnWindowActivated(). Converts BrowserView to implement these methods instead of requiring BrowserFrame to override WindowWin methods to handle activation events. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6679002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77848 0039d316-1c4b-4281-b951-d872f2087c98
* Remove broken (and previously unused) OnMouseLeave overrides.msw@chromium.org2011-03-101-3/+0
| | | | | | | | | | | | | Both WindowWin and TabContentsViewWin had incorrect signatures to override WidgetWin::OnMouseLeave. crrev.com/77221 mistakenly 'fixed' WindowWin::OnMouseLeave to actually override that of WidgetWin. In this CL, remove the broken and previously unused overrides; add OVERRIDE keywords liberally. BUG=75334,75367 TEST=repro and similar mouse interaction. Review URL: http://codereview.chromium.org/6646053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77716 0039d316-1c4b-4281-b951-d872f2087c98
* Build out NativeWindow interface for Window method pass-thrus.ben@chromium.org2011-03-101-26/+31
| | | | | | | | | | BUG=72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/6659035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77671 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate more into Window.ben@chromium.org2011-03-091-16/+5
| | | | | | | | | | | - various window attributes BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6661003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77538 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate more into Window:ben@chromium.org2011-03-091-11/+2
| | | | | | | | | | | | - 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
* Update OnMouseActivate override signatures.msw@chromium.org2011-03-091-14/+23
| | | | | | | | | | | | Add OVERRIDE keyword liberally to some relevant overrides. Fix copyright dates. BUG=75366 TEST=Omnibox clicking, etc. Review URL: http://codereview.chromium.org/6648018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77431 0039d316-1c4b-4281-b951-d872f2087c98
* Fix clang build by renaming method ShowWindow()ben@chromium.org2011-03-091-1/+1
| | | | | | | | | BUG=72040 TEST=none TBR=thakis Review URL: http://codereview.chromium.org/6652016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77424 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate window showing into Window base class.ben@chromium.org2011-03-091-33/+15
| | | | | | | | | | | NativeWindow gets methods to update accessible state, title, Center and Show. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6647004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77421 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate some more stuff in Window. PreferredSize obtaining.ben@chromium.org2011-03-081-10/+10
| | | | | | | | | | | Move GetShowState to BrowserFrameWin rather than needlessly delegate to BrowserView. This removes a small amount of WIndows-specific code from BrowserView. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6627079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77306 0039d316-1c4b-4281-b951-d872f2087c98
* Add new MouseEvent ctors; update WidgetWin & WindowWin usage.msw@chromium.org2011-03-081-67/+65
| | | | | | | | | BUG=72040 TEST=Manual mouse event testing. Review URL: http://codereview.chromium.org/6591120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77221 0039d316-1c4b-4281-b951-d872f2087c98
* Move WindowDelegate and NonClientView creation and management to Window.ben@chromium.org2011-03-071-12/+0
| | | | | | | | | | | 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
* Make Window class concrete (mostly).ben@chromium.org2011-03-051-2/+7
| | | | | | | | | | | | Create NativeWindow/NativeWindowDelegate interfaces. BUG=72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/6626036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77006 0039d316-1c4b-4281-b951-d872f2087c98
* Two things:ben@chromium.org2011-03-041-1/+0
| | | | | | | | | | | | - simplify root view sizing. - move focus manager creation/management to Widget BUG=72040 TEST=existing unittests Review URL: http://codereview.chromium.org/6609026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76963 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Window::SetBounds to SetWindowBounds, to uncofuse overrides.thakis@chromium.org2011-03-041-2/+2
| | | | | | | | | | BUG=70465,72205 TEST=none TBR=ben Review URL: http://codereview.chromium.org/6624011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76953 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 74693. Changing approach.ben@chromium.org2011-02-141-6/+7
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74849 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Widgetwin->NativeWidgetWinben@chromium.org2011-02-111-7/+6
| | | | | | | | | 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
* Store the user's profile as a property of a window in order to access it ↵mirandac@chromium.org2011-02-041-0/+2
| | | | | | | | | | | when saving window data with the ChromeViewsDelegate. BUG=71804 TEST=PreservedWindowPlacement tests pass on all platforms. Review URL: http://codereview.chromium.org/6250114 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73801 0039d316-1c4b-4281-b951-d872f2087c98
* Cross-platform CL to remove app/win/win_util.h&cc and related work.msw@chromium.org2011-02-031-4/+16
| | | | | | | | | | | | | | | | | | | | See Issue 70141 for the full move details; see my inline review comments. Changes significantly different from or beyond those prescribed by the bug: *Consolidated a lot of GrabWindowSnapshot code. *Moved EnsureRectIsVisibleInRect to views::internal namespace for test access. *Moved app/win/win_util_unittest.cc to views/window/window_win_unittest.h *Named ui/base/message_box_win.h instead of ui/base/message_box.h *Made WindowWin::GetWindowTitleFont static; needed in static contexts. *Denoted WindowWin::FrameTypeChanged as a Window override, moved code. *Moved TestGrabWindowSnapshot into new file: chrome/browser/ui/window_snapshot/window_snapshot_mac_unittest.mm BUG=70141 TEST=none Review URL: http://codereview.chromium.org/6386009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73589 0039d316-1c4b-4281-b951-d872f2087c98
* Allow chrome to be customized for screen reader users.ctguil@chromium.org2010-09-291-1/+1
| | | | | | | | | | | Add Widget::IsAccessibleWidget() that will return true when Chrome can be customized screen reader users. BUG=37357,55902 TEST=JAWS or NVDA users have "(Incognito)" in their window title. Tablet users are unaffected. Review URL: http://codereview.chromium.org/3427026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60888 0039d316-1c4b-4281-b951-d872f2087c98
* Append "(Incognito)" to the accessible title of the browser window.ctguil@chromium.org2010-09-271-1/+1
| | | | | | | | | | | This actual window title remains the same. BUG=37357 TEST=Screen readers read "Incognito" for browser windows that are off the record. Review URL: http://codereview.chromium.org/3400028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60658 0039d316-1c4b-4281-b951-d872f2087c98
* Making window.focus() work in Chrome.jcivelli@chromium.org2010-08-111-1/+2
| | | | | | | | | | | | | | | | A patch on the WebKit side https://bugs.webkit.org/show_bug.cgi?id=43542 ensures we get the correct notification when window.focus()/blur() is called. This CL makes the browser active/unactive in response to the focus/blur message. BUG=29643 TEST=Visit gmail. Open an IM conversation window and pop-it out. Focus the browser (so the IM window is in the back). Click on the person name in the IM section of gmail. The conversation window should be brought back to the front. Repeat but this time minimize the conversation window. Review URL: http://codereview.chromium.org/3060045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55678 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Provide accessibility support for Window_win.ctguil@chromium.org2010-05-171-0/+5
| | | | | | | | TEST=Ensure that the About Chrome dialog has proper accessibility role. BUG=none Review URL: http://codereview.chromium.org/1838002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47454 0039d316-1c4b-4281-b951-d872f2087c98
* Support app menu and double-click close on upper left corner of window, part ↵pkasting@chromium.org2010-02-051-12/+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
* Lands http://codereview.chromium.org/466002 for Thiago:sky@chromium.org2009-12-041-1/+1
| | | | | | | | | | | Switch a CSize variable (WTL) to use the gfx::Size type. BUG=2186 TEST=compiles Review URL: http://codereview.chromium.org/466039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33877 0039d316-1c4b-4281-b951-d872f2087c98
* Landing georgey CL.jcampan@chromium.org2009-11-111-0/+7
| | | | | | | | See http://codereview.chromium.org/384012 Review URL: http://codereview.chromium.org/387028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31717 0039d316-1c4b-4281-b951-d872f2087c98
* Move all the stuff relating to detached tab dragging out of BrowserFrameWin ↵ben@chromium.org2009-11-071-0/+5
| | | | | | | | and onto the TabStrip2 object. It was mostly cross platform anyway.Adds APIs to Widget that:- allow a Widget to be obtained for a given gfx::NativeView- allow native properties to be set on a Widget.Adds an API to Window that lets the caller convert the window's appearance into a lightly transparent transient looking thing for dragging.BUG=noneTEST=none Review URL: http://codereview.chromium.org/149440 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31394 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure the RootView is sized to the correct bounds when the opaque frame ↵ben@chromium.org2009-10-231-1/+7
| | | | | | | | is maximized.It seems that now, when an opaque frame is maximized we also need to add the SM_CXSIZEFRAME to the top of the client rect. I don't know why, it's just is.I reworked the way Widget allows subclasses to handle sizing of the RootView... I delegate responsibility for determining the RootView's bounds to a helper virtual function which BrowserFrameWin overrides. This seems cleaner to me. I make sure this handling only occurs when the window is not maximized.http://crbug.com/25227TEST=use to a theme or switch off glass on vista or use Xp. Maximize the browser window. The tabs should be entirely visible. Review URL: http://codereview.chromium.org/304007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29882 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Omnibox cursor flicker by deleting a bunch of useless code in WindowWin.pkasting@chromium.org2009-07-241-1/+0
| | | | | | | | | | I tested running the app in Vista non-Aero, and I still got resize cursors on all edges and was able to resize the window. BUG=13926 TEST=Mouse around on the omnibox; the cursor should not flicker. Review URL: http://codereview.chromium.org/159245 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21485 0039d316-1c4b-4281-b951-d872f2087c98
* For consistency, stop using the workarea coordinate inyuzo@chromium.org2009-06-231-0/+5
| | | | | | | | | | | | | saving/retrieving/adjusting window positions. TEST=Open Chrome windows and see if they are placed properly. TESTED=gcl try, manually BUG=none Review URL: http://codereview.chromium.org/141039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19012 0039d316-1c4b-4281-b951-d872f2087c98
* Show caption area context menu on mouseup, not mousedown. Original patch by ↵pkasting@chromium.org2009-06-111-0/+6
| | | | | | | | | Yong Shin (see http://codereview.chromium.org/18095 ), r=me, modified by me. BUG=5695 TEST=Right-click the titlebar area; the menu should not appear until mouse up. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18170 0039d316-1c4b-4281-b951-d872f2087c98