summaryrefslogtreecommitdiffstats
path: root/views/widget/widget_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove NativeWidgetWin/WidgetImpl again. I'm going to take a different ↵ben@chromium.org2011-02-241-456/+0
| | | | | | | | | | | | | | approach to extracting this stuff. BUG=72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/6574043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75995 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more direct uses of RootView to Widget.ben@chromium.org2011-02-241-0/+12
| | | | | | | | | | | | | | | | | | The idea is to remove RootView from the public API of Views and eventually move it into the internal namespace. It is really an implementation detail of event propagation into a view hierarchy. Anyone that calls GetRootView() and does something that isn't a View method should be calling that method on the Widget instead... e.g. instead of calling GetRootView()->NotifyThemeChanged(), call GetWidget()->ThemeChanged(). The RootView is a focus traversable, which is fine, but calling code should call GetWidget()->GetFocusTraversable() to obtain it, rather than knowing RootView is-a focus traversable and just calling GetRootView(). This also changes FocusManager::ContainsView to be simpler and cross platform. Since there is one FocusManager per view hierarchy (attached to the toplevel Widget), getting the view's focus manager and comparing it to the current focus manager is a sufficient test. BUG=72040 TEST=existing unittests, none Review URL: http://codereview.chromium.org/6577017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75940 0039d316-1c4b-4281-b951-d872f2087c98
* More RootView cleanup:ben@chromium.org2011-02-231-0/+4
| | | | | | | | | | | | | | - SetCursor->Widget API, remove platform ifdefs from root_view.cc for cursor updating - Remove weird native focus stuff, only used by ScrollView and seems not to have any effect on old options window. This is the sort of thing that should be handled by FocusManager anyway. - Remove DefaultKeyboardHandler concept in RootView. It does seem useful, but it's broken currently, and only ScrollView uses it (and hence only the old options window, which is not long for this earth). I would like to eventually replace this with a more generalized pre-processing/hierarchy processing/post-processing based event handling design. - Add OVERRIDE to RootView overrides. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6584001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75786 0039d316-1c4b-4281-b951-d872f2087c98
* Dramatically simplify view painting by getting rid of RootView's redundant ↵ben@chromium.org2011-02-231-10/+3
| | | | | | | | knowledge of invalid rects.The OS is capable of doing this for us (see: InvalidateRect, etc.), so we should just defer to it.I was also able to remove all of the custom logic in WindowWin::OnNCPaint and replace it with a simple SetMsgHandled check.http://crbug.com/72040TEST=none Review URL: http://codereview.chromium.org/6469096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75758 0039d316-1c4b-4281-b951-d872f2087c98
* Remove usages of RootView from View by moving relevant RootView API methods ↵ben@chromium.org2011-02-181-2/+34
| | | | | | | | | | | | | to Widget. This results in some code duplication right now but this will be mitigated once all platforms use WidgetImpl. http://crbug.com/72040 TEST=existing tests Review URL: http://codereview.chromium.org/6507028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75431 0039d316-1c4b-4281-b951-d872f2087c98
* Begin implementing a new widget.ben@chromium.org2011-02-151-80/+275
| | | | | | | | | | | This brings over code from ui/views, and bandaids it into compiling with the existing RootView/Widget interface. It compiles but probably doesn't run, which is OK since no one uses it. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6523008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74915 0039d316-1c4b-4281-b951-d872f2087c98
* Add stub WidgetImpl class. This will become the cross platform replacement ↵ben@chromium.org2011-02-121-0/+220
for Widget, and will merge the common functionality between NativeWidgetWin and WidgetGtk. Right now it does nothing other than implement Widget (for compatibility) and the new NativeWidgetListener interface, imported from ui/views/widget. This new interface is the NativeWidget's way of notifying the Widget of events. Also bring across the NativeWidget interface from ui/views/widget, which will be implemented by NativeWidgetWin in a future changelist. BUG=72040 TEST=none TBR=sky Review URL: http://codereview.chromium.org/6510008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74708 0039d316-1c4b-4281-b951-d872f2087c98