Merge lp:~robertcarr/mir/prepare-session-manager-for-input-focus into lp:~mir-team/mir/trunk
Status: | Superseded |
---|---|
Proposed branch: | lp:~robertcarr/mir/prepare-session-manager-for-input-focus |
Merge into: | lp:~mir-team/mir/trunk |
Prerequisite: | lp:~robertcarr/mir/reduce-coupling-in-application-mediator-tests |
Diff against target: |
854 lines (+328/-73) 20 files modified
include/mir/shell/application_session.h (+6/-1) include/mir/shell/focus_arbitrator.h (+47/-0) include/mir/shell/session.h (+3/-1) include/mir/shell/session_manager.h (+2/-0) include/mir/shell/session_store.h (+5/-1) include/mir_test_doubles/mock_session.h (+2/-0) include/mir_test_doubles/mock_session_store.h (+2/-0) include/mir_test_doubles/stub_session.h (+4/-0) include/mir_test_doubles/stub_session_store.h (+4/-0) src/shell/application_session.cpp (+13/-0) src/shell/session_manager.cpp (+10/-1) tests/acceptance-tests/test_focus_management_api.cpp (+5/-0) tests/integration-tests/CMakeLists.txt (+1/-0) tests/integration-tests/frontend/CMakeLists.txt (+0/-1) tests/integration-tests/shell/CMakeLists.txt (+9/-0) tests/integration-tests/shell/test_session_manager.cpp (+64/-0) tests/unit-tests/shell/test_application_session.cpp (+95/-23) tests/unit-tests/shell/test_registration_order_focus_sequence.cpp (+18/-26) tests/unit-tests/shell/test_session_manager.cpp (+22/-2) tests/unit-tests/shell/test_the_session_container_implementation.cpp (+16/-17) |
To merge this branch: | bzr merge lp:~robertcarr/mir/prepare-session-manager-for-input-focus |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Griffiths | Needs Fixing | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email: mp+152806@code.launchpad.net |
This proposal has been superseded by a proposal from 2013-03-14.
Commit message
Prepare the session manager for setting input focus through setting focus on creation of a sessions first surface.
Description of the change
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:/
Unmerged revisions
- 485. By Robert Carr
-
Reduce obtusity of test name
- 484. By Robert Carr
-
test_session_
manager. cpp: Replace a should be stub mock with a stub - 483. By Robert Carr
-
Remove overzealous whitespace deletion
- 482. By Robert Carr
-
Merge reduce-
coupling- in-application- mediator- test - 481. By Robert Carr
-
focus_arbitrator.h: Fix misnamed header guard comment
- 480. By Robert Carr
-
Implement request_focus, allowing the integration test to pass
- 479. By Robert Carr
-
Failing unit test to define SessionManager:
:request_ focus - 478. By Robert Carr
-
Pass application session to focus arbitrator through std::enable_
shared_ from_this - 477. By Robert Carr
-
Define new msh::Session attribute has_appeared (see, ApplicationSession, session_
has_appeared_ after_creating_ surface) - 476. By Robert Carr
-
Hook the session manager up to the session via focus arbitrator
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://