summaryrefslogtreecommitdiffstats
path: root/views/window/window_win.cc
Commit message (Collapse)AuthorAgeFilesLines
* Landing georgey CL.jcampan@chromium.org2009-11-111-5/+39
| | | | | | | | 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-1/+23
| | | | | | | | 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
* Attempt 2 at:sky@chromium.org2009-11-041-2/+2
| | | | | | | | | | | | | | | Gets find bar animation/clipping to work on views/gtk. The only difference between this and the first version is fixing an include in extension_host that was triggering mac to build views, as well as an extraneous SetSlideDuration I had used for testing. BUG=none TEST=none TBR=ben Review URL: http://codereview.chromium.org/342116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30942 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 30903 - Gets find bar animation/clipping to work on views/gtk.sky@chromium.org2009-11-041-2/+2
| | | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/340077 TBR=sky@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30913 0039d316-1c4b-4281-b951-d872f2087c98
* Gets find bar animation/clipping to work on views/gtk.sky@chromium.org2009-11-041-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/340077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30903 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure the RootView is sized to the correct bounds when the opaque frame ↵ben@chromium.org2009-10-231-10/+70
| | | | | | | | 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
* When opening Chrome maximized with an application window alreadyjcampan@chromium.org2009-10-211-1/+1
| | | | | | | | | | | running, the Chrome window was not activated. BUG=19373 TEST=See bug Review URL: http://codereview.chromium.org/308008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29654 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a whole category of frame switching bugs relating to the window z-order ↵ben@chromium.org2009-10-151-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | being screwed up screwed up when DWM is toggled or themes are installed or reset. The first part of the fix was to remove the hack I put in to hide then show the window while the frame type change occurs. The hack was to work around the fact that upon returning to glass from non-glass, the area identified by BrowserFrameWin::OnNCCalcSize as client was filled with solid black vs. transparent black. I don't know why this fix works, but returning a client size for the opaque frame as 1 pixel different to the window rect causes the blackness bug to not occur, so that's what I did (in addition to removing the hack). I also had to put in a couple of fixes to accommodate the pixel turd we gain in the opaque frame. I renamed ChangeSize to LayoutRootView. When we're using the opaque frame, since the views system is rendering the entire content of the window all the time I always size the widget to the window rect rather than the client rect. http://crbug.com/15424 TEST=change the frame type by: - turning on/off aero glass - installing a theme, then resetting - running an app that forces the DWM off, e.g. the O3D plugin The frame should appear correct after the transition in either direction, and window z-order should be preserved. Review URL: http://codereview.chromium.org/266013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29164 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply the change from r8062 to fix the Windows Classic maximized window ↵pkasting@chromium.org2009-09-241-4/+15
| | | | | | | | | | | | region, which I inexplicably removed in r10845. Without this fix, a maximized Chrome window on one monitor "bleeds over" into adjacent monitors in Windows Classic mode, creating a narrow strip where nothing ever redraws damaged pixels. BUG=none TEST=none Review URL: http://codereview.chromium.org/211058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27091 0039d316-1c4b-4281-b951-d872f2087c98
* Implements WindowGtk::CloseAllSecondaryWindows.sky@chromium.org2009-09-091-15/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/197063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25768 0039d316-1c4b-4281-b951-d872f2087c98
* Theme reset fixes.glen@chromium.org2009-07-241-4/+5
| | | | | | | | | BUG=16669 TEST=Make sure that resetting your theme to the default on Aero Glass causes you to see a black frame. Review URL: http://codereview.chromium.org/159332 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21590 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Omnibox cursor flicker by deleting a bunch of useless code in WindowWin.pkasting@chromium.org2009-07-241-41/+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
* Fix crash on older versions of windows that don't have DWM APIs.ben@chromium.org2009-07-201-8/+12
| | | | | | | | | http://crbug.com/17290 TEST=none Review URL: http://codereview.chromium.org/155798 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21112 0039d316-1c4b-4281-b951-d872f2087c98
* Fix frame turning black when reseting theme. Also simplifies the frameben@chromium.org2009-07-181-32/+27
| | | | | | | | | | | | | | type changed code somewhat. It turns out the frame still needs to be hidden for WM_DWMCOMPOSITIONCHANGED message handlers however. Not sure why, but this is the simplest/least buggy this code has been so far so I can live with it. http://crbug.com/14578 TEST=see bug Review URL: http://codereview.chromium.org/159050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21045 0039d316-1c4b-4281-b951-d872f2087c98
* Fix: Position always off-screen when starting upyuzo@chromium.org2009-07-091-1/+2
| | | | | | | | | | | | | | Fixed the offset-by-taskbar logic. Tested with dual monitors, trying left-right and up-down monitor layouts. TEST=Use dual monitors (first:left, second:right) and open, close, and reopen Chromium in the second (right) window. Without this change, the window appears far to the right from the last location. BUG=15199 Review URL: http://codereview.chromium.org/155201 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20246 0039d316-1c4b-4281-b951-d872f2087c98
* Remove svn:executable property from files that don't need it.thestig@chromium.org2009-07-081-0/+0
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/155199 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20161 0039d316-1c4b-4281-b951-d872f2087c98
* This CL removes the last (major) Windows specific part out of the focus ↵jcampan@chromium.org2009-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* For consistency, stop using the workarea coordinate inyuzo@chromium.org2009-06-231-15/+29
| | | | | | | | | | | | | 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
* Revert :nsylvain@chromium.org2009-06-221-1/+1
| | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | 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-1/+1
| | | | | | | | | | | | 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-1/+1
| | | | | | | | 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
* Hook up "clear browsing data" dialog. It looks like ass right now. The ↵ben@chromium.org2009-06-181-27/+0
| | | | | | | | | | intent is to be able to debug problems with NativeControls under Gtk. BUG=none TEST=none Review URL: http://codereview.chromium.org/131027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18715 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the PlatformContext layer to have only one class.brettw@chromium.org2009-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Previously we had three classes of PlatformCanvas*, one for each platform. Then we had a typedef of PlatformContext to PlatformCanvas[Mac|Win|Linux] for the specific platform. This means that it was almost impossible to forward-declare PlatformCanvas and there were a bunch of unnecessary includes of platform_canvas.h in header files. This change makes there be only one platform_canvas.h header with ifdefs, which removes a decent amount of duplicated code. There is a platform-independent file, and one platform-dependent file of platform_canvas for each platform. I also renamed PlatformDevice[Mac|Win|Linux] to PlatformDevice, althouth in this case I kept the separate headers since there was much less overlap. I also broke out CanvasPaint into separate headers so this template doesn't need to be included all over the project (only a couple of files actually need it). Review URL: http://codereview.chromium.org/125109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18363 0039d316-1c4b-4281-b951-d872f2087c98
* Show caption area context menu on mouseup, not mousedown. Original patch by ↵pkasting@chromium.org2009-06-111-4/+38
| | | | | | | | | 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
* Fix crash in window shutdown by accessing the Widget via a more unique property.ben@chromium.org2009-06-051-4/+9
| | | | | | | | | http://crbug.com/12156 TEST=none Review URL: http://codereview.chromium.org/118196 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17789 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for crash when changing frame on non-DWM systems.glen@chromium.org2009-06-031-0/+7
| | | | | | | | | BUG=13075 TEST=Reset the theme on XP and verify that it doesn't crash. Review URL: http://codereview.chromium.org/118171 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17503 0039d316-1c4b-4281-b951-d872f2087c98
* Use the right frame type on startup, do proper swapping of frames when ↵glen@chromium.org2009-05-311-40/+52
| | | | | | | | | | | 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
* Removes WidgetWin dependency from StatusBubbleViews so that it can compile ↵ben@chromium.org2009-05-261-5/+1
| | | | | | | | | | | | | | | | on Linux. Requires: - making SetOpacity a cross platform method on Widget, replacing SetLayeredAlpha. - moving Window::SetBounds to Widget - replacing usage of MoveWindow in StatusBubbleViews with call to new SetBounds method. BUG=none TEST=make sure transparency still works for floating widgets like - status bubble, full screen exit bubble, dragged tabs Review URL: http://codereview.chromium.org/113846 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16948 0039d316-1c4b-4281-b951-d872f2087c98
* Make views/ use strings from app_strings.ben@chromium.org2009-05-201-1/+0
| | | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/113612 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16512 0039d316-1c4b-4281-b951-d872f2087c98
* revert this change, svn seems to have committed it with my property-edit.ben@chromium.org2009-05-201-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16509 0039d316-1c4b-4281-b951-d872f2087c98
* Add generated files to svn:ignore list for views subdir.ben@chromium.org2009-05-201-1/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16508 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out a BrowserFrame interface, and move the existing Windows-based codebrettw@chromium.org2009-05-191-7/+12
| | | | | | | | | | | to a new class: BrowserFrameWin. The major other change I had to make was the way that the TabStrip is set in the BrowserRootView. Now there is a method on the frame that the view can call when it creats the tabstrip that will set the tabstrip on the root view. Review URL: http://codereview.chromium.org/113511 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16373 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeCanvas->gfx::Canvasben@chromium.org2009-05-151-5/+5
| | | | | | | | | | | Rename files too. TBR=brettw http://crbug.com/11387 Review URL: http://codereview.chromium.org/113443 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16148 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeFont->gfx::Fontbeng@google.com2009-05-151-2/+2
| | | | | | | | | | Does not rename the files yet. http://crbug.com/11387 Review URL: http://codereview.chromium.org/113441 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16141 0039d316-1c4b-4281-b951-d872f2087c98
* Move Always On Top setting out of Window/WindowDelegate and into task ↵beng@google.com2009-05-141-75/+9
| | | | | | | | | manager. It's the only one who uses this setting and the UI for exposing it is very specific to the task manager. Window retains a setter to set always on top state, but persistence and the system menu is Task Manager's responsbility. This allows us to sever the second-to-last chrome dependency from views. http://crbug.com/11674 Review URL: http://codereview.chromium.org/115378 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16107 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
* Move src/chrome/views to src/views. RS=darin http://crbug.com/11387ben@chromium.org2009-05-081-0/+1446
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15604 0039d316-1c4b-4281-b951-d872f2087c98