@@ -3247,7 +3247,8 @@ Rectangle {
3247 formFactor: "phone",
3247 formFactor: "phone",
3248 launcherLocked: false,
3248 launcherLocked: false,
3249 stateWithOpenIndicators: "",
3249 stateWithOpenIndicators: "",
3250− stateWithOpenApps: ""
3250+ stateWithOpenApps: "",
3251+ inputMethodMargin: 0,
3253 tag: "tablet",
3254 tag: "tablet",
@@ -3255,7 +3256,8 @@ Rectangle {
3255 formFactor: "tablet",
3256 formFactor: "tablet",
3256 launcherLocked: false,
3257 launcherLocked: false,
3257 stateWithOpenIndicators: "visible",
3258 stateWithOpenIndicators: "visible",
3258− stateWithOpenApps: ""
3259+ stateWithOpenApps: "",
3260+ inputMethodMargin: 0,
3261 tag: "desktop without auto-hide",
3263 tag: "desktop without auto-hide",
@@ -3263,7 +3265,8 @@ Rectangle {
3263 shell: "desktop",
3265 shell: "desktop",
3264 launcherLocked: true,
3266 launcherLocked: true,
3265 stateWithOpenIndicators: "visible",
3267 stateWithOpenIndicators: "visible",
3266− stateWithOpenApps: "visible"
3268+ stateWithOpenApps: "visible",
3269+ inputMethodMargin: 64,
3269 tag: "desktop with auto-hide",
3272 tag: "desktop with auto-hide",
@@ -3271,7 +3274,8 @@ Rectangle {
3271 shell: "desktop",
3274 shell: "desktop",
3272 launcherLocked: false,
3275 launcherLocked: false,
3273 stateWithOpenIndicators: "visible",
3276 stateWithOpenIndicators: "visible",
3274− stateWithOpenApps: ""
3277+ stateWithOpenApps: "",
3278+ inputMethodMargin: 0,
3277 tag: "desktop with auto-hide at small formFactor",
3281 tag: "desktop with auto-hide at small formFactor",
@@ -3279,7 +3283,8 @@ Rectangle {
3279 shell: "desktop",
3283 shell: "desktop",
3280 launcherLocked: false,
3284 launcherLocked: false,
3281 stateWithOpenIndicators: "",
3285 stateWithOpenIndicators: "",
3282− stateWithOpenApps: ""
3286+ stateWithOpenApps: "",
3287+ inputMethodMargin: 0,
3285 tag: "tablet with auto-hide at small formFactor",
3290 tag: "tablet with auto-hide at small formFactor",
@@ -3287,7 +3292,8 @@ Rectangle {
3287 shell: "tablet",
3292 shell: "tablet",
3288 launcherLocked: false,
3293 launcherLocked: false,
3289 stateWithOpenIndicators: "",
3294 stateWithOpenIndicators: "",
3290− stateWithOpenApps: ""
3295+ stateWithOpenApps: "",
3296+ inputMethodMargin: 0,
@@ -3295,11 +3301,17 @@ Rectangle {
3295 Ensure that the Launcher will not dismiss while there are no apps
3301 Ensure that the Launcher will not dismiss while there are no apps
3296 running, but gets dismissed when it would be intersected by
3302 running, but gets dismissed when it would be intersected by
3297 indicators.
3303 indicators.
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
3299 function test_launcherLockedWhenNoAppsRunning(data) {
3310 function test_launcherLockedWhenNoAppsRunning(data) {
3300 loadShell(data.shell, 0);
3311 loadShell(data.shell, 0);
3301 shellLoader.state = data.formFactor;
3312 shellLoader.state = data.formFactor;
3302 var launcher = findChild(shell, "launcher");
3313 var launcher = findChild(shell, "launcher");
3314+ var inputMethod = findChild(shell, "inputMethod");
3303 GSettingsController.setAutohideLauncher(!data.launcherLocked);
3315 GSettingsController.setAutohideLauncher(!data.launcherLocked);
3304 swipeAwayGreeter();
3316 swipeAwayGreeter();
@@ -3326,6 +3338,7 @@ Rectangle {
3326 // The Launcher should return when all apps are closed
3338 // The Launcher should return when all apps are closed
3327 killApps();
3339 killApps();
3328 tryCompare(launcher, "state", "visible");
3340 tryCompare(launcher, "state", "visible");
3341+ tryCompare(inputMethod.anchors, "leftMargin", data.inputMethodMargin);