summaryrefslogtreecommitdiffstats
path: root/views/widget
Commit message (Collapse)AuthorAgeFilesLines
* Fixes bug in RootViewGtk where we we might not paint correctly ifsky@chromium.org2009-06-261-1/+12
| | | | | | | | | | | | SchedulePaint is invoked consecutively with different regions. Windows has similar code. BUG=none TEST=none Review URL: http://codereview.chromium.org/147170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19338 0039d316-1c4b-4281-b951-d872f2087c98
* Update Skia transfer modes to match changes in Skia as of r239amanda@chromium.org2009-06-251-1/+1
| | | | | | Review URL: http://codereview.chromium.org/146131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19213 0039d316-1c4b-4281-b951-d872f2087c98
* Revert :nsylvain@chromium.org2009-06-225-51/+40
| | | | | | | | | | | | | | | | | | 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-205-40/+51
| | | | | | | | 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-195-51/+40
| | | | | | | | | | | | 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-195-40/+51
| | | | | | | | 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
* Call Layout directly from SetContentsView. In the case where the Widget is ↵ben@chromium.org2009-06-182-5/+10
| | | | | | | | | | | | | | created with bounds, SetContentsView never causes a subsequent Layout because the bounds won't have changed. Fixes interactive UI tests. TBR=sky BUG=none TEST=interactive ui tests don't crash. Review URL: http://codereview.chromium.org/132029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18729 0039d316-1c4b-4281-b951-d872f2087c98
* A long standing bug in views!ben@chromium.org2009-06-182-2/+0
| | | | | | | | | | | | | | | | Every time a widget is resized, we call Layout on its view hierarchy TWICE! A while ago, I added code to views::View's default implementation of DidChangeBounds to automatically call Layout. So, after calling SetBounds on a widget, it is not necessary to call Layout. However this is exactly what WidgetWin/WidgetGtk do o_O. It turns out this doesn't matter on windows because size changes in child widgets never affect the sizes of their parents - they're just clipped to their parent's bounds. However, on Gtk it seems like sizing a child causes a size-allocate signal to be sent to the parent widget, which means we end up in infinite resize loops. BUG=none TEST=none Review URL: http://codereview.chromium.org/131026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18714 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build bustage by removing another dependency on browser/gtk by creating ↵ben@chromium.org2009-06-172-51/+84
| | | | | | | | | | | a new TabContentsViewGtk specifically for views. This subclasses WidgetGtk similar to how TabContentsViewWin subclasses WidgetWin. There was a bug in NativeViewHostGtk - reparenting needs to be done atomically using gtk_widget_reparent since GtkWidgets are refcounted and when removed from a container are released, causing a crash when a TabContents is reparented. The code now compiles thanks to a stubbed BlockedPopupContainer, however there is one remaining issue - the browser window no longer paints and the app instantly hangs. However this is better than the current state so I figured I'd send the code review. Review URL: http://codereview.chromium.org/126107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18588 0039d316-1c4b-4281-b951-d872f2087c98
* Make WidgetGtk::SetBounds use a single call if it can.sky@chromium.org2009-06-151-0/+5
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/125087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18388 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the PlatformContext layer to have only one class.brettw@chromium.org2009-06-142-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix reversed focus traversal order issue.yutak@chromium.org2009-06-124-50/+89
| | | | | | | | | | | | | | | | 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-4/+0
| | | | | | | | 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
* Issue 8838: Close box not highlightedidanan@chromium.org2009-06-101-0/+8
| | | | | | | | | | | | | | | We optimize mouse-mouve event handling by ignoring two mouse-move events in a row which works in most cases except that when we animate tab-closing on windows we send a duplicate mouse-move event on purpose to highlight the button. Unfortunately our optimization kicks in. Fixed by reseting the flag to optimize this before sending the extra mouse-move. BUG=8838 Review URL: http://codereview.chromium.org/118454 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18052 0039d316-1c4b-4281-b951-d872f2087c98
* Moving the Windows specific activation code in the FocusManager to the ↵jcampan@chromium.org2009-06-082-0/+24
| | | | | | | | | | widget_win. BUG=None TEST=Test that the focus in the browser works well: that windows remember which view had focus when deactivated/reactivated. Make sure focus traversal works as expected. Review URL: http://codereview.chromium.org/118406 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17911 0039d316-1c4b-4281-b951-d872f2087c98
* First part of tab overview. It isn't wired up, nor is it complete, butsky@chromium.org2009-06-085-0/+22
| | | | | | | | | | | it's a good enough stage that I want to check it in. BUG=none TEST=none Review URL: http://codereview.chromium.org/119329 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17906 0039d316-1c4b-4281-b951-d872f2087c98
* Removing some unused FocusManager related code from RootView.jcampan@chromium.org2009-06-082-25/+0
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/119312 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17899 0039d316-1c4b-4281-b951-d872f2087c98
* Makes it possible for Widget's on GTK to have a transparentsky@chromium.org2009-06-083-3/+110
| | | | | | | | | | | | background. Additionally implements always on top and makes ImageView support borders. BUG=none TEST=none Review URL: http://codereview.chromium.org/119269 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17878 0039d316-1c4b-4281-b951-d872f2087c98
* More theme bits for the NTP and window frame.glen@chromium.org2009-06-052-0/+5
| | | | | | | | | BUG=12768,13352 TEST=Verify that a theme with attribution works on the NTP and a theme with an overlay shows up Review URL: http://codereview.chromium.org/119227 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17773 0039d316-1c4b-4281-b951-d872f2087c98
* Implement some basic functionality in RootView and View.ben@chromium.org2009-06-053-21/+11
| | | | | | Review URL: http://codereview.chromium.org/119231 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17714 0039d316-1c4b-4281-b951-d872f2087c98
* Implement window state restoration for the views-gtk window.ben@chromium.org2009-06-042-1/+1
| | | | | | | | | | | Allows the window to be resized smaller than its current size by setting a minimum size before initiating the drag. Fixes a crash in TabContentsViewGtk due to a NULL delegate deref. BUG=none TEST=none Review URL: http://codereview.chromium.org/118227 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17641 0039d316-1c4b-4281-b951-d872f2087c98
* Rephrase this code to be slightly less verbose.ben@chromium.org2009-06-041-5/+2
| | | | | | | | | TBR=glen BUG=none TEST=none Review URL: http://codereview.chromium.org/119157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17615 0039d316-1c4b-4281-b951-d872f2087c98
* Replace HCURSOR usage in views::View with a new gfx::NativeCursor type that ↵ben@chromium.org2009-06-042-22/+25
| | | | | | | | | | | | | also supports GdkCursor*, and wires this up with the existing implementors of the GetCursorForPoint method. This allows us to get rid of one of the most annoying NOTIMPLEMENTED()s in views-gtk. BUG=none TEST=none Review URL: http://codereview.chromium.org/119150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17614 0039d316-1c4b-4281-b951-d872f2087c98
* Implement custom window shapes as provided by the NonClientView in WindowGtk.ben@chromium.org2009-06-041-0/+4
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/119145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17597 0039d316-1c4b-4281-b951-d872f2087c98
* Adds linux2 variable and change to WidgetGtk to make it compile.sky@chromium.org2009-06-021-0/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/119057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17442 0039d316-1c4b-4281-b951-d872f2087c98
* Allow themes to change the background of the new tab page. Adds support for ↵glen@chromium.org2009-06-022-1/+4
| | | | | | | | | | | display properties to themes (stored internally as ints/enums, but parsed from text). BUG=12768 TEST=Install a theme with an new tab page background and verify that the background appears on the new tab page. Review URL: http://codereview.chromium.org/115910 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17431 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a couple of bugs encountered in getting info bubbles to work:sky@chromium.org2009-06-021-1/+4
| | | | | | | | | | | | | | | | . Initial bounds of windows weren't being set. . Widgets were created initially shown. This was bad for windows as the window would end up showing prematurely. . WindowGtk::window_state_ wasn't being initialized. . And then actual InfoBubble stuff: properly init the bubble, show it and position it on the monitor. BUG=none TEST=none Review URL: http://codereview.chromium.org/118102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17401 0039d316-1c4b-4281-b951-d872f2087c98
* Moves WindowGtk::SetBounds implementation to WidgetGtk as WidgetGetksky@chromium.org2009-06-011-1/+6
| | | | | | | | | | | needs to deal with windows/popups too. BUG=none TEST=none Review URL: http://codereview.chromium.org/118082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17350 0039d316-1c4b-4281-b951-d872f2087c98
* Use the right frame type on startup, do proper swapping of frames when ↵glen@chromium.org2009-05-313-1/+14
| | | | | | | | | | | 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
* Fixes bad event signal name that was leading to crash.sky@chromium.org2009-05-291-3/+2
| | | | | | | | | | BUG=none TEST=none TBR=ben Review URL: http://codereview.chromium.org/118037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17264 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes couple of bugs that occur now that we can actually run views onsky@chromium.org2009-05-292-2/+14
| | | | | | | | | | | gtk again. BUG=none TEST=none TBR=ben Review URL: http://codereview.chromium.org/115961 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17261 0039d316-1c4b-4281-b951-d872f2087c98
* Really theme the find bar. We were previously getting the ↵glen@chromium.org2009-05-292-6/+12
| | | | | | | | | | | | | | DefaultThemeProvider (whose accessor was mistakenly named 'getDIALOGthemeprovider') BUG=11702 TEST=Install a theme and verify that the find bar matches it. TBR=finnur Review URL: http://codereview.chromium.org/115729 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17257 0039d316-1c4b-4281-b951-d872f2087c98
* Revert Revision 17224glen@chromium.org2009-05-292-11/+5
| | | | | | | | | BUG=none TEST=non Review URL: http://codereview.chromium.org/115951 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17245 0039d316-1c4b-4281-b951-d872f2087c98
* Really theme the find bar. We were previously getting the ↵glen@chromium.org2009-05-292-5/+11
| | | | | | | | | | | DefaultThemeProvider (whose accessor was mistakenly named 'getDIALOGthemeprovider') BUG=11702 TEST=Install a theme and verify that the find bar matches it. Review URL: http://codereview.chromium.org/115729 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17224 0039d316-1c4b-4281-b951-d872f2087c98
* Fix drawing problem with options dialog. I'm not sure why this flag is ↵jam@chromium.org2009-05-291-1/+1
| | | | | | | | | | needed, other than it fixes the paint issue. Perhaps it's generated internally by Windows for the child static HWNDs when RedrawWindow with RDW_ALLCHILDREN is called. BUG=12793 Review URL: http://codereview.chromium.org/115908 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17211 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bug where SetBounds would change the z-order. This was resultingsky@chromium.org2009-05-291-1/+1
| | | | | | | | | | | | in windows that triggered status bubble (such as gmail) to always come to front. BUG=none TEST=see bug Review URL: http://codereview.chromium.org/113962 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17140 0039d316-1c4b-4281-b951-d872f2087c98
* Splits TooltipManager so that it can be ported and stubs out the GTKsky@chromium.org2009-05-2811-180/+330
| | | | | | | | | | | side. BUG=none TEST=none Review URL: http://codereview.chromium.org/114054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17076 0039d316-1c4b-4281-b951-d872f2087c98
* Makes MenuButton compile and fixes bug in GtkWidget I happened upon.sky@chromium.org2009-05-271-3/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/115826 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17018 0039d316-1c4b-4281-b951-d872f2087c98
* Removes WidgetWin dependency from StatusBubbleViews so that it can compile ↵ben@chromium.org2009-05-265-116/+141
| | | | | | | | | | | | | | | | 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
* Makes FindBarWin buildable on linux. FindBarWin should be renamed tosky@chromium.org2009-05-232-2/+28
| | | | | | | | | | | FindBarViews, but I'm leaving it as is for now. BUG=none TEST=none Review URL: http://codereview.chromium.org/113793 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16830 0039d316-1c4b-4281-b951-d872f2087c98
* Minor gtk-views cleanup:sky@chromium.org2009-05-202-14/+83
| | | | | | | | | | | | | . Makes closing widget work. . Makes clicking button send action. . Fixes ownership of native controls. BUG=none TEST=none Review URL: http://codereview.chromium.org/113657 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16532 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TRACK_HWND_CREATION/TRACK_HWND_DESTRUCTION macro since the bug it was ↵jam@chromium.org2009-05-201-2/+0
| | | | | | | | created for has long been closed. This code causes crashes when the browser is closed with the task manager open (in debug builds at the very least). Review URL: http://codereview.chromium.org/115553 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16462 0039d316-1c4b-4281-b951-d872f2087c98
* Adds propagation and handling of render-side focus events, for the benefit ↵klink@chromium.org2009-05-201-4/+0
| | | | | | | | of assistive technologies (accessibility). Also cleans up the handling of WM_GETOBJECT in RenderWidgetHostViewWin and WidgetWin, as well as in BrowserAccessibilityManager. Review URL: http://codereview.chromium.org/115374 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16449 0039d316-1c4b-4281-b951-d872f2087c98
* Fix painting problems that came up after manually calling RedrawWindow on ↵jam@chromium.org2009-05-201-3/+6
| | | | | | | | | | child windows so that we can paint out of process HWNDs asynchronously. The problem is that the function parameter that was passed in to the first RedrawWindow was modified since it's a member variable of the class. OnPaint would empty the rectangle, and so nothing was painted for children. BUG=12010 TEST=unsafe downloads should have their save/discard buttons painted normally. Review URL: http://codereview.chromium.org/115545 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16446 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes delivery of mouse events in WidgetGtk. Also fixes GetRootWidgetsky@chromium.org2009-05-192-52/+155
| | | | | | | | | | | and GetWidget to match windows. BUG=none TEST=none Review URL: http://codereview.chromium.org/113603 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16431 0039d316-1c4b-4281-b951-d872f2087c98
* Removes some dead code from WidgetWin.sky@chromium.org2009-05-192-8/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/115528 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16407 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeCanvas->gfx::Canvasben@chromium.org2009-05-156-14/+13
| | | | | | | | | | | 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-152-10/+12
| | | | | | | | | | 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
* Remove even more ATL dependencies.maruel@chromium.org2009-05-143-7/+6
| | | | | | Review URL: http://codereview.chromium.org/115309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16088 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 15832 since this test is finished.hbono@chromium.org2009-05-141-1/+1
| | | | | | | BUG=11046 "Need to back out hbono's test fix" Review URL: http://codereview.chromium.org/112021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16047 0039d316-1c4b-4281-b951-d872f2087c98