Merge lp:~robertcarr/mir/prepare-shell-for-input-focus into lp:~mir-team/mir/trunk
Status: | Merged |
---|---|
Approved by: | Alan Griffiths |
Approved revision: | no longer in the source branch. |
Merged at revision: | 507 |
Proposed branch: | lp:~robertcarr/mir/prepare-shell-for-input-focus |
Merge into: | lp:~mir-team/mir/trunk |
Diff against target: |
503 lines (+278/-14) 12 files modified
include/server/mir/frontend/shell.h (+5/-1) include/server/mir/shell/session_manager.h (+8/-0) include/test/mir_test_doubles/mock_focus_setter.h (+42/-0) include/test/mir_test_doubles/mock_shell.h (+4/-0) include/test/mir_test_doubles/stub_shell.h (+5/-0) src/server/frontend/session_mediator.cpp (+1/-1) src/server/shell/session_manager.cpp (+10/-0) tests/acceptance-tests/CMakeLists.txt (+1/-0) tests/acceptance-tests/test_focus_management_api.cpp (+8/-5) tests/acceptance-tests/test_surface_focus.cpp (+162/-0) tests/unit-tests/frontend/test_session_mediator.cpp (+1/-0) tests/unit-tests/shell/test_session_manager.cpp (+31/-7) |
To merge this branch: | bzr merge lp:~robertcarr/mir/prepare-shell-for-input-focus |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Kevin DuBois (community) | Approve | ||
Alan Griffiths | Approve | ||
Review via email: mp+153483@code.launchpad.net |
This proposal supersedes a proposal from 2013-03-12.
Commit message
Prepare shell for setting input focus by passing focus through the mechanism on surface creation.
Description of the change
This branch supersedes:
https:/
Same end goal (see the added acceptance test, test_surface_
One note, is I dropped the behavior of setting focus "only on first surface creation", let's leave this for the shell or at least until the cucumber tests are finished!
=====
This branch works to prepare the session manager for setting input focus.
The driving integration test is tests/integrati
The issue, is in order for the focus setter to set input focus in addition to visible focus, it will have to see the session at surface creation time (not just at session creation time).
===
To go a little deeper in to the motivation (to give context to the chosen interfaces), the input manager (or owner of the droidinput:
InputDispatcher
where InputApplicatio
InputFocusSelec
Now, the focus mechanism in shell may be modified to use the InputFocusSelector, to request focus for a session and it's default surface (a notion which will be added in the branch wiring this up).
This branch is just to allow msh::FocusSette
===
This branch is backed up by the design discussions so far but the full semantics for application focus v. window focus are still in progress in cucumber definition, so rather than try and sort all of that I am just trying to unblock input in a way that will also move us forward in a self contained view.
I think it's a little strange how the FocusArbitrator (session manager) is passed to the ApplicationSession by reference through usage of *this, but the ApplicationSession is passed to the FocusArbitrator (for request_focus) through std::enable_
There is some incidental cleanup to test_registrati
This branch depends on: https:/
PASSED: Continuous integration, rev:485 jenkins. qa.ubuntu. com/job/ mir-ci/ 49/ jenkins. qa.ubuntu. com/job/ mir-quantal- amd64-ci/ 50//console
http://
Executed test runs:
SUCCESS: http://
Click here to trigger a rebuild: jenkins. qa.ubuntu. com/job/ mir-ci/ 49//rebuild/?
http://