summaryrefslogtreecommitdiffstats
path: root/views/widget/widget_gtk.cc
Commit message (Collapse)AuthorAgeFilesLines
* Rename WidgetWin/Gtk -> NativeWidgetWin/Gtk.ben@chromium.org2011-05-191-1803/+0
| | | | | | | | | 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
* Synchronize window resize in MoveMouseToCenterAndPress on linux.oshima@google.com2011-05-181-0/+2
| | | | | | | | | | | | I tried to synchronize it in Show methods (in test mode), but it didn't work because next task is posted before show and running message loop executes the task before the window gets resized. For now, I decided to put the code in ui_controls. Let me know if you have suggestion where to put this code. BUG=82219 TEST=bookmark test and menu_item_view tests are no longer flaky without gtk hack. Review URL: http://codereview.chromium.org/6982031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85711 0039d316-1c4b-4281-b951-d872f2087c98
* Added explicit RemoveObserver in dtor of WidgetGtk.altimofeev@chromium.org2011-05-161-0/+3
| | | | | | | | | BUG=chromium-os:14885 TEST=Sign in as a new user, sign out works fine. Review URL: http://codereview.chromium.org/6932034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85478 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land:ben@chromium.org2011-05-131-84/+139
| | | | | | | | | | | | 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-139/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-84/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Revert 85257 - Removing DeleteSoon() from WigetGtk so it behaves like WidgetWinglotov@google.com2011-05-131-12/+9
| | | | | | | | | | | | | This is a retry of http://codereview.chromium.org/7002029/ after it has been reverted because of the failing test BrowserTest.CloseWithAppMenuOpen (failed only on buildbot) BUG=chromium-os:15129 TEST=tests TBR=dpolukhin TBR=glotov@google.com Review URL: http://codereview.chromium.org/7016033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85262 0039d316-1c4b-4281-b951-d872f2087c98
* Removing DeleteSoon() from WigetGtk so it behaves like WidgetWinglotov@google.com2011-05-131-9/+12
| | | | | | | | | | This is a retry of http://codereview.chromium.org/7002029/ after it has been reverted because of the failing test BrowserTest.CloseWithAppMenuOpen (failed only on buildbot) BUG=chromium-os:15129 TEST=tests TBR=dpolukhin git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85257 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 85120 - Removing DeleteSoon() from WigetGtk so it behaves like WidgetWinglotov@google.com2011-05-121-9/+9
| | | | | | | | | | | | BUG=chromium-os:15129 TEST=tests Review URL: http://codereview.chromium.org/7002029 TBR=glotov@google.com Review URL: http://codereview.chromium.org/7016017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85127 0039d316-1c4b-4281-b951-d872f2087c98
* Removing DeleteSoon() from WigetGtk so it behaves like WidgetWinglotov@google.com2011-05-121-9/+9
| | | | | | | | | BUG=chromium-os:15129 TEST=tests Review URL: http://codereview.chromium.org/7002029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85120 0039d316-1c4b-4281-b951-d872f2087c98
* Tweaks Compositor API. To make it possible to land this I've ifdef'dsky@chromium.org2011-05-101-4/+17
| | | | | | | | | | | | the code in a couple of places. BUG=none TEST=none R=ben@chromium.org,wjmaclean@chromium.org,rjkroege@chromium.org Review URL: http://codereview.chromium.org/6999005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84823 0039d316-1c4b-4281-b951-d872f2087c98
* Trigger update for all GdkWindow's marked for repainting.sadrul@chromium.org2011-05-091-1/+1
| | | | | | | | | BUG=none TEST=touch the wrench menu, see it paint as pressed immediately. Review URL: http://codereview.chromium.org/6928052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84676 0039d316-1c4b-4281-b951-d872f2087c98
* Create InitParams for Window.ben@chromium.org2011-04-281-2/+5
| | | | | | | | 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
* Migrates NotificationPanel code to using Widget API instead ofsky@chromium.org2011-04-271-0/+2
| | | | | | | | | | | | WidgetGtk. BUG=none TEST=none R=ben@chromium.org,oshima@chromium.org Review URL: http://codereview.chromium.org/6878083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83155 0039d316-1c4b-4281-b951-d872f2087c98
* Converts background_view from using WidgetGtk.sky@chromium.org2011-04-261-0/+4
| | | | | | | | | | BUG=none TEST=none R=ben@chromium.org Review URL: http://codereview.chromium.org/6905034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83088 0039d316-1c4b-4281-b951-d872f2087c98
* Rename CreateParams to InitParams.ben@chromium.org2011-04-261-8/+8
| | | | | | | | | 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-231/+198
| | | | | | | | | | | | | - 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
* Add NativeWidgetDelegate/Widget::OnKeyEvent post-IME handling.msw@chromium.org2011-04-261-7/+5
| | | | | | | | | | | | | | | | | | Refactor XEvent code and InputMethodGtk::DispatchKeyEvent. Nix WidgetWin::GetFocusedViewRootView, rename RootView::OnKeyEvent. Cleanup headers and refactor code in extension_input_api.cc. Rename WidgetGtk::OnEventKey to avoid overloading Widget::OnEventKey. BUG=72040 TEST=Key event handling in win/linux_views/touch; extension input API SendKeyboardEventInputFunction use. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82713 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82751 Review URL: http://codereview.chromium.org/6823055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82983 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 82751 - Add NativeWidgetDelegate/Widget::OnKeyEvent post-IME ↵msw@chromium.org2011-04-221-5/+7
| | | | | | | | | handling.Refactor XEvent code and InputMethodGtk::DispatchKeyEvent.Nix WidgetWin::GetFocusedViewRootView, rename RootView::OnKeyEvent.Cleanup headers and refactor code in extension_input_api.cc.BUG=72040TEST=Key event handling in win/linux_views/touch; extension input API SendKeyboardEventInputFunction use.Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82713Review URL: http://codereview.chromium.org/6823055 TBR=msw@chromium.org Review URL: http://codereview.chromium.org/6897033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82752 0039d316-1c4b-4281-b951-d872f2087c98
* Add NativeWidgetDelegate/Widget::OnKeyEvent post-IME handling.msw@chromium.org2011-04-221-7/+5
| | | | | | | | | | | | | | | Refactor XEvent code and InputMethodGtk::DispatchKeyEvent. Nix WidgetWin::GetFocusedViewRootView, rename RootView::OnKeyEvent. Cleanup headers and refactor code in extension_input_api.cc. BUG=72040 TEST=Key event handling in win/linux_views/touch; extension input API SendKeyboardEventInputFunction use. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=82713 Review URL: http://codereview.chromium.org/6823055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82751 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting since caused compile failures on Linux.amit@chromium.org2011-04-221-2/+4
| | | | | | | | Revert 82713 - Add NativeWidgetDelegate/Widget::OnKeyEvent post-IME handling.Refactor XEvent code and InputMethodGtk::DispatchKeyEvent.Nix WidgetWin::GetFocusedViewRootView, rename RootView::OnKeyEvent.Cleanup headers and refactor code in extension_input_api.cc.BUG=72040TEST=Key event handling in win/linux_views/touch; extension input API SendKeyboardEventInputFunction use.Review URL: http://codereview.chromium.org/6823055 TBR=msw@chromium.org Review URL: http://codereview.chromium.org/6894035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82718 0039d316-1c4b-4281-b951-d872f2087c98
* Add NativeWidgetDelegate/Widget::OnKeyEvent post-IME handling.msw@chromium.org2011-04-221-4/+2
| | | | | | | | | | | | | Refactor XEvent code and InputMethodGtk::DispatchKeyEvent. Nix WidgetWin::GetFocusedViewRootView, rename RootView::OnKeyEvent. Cleanup headers and refactor code in extension_input_api.cc. BUG=72040 TEST=Key event handling in win/linux_views/touch; extension input API SendKeyboardEventInputFunction use. Review URL: http://codereview.chromium.org/6823055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82713 0039d316-1c4b-4281-b951-d872f2087c98
* Refactors login window widget creation methods into platform specific methods.sky@chromium.org2011-04-201-0/+7
| | | | | | | | | | 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
* Maintain the list of devices all in one place.sadrul@chromium.org2011-04-201-0/+5
| | | | | | | | | | | | This effectively moves a bunch of code from the message-pump to the touch-factory. This way, the list of devices is maintained in one place. BUG=none TEST=none Review URL: http://codereview.chromium.org/6882083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82307 0039d316-1c4b-4281-b951-d872f2087c98
* Pull content from TabContentsViewViews into NativeTabContentsViewWin.ben@chromium.org2011-04-121-0/+19
| | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6824060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81328 0039d316-1c4b-4281-b951-d872f2087c98
* Reenable FREEZE_UPDATE propertyoshima@google.com2011-04-111-4/+46
| | | | | | | | | | | | | | | This is a real fix for 13750. When the entire area of a WidgetGtk is covered by another GdkWindow, the WidgetGtk doesn't get expose event, which was causnig 13750. This fixes this issue by listening child widget's expose event and remove the FREEZE_UPDATE property. BUG=chromium-os:11514, chromium-os:13750 TEST=see bug for repro steps R=sky@chromium.org Review URL: http://codereview.chromium.org/6823017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81123 0039d316-1c4b-4281-b951-d872f2087c98
* Don't store/restore focus when window is activated/deactivated on linux.oshima@google.com2011-04-071-5/+0
| | | | | | | | | | | | GTK can restore focus if the native widget has a focus, and views always remembers the focused_view, so there is no need to store/restore on linux for this case. Opening it (like wrench menu) was causing the issues in bugs because it changes window activation. BUG=70032,chromium-os:8829 TEST=see bugs TEST= Review URL: http://codereview.chromium.org/6691052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80809 0039d316-1c4b-4281-b951-d872f2087c98
* Added SchedulePaint in BrowserView::OnWindowActivationChangedwyck@chromium.org2011-04-061-1/+3
| | | | | | | | | | BUG=78463 TEST=None Review URL: http://codereview.chromium.org/6691065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80624 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily disaling FREEZE_UPDATE propertyoshima@google.com2011-04-051-0/+4
| | | | | | | | | | | Panel has problem with FREEZE_UPDATE. I'm going to disable this for now as it will take some time to figure out and implement solution. BUG=chromium-os:13750 TEST=none Review URL: http://codereview.chromium.org/6735069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80548 0039d316-1c4b-4281-b951-d872f2087c98
* Transform GdkEvents for simpler MouseEvent construction.msw@chromium.org2011-04-051-42/+16
| | | | | | | | | | | Handle MouseWheelEvent in Widget::OnMouseEvent. BUG=72040 TEST=Mouse interaction on linux_views Review URL: http://codereview.chromium.org/6720025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80420 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for regressions caused by FREEZE_UPDATE propertyoshima@google.com2011-04-041-0/+7
| | | | | | | | | | | | * menu can be closed before being shown. (native_menu_gtk.cc) * virtual keyboard doesn't get expose event on window_contents_ due to renderer covering the entire area. BUG=chromium-os:13760, chromium-os:11514 TEST=refer to bugs. Review URL: http://codereview.chromium.org/6794026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80366 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor RenderWidgetHostViewViews to use the new input method API for Views.suzhe@google.com2011-04-011-4/+11
| | | | | | | | | | | | | | | This CL also fixes some issues related to NULL host_ pointer in the original code. Hope the fixes are correct. Another side effect of this CL is: it converts views::KeyEvent to NativeWebKeyboardEvent by using the conversion table of Views instead of WebInputEventFactory provided by WebKit. See bug 54315. BUG=54315 BUG=75003 TEST=none Review URL: http://codereview.chromium.org/6713083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80238 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate cross platform logic into MenuHost.ben@chromium.org2011-04-011-20/+22
| | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6690054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80232 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate the new input method API for Views into Chromium.suzhe@google.com2011-04-011-41/+88
| | | | | | | | | | | | | | | | | | This CL contains following changes: 1. Improve TextfieldViewsModel to support composition text. 2. Implement TextInputClient interface in NativeTextfieldViews. 3. Fix Textfield and native implementations to avoid calling TextfieldController::ContentsChanged() when the text is changed by calling Textfield::SetText() or AppendText(). 4. Fix a bug in FocusManager that causes NativeTextfieldViewsTest.FocusTraversalTest to fail. 5. Fix accelerator_handler_touch.cc to send key events to the top-level widget's input method instance instead of the root view. 6. Do the same fix in extension_input_api.cc. 7. Hook InputMethod into WidgetGtk and WidgetWin. BUG=75003 TEST=views_unittests --gtest_filter=NativeTextfieldViews* Review URL: http://codereview.chromium.org/6675005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80226 0039d316-1c4b-4281-b951-d872f2087c98
* New InputMethod api for Views.suzhe@google.com2011-03-311-0/+26
| | | | | | | | | | | | | | This CL adds: 1. Interfaces: InputMethod, InputMethodDelegate, TextInputClient. 2. InputMethodGtk: an InputMethod implementation based on GtkIMContext. 3. MockInputMethod: a mock InputMethod implementation for unit tests. BUG=75003 TEST=none Review URL: http://codereview.chromium.org/6688049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80076 0039d316-1c4b-4281-b951-d872f2087c98
* Consolidate Widget Event code, other cleanup.msw@chromium.org2011-03-311-144/+65
| | | | | | | | | | | | | 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 for paint issue on initial screen.oshima@google.com2011-03-311-10/+55
| | | | | | | | | | | | | It turns out that the sync counter that we used to rely on to synchronize window painting doesn't work for the initial screen as gtk may ignore and simply update the count without painting if the configure notify doesn't change the window size. This change uses FREEZE_UPDATES to notify WM to guarantee that WM will show only after the window is painted. I also removed gdk_window_process_updates from login code because this fixes crosbug.com/12566. I confirmed that gdk_widnow_process_update in map handler is necessary for touch. This is due to a bug in touch code but since this path will be removed in near future, i'll keep this workaround as is for touch. BUG=chromium-os:11514 TEST=see bug description. Review URL: http://codereview.chromium.org/6698063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80056 0039d316-1c4b-4281-b951-d872f2087c98
* Make MenuHost concrete, hide platform specific implementation behind ↵ben@chromium.org2011-03-311-0/+10
| | | | | | | | | | | | NativeMenuHost. This is the first step, creating this structure. Will consolidate common functionality and state next. BUG=72040 TEST=all menu tests for bookmark bar, wrench menu Review URL: http://codereview.chromium.org/6740022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80015 0039d316-1c4b-4281-b951-d872f2087c98
* Disambiguate OnMouseCaptureLost from OnMouseReleased.msw@chromium.org2011-03-291-2/+2
| | | | | | | | | | | | | Nix RenderWidgetHostViewViews' OnMouseCaptureLost forwarding. Consolidate code, remove unnecessary overrides, etc. Fix up test, |event| args, OVERRIDEs, and (c) dates. BUG=72040 TEST=Views mouse button release, cancelling mouse down/drag. Review URL: http://codereview.chromium.org/6685069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79640 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bustage by initializing variable.ben@chromium.org2011-03-281-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79587 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more WidgetWin/WidgetGtk creations to use a new cross-platform ↵ben@chromium.org2011-03-281-4/+24
| | | | | | | | | | static ctor on Widget: CreateWidget(). BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6732028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79586 0039d316-1c4b-4281-b951-d872f2087c98
* Convert some WidgetWin construction to use CreateParams.ben@chromium.org2011-03-241-7/+3
| | | | | | | | | BUG=72040 TEST=none R=erg@chromium.org,estade@chromium.org Review URL: http://codereview.chromium.org/6719006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79279 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 79211 - Convert some WidgetWin construction to use CreateParams.ben@chromium.org2011-03-231-3/+7
| | | | | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6719006 TBR=ben@chromium.org Review URL: http://codereview.chromium.org/6696053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79212 0039d316-1c4b-4281-b951-d872f2087c98
* Convert some WidgetWin construction to use CreateParams.ben@chromium.org2011-03-231-7/+3
| | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6719006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79211 0039d316-1c4b-4281-b951-d872f2087c98
* Amending issue 6716024saintlou@chromium.org2011-03-231-3/+2
| | | | | | | | | | BUG=76976 TEST=none Review URL: http://codereview.chromium.org/6705028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79163 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for issue =76919 and added --keep-mouse-cursor (76976)saintlou@chromium.org2011-03-231-1/+3
| | | | | | | | | | | | (note this is a resubmit of Issue 6718004) BUG=76919, 76976 TEST=none Review URL: http://codereview.chromium.org/6716024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79086 0039d316-1c4b-4281-b951-d872f2087c98
* Add CreateParams to Widget, and replace CreatePopupWidget with CreateParams.ben@chromium.org2011-03-211-9/+12
| | | | | | | | BUG=72040 TEST=none Review URL: http://codereview.chromium.org/6712008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78893 0039d316-1c4b-4281-b951-d872f2087c98
* WidgetGtk: connect to "map" signal instead of "show".sadrul@chromium.org2011-03-181-1/+6
| | | | | | | | | | | | | | If a GtkWidget is gtk_widget_show'n before its parent widget, then the child widget will not have a GdkWindow when "show" triggers. "map" is a more appropriate signal to do something on the GdkWindow after it's created and drawable. BUG=76573 TEST=CollectedCookiesTest.* Review URL: http://codereview.chromium.org/6688028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78719 0039d316-1c4b-4281-b951-d872f2087c98
* Force an expose event from the "show" callback.sadrul@chromium.org2011-03-171-0/+6
| | | | | | | | | | | | This fixes the delayed display of menus, where the menu (wrench menu, context menus) shows up some time (sometimes 10+ seconds) after clicking. BUG=76085 TEST=none Review URL: http://codereview.chromium.org/6665030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78481 0039d316-1c4b-4281-b951-d872f2087c98
* Moving over to other folder button while opening folder menu should open the ↵oshima@google.com2011-03-161-4/+6
| | | | | | | | | | | | | | | folder menu. It was failing with DCHECK instead. This CL fix this issue by Canceling menu only when the menu has x grab. I also separated grk grab broke and X grab broke because gtk broke require releasing x grab for this case. BUG=chromium-os:13151 TEST=see bug description. Review URL: http://codereview.chromium.org/6676032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78447 0039d316-1c4b-4281-b951-d872f2087c98