Closed Bug 728026 Opened 12 years ago Closed 12 years ago

MAPLE: geolocation shows little map fragments while the map is being loaded

Categories

(Core :: Graphics, defect, P2)

ARM
Android
defect

Tracking

()

VERIFIED FIXED
mozilla15
Tracking Status
firefox14 --- verified
firefox15 --- verified
blocking-fennec1.0 --- beta+

People

(Reporter: nhirata, Assigned: joe)

References

()

Details

(Keywords: testcase, Whiteboard: [mozilla-central])

Attachments

(2 files, 3 obsolete files)

1. go to http://paulrouget.com/mwc-demos/apis/geolocation.html
2. click on the icon
3. watch it load

Expected: no graphic defect while loading
Actual: you can see little map fragments while the map is being loaded

Note:
1. MAPLE 02/16/2012; Nexus Galaxy ICS/LG Revolution 2.3
2. Does not occur on nightly 02/16/2012
3. video : http://www.youtube.com/watch?v=8wvCU7IbcmU&feature=youtube_gdata_player
Blocks: 728254
Blocks: 728249
We are not showing this on Maple; only on nightly
The APIs demo are located here: http://paulrouget.com/mwc-demos/apis/
To show the map, click on the globe.
The original demo is here: http://jsbin.com/isujul
Summary: MAPLE: geolocation shows little map fragments while the map is being loaded → geolocation shows little map fragments while the map is being loaded
Whiteboard: MAPLE mwc-demo → mwc-demo
Oh wait, I misunderstood Erin's comment.
Summary: geolocation shows little map fragments while the map is being loaded → MAPLE: geolocation shows little map fragments while the map is being loaded
Whiteboard: mwc-demo → MAPLE mwc-demo
This doesn't show up on the main demo site, just on http://jsbin.com/isujul
No longer blocks: 728249
Priority: -- → P2
No longer blocks: 728254
blocking-fennec1.0: --- → beta+
(In reply to Paul Rouget [:paul] from comment #3)
> The original demo is here: http://jsbin.com/isujul

It doesn't seem to be anymore. Can the original demo be found anywhere else?
blocking-fennec1.0: beta+ → -
This is a very, very bad bug that indicates we're not clipping layers properly, and it's not restricted to this page (I've seen it elsewhere). I'd like it to be re-evaluated.

Meanwhile, I've put this demo up on my personal server. Mats, can you see what's causing this?
Assignee: nobody → matspal
blocking-fennec1.0: - → ?
solid justification to block on it
blocking-fennec1.0: ? → beta+
Whiteboard: MAPLE mwc-demo → MAPLE mwc-demo [gfx]
Whiteboard: MAPLE mwc-demo [gfx] → MAPLE mwc-demo [layout]
Mats, can you comment on your latest findings here? Thx.
This issue still occurs on the Galaxy Nexus (Nightly 3/30/2012) going to http://paulrouget.com/mwc-demos/apis/ and clicking on the "view on a map" button.  If you do not see the issue on load, try panning in the map area.
Assignee: matspal → nobody
Component: General → Layout
Product: Fennec Native → Core
QA Contact: general → layout
Fennec Native needs to be at zero beta blockers by 04/16. Who should this be assigned to?
sorry,  moving the product and component apparently unassigned the bug. Mats, has this been on your radar?
Assignee: nobody → matspal
I looked at this a couple of weeks ago, and I could reproduce it at that time
but I can't say I understood what the problem is.  I've been working on other
stuff since then (security bugs mostly).  I'll take another look later tonight
and see what I can find this time...
Roc, do you agree with #7.
Assignee: matspal → roc
I don't know. Nightly doesn't really work on my phone recently. (Maybe since I enabled Sync?)

I don't have time to work on this anyway. I'm working on display-list performance instead.
Assignee: roc → nobody
Back to Mats: Please update with your latest findings.
Assignee: nobody → matspal
I have nothing new to add really, the bug still occurs and I don't know what
the problem is.
The Google maps content is rather complex, it's many nested levels of abs.pos.
blocks with different z-index and the whole DOM is built dynamically.

The root cause of this bug appears to come from a transition of 'opacity':
<div style="width: 256px; height: 256px; position: absolute; left: -48px; top: 23px; opacity: 1; -moz-transition: opacity 200ms ease-out 0s;">

As a workaround for this particular demo site, adding this cures the flicker:
  <style> div { -moz-transition: none !important; } </style>

(FYI, bug 728983 is fixed in this tree, but it didn't help)
Whiteboard: MAPLE mwc-demo [layout] → MAPLE mwc-demo [layout] [workaround for this site: see comment 17]
Transitioning opacity creates a layer for the element with opacity. Seems like a reduced testcase is needed...
Keywords: testcase-wanted
Attached file Testcase #1
Do we have a path forward here or are we stuck?

Mats, these Firefox on Android bugs are top priority and require immediate and persistent attention until resolution.
The bug doesn't occur when useIntermediateSurface is true in this method:
http://mxr.mozilla.org/mozilla-central/source/gfx/layers/Layers.cpp#457

The bug doesn't occur with this change:
-  if (opacity != 1.0f && HasMultipleChildren()) {
+  if (opacity != 1.0f) {


=> GFX
Assignee: matspal → nobody
Component: Layout → Graphics
QA Contact: layout → thebes
Whiteboard: MAPLE mwc-demo [layout] [workaround for this site: see comment 17] → MAPLE mwc-demo [workaround for this site: see comment 17][wallpaper: comment 22]
Assignee: nobody → ajuma
I'm going to look at this now.
Assignee: ajuma → joe
It seems that this is being caused by the scissor bit being disabled on us.
This fixes the bug that we haven't been clipping at all inside the layers system. Unfortunately, this exposes latent bugs in our layers/layout system that must be fixed before we can land this.
Attachment #618823 - Flags: review?(jmuizelaar)
Depends on: 749425
Comment on attachment 618823 [details] [diff] [review]
don't disable the scissor rect from java

Perhaps add a comment about the expected scissor state in the different situations. e.g. at drawBackground/drawForeground
Attachment #618823 - Flags: review?(jmuizelaar) → review+
Attached patch unbitrotted (obsolete) — Splinter Review
This is just an unbitrotted version of the previous patch. Carrying forward r+.
Attachment #618823 - Attachment is obsolete: true
Attachment #619566 - Flags: review+
Whiteboard: MAPLE mwc-demo [workaround for this site: see comment 17][wallpaper: comment 22] → [has reviewed patch][requires bugb 749425]
Attached patch unbitrotted again (obsolete) — Splinter Review
Re-unbitrotted. Carrying forward r+.
Attachment #619566 - Attachment is obsolete: true
Attachment #620326 - Flags: review+
Attachment #620326 - Attachment is obsolete: true
Attachment #620402 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/47b65f49d01b
Whiteboard: [has reviewed patch][requires bugb 749425]
Target Milestone: --- → mozilla15
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Attachment #620402 - Flags: approval-mozilla-aurora?
Tested against a build on ftp://ftp.mozilla.org/pub/mobile/tinderbox-builds/oak-android/1336516588/.   I still see the map fragments from the testcase URL quickly resize and redraw, but it doesnt do that outside of the box perimeter like how aurora does.
Whiteboard: [mozilla-central]
The quickly resize part is bug 750334.
Attachment #620402 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Retested on Nightly 15.0a1 (2012-05-22)
            Aurora 14.0a2 (2012-05-22)
Samsung Galaxy SII (2.3.4)

The map fragments from the testcase are not longer redrawn outside the box perimeter.

Verifying.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: