WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
80450
[chromium] REGRESSION(109469): WebGL printing busted
https://bugs.webkit.org/show_bug.cgi?id=80450
Summary
[chromium] REGRESSION(109469): WebGL printing busted
James Robinson
Reported
2012-03-06 16:04:41 PST
Post
r109469
printing WebGL fails, nothing shows up.
Attachments
Patch
(2.01 KB, patch)
2012-03-06 16:55 PST
,
James Robinson
kbr
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
James Robinson
Comment 1
2012-03-06 16:48:44 PST
The issue here appears to be switching from using contentChanged() to setNeedsDisplay...() to set the m_textureUpdated bit on WebGLLayerChromium. That bit is used to implement preservesDrawingBuffer semantics, so it's important that it is only set due to a WebGL draw. Unfortunately when printing we synchronously rebuild the compositing tree which triggers a call to GraphicsLayerChromium::setContentsToCanvas() which calls setNeedsDisplay() on the m_contentsLayer. I have no idea why it does this, but that's what breaks printing. I'm pretty confident the fix is to not call setNeedsDisplay() in GLC::setContentsToCanvas(), at least if the new layer == the old one.
James Robinson
Comment 2
2012-03-06 16:55:52 PST
Created
attachment 130476
[details]
Patch
Kenneth Russell
Comment 3
2012-03-06 17:02:07 PST
Comment on
attachment 130476
[details]
Patch LGTM as long as it's been tested.
James Robinson
Comment 4
2012-03-06 17:04:54 PST
I've manually tested WebGL printing and run the layout / unit tests and things seem to work. Fingers crossed!
James Robinson
Comment 5
2012-03-06 17:08:27 PST
Committed
r109982
: <
http://trac.webkit.org/changeset/109982
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug