summaryrefslogtreecommitdiffstats
path: root/ui/aura/window_tree_host_ozone.h
Commit message (Collapse)AuthorAgeFilesLines
* aura: Unify Ozone+Windows+Android WindowTreeHostsievers2015-10-161-69/+0
| | | | | | | | | | | | | This effectively adds an Android WindowTreeHost. For these three most platform-specific stuff happens in PlatformWindow* and the WTH is mostly a shim. BUG=507792 Review URL: https://codereview.chromium.org/1390883003 Cr-Commit-Position: refs/heads/master@{#354585}
* Plumbs through device scale factor when widget is availablesky2015-06-181-1/+2
| | | | | | | | | | | BUG=none TEST=none R=sadrul@chromium.org TBR=jam@chromium.org Review URL: https://codereview.chromium.org/1184123008 Cr-Commit-Position: refs/heads/master@{#335059}
* Refactoring the ownership of ui::InputMethod.shuchen2015-06-101-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is IMF refactoring according to the design: - For @google.com: https://docs.google.com/document/d/14PQN4fbbSTlJmIk6qk7RzsuNr7O22DUTfNQ6slxKWV0 - For @chromium.org: https://docs.google.com/document/d/1sDES_kuEVUjb_FwCvKsg0Ef48edq5lAx589r0qUtG4g This cl includes some fundamental changes: 1) ui::InputMethod is created & owned by aura::WindowTreeHost. Therefore, the InputMethod instance can be accessed through root_window->GetHost()->GetInputMethod, and no need to save kRootWindowInputMethodKey instance to the root window anymore. 2) Removed InputMethodEventFilter, therefore no need the flag IsTranslated()/SetTranslated() on ui::KeyEvent. 3) Makes aura::WindowTreeHost as a ui::EventSource, because all kinds of WindowTreeHost are also ui::EventSource. Therefore, WindowTreeHost can override DeliverEventToProcessor method to intercept key events for input method processing. Note: 1) The key events processing by input method happens after event rewriters and before the EventHandler's, which remains no change to original on desktop environment. For Ash, the IME key event handling is moved ahead of some other handles: - MagnifierKeyScroller (CrOS only): handles Arrow keys when magnification is enabled. - SpokenFeedbackToggler (CrOS only): handles F6 key when SpokenFeedbackToggler is enabled. - OverlayEventFilter: handles ESC/OEM_2/HELP/F14 keys to cancel the overlay UI. 2) For Ash, remains the singleton ui::InputMethod instance, owned by DisplayController. Because if let each AshWindowTreeHost own separated ui::InputMethod instances, it will break things: a) There is a test: ExtendedDesktopTest.KeyEventsOnLockScreen, which tests the text field in root window X can be inserted with text while dispatching key events to root window Y. I think this test makes no sense and will confirm with oshima@. b) For now for Ozone, DrmWindowHost::CanDispatchEvent() always returns true, so that only primary window tree host can receive the key events, which makes the "primary" InputMethod can receive the key events. c) For Virtual Keyboard on CrOS, it listens to the notification through InputMethodObserver::OnShowImeIfNeeded(), which is bound to the specific InputMethod instance. However, the Virtual Keyboard should work cross multiple root windows & InputMethod instances. BUG=474828 TEST=Verified on local builds, including linux, cros, win7 & win8.1. And all tests passed. Review URL: https://codereview.chromium.org/1155013005 Cr-Commit-Position: refs/heads/master@{#333698}
* Hide compositor when DesktopWindowTreeHostWin::Hide is called.jbauman2015-06-041-2/+2
| | | | | | | | This avoids trying to draw hidden windows and improves performance of resize because status bubble isn't continually redrawn. Review URL: https://codereview.chromium.org/1157433008 Cr-Commit-Position: refs/heads/master@{#332768}
* [Ozone] Constrain the cursor when overscan insets are setpkotwicz2015-01-271-13/+13
| | | | | | | | | | | | Constrain the mouse cursor to the painted region of the screen when overscan insets are set. BUG=427619 TEST=Manual, see bug Review URL: https://codereview.chromium.org/873563002 Cr-Commit-Position: refs/heads/master@{#313336}
* virtual/override specifier cleanup in ui/ (mostly Ozone code).gunsch2015-01-061-24/+23
| | | | | | | | | | | | | These are changes detected by Chromecast not covered by the Linux build. See: https://codereview.chromium.org/831863003 R=sky@chromium.org,spang@chromium.org BUG=417463 Review URL: https://codereview.chromium.org/808333004 Cr-Commit-Position: refs/heads/master@{#310019}
* Cleanup: Update the path to gfx rect headers.tfarina2014-12-311-1/+1
| | | | | | | | | | | | | The geometry headers were moved from /ui/gfx/ to ui/gfx/geometry, so we are updating the include paths to fix this. BUG=395370 TEST=compiles TBR=sky@chromium.org,danakj@chromium.org Review URL: https://codereview.chromium.org/823133004 Cr-Commit-Position: refs/heads/master@{#309814}
* ash: ozone: apply transformation to events outside the root windowlionel.g.landwerlin2014-12-031-1/+4
| | | | | | | | | | | | | When dragging windows from one screen to another, events need to be captured and send to the window where the drag started. As a result we also need to translate event back into the original window's location. BUG=423383 TEST=none Review URL: https://codereview.chromium.org/657603002 Cr-Commit-Position: refs/heads/master@{#306623}
* ozone: don't resend cursor bitmaps for every cursor movementlionel.g.landwerlin2014-11-261-0/+3
| | | | | | | | | TEST=none BUG=436433 Review URL: https://codereview.chromium.org/758883003 Cr-Commit-Position: refs/heads/master@{#305797}
* aura: Remove WindowTreeHost::PostNativeEvent().Sadrul Habib Chowdhury2014-11-071-1/+0
| | | | | | | | | | | | | | | | | WindowTreeHost::PostNativeEvent() is only used in tests. So remove this from the public API. Instead: . For Win32, directly use PostMessage (this is used in only two places). . For Ozone, use EventSourceTestApi to inject the event (this is equivalent to current code, in terms of not doing the right thing when menus are open). . For X11, introduce aura::test::PostEventToWindowTreeHost() instead, and use it in tests. BUG=none R=sky@chromium.org Review URL: https://codereview.chromium.org/710553002 Cr-Commit-Position: refs/heads/master@{#303315}
* replace OVERRIDE and FINAL with override and final in ui/mostynb2014-10-091-23/+23
| | | | | | | | BUG=417463 Review URL: https://codereview.chromium.org/623293004 Cr-Commit-Position: refs/heads/master@{#298839}
* aura: Use PlatformWindow from WindowTreeHostWin.sadrul@chromium.org2014-07-231-0/+1
| | | | | | | | | | | | | | | | | With this patch, both Windows and Ozone implementations use PlatformWindow for interacting with the native windowing system. Eventually, the X11 implementations will also use this, and WindowTreeHost will have a single implementation on all platforms. BUG=none R=ben@chromium.org Previously landed in r284850, but reverted in r284905 because it broke a multi- window ash unit-test on Windows. The test is now disabled (r284931). Review URL: https://codereview.chromium.org/400413002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284986 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 284850 "aura: Use PlatformWindow from WindowTreeHostWin."markusheintz@chromium.org2014-07-231-1/+0
| | | | | | | | | | | | | | | | | | | | > aura: Use PlatformWindow from WindowTreeHostWin. > > With this patch, both Windows and Ozone implementations use PlatformWindow for > interacting with the native windowing system. Eventually, the X11 implementations > will also use this, and WindowTreeHost will have a single implementation on all > platforms. > > BUG=none > R=ben@chromium.org > > Review URL: https://codereview.chromium.org/400413002 TBR=sadrul@chromium.org Review URL: https://codereview.chromium.org/410873003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284905 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Use PlatformWindow from WindowTreeHostWin.sadrul@chromium.org2014-07-231-0/+1
| | | | | | | | | | | | | | With this patch, both Windows and Ozone implementations use PlatformWindow for interacting with the native windowing system. Eventually, the X11 implementations will also use this, and WindowTreeHost will have a single implementation on all platforms. BUG=none R=ben@chromium.org Review URL: https://codereview.chromium.org/400413002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284850 0039d316-1c4b-4281-b951-d872f2087c98
* ozone: Port WindowTreeHostOzone on top of PlatformWindowspang@chromium.org2014-07-161-9/+20
| | | | | | | | | | | | | | | | | | | | | Most of the WindowTreeHost functionality is actually implemented by the platform window, so there's not much in WindowTreeHostOzone aside from forwarding calls to and from the platform part. Should be no functional change for in-tree platforms. To accomplish that, this adds a transitional class PlatformWindowCompat that implements PlatformWindow functions as WindowTreeHostOzone did before. As a followup, we'll convert each platform to use the new PlatformWindow natively & then remove PlatformWindowCompat. BUG=392280 TEST=built with chromeos==1 use_ozone==1 & ran all platforms. NOTRY=true TBR=ben@chromium.org Review URL: https://codereview.chromium.org/375053002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@283573 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Remove WindowTreeHost::OnDeviceScaleFactorChanged.sadrul@chromium.org2014-07-121-1/+0
| | | | | | | | | | | | None of the implementations if WindowTreeHosts do anything when the device-scale factor changes. So remove it. BUG=none R=sky@chromium.org Review URL: https://codereview.chromium.org/389663003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282799 0039d316-1c4b-4281-b951-d872f2087c98
* aura: Remove WindowTreeHost::QueryMouseLocation().sadrul@chromium.org2014-04-281-1/+0
| | | | | | | | | | | | | The primary use-case for QueryMouseLocation() is for X11 interactive tests. The only other use was in WindowEventDispatcher, but that code is no longer necessary. BUG=none R=sky@chromium.org Review URL: https://codereview.chromium.org/251743004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266565 0039d316-1c4b-4281-b951-d872f2087c98
* Adding GetEventSource() method to the WindowTreeHost class.mfomitchev@chromium.org2014-04-241-0/+1
| | | | | | Review URL: https://codereview.chromium.org/250103002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266024 0039d316-1c4b-4281-b951-d872f2087c98
* ozone: Export WindowTreeHostOzonespang@chromium.org2014-04-111-3/+3
| | | | | | | | | | | | | The ash component is now using this for AshWindowTreeHostOzone. R=sadrul TEST=ash_unittests BUG=361341 NOTRY=true Review URL: https://codereview.chromium.org/235533002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263300 0039d316-1c4b-4281-b951-d872f2087c98
* Introdcue AshWindowTreeHost and move ash/chrome specific code in WTH to ash.oshima@chromium.org2014-04-111-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | Other notable changes: * Removed WindowTreeHostFactory as this is no longer necessary. * Moved RootWindowTransformer to ash/host * Removed Set/GetInsets which are no longer necessary (a code in SetInsets is now a part of SetRootWindowTransformer) * Added TransformerHelper that implements common behavior to transform root window for AshWindowTreeHost * Added DEPS files * Updated metro_viewer code to make sure it creates ash::AshRemoteWindowHostTree A few more simplifications to come: * Simplify RootWindowTransformer * Eliminate EnvObserver in AshWindowTreeHostX11 I'll also work on DEPS reorg to make it more explicit under ash/ BUG=355771 TEST=No functional change. ui/aura/window_tree_host_x11_unittests has been moved to ash/host/ash_window_tree_host_x11_unittests Review URL: https://codereview.chromium.org/201573015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263192 0039d316-1c4b-4281-b951-d872f2087c98
* ozone: Use PlatformEventSource for dispatching events.sadrul@chromium.org2014-04-051-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable changes: * Convert EventFactoryOzone into a PlatformEventSource. * Convert WindowTreeHostOzone into a PlatformEventDispatcher. * The WindowTreeHostOzone looks at the location of the event for mouse, scroll and touch-events to decide whether it should dispatch the event or not. It expects the event-location it receives to be in the same coordinate space as its bounds. * Adds an ObserverList in MessagePumpOzone, and the EventFactoryOzone reaches into the message-pump to trigger these observers. This is a short-term workaround (the same is done for X11 in http://crrev.com/219743002/), until the message-pump observers are converted into PlatformEventObservers. * Have EventConverterEvdev take in a callback that can be used for dispatching events it receives. The EventFactoryEvdev sets this callback to each of these converters after creation. * Change the asynchronous event-dispatch to be synchronous. This set of changes allows dispatching events to multiple window-tree hosts (at least in theory). BUG=319986 R=rjkroege@chromium.org, spang@chromium.org Review URL: https://codereview.chromium.org/223363003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261953 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PrepareForShutdownoshima@chromium.org2014-03-201-1/+0
| | | | | | | | | | | | Filter events after shutdown in event filter instead. BUG=None Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258077 Review URL: https://codereview.chromium.org/196573023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258217 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 258077 "Remove PrepareForShutdown"brettw@chromium.org2014-03-191-0/+1
| | | | | | | | | | | | | | | | | | | | | Broke Linux official builder: http://build.chromium.org/p/chromium/builders/Linux/builds/48352/steps/compile/logs/stdio ../../apps/shell/browser/shell_browser_main_parts.cc:197:42:error: 'class aura::WindowEventDispatcher' has no member named 'PrepareForShutdown' ninja: build stopped: subcommand failed. > Remove PrepareForShutdown > Filter events after shutdown in event filter instead. > > BUG=None > > Review URL: https://codereview.chromium.org/196573023 TBR=oshima@chromium.org Review URL: https://codereview.chromium.org/205313002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258103 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PrepareForShutdownoshima@chromium.org2014-03-191-1/+0
| | | | | | | | | | Filter events after shutdown in event filter instead. BUG=None Review URL: https://codereview.chromium.org/196573023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258077 0039d316-1c4b-4281-b951-d872f2087c98
* Rename RootWindow -> WindowEventDispatcher.ben@chromium.org2014-02-211-1/+0
| | | | | | | | | | http://crbug.com/308843 R=sky@chromium.org Review URL: https://codereview.chromium.org/172743002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252501 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed the virtual function to fix the build error.ararunprasad@gmail.com2014-02-181-1/+1
| | | | | | | | BUG=344502 Review URL: https://codereview.chromium.org/167003005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251815 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some methods from RootWindow that really belong on the WTH.ben@chromium.org2014-02-161-3/+3
| | | | | | | | | TBR=sky@chromium.org BUG= Review URL: https://codereview.chromium.org/167563004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251606 0039d316-1c4b-4281-b951-d872f2087c98
* Move root_window_host* in aura to window_tree_host*.ben@chromium.org2014-02-141-0/+64
R=sky@chromium.org TBR=sky@chromium.org BUG= Review URL: https://codereview.chromium.org/160573002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251379 0039d316-1c4b-4281-b951-d872f2087c98