Closed
Bug 742781
Opened 13 years ago
Closed 12 years ago
Implement WEBGL_debug_renderer_info extension
Categories
(Core :: Graphics, enhancement)
Core
Graphics
Tracking
()
RESOLVED
FIXED
mozilla19
People
(Reporter: kbrussel, Assigned: bjacob)
References
Details
(Keywords: dev-doc-complete, Whiteboard: webgl-extension)
Attachments
(3 files, 2 obsolete files)
18.24 KB,
patch
|
bzbarsky
:
review+
jgilbert
:
review+
|
Details | Diff | Splinter Review |
18.37 KB,
patch
|
bjacob
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
7.62 KB,
patch
|
bzbarsky
:
review+
akeybl
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
No description provided.
Reporter | ||
Comment 1•13 years ago
|
||
Oops, hitting 'return' accidentally submitted the bug.
This is an RFE to please expose the "WEBGL_debug_renderer_info" WebGL extension to privileged contexts in Firefox; namely, in WebGL contexts instantiated from Firefox extensions. The MapsGL team at Google, in particular, is interested in gathering more detailed information for any problem reports, and being able to query this information is important. They are considering writing a Chrome extension for this purpose in that browser, and it would be good if the same were possible in Firefox.
Updated•13 years ago
|
Summary: Expose WEBGL_debug_renderer_info extension to privileged code (Firefox extensions) → Implement WEBGL_debug_renderer_info extension
Assignee | ||
Comment 3•12 years ago
|
||
Boris for bindings aspects; Jeff for WebGL aspects.
Attachment #670582 -
Flags: review?(jgilbert)
Attachment #670582 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 4•12 years ago
|
||
Forgot new file.
Attachment #670582 -
Attachment is obsolete: true
Attachment #670582 -
Flags: review?(jgilbert)
Attachment #670582 -
Flags: review?(bzbarsky)
Attachment #670584 -
Flags: review?(jgilbert)
Attachment #670584 -
Flags: review?(bzbarsky)
Updated•12 years ago
|
Attachment #670584 -
Flags: review?(jgilbert) → review+
Comment 5•12 years ago
|
||
Comment on attachment 670584 [details] [diff] [review]
implement WEBGL_debug_renderer_info
This needs a test that ensures that this debug extension cannot be gotten from content. Ideally one that ensures that this is still true after chrome code _has_ gotten it from the same context.
r=me with that.
Attachment #670584 -
Flags: review?(bzbarsky) → review+
Assignee | ||
Comment 6•12 years ago
|
||
(In reply to Boris Zbarsky (:bz) from comment #5)
> Comment on attachment 670584 [details] [diff] [review]
> implement WEBGL_debug_renderer_info
>
> This needs a test that ensures that this debug extension cannot be gotten
> from content. Ideally one that ensures that this is still true after chrome
> code _has_ gotten it from the same context.
>
> r=me with that.
Hm. How do you enable/disable chrome privileges in a mochitest? How do you test what privileges you currently have?
Comment 7•12 years ago
|
||
> Hm. How do you enable/disable chrome privileges in a mochitest?
You write a mochitest-chrome test that runs part of itself as chrome and part as not....
Assignee | ||
Comment 8•12 years ago
|
||
Thanks, I guess 'mochitest-chrome' was the keyword I was missing.
Assignee | ||
Comment 9•12 years ago
|
||
For future reference,
https://developer.mozilla.org/en-US/docs/Chrome_tests
Assignee | ||
Comment 11•12 years ago
|
||
This works here.
It relies on the nontrivial assumption that messages will be received in the same order as they are posted. Is that OK?
If not, what approach would you recommend?
- is it safe to assume that message handlers won't run before the current JS callback returns? If yes, a simple counter-based solution is possible.
- Otherwise we can do more postMessage, a form of SYN/ACK protocol if you want.
Attachment #671989 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 12•12 years ago
|
||
Note, the rationale for using postMessage here is that apparently the non-Chrome code may not call the Chrome mochitest ok() function directly.
Assignee | ||
Comment 13•12 years ago
|
||
Forgot a hg add.
Attachment #671989 -
Attachment is obsolete: true
Attachment #671989 -
Flags: review?(bzbarsky)
Attachment #671991 -
Flags: review?(bzbarsky)
Comment 14•12 years ago
|
||
> It relies on the nontrivial assumption that messages will be received in the same order
> as they are posted. Is that OK?
As long as the posting is only happening from a single frame and the receiving is only happening in a single frame, that assumption is correct.
Comment 15•12 years ago
|
||
Comment on attachment 671991 [details] [diff] [review]
Chrome mochitest
This is good, but I would like it to test one more thing. Specifically, in the iframe.onload, I would like the chrome code to test that it can get the WEBGL_debug_renderer_info on the subframe's WebGL context. And then trigger the subframe part of the test _after_ that.
Also, I'm not sure why "chrome" is capitalized all over in the subframe. ;)
r=me with those fixed.
Attachment #671991 -
Flags: review?(bzbarsky) → review+
Assignee | ||
Comment 16•12 years ago
|
||
http://hg.mozilla.org/integration/mozilla-inbound/rev/756d555fc3bf
http://hg.mozilla.org/integration/mozilla-inbound/rev/e78db739d589
(In reply to Boris Zbarsky (:bz) from comment #15)
> Comment on attachment 671991 [details] [diff] [review]
> Chrome mochitest
>
> This is good, but I would like it to test one more thing. Specifically, in
> the iframe.onload, I would like the chrome code to test that it can get the
> WEBGL_debug_renderer_info on the subframe's WebGL context. And then trigger
> the subframe part of the test _after_ that.
OK, done -- repeating the whole chrome test on that second canvas, factored into a helper function.
>
> Also, I'm not sure why "chrome" is capitalized all over in the subframe. ;)
thanks, fixed.
Ken & Zhenyao --- I don't see a good way to share such privileged extension tests at Khronos in a systematic way, but if you are interested, this code should be rather easy to adapt as WebKit/Chromium tests. You'd just have to replace the boilerplate code to create a privileged-code test, and the non-privileged domain for your test harness (replace http://mochi.test:8888/... by whatever gives non-privileged pages in your harness).
Comment 17•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/756d555fc3bf
https://hg.mozilla.org/mozilla-central/rev/e78db739d589
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
Assignee | ||
Comment 18•12 years ago
|
||
Comment on attachment 671555 [details] [diff] [review]
updated --- GetSupportedExtensions didn't list the new extension
[Approval Request Comment]
Bug caused by (feature/regressing bug #): Not a regression. But blocker for the fix for bug 795701 which is a regression caused by WebIDL port (bug 779611).
User impact if declined: Bug 795701 will ship to users, causing about:support to miss WebGL renderer info. WebGL will still work unaffected, only about:support will miss information.
Testing completed (on m-c, etc.): on m-c for several days now
Risk to taking this patch (and alternatives if risky): medium risk. It's a new feature that must be exposed to privileged code only, but it's covered by an extensive mochitest-chrome test.
String or UUID changes made by this patch: none
Attachment #671555 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 19•12 years ago
|
||
Comment on attachment 671991 [details] [diff] [review]
Chrome mochitest
[Approval Request Comment]
See previous comment.
Attachment #671991 -
Flags: approval-mozilla-aurora?
Comment 20•12 years ago
|
||
(In reply to Benoit Jacob [:bjacob] from comment #18)
> Risk to taking this patch (and alternatives if risky): medium risk. It's a
> new feature that must be exposed to privileged code only, but it's covered
> by an extensive mochitest-chrome test.
Do we have any lower risk alternatives. Obviously backing out bug 779611 wouldn't fly, but we're concerned with the medium risk evaluation. If this is the only path forward, where could we find regressions?
Assignee | ||
Comment 21•12 years ago
|
||
The only options are:
- either backport this
- or ship one Firefox version with no 'WebGL renderer' info in about:support.
If we are going to backport this, we should then backport the chrome mochitest as well and verify that it's run. It's really extensive so as long as it succeeds I'm not afraid of regressions.
Assignee | ||
Comment 22•12 years ago
|
||
Also, if this caused regressions in other WebGL extensions it would cause mochitest-1 to go orange.
Comment 23•12 years ago
|
||
Comment on attachment 671555 [details] [diff] [review]
updated --- GetSupportedExtensions didn't list the new extension
Given testing coverage here, where we are in the cycle, and the possible support impact if declined, we'll take a fix for FF18.
Attachment #671555 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Updated•12 years ago
|
Attachment #671991 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 24•12 years ago
|
||
https://hg.mozilla.org/releases/mozilla-aurora/rev/b77766bbadc1
https://hg.mozilla.org/releases/mozilla-aurora/rev/76d096e915c7
Note that bug 779611 interfered a bit with this applying cleanly.
status-firefox18:
--- → fixed
status-firefox19:
--- → fixed
Comment 25•9 years ago
|
||
Keywords: dev-doc-complete
You need to log in
before you can comment on or make changes to this bug.
Description
•