Closed Bug 1653959 Opened 4 years ago Closed 3 years ago

Reloading pages in kiosk mode should always reset pinch zoom

Categories

(Firefox :: Enterprise Policies, enhancement, P5)

78 Branch
x86_64
Windows 10
enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1654787

People

(Reporter: alex.fdm, Assigned: mkaply)

References

Details

Attachments

(1 obsolete file)

I have a kiosk application that runs in a kiosk with multi-touch screen. Pinch zooming is a problem because the next user doesn't always know how to zoom the app back to the original size. I believe it should be disabled when the browser is running in "--kiosk" mode.

If you have control over the browser settings, you should be able to set apz.allow_zooming=false in the preferences to disable zooming. I don't know if we want to tie this setting to kiosk mode in general, as other kiosk setups may want to have pinch zooming enabled.

This is the default value, mine is already false. It doesn't work.

If you're running on Windows with apz.allow_zooming=false and you do a pinch-type gesture on multitouch you'll end up doing a reflow zoom (rather than smooth pinch-zoom, which is what I thought this bug was about, since that's a new feature we're preparing for release).

If you're getting into a reflow zoom state, the right side of the URL bar should have a percentage indicator that indicates the level of zoom... but I don't know if the URL bar is even visible in kiosk mode. Reflow zoom can be reset to default via the Ctrl+0 keyboard shortcut as well, that's one way you can verify this is indeed the problem you're seeing. Can you confirm this is the problem?

Flags: needinfo?(alex.fdm)

I can't use ctrl+0 because there's no keyboard on the kiosk. I can pinch it back to the correct size, but I am not always there to do it, the machines are supposed to run unattended.

I was able to lock the zoom with zoom.maxPercent=100 + zoom.minPercent=100, which disables it.

I still believe that kiosk mode should not allow it, since it is supposed to run on this exact situation. Or, at least, reset the zoom level to 100% on each restart of the browser. I now realize this is not a core issue, but a browser issue. Maybe it should be re-categorized?

Flags: needinfo?(alex.fdm)

For now I've edited the bug title to clarify.

We'll probably need input from UX or product to confirm that changing the default here would be appropriate for kiosk mode in general.

Summary: Pinch zoom should be disabled in "--kiosk" mode → Pinch gestures should be disabled (including not performing reflowing zoom) in "--kiosk" mode

(In reply to Alexandre Folle de Menezes from comment #4)

I was able to lock the zoom with zoom.maxPercent=100 + zoom.minPercent=100, which disables it.

Yeah that's probably the best solution for now.

(In reply to Alexandre Folle de Menezes from comment #4)

I still believe that kiosk mode should not allow it, since it is supposed to run on this exact situation. Or, at least, reset the zoom level to 100% on each restart of the browser. I now realize this is not a core issue, but a browser issue. Maybe it should be re-categorized?

That's a reasonable request, I'll move this bug to session restore, since that's probably where the zoom level would need to be stripped out on browser restart. I don't think that disabling reflow zoom entirely is a good option though, because some users may want to use it for easier reading, etc.

Summary: Pinch gestures should be disabled (including not performing reflowing zoom) in "--kiosk" mode → Reflow zoom should be reset on browser restart in "--kiosk" mode
Component: Panning and Zooming → Session Restore
Product: Core → Firefox

The severity field is not set for this bug.
:mikedeboer, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(mdeboer)
Component: Session Restore → Enterprise Policies

Zoom is set on a per website basis, so it's not as simple as just resetting a pref.

I wonder if there is a way to just turn off pinch zoom?

I checked on Chrome just out of curiosity and they keyboard shortcuts for zoom aren't reset. I couldn't test pinch zoom.

I'm wondering if the right thing to do here is just turn off site specific zoom:

browser.zoom.siteSpecific

This allows people to zoom, but it's not stored per site and restarting the browser resets the value.

This would improve the situation a little, but not solve my problem. I run my app on unattended kiosks, there's no one there to restart the browser (the user certainly is not allowed to).
I believe this is true for most "-kiosk" users. It is not supposed to be a "fullscreen" flag, but to put the browser in a restricted mode. Preventing one user to ruin the experience for the next is certainly one of this restrictions.

So you think we should just disable zooming completely in kiosk mode.

Yes. The only way zoom would make sense in kiosk mode is if it is reset on every page load.

Assignee: nobody → mozilla
Status: NEW → ASSIGNED

Yes. The only way zoom would make sense in kiosk mode is if it is reset on every page load.

I liked this idea and that's what the patch does. We'll see what Gijs thinks. It does have the side effect that if you zoom, that zoom is saved so you see it when you open in non kiosk, but I think that's an edge case.

I could fix that by not saving zoom in kiosk mode either if we think that's important.

It may work. Let me give you an brief overview of my app:

  1. The application by default shows an advertisement page until the screen is touched;
  2. Then it loads a page with a menu so the user can specify which kind of information he/she wants;
  3. The user touches on an option, and sees the information page. He/she then pinch zooms the page (usually by mistake), and then leaves;
  4. The page times out and the app reloads step (1);

My questions:

  1. In step (4), the reload will trigger the zoom reset?
  2. If the zoom is saved, whats happens when the next users selects the same page as in step (3)?

If the zoom does not affect either case, it will work for me. But I can't predict if it will work for all other Kiosk apps.

I'm starting to think there's an actual bug here (now that I'm actually playing around with pinch zooming on another laptop).

If I pinch zoom a page and then open a page and go to that same page, the zoom is not saved (which makes sense, it's a pinch zoom).

But if I go to a page and pinch zoom and then click reload, pinch zoom is saved. That doesn't make sense. Even a force reload doesn't seem to fix it.

In the same way opening a new tab with a page doesn't preserve pinch zoom, reload shouldn't preserve pinch zoom.

I opened bug 1690365 for that while I decide what to do about kiosk mode.

So based on my testing, I have a workaround for you for now.

For:

The page times out and the app reloads step (1);

When you reload your page, add a timestamp - https://foo.com?timestamp=xxxx.

This should force a reset of the pinch zoom because it's loading a different page.

Pinch zoom is preserved in the same way that scrollbar position is preserved (which you probably want to reset too).

Flags: needinfo?(mdeboer)

OK, so I think what I want to do with this is make kiosk mode behave like the page is shift+reloaded (which resets pinch zoom).

I'm looking into that.

There is a work around as I put in the previous comment though.

Severity: -- → N/A
Type: defect → enhancement
Priority: -- → P5
Summary: Reflow zoom should be reset on browser restart in "--kiosk" mode → Reloading pages in kiosk mode should always reset pinch zoom
Attachment #9200109 - Attachment is obsolete: true
See Also: → 1654787

I think I'm going to dupe this forward to 1654787 and take it.

Chrome added the disable-pinch command line param specifically for this problem.

Anything else we do is a hack. (and comment 17 is a workaround)

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: