Closed Bug 550601 Opened 13 years ago Closed 12 years ago

D2D rendering breaks -moz-linear-gradient in crashed-plugin UI

Categories

(Core :: Graphics, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: Dolske, Unassigned)

References

Details

Attachments

(1 file)

524 bytes, text/html
Details
The crashed-plugin UI should have a background with gray stripes. See http://blog.mozilla.com/dolske/2010/02/10/crashed-plugin-ui/ for examples.

I noticed with my current trunk nightly (Win7 x64), that the stripes are no longer being displayed. Instead I just get a solid gray background.

To trigger this UI, visit http://flashcrash .dempsky .org/ which will trigger a Flash crash. (Or kill mozilla-runtime.exe, etc.)
How is this drawn? I don't seem to be getting any call into cairo with a CAIRO_PATTERN_TYPE_LINEAR.
I can confirm that the gradient is missing when D2D is enabled. Strange...
Gradients are drawn under nsCSSRendering::PaintGradient(). The plugin crash UI uses a repeating gradient which is a special case:

  // Set repeat mode. Default cairo extend mode is PAD.
  if (aGradient->mRepeating) {
    gradientPattern->SetExtend(gfxPattern::EXTEND_REPEAT);
  }
Attached file testcase
For some reason the flash content is needed for the lines to show up correctly.
(In reply to comment #4)
> Created an attachment (id=430954) [details]
> testcase
> 
> For some reason the flash content is needed for the lines to show up correctly.
...with d2d disabled that is.

The gradient does not show up with d2d enabled.
FWIW, I just noticed that the gradient *is* being drawn, just that it's not being tiled over the entire content area. In the upper left of the plugin UI, there's one dark stripe faintly visible (hard to see because the color is so similar).
This should be fixed now.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.