summaryrefslogtreecommitdiffstats
path: root/components/mus/ws/window_tree_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Routes setting focus through WindowServer so it can notify other displayssky2016-03-251-19/+1
| | | | | | | | | | | | This way we only have one Display with focus. BUG=none TEST=none R=ben@chromium.org Review URL: https://codereview.chromium.org/1833873004 Cr-Commit-Position: refs/heads/master@{#383403}
* Mus Window Server Post Target Acceleratorsjonross2016-03-221-58/+0
| | | | | | | | | | | | | | | | Implement post-target accelerators in the mus window server. EventDispatcher's EventMatcher class has been refactored out into Accelerator. This provides a WeakPtr, as accelerators can be deleted by the client while the window server is awaiting an event ack. We don't want to notify a now deleted accelerator. Updated EventDispatcher to send post-targer accelerators to its delegate. Updated WindowManagerState to track accelerators awaiting event acks. On unhandled event acks the accelerator is sent. TEST=EventDispatcherTest, WindowManagerStateTest, manual testing of a post-target accelerator BUG=560478 Review URL: https://codereview.chromium.org/1806413003 Cr-Commit-Position: refs/heads/master@{#382600}
* Restrict Input Capture to Visible Windowsjonross2016-03-211-0/+18
| | | | | | | | | | | | In the Mus Window Server is was noted that while the setting of input capture requires that a client be currently interacting with an event, it did not require that the window be visible. EventDispatcher already removes capture when a window toggles visibility TEST=WindowTreeTest.CaptureWindowMustBeVisible Review URL: https://codereview.chromium.org/1814293002 Cr-Commit-Position: refs/heads/master@{#382298}
* Renames ConnectionManager to WindowServersky2016-03-151-24/+21
| | | | | | | | | | | | | WindowServer makes a lot more sense in this context. BUG=none TEST=none R=ben@chromium.org TBR=ben@chromium.org Review URL: https://codereview.chromium.org/1806773002 Cr-Commit-Position: refs/heads/master@{#381352}
* This change relands (https://codereview.chromium.org/1749323002/)jonross2016-03-141-1/+1
| | | | | | | | | | | | | | | | | | Revert "Revert of Update WindowTree::OnWindowInputEventAck to include handled (patchset #4 id:60001 of https://codereview.chromium.org/1749323002/ )" This reverts commit ce1b6c89699ef3d9b0834c0d840c2de0205517a4. This also fixes a compilation error on Windows of content_unittests. TBR=sky@chromium.org TBR=ben@chromium.org TBR=tdresser@chromium.org TEST=WindowTreeClientImplTest, WindowTreeApptest, WindowTreeTest, CompositorMusConnectionTest BUG=560478 Review URL: https://codereview.chromium.org/1784323002 Cr-Commit-Position: refs/heads/master@{#380995}
* Makes WindowTree take the AccessPolicysky2016-03-111-2/+6
| | | | | | | | | | | | | Having callers decide the policy makes more sense, and will be useful as we add more policies (such as the director). BUG=590955 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1782123003 Cr-Commit-Position: refs/heads/master@{#380777}
* Removes embed root from mussky2016-03-111-10/+5
| | | | | | | | | | | | | This was used by mandoline and is no longer used, so nuking it to simplify things. BUG=none TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1783993002 Cr-Commit-Position: refs/heads/master@{#380497}
* Adds AccessControlManager and wires up user idssky2016-03-101-19/+36
| | | | | | | | | | | | The AccessControlManager is used to tell mus the active user. BUG=577274 TEST=bot only change R=ben@chromium.org Review URL: https://codereview.chromium.org/1781733002 Cr-Commit-Position: refs/heads/master@{#380276}
* mus: Server-side implementation of modal windowsmohsen2016-03-091-0/+218
| | | | | | | | | | | | This patch adds server-side implementation for window modal windows, i.e. windows that are modal to their transient parent. System modal windows will be added later. BUG=548402 Review URL: https://codereview.chromium.org/1759523002 Cr-Commit-Position: refs/heads/master@{#380177}
* Moves EventDispatcher from Display to WindowManagerStatesky2016-03-091-6/+10
| | | | | | | | | | | | | | | | | | EventDispatcher maintains state that is per WindowManager (accelerators, root...), so it makes sense that the EventDispatcher is owned by the WindowManagerState. This patch also makes Display update WindowManagerState and EventDispatcher appropriately when the active user changes. When the active user changes capture and any other event related state is reset. BUG=590955 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1775133003 Cr-Commit-Position: refs/heads/master@{#380005}
* Hook up BeginFrameSource to SurfaceFactoryClient via SurfaceManagerenne2016-03-091-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SurfaceManager now maintains a dag of surface id namespaces. Optionally, a single BeginFrameSource input can be attached to a single namespace node. Every namespace node also has a SurfaceFactoryClient. This client is informed of a current BeginFrameSource, which is chosen from any BeginFrameSource attached to it or a parent of that node. Any children of that namespace also are able to use that source. SurfaceManager is responsible for picking which source to use, of which it currently just picks the first one until that source goes is removed after which it arbitrarily picks another valid one. In practice, this means that a window moved to another display in ChromeOS will switch its BeginFrameSource after the window is dropped onto the new window. Because the users of this dag all have very different requirements, the ordering of SurfaceFactoryClient registration, namespace hierarchy registration, and BeginFrameSource attaching are not particularly strict. BeginFrameSources, SurfaceFactoryClients, and hierarchies can be registered and unregistered in any order with respect to each other. BUG=401331 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1673783004 Cr-Commit-Position: refs/heads/master@{#379988}
* Revert of Update WindowTree::OnWindowInputEventAck to include handled ↵jonross2016-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/1749323002/ ) Reason for revert: This broke the Windows component build. https://build.chromium.org/p/chromium.fyi/builders/CrWinClang64%28dbg%29/builds/4025 Original issue's description: > Update WindowTree::OnWindowInputEventAck to include handled > > To support post-target accelerators we plan to have the client application report whether an input event was handled or not, when ack-ing the event. > > This change updates WindowTree::OnWindowInputEventAck to include a boolean parameter |handled|. > > PlatformWindowMus will always mark events as handled. CompositorMusConnection will base the handled state on the ack state of the renderer. > > TEST=WindowTreeClientImplTest, WindowTreeApptest, WindowTreeTest, CompositorMusConnectionTest > BUG=560478 > > Committed: https://crrev.com/c3385cc179280dd4b09733b2954be7e9ae3b5112 > Cr-Commit-Position: refs/heads/master@{#379821} TBR=sky@chromium.org,tdresser@chromium.org,ben@chromium.org,thakis@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=560478 Review URL: https://codereview.chromium.org/1774973002 Cr-Commit-Position: refs/heads/master@{#379830}
* Update WindowTree::OnWindowInputEventAck to include handledjonross2016-03-081-1/+1
| | | | | | | | | | | | | | | To support post-target accelerators we plan to have the client application report whether an input event was handled or not, when ack-ing the event. This change updates WindowTree::OnWindowInputEventAck to include a boolean parameter |handled|. PlatformWindowMus will always mark events as handled. CompositorMusConnection will base the handled state on the ack state of the renderer. TEST=WindowTreeClientImplTest, WindowTreeApptest, WindowTreeTest, CompositorMusConnectionTest BUG=560478 Review URL: https://codereview.chromium.org/1749323002 Cr-Commit-Position: refs/heads/master@{#379821}
* More renaming in mussky2016-03-041-142/+113
| | | | | | | | | | | | | | WindowTreeImpl -> WindowTree ClientConnection -> WindowTreeBinding BUG=none TEST=none R=ben@chromium.org TBR=ben@chromium.org Review URL: https://codereview.chromium.org/1766463003 Cr-Commit-Position: refs/heads/master@{#379199}
* Cleanup some of the naming in mussky2016-03-041-43/+40
| | | | | | | | | | | | | | | DisplayManager* -> PlatformDisplay* WindowTreeHostConnection -> DisplayBinding WindowTreeHost -> Display BUG=none TEST=none R=ben@chromium.org TBR=ben@chromium.org Review URL: https://codereview.chromium.org/1767483002 Cr-Commit-Position: refs/heads/master@{#379163}
* More user id tracking for mus:sky2016-03-041-258/+11
| | | | | | | | | | | | | | | Adds UserIdTracker to track set of known/valid user ids. Start of adding test coverage for multiple windowmanagers per treehost along with a handful of fixes. BUG=590955 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1757403002 Cr-Commit-Position: refs/heads/master@{#379156}
* Changes ownership of ClientConnectionsky2016-03-031-24/+10
| | | | | | | | | | | | | | | | Previously ClientConnection owned the WindowTreeImpl. This is mildly confusing and weird. Now WindowTreeImpl owns the ClientConnection and ConnectionManager owns the WindowTreeImpls. As part of this I also changed around how WindowTreeImpls are created. BUG=590955 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1764483003 Cr-Commit-Position: refs/heads/master@{#378961}
* Adds WindowManagerManager to mussky2016-03-021-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | WindowTreeHostImpl now has a set of WindowManagerManagers. There are two distinct modes: . Created by way of using WindowTreeHostFactory. In this mode there is only one WindowManagerManager for the host. . Created implicitly when no WindowTreeHostFactorys have been used. In this mode there is a WindowManagerManager per userid. This patch doesn't enforce WindowTreeClients only created windows under the WindowManager with the id. That'll come after this. Additionally there is a lot of cleanup to do, but I'm trying to minimize the extent of the changes, which are already quite large. I've changed mash (desktop_wm) so that it no longer uses WindowTreeHostFactory. This triggers having mus create a default WindowTreeHost (the second mode above). BUG=590955 TEST=covered by tests R=ben@chromium.org BUG= Review URL: https://codereview.chromium.org/1755223002 Cr-Commit-Position: refs/heads/master@{#378809}
* Remove mojom::EventPtr from EventDispatcher.moshayedi2016-03-011-17/+20
| | | | | | | | | | | | We want to get rid of mojom::EventPtr and use ui::Event instead at some point. This is the first step in doing so, which removes mojom::EventPtr from EventDispatcher and EventDispatcherDelegate. BUG=578206 Review URL: https://codereview.chromium.org/1641673003 Cr-Commit-Position: refs/heads/master@{#378428}
* Changes ownership of WindowTreeHostConnectionsky2016-03-011-27/+24
| | | | | | | | | | | | | | | | | | | | | | Changes ownership of WindowTreeHostConnection Previously WindowTreeHostConnection owned then WindowTreeHost. This change makes the WindowTreeHosts owned by the ConnectionManager. WindowTreeHost in turn owns the WindowTreeHostConnection. I'm doing this as multiple windows managers per display implies WindowTreeHost won't always have a WindowTreeHostConnection. I also nuked WindowTreeHostDelegate and folded into WindowTreeHostConnection. BUG=590955 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1750143002 Cr-Commit-Position: refs/heads/master@{#378393}
* Replace with mojo::Connector (already exists) now that Shell is gone.ben2016-02-261-1/+1
| | | | | | | | | | | | Requires: - Move AppRefCount to a different class, MessageLoopRef, which is optionally used by applications that wish to quit the current message loop started by application runner when the ref drops to zero. - Changing the signature of Initialize() to take a Connector. This is what most of the change in this CL is. BUG= Review URL: https://codereview.chromium.org/1725353003 Cr-Commit-Position: refs/heads/master@{#377841}
* Mojo C++ bindings: make Array/Map/String non-null by default.yzshen2016-02-131-1/+0
| | | | | | | | | | | | | | | Array<X> a; // Default construct an empty array. Array<X> b(nullptr); // Construct a null array. a.clear(); // Set to an empty array. a = nullptr; // Set to a null array. BUG=579634 TEST=None Review URL: https://codereview.chromium.org/1693943002 Cr-Commit-Position: refs/heads/master@{#375304}
* mus Window Server: implement event capturejonross2016-02-111-0/+48
| | | | | | | | | | | | | | This CL implements an explicit capture API that will be used for popups. This is a split of the review: https://codereview.chromium.org/1605773004/ Where this review encompasses only the Window Server functionality. The client lib code is just stubs for compilation. Full implementation of the client will follow in a separate review. TEST=EventDispatcherTest.SetExplicitCapture, EventDispatcherTest.ExplicitCaptureOverridesImplicitCapture, EventDispatcherTest.CaptureUpdatesActivePointerTargets, EventDispatcherTest.UpdatingCaptureStopsObservingPreviousCaputre, EventDispatcherTest.DestroyingCaptureWindowRemovesExplicitCapture BUG=533161 Review URL: https://codereview.chromium.org/1677513002 Cr-Commit-Position: refs/heads/master@{#374824}
* mus: Add snapshot mechanism to DisplayManager.moshayedi2016-02-091-0/+3
| | | | | | | | | | | | | | This adds RequestCopyOfOutput() to DisplayManager. We will need this to provide a mojo snapshot API. DisplayManager forwards the request to TopLevelDisplayClient, which submits the request using SurfaceFactory::RequestCopyOfSurface(). BUG=557397 Review URL: https://codereview.chromium.org/1677073004 Cr-Commit-Position: refs/heads/master@{#374469}
* Extract shell methods from ApplicationImpl into a base class, and pass this ↵ben2016-02-071-2/+1
| | | | | | | | | | | | | | | to Initialize() instead. Also eliminates use of mojo::shell::mojom::Shell in favor of this base interface. This means most code doesn't have to use ApplicationImpl - only the places that instantiate them. TBR=rockot@chromium.org BUG= Review URL: https://codereview.chromium.org/1674903003 Cr-Commit-Position: refs/heads/master@{#374049}
* Moves more functions off WindowTreeHost onto WindowManagerClientsky2016-02-021-4/+3
| | | | | | | | | | | | I also nuked WindowTreeHostClient. BUG=581198 TEST=none R=ben@chromium.org Review URL: https://codereview.chromium.org/1658983005 Cr-Commit-Position: refs/heads/master@{#373079}
* Moves accelerator registration to WindowManagersky2016-02-021-0/+1
| | | | | | | | | | | | And makes the desktop_wm register accelerators on all roots. BUG=553619 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1656123002 Cr-Commit-Position: refs/heads/master@{#372898}
* Nukes WindowManagerDeprecatedsky2016-01-301-2/+2
| | | | | | | | | | | | | | As part of this I made the WS ask for the WindowManager from the client the WindowTreeHost is created for. This was necessary to avoid timing issues. BUG=566155 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1656443002 Cr-Commit-Position: refs/heads/master@{#372498}
* Renames some WindowManager classessky2016-01-281-13/+11
| | | | | | | | | | | | | | | | | WindowManager->WindowManagerDeprecated (i'll nuke this entirely soon) WindowManagerInternal->WindowManager I'll move the WindowManager classes into window_manager.mojom once I nuke WindowManagerDeprecated (I can't now because of a cycle). BUG=none TEST=none R=ben@chromium.org TBR=ben@chromium.org Review URL: https://codereview.chromium.org/1644773004 Cr-Commit-Position: refs/heads/master@{#372006}
* Makes it so each windowtreeclient can use whatever ids it wantssky2016-01-281-65/+97
| | | | | | | | | | | | | | | This way clients won't need to wait for OnEmbed() before they can start using windowtree. This also better isolates the apps. I haven't updated the client lib to take advantage of this. I will do that next. BUG=566155 TEST=covered by tests Review URL: https://codereview.chromium.org/1639223003 Cr-Commit-Position: refs/heads/master@{#371915}
* Start of display management for mussky2016-01-221-0/+1
| | | | | | | | | | | | | | | | This adds a DisplayManager interface that you get from mus. You can then attach an observer to observe display related changes. BUG=548429 TEST=none R=ben@chromium.org Committed: https://crrev.com/bc2281a7a7576f5b4da85986298322b3c9d2234e Cr-Commit-Position: refs/heads/master@{#370880} Review URL: https://codereview.chromium.org/1615023004 Cr-Commit-Position: refs/heads/master@{#371059}
* Revert of Start of display management for mus (patchset #5 id:80001 of ↵erg2016-01-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1615023004/ ) Reason for revert: Consistently causing crashes on mash startup: [0122/110054:FATAL:default_logger_impl.cc(51)] Check failed: ptr_. #0 0x7fc46007507e base::debug::StackTrace::StackTrace() #1 0x7fc4600c0bcf logging::LogMessage::~LogMessage() #2 0x7fc45fe9ac30 mojo::internal::(anonymous namespace)::LogMessage() #3 0x7fc45fe9a2e5 mojo::internal::LogMessage::~LogMessage() #4 0x7fc45de1a33c mojo::StructPtr<>::operator->() #5 0x7fc45fff3fc7 mus::ws::ConnectionManager::AddObserver() #6 0x7fc45fe327f3 mus::mojom::DisplayManagerStub::Accept() #7 0x7fc45fe07f64 mojo::internal::Router::HandleIncomingMessage() #8 0x7fc45fe07b41 mojo::internal::Router::HandleIncomingMessageThunk::Accept() #9 0x7fc45fe32a9e mus::mojom::DisplayManagerRequestValidator::Accept() Original issue's description: > Start of display management for mus > > This adds a DisplayManager interface that you get from mus. You can > then attach an observer to observe display related changes. > > BUG=548429 > TEST=none > R=ben@chromium.org > > Committed: https://crrev.com/bc2281a7a7576f5b4da85986298322b3c9d2234e > Cr-Commit-Position: refs/heads/master@{#370880} TBR=ben@chromium.org,sky@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=548429 Review URL: https://codereview.chromium.org/1618963005 Cr-Commit-Position: refs/heads/master@{#371005}
* Start of display management for mussky2016-01-221-0/+1
| | | | | | | | | | | | | This adds a DisplayManager interface that you get from mus. You can then attach an observer to observe display related changes. BUG=548429 TEST=none R=ben@chromium.org Review URL: https://codereview.chromium.org/1615023004 Cr-Commit-Position: refs/heads/master@{#370880}
* Change mojo enums to be scoped enums in the generated C++ bindings.sammc2016-01-211-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Some mojo enums were previously not proper enums: they were constants for bitfields. These have been replaced by const int32s in the mojoms: - mus.mojom.EventFlags - mus.mojom.MouseEventFlags - mus.mojom.ResizeBehavior - mus.mojom.WindowTree.AccessPolicy Some mojo enum values now conflict with macros (mostly on Windows) and needed to change: - mus.mojom.Cursor.NULL became CURSOR_NULL (again) - mus.mojom.KeyboardCode.DELETE became DELETE_KEY - mus.mojom.WindowManagerErrorCode.ERROR_ACCESS_DENIED became ACCESS_DENIED - device.usb.TransferDirection.IN became INBOUND - device.usb.TransferDirection.OUT became OUTBOUND - device.usb.TransferStatus.ERROR became TRANSFER_ERROR - device.NFCRecordType.OPAQUE became OPAQUE_RECORD - media.interfaces.Decryptor.Status.ERROR became DECRYPTION_ERROR - skia.AlphaType.OPAQUE became ALPHA_TYPE_OPAQUE Review URL: https://codereview.chromium.org/1527183003 Cr-Commit-Position: refs/heads/master@{#370632}
* Adds MOUSE_EXIT events and makes EventDispatcher generate themsky2016-01-131-3/+6
| | | | | | | | | | | | These are needed so that clients can properly update state. BUG=none TEST=covered by tests R=sadrul@chromium.org Review URL: https://codereview.chromium.org/1574353002 Cr-Commit-Position: refs/heads/master@{#369237}
* Move mojo/application/public -> mojo/shell/publicben2016-01-121-1/+1
| | | | | | | | | TBR=sky@chromium.org http://crbug.com/575308 Review URL: https://codereview.chromium.org/1565343003 Cr-Commit-Position: refs/heads/master@{#368776}
* Changes top level window creation to include window state in callbacksky2016-01-081-1/+6
| | | | | | | | | | | | Without this the client and server may be out of sync. BUG=none TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1568263003 Cr-Commit-Position: refs/heads/master@{#368464}
* Adds remainder of support for multiple roots to WSsky2016-01-071-3/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial root is established as it always has by way of Embed() (although I could change this too). Subsequent roots are created by way of WindowTreeConnection::NewTopLevelWindow(). This results in the following: . client lib assigns its own id to newly created window in it's own namespace and communicates this to server via NewTopLevelWindow. . WS::NewTopLevelWindow() forwards request to WM to create the actual window. Additionally the WS pauses incoming messages from the client until the WM communicates the real id back (*). . WM creates window and communicates back to WS the id via OnWmCreatedTopLevelWindow(). . WS maintains mapping between client assigned id and id assigned from WS and ensures the client only ever sees the id it assigned and not the real id. I would have preferred not to have two ids like this, but doing this means the client doesn't have to block waiting for the rela id from the WS before it can use the window. * Pausing incoming messages is done to ensure we don't end up in a situation where the client is trying to use the id before the WM has actually created the window. By pausing the bindings we ensure we won't get any out of order messages. From the clients perspective the client can continue messaging the server. I also made WindowManagerConnection maintain a single WindowTreeConnection, so that all windows created by it come from the same connection. BUG=569154 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1567623003 Cr-Commit-Position: refs/heads/master@{#368100}
* Makes OnWindowViewportMetricsChanged take an arraysky2016-01-061-0/+1
| | | | | | | | | | | | | | Each WindowTreeImpl is going to have a list of roots. When the viewport metrics change the client needs to be told which windows metrics changed. BUG=569154 TEST=none R=sadrul@chromium.org Review URL: https://codereview.chromium.org/1560613003 Cr-Commit-Position: refs/heads/master@{#367728}
* Makes WindowTreeClient::OnUnembed take the window_idsky2016-01-061-1/+1
| | | | | | | | | | | | | This is necessary when we support multiple roots so that the client can know which window was unembeded. BUG=569154 TEST=covered by tests R=ben@chromium.org Review URL: https://codereview.chromium.org/1564543002 Cr-Commit-Position: refs/heads/master@{#367720}
* Makes WindowTreeImpl have multiple roots and additional mappingsky2016-01-051-25/+37
| | | | | | | | | | | | | | | This is just plumbing. Multiple roots are not enabled, but the basics for it is there. The mapping is going to be used to allow the client to supply there own id when asking for a new window to be created for an embed. BUG=569154 TEST=none R=ben@chromium.org Review URL: https://codereview.chromium.org/1555243002 Cr-Commit-Position: refs/heads/master@{#367654}
* Removes WindowTreeImpl::creator_id_sky2015-12-301-4/+3
| | | | | | | | | | | | | It's no longer used. BUG=none TEST=none R=ben@chromium.org TBR=ben@chromium.org Review URL: https://codereview.chromium.org/1554783002 Cr-Commit-Position: refs/heads/master@{#367190}
* Switch to standard integer types in components/, part 2 of 4.avi2015-12-261-0/+3
| | | | | | | | | BUG=138542 TBR=blundell@chromium.org Review URL: https://codereview.chromium.org/1548113002 Cr-Commit-Position: refs/heads/master@{#366877}
* Move WindowManager related functions into an associated interfacesky2015-12-111-7/+9
| | | | | | | | | | | | | | This adds WindowManagerInternal, which is implemented by the WindowManager (the client library), and WindowManagerInternalClient (implemented by the server). BUG=565412 TEST=none R=ben@chromium.org Review URL: https://codereview.chromium.org/1519573002 Cr-Commit-Position: refs/heads/master@{#364758}
* Routes close requests from WM to clientsky2015-12-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | Adds WindowTree::WmRequestClose(). The WM invokes this when the user clicks the close button. This calls to WindowTreeClient::RequestClose() so that the client can close the window (if it wants to). In getting this to work I had to straighten out shutdown of NativeWidgetMus. Previously we keyed off the aura::Window going away and tried to do somethings if the mus::Window went away. I've centralized it so we cleanup when the mus::Window goes away. BUG=none TEST=none R=ben@chromium.org Committed: https://crrev.com/359ce52f32bf5d8ecbe7b719af983aa878f0e0de Cr-Commit-Position: refs/heads/master@{#364606} Review URL: https://codereview.chromium.org/1518593003 Cr-Commit-Position: refs/heads/master@{#364720}
* Revert of Routes close requests from WM to client (patchset #4 id:50001 of ↵tzik2015-12-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1518593003/ ) Reason for revert: This seems to break windows build for a link error, that is probably a visibility issue. The error log is: http://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN%20%28dbg%29/builds/14955 browser_window.obj :error LNK2001: unresolved external symbol "public: virtual void __cdecl aura::WindowTreeHostObserver::OnHostMoved(class aura::WindowTreeHost const *,class gfx::Point const &)" (?OnHostMoved@WindowTreeHostObserver@aura@@UEAAXPEBVWindowTreeHost@2@AEBVPoint@gfx@@@Z) browser_window.obj :error LNK2001: unresolved external symbol "public: virtual void __cdecl aura::WindowTreeHostObserver::OnHostResized(class aura::WindowTreeHost const *)" (?OnHostResized@WindowTreeHostObserver@aura@@UEAAXPEBVWindowTreeHost@2@@Z) ./desktop_ui_library.dll : fatalerror LNK1120: 2 unresolved externals Original issue's description: > Routes close requests from WM to client > > Adds WindowTree::WmRequestClose(). The WM invokes this when the user > clicks the close button. This calls to > WindowTreeClient::RequestClose() so that the client can close the > window (if it wants to). > > In getting this to work I had to straighten out shutdown of > NativeWidgetMus. Previously we keyed off the aura::Window going > away and tried to do somethings if the mus::Window went away. I've > centralized it so we cleanup when the mus::Window goes away. > > BUG=none > TEST=none > R=ben@chromium.org > > Committed: https://crrev.com/359ce52f32bf5d8ecbe7b719af983aa878f0e0de > Cr-Commit-Position: refs/heads/master@{#364606} TBR=ben@chromium.org,sky@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=none Review URL: https://codereview.chromium.org/1509733009 Cr-Commit-Position: refs/heads/master@{#364612}
* Routes close requests from WM to clientsky2015-12-111-1/+2
| | | | | | | | | | | | | | | | | | | | Adds WindowTree::WmRequestClose(). The WM invokes this when the user clicks the close button. This calls to WindowTreeClient::RequestClose() so that the client can close the window (if it wants to). In getting this to work I had to straighten out shutdown of NativeWidgetMus. Previously we keyed off the aura::Window going away and tried to do somethings if the mus::Window went away. I've centralized it so we cleanup when the mus::Window goes away. BUG=none TEST=none R=ben@chromium.org Review URL: https://codereview.chromium.org/1518593003 Cr-Commit-Position: refs/heads/master@{#364606}
* mus: Use ui::Event in DisplayManagerDelegate.sadrul2015-12-091-46/+23
| | | | | | | | | | | | | | The window server in mus needs to create a mojom::Event out of a ui::Event before it can be dispatched to the client. However, internally, the window server can still use ui::Events it receives from the PlatformWindow. This patch delays the conversion from ui::Event to mojom::Event a little, and so DisplayManager can send a ui::Event to its delegate. BUG=none Review URL: https://codereview.chromium.org/1512003002 Cr-Commit-Position: refs/heads/master@{#364161}
* mus: scoper.Pass() => std::move(scoper)fsamuel2015-12-091-24/+23
| | | | | | | | BUG=557422 Review URL: https://codereview.chromium.org/1511443003 Cr-Commit-Position: refs/heads/master@{#363968}
* mus: Change the cursor when the bounds/stacking/hierarchy change.erg2015-12-071-20/+86
| | | | | | | | BUG=548428 Review URL: https://codereview.chromium.org/1497363002 Cr-Commit-Position: refs/heads/master@{#363533}