@@ -3247,7 +3247,8 @@ Rectangle {
32473247 formFactor: "phone",
32483248 launcherLocked: false,
32493249 stateWithOpenIndicators: "",
3250− stateWithOpenApps: ""
3250+ stateWithOpenApps: "",
3251+ inputMethodMargin: 0,
32513252 },
32523253 {
32533254 tag: "tablet",
@@ -3255,7 +3256,8 @@ Rectangle {
32553256 formFactor: "tablet",
32563257 launcherLocked: false,
32573258 stateWithOpenIndicators: "visible",
3258− stateWithOpenApps: ""
3259+ stateWithOpenApps: "",
3260+ inputMethodMargin: 0,
32593261 },
32603262 {
32613263 tag: "desktop without auto-hide",
@@ -3263,7 +3265,8 @@ Rectangle {
32633265 shell: "desktop",
32643266 launcherLocked: true,
32653267 stateWithOpenIndicators: "visible",
3266− stateWithOpenApps: "visible"
3268+ stateWithOpenApps: "visible",
3269+ inputMethodMargin: 64,
32673270 },
32683271 {
32693272 tag: "desktop with auto-hide",
@@ -3271,7 +3274,8 @@ Rectangle {
32713274 shell: "desktop",
32723275 launcherLocked: false,
32733276 stateWithOpenIndicators: "visible",
3274− stateWithOpenApps: ""
3277+ stateWithOpenApps: "",
3278+ inputMethodMargin: 0,
32753279 },
32763280 {
32773281 tag: "desktop with auto-hide at small formFactor",
@@ -3279,7 +3283,8 @@ Rectangle {
32793283 shell: "desktop",
32803284 launcherLocked: false,
32813285 stateWithOpenIndicators: "",
3282− stateWithOpenApps: ""
3286+ stateWithOpenApps: "",
3287+ inputMethodMargin: 0,
32833288 },
32843289 {
32853290 tag: "tablet with auto-hide at small formFactor",
@@ -3287,7 +3292,8 @@ Rectangle {
32873292 shell: "tablet",
32883293 launcherLocked: false,
32893294 stateWithOpenIndicators: "",
3290− stateWithOpenApps: ""
3295+ stateWithOpenApps: "",
3296+ inputMethodMargin: 0,
32913297 }]
32923298 }
32933299
@@ -3295,11 +3301,17 @@ Rectangle {
32953301 Ensure that the Launcher will not dismiss while there are no apps
32963302 running, but gets dismissed when it would be intersected by
32973303 indicators.
3304+
3305+ Additionally, ensure that the keyboard takes up the full width of
3306+ the Shell when the launcher is locked by Shell functions and has
3307+ a margin set to avoid the Launcher when the launcher is locked by
3308+ the user.
32983309 */
32993310 function test_launcherLockedWhenNoAppsRunning(data) {
33003311 loadShell(data.shell, 0);
33013312 shellLoader.state = data.formFactor;
33023313 var launcher = findChild(shell, "launcher");
3314+ var inputMethod = findChild(shell, "inputMethod");
33033315 GSettingsController.setAutohideLauncher(!data.launcherLocked);
33043316 swipeAwayGreeter();
33053317
@@ -3326,6 +3338,7 @@ Rectangle {
33263338 // The Launcher should return when all apps are closed
33273339 killApps();
33283340 tryCompare(launcher, "state", "visible");
3341+ tryCompare(inputMethod.anchors, "leftMargin", data.inputMethodMargin);
33293342 }
33303343 }
33313344}