The "Contre Jour" game does not start




DOM: CSS Object Model
a year ago
a year ago


(Reporter: Laurent Bonnaud, Unassigned)


(Blocks: 1 bug)

50 Branch

Firefox Tracking Flags

(Not tracked)


(Whiteboard: [webcompat], URL)



a year ago
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Build ID: 20161121004022

Steps to reproduce:

Go to this site:

Actual results:

The game loads but starting to play is impossible.

I tried on Linux with the following firefox versions:
 - release (50)
 - beta 51.0n1
 - aurora 52
 - nightly 53
and all lead to the same result.

Expected results:

Being able to play the game.


a year ago
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0

I have tested your issue on latest FF release v50.0 and latest Nightly build (Build ID: 20161123030208) and managed to reproduce it. I have followed the steps from comment 0, tried with e10s ON/OFF, HW acceleration ON/OFF, updated flash player to latest beta version for Linux (Flash 24 beta). 
In the Browser Console the following errors are displayed:

- downloadable font: maxp: bad max_zones: 0 (font-family: "HandOfSean" style:normal weight:normal stretch:normal src index:0) source:
- Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help

These errors may be related with something broken in the game code or maybe something unsupported by Firefox.

Also, in the Browser Console I have observed an error related to Libavcodec. After updating the codecs, the error was no longer displayed.
Component: Untriaged → Layout
Ever confirmed: true
Product: Firefox → Core
After investigating a bit, it feels to me this is a JS engine bug?

It seems it fails to display the element #levelPickerContainer after hiding the first interface. On Chrome, the code path to show that is via a closure inside "hidePlanets" function, which calls "showLevels". The closure looks like this after beautifying:
> function () {
>   a.showLevels()
> }

However, this function seems to return after the first line is invoked, so the second line "changeWorld" and the third line "showLevels" are never reached. (At least it is what the Debugger shows to me.)

Moving this to JavaScript Engine component to see if anyone has idea how this could happen. Also cc Mike as it seems to be a web compatibility issue which may need further investigation.
Component: Layout → JavaScript Engine
it hits DOM exception at that line.

> SecurityError: The operation is insecure.

at |if (d = e[f].cssRules || e[f].rules) {| line in the following function, that is prettified code of

>   function z(a, b, c) {
>     for (var d, e = document.styleSheets, f = 0; f < e.length; f++) {
>       if (d = e[f].cssRules || e[f].rules) {
>         for (var g = 0; g < d.length; g++)
>           if (d[g].selectorText === a)
>             d[g].style[b] = c;
>       }
>     }
>   }
Oh, hmmm, I didn't notice the security error. Then it is probably the same issue as bug 1304733 where we throw an error for cross-origin access (which matches the spec) but other browsers don't.
Component: JavaScript Engine → DOM: CSS Object Model
(It's weird that there is no error shown in console... And I don't see try block there either.)
if I comment out the content of the "z" function above, I can play game.
This appears to be a site promoting MS Edge. Greg, would it be possible to get this fixed, or file an internal bug somewhere? The site relies on a CSSOM cross-origin violation (being able to write rule to a non-same origin stylesheet).
Flags: needinfo?(gwhit)

Comment 8

a year ago
Sent an email to people to try and find out who owns that site. I'll keep you posted on what I find out.
Thanks Greg!
Flags: needinfo?(gwhit)
Priority: -- → P2
You need to log in before you can comment on or make changes to this bug.