Bug 135419
| Summary: | Black canvas when using RTL/webGL on Google Maps | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Michael Davidson <mdavids> |
| Component: | WebGL | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | achristensen, bfulgham, dino, mitz, roger_fong, simon.fraser |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | http://google.com/maps?force=webgl&hl=ar | ||
Michael Davidson
When launching in RTL languages, the WebGL canvas is always black. This doesn't happen for our 2D canvas rendering, and doesn't happen in LTR languages.
Compare:
http://google.com/maps?force=webgl&hl=ar (RTL, WebGL, bad)
http://google.com/maps?force=webgl&hl=en (LTR, WebGL, looks good!)
http://google.com/maps?force=canvas&hl=at (RTL, Canvas2D, good)
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Brent Fulgham
What operating system version are you running when you encounter this? Is it a shipping Mavericks version, or the developer seed for the upcoming OS?
Alex Christensen
I think this is a problem in your content. Switching the user agent to Google Chrome -- Mac makes it no longer happen.
I see the map for a moment, then it smoothly fades to black. I'm not familiar with the inner workings of Google Maps. Do you have any idea what would cause this?
Michael Davidson
My OS: 10.9.4
Retina MBP
GPU: NVIDIA GeForce GT 650M 1024 MB
Alex, the initial map you see is image tags showing raster content. The WebGL context never shows content, it's always black.
Michael Davidson
Nightly version: Version 7.0.5 (9537.77.4, r171650)
Brent Fulgham
Seems to be limited to Retina hardware.
Michael Davidson
A clue:
In non-Safari high DPI browsers, we scale the canvas using style.width/style.height. If you emulate the Chrome UA, you'll see that it does render, but not with correct crisp text.
In Safari, we scale using a webkit-transform of scale(.5, .5), which yields sharp text in LTR languages but a black canvas in RTL languages.
Michael Davidson
This is a bug in the maps code. We're not setting the origin of the transform in RTL languages.