Closed Bug 1626142 Opened 4 years ago Closed 4 years ago

The map is no longer displayed when bringing the app in foreground

Categories

(Core :: Graphics: Canvas2D, defect, P3)

76 Branch
ARM
Android
defect

Tracking

()

RESOLVED FIXED
mozilla77
Webcompat Priority ?
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- wontfix
firefox76 --- wontfix
firefox77 --- verified

People

(Reporter: karlcow, Assigned: sotaro)

References

()

Details

(Keywords: regression, Whiteboard: wr-android)

Attachments

(1 file)

In general component because I'm not sure where this should go.

  1. with Fenix (Firefox Preview) Nightly 76
  2. Go to https://www.healthmap.org/covid-19/
  3. Switch co another app (eg. Chrome)
  4. Bring Fenix in foreground.

Expected Behavior:
The map is displayed.

Actual Behavior:
The map is no longer displayed.
When panning, the map is displayed.

a firefox profile on mobile for it.
https://bit.ly/2vUxrOq

around 5s, I'm panning the map
around 12s, I'm switching to chrome
around 18s, I'm switching back to firefox
around 23s, I'm panning the map

The map is part of a canvas element

<div class="mapboxgl-canvas-container mapboxgl-interactive mapboxgl-touch-drag-pan mapboxgl-touch-zoom-rotate">
	<canvas class="mapboxgl-canvas" style="position: absolute; width: 414px; height: 552px;" tabindex="0" aria-label="Map" width="1080" height="1440"></canvas>
</div>

Another way to reproduce the issue is

  1. unclick position: absolute, The map disappears.
  2. then reactivate it. The map is invisible
  3. until there's panning going on and the map reappears.
  • with webrender on, same results
  • This doesn't happen on fennec
Component: General → Canvas: 2D

NI-ing Kris to look at for wr android prioritization

Flags: needinfo?(ktaeleman)

If this doesn't happen on Fennec it would be super-useful to have a regression range.

Happens on geckoview as well.
I've tried finding a regression window with Geckoview builds, but seems like the first working builds available (from 2019-04-01) reproduce the issue as well.

@lsalzman: Any ideas what could be going on here?

Flags: needinfo?(ktaeleman) → needinfo?(lsalzman)
Priority: -- → P3
Whiteboard: wr-android

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression

@sotaro: Jamie told me you might know this a bit better. Do you have any hints on what this could be. Feels like a missing event.

Flags: needinfo?(lsalzman) → needinfo?(sotaro.ikeda.g)

It might related to Bug 1606549. I am going to look into it this week.

I could reproduce the bug. I am going to look into it.

Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)

(In reply to Sotaro Ikeda [:sotaro] from comment #6)

It might related to Bug 1606549. I am going to look into it this week.

Sorry, Bug 1606549 is not related to this bug. This bug is not specific to WebRender.

There were 2 problems.
-[1] CanvasClientSharedSurface did not handle a case that CanvasClientSharedSurface was re-created, but GLScreenBuffer was not re-created.
-[2] RenderCompositorEGL::Pause() detaches all SurfaceTesxtures, but RenderAndroidSurfaceTextureHostOGL did not handle it.

  • With CompositorOGL, [2] was handled
Attachment #9140082 - Attachment description: Bug 1626142 - Fix canvas handling during resuming → Bug 1626142 - Fix canvas handling during resuming on Android
Pushed by sikeda.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f8c10001838d
Fix canvas handling during resuming on Android r=jnicol
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77
Regressions: 1633432
Regressions: 1633034
Flags: qe-verify+

Verified as fixed following comment 0, on latest Fenix Nightly build 77.0a1 - 5/7.
Devices: Samsung Galaxy Note 10(Android 10), Nokia 6 (Android 7.1.1).

Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: