summaryrefslogtreecommitdiffstats
path: root/views/widget/widget.h
Commit message (Collapse)AuthorAgeFilesLines
* UI Language switch implemented by propagating LocaleChanged()glotov@google.com2010-04-201-0/+4
| | | | | | | | | | | | | | | notification to all the views currently active. Before this CL, all views were recreated instead. That was very refactoring-unsafe. Note, this is first part of the change. It prepares overall architecture means and can be committed first. The other part contains implementation details and is here: http://codereview.chromium.org/1551029/show BUG=none TEST=none Review URL: http://codereview.chromium.org/1596023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45057 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more files to toplevel gfx dir.ben@chromium.org2010-03-171-1/+2
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41812 0039d316-1c4b-4281-b951-d872f2087c98
* On Windows, detect the WM_DISPLAYCHANGE message which indicates the desktop ↵johnnyg@chromium.org2010-03-041-0/+7
| | | | | | | | | | | size is changing. Pass this event using the NotificationService, and listen for it in desktop notification code in order to adjust metrics properly for the corner of the screen. BUG=35464 TEST=resize desktop after starting chrome; create notifications. Review URL: http://codereview.chromium.org/606007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40670 0039d316-1c4b-4281-b951-d872f2087c98
* CL implementing focus-dismissal of the chrome.experimental.popup set of ↵twiz@chromium.org2010-02-101-0/+4
| | | | | | | | | | | | | | | | | extension APIs. Specifically, these changes cause a displayed pop-up to be dismissed when the focus shifts away from both the pop-up view, and the extension-view that launched the pop-up.I had to do a lot of investigating and trial-and-error to converge to the solution present here. I was hoping to be able to piggy-back on the existing FocusManager's various listener routines, but because the pop-up is hosted in a BubbleWidget, which is a separate top-level window with its own focus manager, I could not rely on a given focus manager to take care of the focus change notifications. To get around the above issue, I added a new type of focus listener that can listen on native-window focus change events. I added invocations to this listener throughout the Widget classes in the system so that registered listeners will be notified on focus change. I found some of the focus change events problematic, as the system will arbitrarily reassign the focus to the main browser window when shifting activation between chrome windows. (SeefocusManagerWin::ClearNativeFocus). To prevent this focus bounce from confusing focus listeners, I added a means to suppress notification of focus change during these operations. I added GTK and Mac stubs for the new widget functions that will assert when called. GTK and Cocoa development is not my expertise, so I thought // TODO(port) would be wiser.I'm uncertain of the best means to unit-test these changes. Direction in this regard would be appreciated. BUG=None TEST=None Review URL: http://codereview.chromium.org/552167 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38685 0039d316-1c4b-4281-b951-d872f2087c98
* Addded notification when ancestor gets changed. So windows that lack focus ↵georgey@chromium.org2010-01-071-0/+6
| | | | | | | | | | | | | manager, because of being created on inactive tab, could do the necessary work when focus manager is actually attached. This is relevant for Windows only, but some support functions (FindAllRootViews) could be useful for other architectures as well. BUG=22481 TEST=in the bug Review URL: http://codereview.chromium.org/492025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35675 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the menu model to live outside views/ so it can be sharedpinkerton@chromium.org2009-12-041-2/+5
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/465005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33827 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up function ordering in WidgetGtk.ben@chromium.org2009-11-091-9/+9
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/379001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31471 0039d316-1c4b-4281-b951-d872f2087c98
* Move all the stuff relating to detached tab dragging out of BrowserFrameWin ↵ben@chromium.org2009-11-071-8/+18
| | | | | | | | 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
* Gets AutomationProxyVisibleTest.WindowGetViewBounds to pass onsky@chromium.org2009-10-281-0/+5
| | | | | | | | | | | views/gtk. BUG=none TEST=none Review URL: http://codereview.chromium.org/338067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30403 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor widget methods to support desktop notifications, including GTK stubs.johnnyg@chromium.org2009-10-261-4/+26
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/307030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30074 0039d316-1c4b-4281-b951-d872f2087c98
* Move native_widget_types and gtk_native_view_id_manager from base/gfx tobrettw@chromium.org2009-10-111-1/+1
| | | | | | | | | | | | app/gfx in preparation for removing the base_gfx project. This also moves base/window_impl.cc to app/win/window_impl because this file shouldn't be in base. TEST=none BUG=none Review URL: http://codereview.chromium.org/273017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28691 0039d316-1c4b-4281-b951-d872f2087c98
* Refactors RootViewDropTarget into a platform independent part,sky@chromium.org2009-08-111-0/+4
| | | | | | | | | | | | | | DropHelper, and the platform specific part DropTarget. I've also moved ownership/creation of the DropTarget to Widget. This makes it alot easier for the windows side, in which DropTarget must implement IDataObject. BUG=none TEST=none Review URL: http://codereview.chromium.org/165155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23020 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a BAD_OVERRIDE defect reported by Coverity. Change thewtc@chromium.org2009-08-061-1/+1
| | | | | | | | | | | | | prototype of the GetDefaultThemeProvider method in the base class to match the prototypes of the GetDefaultThemeProvider methods in the subclasses BrowserFrameWin and BrowserFrameGtk. R=glen BUG=17104 TEST=none Review URL: http://codereview.chromium.org/159479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22568 0039d316-1c4b-4281-b951-d872f2087c98
* Status bubble limping in TOOLKIT_VIEWS.ben@chromium.org2009-08-011-0/+19
| | | | | | | | | | | Add CreateTransparentFloatingWidget method to Widget and add Init/SetContentsView methods. BUG=none TEST=none Review URL: http://codereview.chromium.org/160474 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22229 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the Views GTK build.brettw@chromium.org2009-07-071-0/+1
| | | | | | | | I mvoed the implementation of the previously-inline amimate function to the .cc file so we don't have to depend on STL includes in the header. Review URL: http://codereview.chromium.org/155170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20091 0039d316-1c4b-4281-b951-d872f2087c98
* Basics of a new TabStrip.It's very, very rough, but I wanted to check it in ↵ben@chromium.org2009-07-071-0/+6
| | | | | | | | so I don't have to keep typing svn pset as I pass patches back and forth between machines.Behind a command line flag --enable-tabtastic2.I'm trying to split the TabContents specific stuff off of the TabStrip so it's more generic (and more easily mocked for unit testing of various layout conditions). Hence TabStrip vs. BrowserTabStrip. TabStrip may move into views/ once this process is complete.Animator is a utility that can be associated with a View that (at this point) animates that View's bounds from wherever it is now to somewhere else. The TabStrip uses this to do animations for individual Tabs that are independent of each other - a limitation of the old TabStrip is that only one animation is ever active at a time so its animations are a little jumpy compared to other products.Also, detached tab dragging shows the live contents, with all animations/video/etc.Like I said, this is really rough, but I didn't want it to grow any bigger. I will write up a design doc later.http://crbug.com/9032TEST=TBD... will finally be doing some for TabStrip layout! Review URL: http://codereview.chromium.org/42490 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20053 0039d316-1c4b-4281-b951-d872f2087c98
* This CL removes the last (major) Windows specific part out of the focus ↵jcampan@chromium.org2009-06-301-2/+7
| | | | | | | | | | | | | | | | | | | | | | | 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
* Revert :nsylvain@chromium.org2009-06-221-7/+2
| | | | | | | | | | | | | | | | | | 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-2/+7
| | | | | | | | 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-7/+2
| | | | | | | | | | | | 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-2/+7
| | | | | | | | 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
* First part of tab overview. It isn't wired up, nor is it complete, butsky@chromium.org2009-06-081-0/+4
| | | | | | | | | | | 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
* Really theme the find bar. We were previously getting the ↵glen@chromium.org2009-05-291-4/+4
| | | | | | | | | | | | | | 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-291-4/+4
| | | | | | | | | 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-291-4/+4
| | | | | | | | | | | 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
* Removes WidgetWin dependency from StatusBubbleViews so that it can compile ↵ben@chromium.org2009-05-261-0/+21
| | | | | | | | | | | | | | | | 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
* This is the first pass at themes.glen@chromium.org2009-05-091-0/+13
| | | | | | | | | | | | This CL is paired with http://codereview.chromium.org/67284 This CL (for commit purposes) includes http://codereview.chromium.org/67284 BUG=4463,11232,11233,11234,11235 Review URL: http://codereview.chromium.org/99030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15704 0039d316-1c4b-4281-b951-d872f2087c98
* Move src/chrome/views to src/views. RS=darin http://crbug.com/11387ben@chromium.org2009-05-081-0/+81
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15604 0039d316-1c4b-4281-b951-d872f2087c98