https://wiki.mozilla.org/api.php?action=feedcontributions&user=Jgilbert&feedformat=atomMozillaWiki - User contributions [en]2024-03-28T15:30:07ZUser contributionsMediaWiki 1.27.4https://wiki.mozilla.org/index.php?title=Standards&diff=1246865Standards2023-06-26T18:15:45Z<p>Jgilbert: /* General Participation Guidelines */ More #standards matrix links</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Get on [[Matrix]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the #standards channel [https://chat.mozilla.org/#/room/#standards:mozilla.org via chat.mozilla.org] or [https://matrix.to/#/#standards:mozilla.org via matrix.to].<br />
** Participation in #[[whatwg]] (see [https://whatwg.org/chat WHATWG chat instructions])<br />
* Get an [[IRC#Pick_an_IRC_client|IRC client]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
* Get on [https://chat.indieweb.org/ IndieWeb Chat] (IRC, Matrix, or Slack) to:<br />
** chat with #[[microformats]], #[[indieweb]]<br />
<br />
== [https://www.ecma-international.org/ Ecma International] ==<br />
<br />
* [[Standards/Participating in TC39|Participating in TC39]]<br />
<br />
=== [https://tc39.es// TC39] ===<br />
<br />
Participants:<br />
<br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span><br />
* <span class="h-card">[[User:Dminor|Daniel Minor]]</span><br />
* <span class="h-card">[[User:Eemeli|Eemeli Aro]]</span><br />
<br />
Specifications: [https://www.ecma-international.org/publications-and-standards/standards/ecma-262/ ECMA-262]<br />
<br />
=== [https://github.com/tc39/ecma402 TC39 - TG2 (Internationalization)] ===<br />
<br />
Participants:<br />
<br />
* <span class="h-card">[[User:Eemeli|Eemeli Aro]]</span><br />
* <span class="h-card">[[User:Dminor|Daniel Minor]]</span><br />
* <span class="h-card">[[User:Gregtatum|Greg Tatum]]</span><br />
<br />
Specifications: [https://www.ecma-international.org/publications-and-standards/standards/ecma-402/ ECMA-402]<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
Coordination: <span class="h-card">[[User:Mthomson|Martin Thomson]]</span><br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/httpbis/about/ HTTP] ===<br />
* <span class="h-card">Valentin Gosu</span><br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Byron Campen</span><br />
* <span class="h-card">Randell Jesup</span><br />
<br />
=== [https://datatracker.ietf.org/wg/tls/about/ TLS] ===<br />
* <span class="h-card">Dennis Jackson</span><br />
<br />
=== ISOC Advisory Council ===<br />
Please contact <span class="h-card">Martin Thomson</span> for any inquiries.<br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (:jgilbert)<br />
<br />
== microformats ==<br />
https://microformats.org/ and [https://microformats.org/wiki microformats wiki]<br />
* chat: https://chat.indieweb.org/microformats<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
=== Community and Interest Groups ===<br />
{{main|Standards/w3c-interest-community-groups}}<br />
W3C CGs or IGs not tied directly to an active WG are documented on a separate page:<br />
* [[Color on the Web Community Group]]<br />
* [[Federated Identity Community Group]]<br />
* [[Games Community Group]]<br />
* [[Immersive Web Community Group]]<br />
* [[Open UI Community Group]]<br />
* [[Privacy Community Group]]<br />
* [[Web Education Community Group]]<br />
* [[WebExtensions Community Group]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) — elected members<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (2013-2018, 2020-2022, 2023-)<br />
<br />
The AB drives W3C process improvements in the:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> — Advisory Committee representative (AC Rep)<br />
* <span class="h-card">[[User:Mthomson|Martin Thomson]]</span> — Alternate AC Rep<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] (W3C Member-only link) for who else is an AC Rep from which other organizations.<br />
<br />
=== ARIA Working Group ===<br />
* [https://www.w3.org/WAI/ARIA/ ARIA Working Group homepage]<br />
[https://www.w3.org/groups/wg/aria/participants?sortaff=1 Participants]:<br />
* <span class="h-card">James Teh</span><br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
The Audio Working Group works in conjuction with the Audio Community Group:<br />
==== Audio Community Group ====<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Media Working Group ===<br />
* https://www.w3.org/groups/wg/media<br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Alastor Wu</span><br />
* <span class="h-card">Chun-Min Chang</span><br />
* <span class="h-card">Karl Tomlinson</span><br />
<br />
==== Audiovisual Media Formats for Browsers Community Group ====<br />
<br />
* https://www.w3.org/community/av4browsers/<br />
* <span class="h-card">Paul Adenot</span><br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
* <span class="h-card">[[User:jfkthame|Jonathan Kew]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web Working Group (WebGPU) ===<br />
https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (:jgilbert, jdashg) (WGSL Chair)<br />
* <span class="h-card">[[User:Jimb|Jim Blandy]]</span> (:jimb)<br />
Everyone listed above is also in the CG below:<br />
==== GPU for the Web Community Group ====<br />
https://www.w3.org/community/gpu/<br />
The following are only in the CG:<br />
* <span class="h-card">[[User:Nical|Nicolas Silva]]</span> (:nical)<br />
* <span class="h-card">Erich Gubler</span> (:egubler)<br />
* <span class="h-card">Teodor Tanasoaia</span> (:teoxoy)<br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* Eemeli Aro<br />
* Erik Nordin<br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
<br />
=== Service Workers Working Group ===<br />
[https://www.w3.org/sw/ Service Workers Working Group home page] ([https://www.w3.org/groups/wg/service-workers/participants members]).<br />
Participants:<br />
* <span class="h-card">[[User:Andrew_Sutherland|Andrew Sutherland]]</span><br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== [https://www.w3.org/groups/wg/webappsec Web Applications Security Working Group] ===<br />
* Frederik Braun<br />
* Christoph Kerschbaumer<br />
* Daniel Veditz<br />
* Paul Zühlcke<br />
<br />
Specifications: CSP, Mixed-Content Blocking, SRI, Permission Policy, HTML Sanitizer<br />
<br />
=== Web Applications Working Group ===<br />
[https://www.w3.org/2019/webapps/ WebApps WG home page] — ([https://www.w3.org/groups/wg/webapps/participants?sortaff=1 members])<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> <br />
* <span class="h-card">[[User:Andrew_Sutherland|Andrew Sutherland]]</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">Kagami Rosylight</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
* Ryan Hunt<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Ryan Hunt<br />
<br />
=== Web Authentication Working Group ===<br />
[https://www.w3.org/blog/webauthn/ WebAuthn homepage]<br />
* Dan Veditz<br />
<br />
=== Web Editing Working Group ===<br />
[https://www.w3.org/groups/wg/webediting/participants Web Editing WG participants]<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">Kagami Rosylight</span><br />
* <span class="h-card">Edgar Chen</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (former editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* No one from Mozilla currently.<br />
<br />
=== Web Performance Working Group ===<br />
https://www.w3.org/webperf/<br />
* <span class="h-card">Benjamin De Kosnik</span><br />
* <span class="h-card">Sean Feng</span><br />
<br />
Specifications: Navigation Timing, Paint Timing, Event Timing, Element Timing<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
<br />
Specifications: DOM-adjacent<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Jan-Ivar Bruaroey</span> (co-chair)<br />
* <span class="h-card">Karl Tomlinson</span><br />
* <span class="h-card">Martin Thomson</span><br />
<br />
[https://www.w3.org/groups/wg/webrtc W3C home page]<br />
<br />
Specifications: [https://www.w3.org/TR/mediacapture-streams/ Media Capture and Streams]<br />
<br />
Specifications: [https://www.w3.org/TR/webrtc/ WebRTC 1.0: Real-Time Communication Between Browsers]<br />
<br />
Long tail of [https://www.w3.org/groups/wg/webrtc/publications other specs].<br />
<br />
=== WebTransport Working Group ===<br />
[https://www.w3.org/wiki/WebTransport WebTransport] Working Group<br />
* <span class="h-card">Jan-Ivar Bruaroey</span> (co-chair)<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: [https://www.w3.org/TR/webtransport/ WebTransport]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
=== Portable Network Graphics Working Group ===<br />
(in the process of being chartered)<br />
* [[APNG_Specification]] (on Mozilla Wiki)<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Multi-PNG PNG spec]<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
=== Technical Architecture Group ===<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== WHATWG ==<br />
{{main|WHATWG}}<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (jgilbert/jdashg on WhatWG/Canvas)<br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
= other =<br />
<br />
== Alliance for Open Media (AOM) ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* Daniel Nazer (Mozilla's representative on AOM's Board)<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Ben Wilson</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== eIDAS Regulation ==<br />
The [https://ec.europa.eu/digital-single-market/en/discover-eidas eIDAS Regulation] places requirements on electronic identification and trust services. [https://blog.mozilla.org/netpolicy/2020/10/08/the-eus-current-approach-to-qwacs-qualified-website-authentication-certificates-will-undermine-security-on-the-open-web/ Our goal] is to keep the TLS requirements/framework separate and independent from eIDAS and Qualified Website Authentication Certificates ([https://ec.europa.eu/futurium/en/blog/commission-runs-pilot-project-qualified-web-authentication-certificates-qwacs QWACs]).<br />
<br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Dennis Jackson</span><br />
* <span class="h-card">Udbhav Tiwari</span><br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* No direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== FIDO Alliance ==<br />
Mozilla is a member of the FIDO Alliance, which produces hardware specifications for Web Authentication.<br />
* Dan Veditz<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[ExposureGuidelines]]<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1246864Standards2023-06-26T18:12:03Z<p>Jgilbert: /* General Participation Guidelines */ Add link to matrix #standards</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Get on [[Matrix]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the [https://matrix.to/#/#standards:mozilla.org #standards] channel<br />
** Participation in #[[whatwg]] (see [https://whatwg.org/chat WHATWG chat instructions])<br />
* Get an [[IRC#Pick_an_IRC_client|IRC client]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
* Get on [https://chat.indieweb.org/ IndieWeb Chat] (IRC, Matrix, or Slack) to:<br />
** chat with #[[microformats]], #[[indieweb]]<br />
<br />
== [https://www.ecma-international.org/ Ecma International] ==<br />
<br />
* [[Standards/Participating in TC39|Participating in TC39]]<br />
<br />
=== [https://tc39.es// TC39] ===<br />
<br />
Participants:<br />
<br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span><br />
* <span class="h-card">[[User:Dminor|Daniel Minor]]</span><br />
* <span class="h-card">[[User:Eemeli|Eemeli Aro]]</span><br />
<br />
Specifications: [https://www.ecma-international.org/publications-and-standards/standards/ecma-262/ ECMA-262]<br />
<br />
=== [https://github.com/tc39/ecma402 TC39 - TG2 (Internationalization)] ===<br />
<br />
Participants:<br />
<br />
* <span class="h-card">[[User:Eemeli|Eemeli Aro]]</span><br />
* <span class="h-card">[[User:Dminor|Daniel Minor]]</span><br />
* <span class="h-card">[[User:Gregtatum|Greg Tatum]]</span><br />
<br />
Specifications: [https://www.ecma-international.org/publications-and-standards/standards/ecma-402/ ECMA-402]<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
Coordination: <span class="h-card">[[User:Mthomson|Martin Thomson]]</span><br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/httpbis/about/ HTTP] ===<br />
* <span class="h-card">Valentin Gosu</span><br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Byron Campen</span><br />
* <span class="h-card">Randell Jesup</span><br />
<br />
=== [https://datatracker.ietf.org/wg/tls/about/ TLS] ===<br />
* <span class="h-card">Dennis Jackson</span><br />
<br />
=== ISOC Advisory Council ===<br />
Please contact <span class="h-card">Martin Thomson</span> for any inquiries.<br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (:jgilbert)<br />
<br />
== microformats ==<br />
https://microformats.org/ and [https://microformats.org/wiki microformats wiki]<br />
* chat: https://chat.indieweb.org/microformats<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
=== Community and Interest Groups ===<br />
{{main|Standards/w3c-interest-community-groups}}<br />
W3C CGs or IGs not tied directly to an active WG are documented on a separate page:<br />
* [[Color on the Web Community Group]]<br />
* [[Federated Identity Community Group]]<br />
* [[Games Community Group]]<br />
* [[Immersive Web Community Group]]<br />
* [[Open UI Community Group]]<br />
* [[Privacy Community Group]]<br />
* [[Web Education Community Group]]<br />
* [[WebExtensions Community Group]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) — elected members<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (2013-2018, 2020-2022, 2023-)<br />
<br />
The AB drives W3C process improvements in the:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> — Advisory Committee representative (AC Rep)<br />
* <span class="h-card">[[User:Mthomson|Martin Thomson]]</span> — Alternate AC Rep<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] (W3C Member-only link) for who else is an AC Rep from which other organizations.<br />
<br />
=== ARIA Working Group ===<br />
* [https://www.w3.org/WAI/ARIA/ ARIA Working Group homepage]<br />
[https://www.w3.org/groups/wg/aria/participants?sortaff=1 Participants]:<br />
* <span class="h-card">James Teh</span><br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
The Audio Working Group works in conjuction with the Audio Community Group:<br />
==== Audio Community Group ====<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Media Working Group ===<br />
* https://www.w3.org/groups/wg/media<br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Alastor Wu</span><br />
* <span class="h-card">Chun-Min Chang</span><br />
* <span class="h-card">Karl Tomlinson</span><br />
<br />
==== Audiovisual Media Formats for Browsers Community Group ====<br />
<br />
* https://www.w3.org/community/av4browsers/<br />
* <span class="h-card">Paul Adenot</span><br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
* <span class="h-card">[[User:jfkthame|Jonathan Kew]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web Working Group (WebGPU) ===<br />
https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (:jgilbert, jdashg) (WGSL Chair)<br />
* <span class="h-card">[[User:Jimb|Jim Blandy]]</span> (:jimb)<br />
Everyone listed above is also in the CG below:<br />
==== GPU for the Web Community Group ====<br />
https://www.w3.org/community/gpu/<br />
The following are only in the CG:<br />
* <span class="h-card">[[User:Nical|Nicolas Silva]]</span> (:nical)<br />
* <span class="h-card">Erich Gubler</span> (:egubler)<br />
* <span class="h-card">Teodor Tanasoaia</span> (:teoxoy)<br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* Eemeli Aro<br />
* Erik Nordin<br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
<br />
=== Service Workers Working Group ===<br />
[https://www.w3.org/sw/ Service Workers Working Group home page] ([https://www.w3.org/groups/wg/service-workers/participants members]).<br />
Participants:<br />
* <span class="h-card">[[User:Andrew_Sutherland|Andrew Sutherland]]</span><br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== [https://www.w3.org/groups/wg/webappsec Web Applications Security Working Group] ===<br />
* Frederik Braun<br />
* Christoph Kerschbaumer<br />
* Daniel Veditz<br />
* Paul Zühlcke<br />
<br />
Specifications: CSP, Mixed-Content Blocking, SRI, Permission Policy, HTML Sanitizer<br />
<br />
=== Web Applications Working Group ===<br />
[https://www.w3.org/2019/webapps/ WebApps WG home page] — ([https://www.w3.org/groups/wg/webapps/participants?sortaff=1 members])<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> <br />
* <span class="h-card">[[User:Andrew_Sutherland|Andrew Sutherland]]</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">Kagami Rosylight</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
* Ryan Hunt<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Ryan Hunt<br />
<br />
=== Web Authentication Working Group ===<br />
[https://www.w3.org/blog/webauthn/ WebAuthn homepage]<br />
* Dan Veditz<br />
<br />
=== Web Editing Working Group ===<br />
[https://www.w3.org/groups/wg/webediting/participants Web Editing WG participants]<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">Kagami Rosylight</span><br />
* <span class="h-card">Edgar Chen</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (former editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* No one from Mozilla currently.<br />
<br />
=== Web Performance Working Group ===<br />
https://www.w3.org/webperf/<br />
* <span class="h-card">Benjamin De Kosnik</span><br />
* <span class="h-card">Sean Feng</span><br />
<br />
Specifications: Navigation Timing, Paint Timing, Event Timing, Element Timing<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
<br />
Specifications: DOM-adjacent<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Jan-Ivar Bruaroey</span> (co-chair)<br />
* <span class="h-card">Karl Tomlinson</span><br />
* <span class="h-card">Martin Thomson</span><br />
<br />
[https://www.w3.org/groups/wg/webrtc W3C home page]<br />
<br />
Specifications: [https://www.w3.org/TR/mediacapture-streams/ Media Capture and Streams]<br />
<br />
Specifications: [https://www.w3.org/TR/webrtc/ WebRTC 1.0: Real-Time Communication Between Browsers]<br />
<br />
Long tail of [https://www.w3.org/groups/wg/webrtc/publications other specs].<br />
<br />
=== WebTransport Working Group ===<br />
[https://www.w3.org/wiki/WebTransport WebTransport] Working Group<br />
* <span class="h-card">Jan-Ivar Bruaroey</span> (co-chair)<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: [https://www.w3.org/TR/webtransport/ WebTransport]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
=== Portable Network Graphics Working Group ===<br />
(in the process of being chartered)<br />
* [[APNG_Specification]] (on Mozilla Wiki)<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Multi-PNG PNG spec]<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
=== Technical Architecture Group ===<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== WHATWG ==<br />
{{main|WHATWG}}<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (jgilbert/jdashg on WhatWG/Canvas)<br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
= other =<br />
<br />
== Alliance for Open Media (AOM) ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* Daniel Nazer (Mozilla's representative on AOM's Board)<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Ben Wilson</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== eIDAS Regulation ==<br />
The [https://ec.europa.eu/digital-single-market/en/discover-eidas eIDAS Regulation] places requirements on electronic identification and trust services. [https://blog.mozilla.org/netpolicy/2020/10/08/the-eus-current-approach-to-qwacs-qualified-website-authentication-certificates-will-undermine-security-on-the-open-web/ Our goal] is to keep the TLS requirements/framework separate and independent from eIDAS and Qualified Website Authentication Certificates ([https://ec.europa.eu/futurium/en/blog/commission-runs-pilot-project-qualified-web-authentication-certificates-qwacs QWACs]).<br />
<br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Dennis Jackson</span><br />
* <span class="h-card">Udbhav Tiwari</span><br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* No direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== FIDO Alliance ==<br />
Mozilla is a member of the FIDO Alliance, which produces hardware specifications for Web Authentication.<br />
* Dan Veditz<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[ExposureGuidelines]]<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1244679Standards2022-11-22T08:57:17Z<p>Jgilbert: /* GPU for the Web Community Group */ +egubler</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Get on [[Matrix]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the Standards channel<br />
** Participation in #[[whatwg]] (see [https://whatwg.org/chat WHATWG chat instructions])<br />
* Get an [[IRC#Pick_an_IRC_client|IRC client]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
* Get on [https://chat.indieweb.org/ IndieWeb Chat] (IRC, Matrix, or Slack) to:<br />
** chat with #[[microformats]], #[[indieweb]]<br />
<br />
== [https://www.ecma-international.org/ Ecma International] ==<br />
<br />
=== [https://www.ecma-international.org/publications-and-standards/standards/ecma-402/ ECMA-402] ===<br />
* <span class="h-card">[[User:Gregtatum|Greg Tatum]]</span><br />
<br />
=== [https://tc39.es// TC39] ===<br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span> - voting delegate, former chair (currently advising)<br />
<br />
Specifications: ECMAScript 5, 5.1, 6, Harmony, etc.<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
=== [https://datatracker.ietf.org/wg/add/about/ ADD] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/dispatch/about/ DISPATCH] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://httpwg.github.io/ HTTPbis] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Dragana Damjanovic</span><br />
<br />
=== [https://quicwg.github.io/ QUIC] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Eric Rescorla</span><br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Randell Jesup</span><br />
* <span class="h-card">Eric Rescorla (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Maire Reavy</span><br />
<br />
=== [https://datatracker.ietf.org/wg/stir/about/ STIR] ===<br />
* <span class="h-card">Eric Rescorla</span><br />
<br />
=== [http://tlswg.github.io/ TLS] (SSL) ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Eric Rescorla</span><br />
<br />
=== [https://datatracker.ietf.org/wg/uta/about/ UTA] ===<br />
* No one from Mozilla currently. <br />
<br />
=== [https://datatracker.ietf.org/wg/webpush/about/ WebPush] ===<br />
* <span class="h-card">Martin Thomson</span><br />
<br />
=== ISOC Advisory Council ===<br />
Please contact <span class="h-card">Martin Thomson</span> for any inquiries.<br />
<br />
=== RFC Editor Future Development Program ===<br />
* No one from Mozilla currently. <br />
<br />
=== RFC Series Oversight Committee ===<br />
* No one from Mozilla currently. <br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (:jgilbert)<br />
<br />
== microformats ==<br />
https://microformats.org/ and [https://microformats.org/wiki microformats wiki]<br />
* chat: https://chat.indieweb.org/microformats<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
=== Community and Interest Groups ===<br />
{{main|Standards/w3c-interest-community-groups}}<br />
W3C CGs or IGs not tied directly to an active WG are documented on a separate page:<br />
* [[Color on the Web Community Group]]<br />
* [[Federated Identity Community Group]]<br />
* [[Games Community Group]]<br />
* [[Immersive Web Community Group]]<br />
* [[Open UI Community Group]]<br />
* [[Privacy Community Group]]<br />
* [[Web Education Community Group]]<br />
* [[WebExtensions Community Group]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) — elected members<br />
* No current Mozilla participants. Contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> for any inquiries.<br />
<br />
Previously:<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (2013-2018, 2020-2022)<br />
<br />
The AB drives W3C process improvements in the:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> - Advisory Committee (AC) representative<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] for who else is an AC Rep from which other organizations.<br />
<br />
=== ARIA Working Group ===<br />
* [https://www.w3.org/WAI/ARIA/ ARIA Working Group homepage]<br />
[https://www.w3.org/groups/wg/aria/participants?sortaff=1 Participants]:<br />
* <span class="h-card">James Teh</span><br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
The Audio Working Group works in conjuction with the Audio Community Group:<br />
==== Audio Community Group ====<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Media Working Group ===<br />
* https://www.w3.org/groups/wg/media<br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Alastor Wu</span><br />
* <span class="h-card">Chun-Min Chang</span><br />
* <span class="h-card">Karl Tomlinson</span><br />
<br />
==== Audiovisual Media Formats for Browsers Community Group ====<br />
<br />
* https://www.w3.org/community/av4browsers/<br />
* <span class="h-card">Paul Adenot</span><br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web Working Group (WebGPU) ===<br />
https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (:jgilbert, jdashg) (WGSL Chair)<br />
* <span class="h-card">[[User:Jimb|Jim Blandy]]</span> (:jimb)<br />
Everyone listed above is also in the CG below:<br />
==== GPU for the Web Community Group ====<br />
https://www.w3.org/community/gpu/<br />
The following are only in the CG:<br />
* <span class="h-card">[[User:Nical|Nicolas Silva]]</span> (:nical)<br />
* <span class="h-card">Erich Gubler</span> (:egubler)<br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* Eemeli Aro<br />
* Erik Nordin<br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
<br />
=== Service Workers Working Group ===<br />
[https://www.w3.org/sw/ Service Workers Working Group home page] ([https://www.w3.org/groups/wg/service-workers/participants members]).<br />
Participants:<br />
* <span class="h-card">[[User:Andrew_Sutherland|Andrew Sutherland]]</span><br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== [https://www.w3.org/groups/wg/webappsec Web Applications Security Working Group] ===<br />
* Frederik Braun<br />
* Christoph Kerschbaumer<br />
* Eric Rescorla<br />
* Daniel Veditz<br />
<br />
Specifications: CSP, Mixed-Content Blocking, SRI, Permission Policy, HTML Sanitizer<br />
<br />
=== Web Applications Working Group ===<br />
[https://www.w3.org/2019/webapps/ WebApps WG home page] — ([https://www.w3.org/groups/wg/webapps/participants?sortaff=1 members])<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> <br />
* <span class="h-card">[[User:Andrew_Sutherland|Andrew Sutherland]]</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">Kagami Rosylight</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
* Ryan Hunt<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Ryan Hunt<br />
<br />
=== Web Authentication Working Group ===<br />
[https://www.w3.org/blog/webauthn/ WebAuthn homepage]<br />
* Dan Veditz<br />
<br />
=== Web Editing Working Group ===<br />
[https://www.w3.org/groups/wg/webediting/participants Web Editing WG participants]<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">Kagami Rosylight</span><br />
* <span class="h-card">Edgar Chen</span><br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* No one from Mozilla currently.<br />
<br />
=== Web Performance Working Group ===<br />
https://www.w3.org/webperf/<br />
* <span class="h-card">Benjamin De Kosnik</span><br />
* <span class="h-card">Sean Feng</span><br />
<br />
Specifications: Navigation Timing, Paint Timing, Event Timing, Element Timing<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
<br />
Specifications: DOM-adjacent<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Jan-Ivar Bruaroey</span> (co-chair)<br />
* <span class="h-card">Karl Tomlinson</span><br />
* <span class="h-card">Martin Thomson</span><br />
<br />
[https://www.w3.org/groups/wg/webrtc W3C home page]<br />
<br />
Specifications: [https://www.w3.org/TR/mediacapture-streams/ Media Capture and Streams]<br />
<br />
Specifications: [https://www.w3.org/TR/webrtc/ WebRTC 1.0: Real-Time Communication Between Browsers]<br />
<br />
Long tail of [https://www.w3.org/groups/wg/webrtc/publications other specs].<br />
<br />
=== WebTransport Working Group ===<br />
[https://www.w3.org/wiki/WebTransport WebTransport] Working Group<br />
* <span class="h-card">Jan-Ivar Bruaroey</span> (co-chair)<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: [https://www.w3.org/TR/webtransport/ WebTransport]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
=== Portable Network Graphics Working Group ===<br />
(in the process of being chartered)<br />
* [[APNG_Specification]] (on Mozilla Wiki)<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Multi-PNG PNG spec]<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
=== Technical Architecture Group ===<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== WHATWG ==<br />
{{main|WHATWG}}<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
* <span class="h-card">[[User:Jgilbert|Kelsey Gilbert]]</span> (jgilbert/jdashg on WhatWG/Canvas)<br />
* <span class="h-card">[[User:Zcorpan|Simon Pieters]]</span><br />
<br />
= other =<br />
<br />
== Alliance for Open Media (AOM) ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* Daniel Nazer (Mozilla's representative on AOM's Board)<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Ben Wilson</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== eIDAS Regulation ==<br />
The [https://ec.europa.eu/digital-single-market/en/discover-eidas eIDAS Regulation] places requirements on electronic identification and trust services. [https://blog.mozilla.org/netpolicy/2020/10/08/the-eus-current-approach-to-qwacs-qualified-website-authentication-certificates-will-undermine-security-on-the-open-web/ Our goal] is to keep the TLS requirements/framework separate and independent from eIDAS and Qualified Website Authentication Certificates ([https://ec.europa.eu/futurium/en/blog/commission-runs-pilot-project-qualified-web-authentication-certificates-qwacs QWACs]).<br />
<br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Raegan MacDonald</span><br />
* <span class="h-card">Thyla van der Merwe</span><br />
* <span class="h-card">Udbhav Tiwari</span><br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* No direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== FIDO Alliance ==<br />
Mozilla is a member of the FIDO Alliance, which produces hardware specifications for Web Authentication.<br />
* Dan Veditz<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[ExposureGuidelines]]<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications</div>Jgilberthttps://wiki.mozilla.org/index.php?title=QA/Platform/Graphics/Inventory&diff=1242242QA/Platform/Graphics/Inventory2022-05-06T16:50:57Z<p>Jgilbert: Add RDNA, Radeon RX 6700 XT</p>
<hr />
<div>[https://docs.google.com/spreadsheets/d/1RkLUpi3ADynUBczQbXgGW_Pi8hQ4Kx5XR-8SxDLsr7U/edit#gid=1515461366&vpid=A2 Spreadsheet]<br />
<br />
= Good sources of drivers =<br />
* [[Graphics_Drivers_Symbols]]<br />
* [https://catalog.update.microsoft.com catalog.update.microsoft.com] (search for a particular device id using eg. "dev_0102")<br />
** 7zip is recommended for extracting the .cab files. (I think Windows Explorer might mess up the directory structure)<br />
* downdriver has links to the original sources<br />
* driveridentifier does an ok job of this as well<br />
* userdrivers has links to the original sources<br />
<br />
[https://www.intel.com/content/www/us/en/support/articles/000005654/graphics-drivers.html Understanding the Intel® Graphics Driver Version Numbers]<br />
<br />
Nvidia driver's have a different external version than internal ones. e.g. 8.17.12.8026 -> 280.26<br />
<br />
Old versions of Windows 10 can get grabbed from here: https://tb.rg-adguard.net/public.php<br />
<br />
== Changing drivers ==<br />
* Load device manager<br />
* Open the context menu on the adapter in question<br />
* Choose "Update driver"<br />
* Choose "Browse my computer for driver software"<br />
* Choose "Let me pick from a list of available drivers on my computer"<br />
* This will show a list of drivers available for picking<br />
* If the driver isn't on the list you can use "Have Disk..." to choose the directory where the driver is.<br />
<br />
= Adding your device =<br />
First, make sure you have an account on wiki.mozilla.org.<br />
<br />
Second, find out which chipset your computer is running.<br />
* Open up about:support in Firefox<br />
* Scroll down to the Graphics section looking for ''Device ID'' and ''Vendor ID''<br />
** If your Vendor ID is 0x1002, you have an AMD device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/amd.json AMD] database.<br />
** If your Vendor ID is 0x8086, you have an Intel device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/intel.json Intel] database.<br />
** If your Vendor ID is 0x10de, you have a NVIDIA device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/nvidia.json NVIDIA] database.<br />
** ''For example, if your Device ID is 0x9440 that is an RV770 chipset in the R700 series''<br />
<br />
Note: if your ''Device ID'' is reporting the name instead of an ID, on Linux one could follow these steps:<br />
* run 'lspci -nn' and find your GPU, on the right there will be vendor and device ID, e.g. "[10de:1c8c]"<br />
<br />
Finally, add your device to the relevant section below<br />
* ''Device'' is the name of the device which you can get from about:support<br />
* ''ID'' is the Device ID you noted above<br />
* ''Chipset'' is the chipset you noted above (eg. RV770)<br />
* ''System'' can just be "volunteer" or the make/model of the computer<br />
* ''Points of Contact'' should be your name with a mailto link to your email address, include your region if possible<br />
<br />
''If you need help please contact [mailto:ahughes@mozilla.com Anthony Hughes]''<br />
<br />
Softvision's list: https://docs.google.com/spreadsheets/d/1RJDeelqMQeFM3S8XvQCpHv7ojQKaeirLJWvujXj66gw/edit#gid=0<br />
<br />
= AMD Chipsets =<br />
== R100 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R200 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R300 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| ATI Radeon Xpress 200G<br />
| 0x5954<br />
| RS480<br />
| Compaq Presario<br />
| Oshawa<br />
|-<br />
|}<br />
<br />
== R400 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R500 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon X1600<br />
| ''unknown''<br />
| RV530<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R600 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 3650<br />
| ''unknown''<br />
| RV635<br />
| Lenovo Thinkpad T500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R700 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Mobility Radeon 7500<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad T42<br />
| Toronto<br />
|-<br />
| 512MB ATI Mobility Radeon HD 4570<br />
| ''unknown''<br />
| RV710<br />
| Dell Studio 15<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Evergreen Series (TerraScale 2 - VLIW5 - UVD2) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 5670<br />
| 0x68d8<br />
| RV830 (Redwood XT)<br />
| Dell Precision T3500<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 5770<br />
| ''unknown''<br />
| RV840 (Juniper)<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 8470<br />
| 0x6778<br />
| Caicos <br />
| ThinkCentre M73<br />
| Toronto<br />
|-<br />
| AMD Mobility™ Radeon® HD 5870<br />
| 0x68a0<br />
| RV840 (Juniper)<br />
| Asus G73JH (Spaceship)<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Northern Islands Series (TerraScale 2 - VLIW5 - UVD3) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 6250<br />
| 0x9804<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad G575<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6290<br />
| ''unknown''<br />
| Wrestler<br />
| Acer Aspire One 725-0826<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| AMD Radeon HD 6320M<br />
| ''unknown''<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad X130e<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6320M<br />
| ''unknown''<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad X130e<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6450<br />
| 0x677b<br />
| Caicos<br />
| Custom desktop build<br />
| [mailto:botond@mozilla.com Botond Ballo] (Toronto), currently loose in gfx hardware area<br />
|-<br />
| AMD Radeon HD 7470M/6520G<br />
| ''unknown''<br />
| Caicos/Beaver Creek<br />
| AMD Dual GPU Laptop, Samsung<br />
| [mailto:jrmuizel@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Cayman (TerraScale3 - VLIW4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 6950<br />
| 0x6719<br />
| Cayman<br />
| Loose card<br />
| [mailto:jrmuizel@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Richland ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Solar System ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 8570M/Intel HD Graphics 4000 0x8086:0x0166<br />
| 0x0166<br />
| GCN 1.0 (Oland)<br />
| Lenovo Thinkpad G500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Southern Islands (GCN 1.0 - UVD4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 240<br />
| 0x6613<br />
| GCN 1.0 (Oland Pro)<br />
| Dell Precision T1600<br />
| Toronto<br />
|-<br />
| AMD Radeon R9 M370X<br />
| 0x6821<br />
| GCN 1.0 (Strato Pro)<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Sea Islands (GCN 1.1) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 260X<br />
| ''unknown''<br />
| Bonaire XTX<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Radeon R9 390 ("AMD HAWAII")<br />
| 0x67b1<br />
| Hawaii PRO<br />
| maahes<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
== Volcanic Islands (GCN 1.2 - UVD5/UVD6) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R9 285<br />
| 0x6939<br />
| Tonga<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Radeon R4 (A6-7310)<br />
| 0x9851<br />
| Kaveri<br />
| Asus X555Y laptop<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
| AMD Radeon R6 (A6-8600B)<br />
| 0x9874<br />
| Carrizo<br />
| HP EliteBook MT42<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
|}<br />
<br />
== Arctic Islands (GCN 4th gen - UVD6.3) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Radeon Pro 560X<br />
| 0x67ef<br />
| Polaris<br />
| Macbook Pro (15", 2018)<br />
| miko (Berlin)<br />
|-<br />
| Radeon Pro 460<br />
| 0x67ef<br />
| Polaris11<br />
| MacBook Pro (15-inch, Late 2016)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|-<br />
| Radeon RX 460<br />
| 0x67ef<br />
| Polaris11<br />
| Ryzen machine<br />
| jrmuizel (Toronto), currently used by botond (Toronto)<br />
|-<br />
|}<br />
<br />
== Vega (GCN 5th gen - UVD7) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Radeon RX Vega 56 (Vega10 XL)<br />
| 0x687f<br />
| Vega<br />
| kheton (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
| Radeon RX Vega 56 (Vega10)<br />
| 0x687f<br />
| Vega<br />
| Ryzen machine (Win10)<br />
| jrmuizel (Toronto)<br />
|-<br />
|}<br />
<br />
== RDNA ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon RX 6700 XT (Navi 22 XT)<br />
| 0x73df<br />
| RDNA 2<br />
| kheton (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
= Intel Chipsets =<br />
== Older ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| [http://ark.intel.com/products/27705/Intel-82855GME-Graphics-and-Memory-Controller Intel 855GME]<br />
| 0x3582<br />
| Gen2<br />
| [http://www.cnet.com/products/toshiba-tecra-a2-pentium-m-715-1-5-ghz-512-mb-ram-60-gb-hdd-series/specs/ Toshiba Tecra A2 (only SSE2)]<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 3 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA 900<br />
| 0x2582<br />
| Intel® 915G Express, Pentium 4<br />
| Optiplex GX280<br />
| Toronto<br />
|}<br />
<br />
== Generation 4 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA X3100<br />
| 0x2a02<br />
| GL960 Core 2 Duo @ 2Ghz T5750<br />
| Inspiron 1525<br />
| Toronto<br />
|-<br />
|}<br />
== Generation 4.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel GMA X4500<br />
| 0x2e32<br />
| G41 - Eaglelake (G) Wolfdale-3M @ 3.2Ghz<br />
| Silly Box<br />
| Toronto<br />
|-<br />
| Intel GMA X4500HD<br />
| 0x2e22<br />
| G45 - Eaglelake (G+)<br />
| Dell Vostro 220s<br />
| Toronto<br />
|-<br />
| Intel GMA 4500MHD<br />
| 0x2a42<br />
| GM45<br />
| Dell Latitude E6400<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics (Core i3)<br />
| 0x0046<br />
| Ironlake<br />
| Dell XPS L501X (i3 M 370 @ 2.4GHz)<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 6 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 3000<br />
| 0x0126<br />
| Sandybridge<br />
| Lenovo Thinkpad x220<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 3000<br />
| 0x0116<br />
| Sandybridge<br />
| Mac Air<br />
| Jim Mathies (Florida, US)<br />
|-<br />
| Intel HD Graphics<br />
| 0x0102<br />
| Sandybridge<br />
| Dell Vostro core i3<br />
| Toronto (only displays on Intel VGA during boot)<br />
|-<br />
| Intel(R) Sandybridge Mobile<br />
| 0x0102<br />
| Sandybridge<br />
| seker<br />
| jgilbert (Mountain View)<br />
|-<br />
| Mesa DRI Intel(R) Sandybridge Desktop<br />
| 0x0102<br />
| Sandybridge<br />
| generic<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|}<br />
<br />
== Generation 7 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000<br />
| 0x0162<br />
| Ivybridge<br />
| PoisonIvy<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4000<br />
| 0x0166<br />
| ivybridge-gt2<br />
| MacBook Pro (15-inch, Early 2013)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|}<br />
<br />
== Generation 7.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4400<br />
| 0x041e<br />
| Haswell<br />
| ThinkCentre M73 (Core i3)<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4400<br />
| ''unknown''<br />
| Haswell<br />
| Surface Pro 2<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| Intel HD Graphics 4600<br />
| 0x0412<br />
| Haswell<br />
| Hawkman<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600<br />
| 0x0412<br />
| Haswell<br />
| Dell Precision T1700<br />
| gw (Brisbane)<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600 / GeForce GTX 970M Optimus<br />
| 0x0416<br />
| Haswell<br />
| msi (Windows)<br />
| Nical<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x0416<br />
| Haswell<br />
| W540<br />
| Toronto <br> Sotaro Ikeda (Tokyo)<br />
|-<br />
|-<br />
| Intel HD Graphics<br />
| 0x0a16<br />
| Haswell<br />
| X1 Carbon<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K1100M<br />
| 0x0416 / 0x0ff6<br />
| Haswell<br />
| W540<br />
| [mailto:aosmond@mozilla.com Andrew Osmond] (Toronto)<br />
|-<br />
| Intel Iris Pro Graphics 5200 <br />
| 0x0d26<br />
| Haswell<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| "Intel Iris Pro" (Mac, Intel Iris Pro Graphics 5200)<br />
| 0x0d26<br />
| Crystal Well<br />
| MacBook Pro Retina 15" Late-2013 (MacBookPro11,3)<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View)<br />
|}<br />
<br />
== Generation 8 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 5500<br />
| ''unknown''<br />
| Broadwell<br />
| HP Pavilion 14T <br />
| Toronto<br />
|-<br />
| HD Graphics 5300<br />
| ''unknown''<br />
| Broadwell<br />
| Yoga 3 <br />
| Jim Mathies<br />
|-<br />
| Intel HD Graphics<br />
| 0x22b0<br />
| Cherryview<br />
| Some old Microsoft tablety thing (Windows)<br />
| Nical<br />
|-<br />
| Intel HD Graphics<br />
| ''unknown''<br />
| Cherryview<br />
| 2018 reference device Inspiron 15 <br />
| Toronto (Markus Stange)<br />
|-<br />
|}<br />
<br />
== Generation 9 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Mesa DRI Intel HD Graphics 530<br />
| 0x1912<br />
| skylake-gt2<br />
| Volunteer<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| Intel(R) HD Graphics P530<br />
| 0x191d<br />
| skylake-gt2<br />
| Dell Precision 5510 (XPS-like)<br />
| jgilbert (Mountain View)<br />
|-<br />
| Intel(R) HD Graphics P530/ NVIDIA Quadro M2000M<br />
| 0x191d<br />
| skylake-gt2<br />
| ThinkPad P50<br />
| Sotaro Ikeda (Tokyo)<br />
|-<br />
| Intel(R) HD Graphics P530/ NVIDIA Quadro M2000M<br />
| 0x191d<br />
| skylake-gt2<br />
| ThinkPad P50 (Windows)<br />
| Nical<br />
|-<br />
| Intel HD Graphics 530<br />
| 0x191b<br />
| skylake-gt2<br />
| MacBook Pro (15-inch, Late 2016)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|-<br />
| Intel HD Graphics 530<br />
| 0x1912<br />
| skylake-gt2<br />
| VR machine | Jeff Muizelaar (Toronto)<br />
|-<br />
| Intel HD Graphics 550<br />
| 0x1927<br />
| skylake-gt3<br />
| MacBook Pro (13-inch, 2016)<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
| Intel HD Graphics 550<br />
| 0x591e<br />
| skylake-gt2<br />
| Surface GO<br />
| Jeff Muizelaar (Toronto)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5916<br />
| kabylake-gt2<br />
| Lenovo ThinkPad T470s <br> Purism Librem 13v4<br />
| [https://mozillians.org/u/alex_mayorga/ Alex Mayorga] (volunteer) <br> [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5917<br />
| kabylake-gt2<br />
| Dell XPS 9370<br />
| gw (Brisbane)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5917<br />
| kabylake-gt2<br />
| Dell XPS13 (Linux/Fedora)<br />
| Nical<br />
|-<br />
| Intel UHD Graphics 620<br />
| 0x5917<br />
| kabylake-gt2<br />
| Lenovo Yoga, Win10<br />
| Jim Mathies (Florida)<br />
|-<br />
| Intel(R) UHD Graphics 630<br />
| 0x3e9b<br />
| Coffee Lake gt2<br />
| Dell XPS 15 9570<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View) <br> Sotaro Ikeda (Tokyo)<br />
|-<br />
| Intel(R) UHD Graphics 630<br />
| 0x3e9b<br />
| Coffee Lake gt2<br />
| MacBook Pro (15", 2018)<br />
| [mailto:miko@mozilla.com miko] (Berlin)<br />
|-<br />
| Intel(R) UHD Graphics 630 (mobile)<br />
| 0x3e9b<br />
| Coffee Lake gt2<br />
| Lenovo Thinkpad X1 Extreme (1st gen) (Linux, Win10)<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
| Intel HD Graphics 540<br />
| 0x1926<br />
| skylake-gt3<br />
| Dell XPS<br />
| [mailto:jmuizelaar@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Generation 12 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel(R) UHD Graphics<br />
| 0x9a78<br />
| tigerlake-gt2<br />
| Acer Aspire 5<br />
| jrmuizel (Toronto)<br />
|}<br />
<br />
= NVIDIA Chipsets =<br />
== Fahrenheit (NV04) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Celcius (NV10) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Kelvin (NV20) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Rankine (NV30) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Curie (NV40) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 7600GT<br />
| 0x0391<br />
| G73<br />
| Studio XPS<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Tesla (NV50) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 8600M<br />
| 0x0407<br />
| NV84 (G84)<br />
| Macbook Pro<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro NVS 295<br />
| ''unknown''<br />
| NV98 (G98GL)<br />
| ''unknown''<br />
| ''unknown''<br />
|-<br />
| NVIDIA Quadro 880M<br />
| 0x0a3c<br />
| NVA5 (GT216GLM)<br />
| Lenovo Thinkpad W510<br />
| Toronto<br />
|-<br />
| NVIDIA NVS 3100M<br />
| 0x0a6c<br />
| NVA8 (GT218M)<br />
| Lenovo Thinkpad T510<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 310<br />
| 0x0a66<br />
| GT218<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 320M<br />
| 0x08a0<br />
| MCP89<br />
| MacBook 2009<br />
| Jeff Muizelaar<br />
|-<br />
| NVIDIA GeForce 330M<br />
| 0x0a29<br />
| GT216M<br />
| MacBook Pro 2010<br />
| Jeff Muizelaar<br />
|-<br />
|}<br />
<br />
== Fermi (NVC0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GT 420M<br />
| 0x046e<br />
| NVC1 (GF108M)<br />
| Dell XPS L501X<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 1000M<br />
| ''unknown''<br />
| NVC1 (GF108GLM)<br />
| Lenovo Thinkpad W520<br />
| [mailto:vdjeric@mozilla.com Vladan Djeric] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTS 450<br />
| NVC3 (GF106)<br />
| ''unknown''<br />
| Dell Vostro<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 600<br />
| 0x0df8<br />
| NV34 (GF108GL)<br />
| Benoit PC<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| NVIDIA GeForce GT 610<br />
| ''unknown''<br />
| GF119<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 4000<br />
| 0x06dd<br />
| GF100GL<br />
| bastet<br />
| jgilbert (Mountain View)<br />
|-<br />
| NVIDIA Quadro 2000<br />
| 0x0dd8<br />
| GF106GL<br />
| loose card<br />
| jrmuizel<br />
|-<br />
|}<br />
<br />
== Kepler (NVE0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GT 650M<br />
| 0x0fd5<br />
| GK107M<br />
| MacBook Pro (15-inch, Early 2013)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|-<br />
| NVIDIA Quadro K1000M<br />
| 0x0ffc<br />
| NVE7 (GK107GLM)<br />
| Lenovo Thinkpad W530<br />
| [mailto:jlin@mozilla.com returned pc to Jonathan Lin] (Toronto)<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x11fc<br />
| GK106<br />
| Lenovo Thinkpad W540<br />
| Toronto Lab<br />
|-<br />
| NVIDIA GeForce GT 730<br />
| 0x1287<br />
| GK208<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Maxwell (NV110) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 950<br />
| <br />
| (GM206)<br />
| n/a - loose card<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
| NVIDIA Quadro M1000M<br />
| 0x13b1<br />
| GM107<br />
| Dell Precision 5510 (XPS-like, Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
| NVIDIA Quadro M2000M<br />
| <br />
| GM107<br />
| ThinkPad P50<br />
| miko (Berlin)<br />
|-<br />
| NVIDIA GeForce GTX 980 Ti<br />
| 0x17c8<br />
| GM200<br />
| Falcon (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
== Pascal ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 1080<br />
| 0x1b80<br />
| (GP104)<br />
| VR machine<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTX 1050 Ti with Max-Q Design<br />
| 0x1c8c<br />
| GP107-400<br />
| Dell XPS 15 9570 (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
| GeForce GTX 1050 Ti with Max-Q Design/PCIe/SSE2<br />
| 0x1c8c<br />
| GP107-400<br />
| Lenovo Thinkpad X1 Extreme (1st gen) (Linux, Win10)<br />
| [Dzmitry Malyshau] (Toronto)<br />
| -<br />
|}<br />
<br />
== Turing ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 1660 Ti<br />
| 0x2182<br />
| TU116<br />
| Generic<br />
| tnikkel<br />
|-<br />
| NVIDIA GeForce RTX 2060<br />
| 0x1e89<br />
| ?<br />
| Generic<br />
| ktaeleman<br />
|-<br />
| NVIDIA GeForce RTX 3070<br />
| 0x2484<br />
| ?<br />
| osiris<br />
| jgilbert<br />
|-<br />
|}<br />
<br />
== Ampere ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce RTX 3070<br />
| 0x2484<br />
| GA104<br />
| osiris<br />
| jgilbert<br />
|-<br />
|}<br />
<br />
= Mobile Chipsets =<br />
== ARM v6 (Deprecated) ==<br />
<br />
== ARM v7 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/alcatel_one_touch_fire-5319.php Alcatel OneTouch Fire]<br />
| Phone<br />
| Adreno 200<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7-4850.php ASUS Google Nexus 7 (2012)]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 4.1 - 5.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7_%282013%29-5600.php ASUS Google Nexus 7 (2013)]<br />
| Tablet<br />
| Adreno 320<br />
| Android 4.3 - 5.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_transformer_prime_tf201-4322.php ASUS Transformer Prime TF201]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.2 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_vivotab_rt_tf600t-5083.php ASUS Vivotab TF600T]<br />
| Tablet<br />
| ULP GeForce<br />
| Windows RT<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Flame#Device_specifications Flame]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [https://en.wikipedia.org/wiki/GeeksPhone_Peak Geeksphone Peak]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_626-6968.php HTC Desire 626]<br />
| Phone<br />
| Adreno 306<br />
| Android 5.1.1<br />
| [mailto:danderson@mozilla.com David Anderson] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_hd-3468.php HTC Desire HD]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_s-3776.php HTC Desire S]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3, 4.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_google_nexus_one-3069.php HTC Google Nexus One]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [http://www.gsmarena.com/htc_nexus_9-5823.php HTC Google Nexus 9]<br />
| Tablet<br />
| Kepler DX1<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_one_s-4574.php HTC One S]<br />
| Phone<br />
| Adreno 225<br />
| Android 4.0 - 4.1<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/huawei_ascend_y300-5386.php Huawei Ascend Y300]<br />
| Phone<br />
| Adreno 203<br />
| Firefox OS<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/lg_g2-5543.php LG G2] (Verizon edition)<br />
| Phone<br />
| Adreno 330<br />
| Android 4.2 - 5.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_4_e960-5048.php LG Google Nexus 4]<br />
| Phone<br />
| Adreno 320<br />
| Android 4.2 - 5.1, Firefox OS<br />
| [mailto:mchang@mozilla.com Mason Chang] (Santa Monica) <br> [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane) <br> [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br> [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_5-5705.php LG Google Nexus 5]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [http://www.gsmarena.com/lg_optimus_2x-3598.php LG Optimus 2X]<br />
| Phone<br />
| ULP GeForce<br />
| Android 2.3 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/motorola_nexus_6-6604.php Motorola Google Nexus 6]<br />
| Phone<br />
| Adreno 240<br />
| Android 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_xoom_mz604-3833.php Motorola XOOM MZ604]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [https://www.gsmarena.com/motorola_moto_g5-8454.php Moto G5]<br />
| Phone<br />
| Adreno 505<br />
| Android 7.0<br />
| [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [https://en.wikipedia.org/wiki/Odroid Odroid XU3]<br />
| Tablet<br />
| Mali-T628 MP6<br />
| Android / Ubuntu<br />
| [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_551-3515.php Samsung Galaxy GT-I5510M]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.2<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_nexus_i9250-4219.php Samsung Galaxy Nexus]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.2<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9100_galaxy_s_ii-3621.php Samsung Galaxy S II]<br />
| Phone<br />
| Mali-400<br />
| Android 4.1<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9300_galaxy_s_iii-4238.php Samsung Galaxy S III]<br />
| Phone<br />
| Mali-400MP4<br />
| Android 4.0 - 4.3<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s5-6033.php Samsung Galaxy S5]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s6-6849.php Samsung Galaxy S6]<br />
| Phone<br />
| Mali-T760MP8<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_tab_10_1_p7510-3894.php Samsung Galaxy Tab 10.1]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_10_p8110-5084.php Samsung Google Nexus 10]<br />
| Tablet<br />
| Mali-T604<br />
| Android 4.0 - 5.1<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_s-3620.php Samsung Google Nexus S]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 2.3 - 5.1, Firefox OS<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://pdadb.net/index.php?m=specs&id=2776&c=sony_ericsson_xperia_play_r800__r800i_se_zeus Sony Xperia Play r800i]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:msreckovic@mozilla.com Milan Sreckovic] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z2_tablet_wi_fi-6161.php Sony Xperia Z2]<br />
| Tablet<br />
| Adreno 330<br />
| Android 4.4 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z3-6539.php Sony Xperia Z3]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.1, Firefox OS<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [http://www.sonymobile.com/gb/products/phones/xperia-z3-compact/specifications/ Sony Xperia Z3C]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.1, Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [http://www.sonymobile.com/gb/products/phones/xperia-z3-compact/specifications/ Sony Xperia Z3C]<br />
| Phone<br />
| Adreno 330<br />
| LineageOS 16 (Android 9)<br />
| [mailto:aosmond@mozilla.com Andrew Osmond] (Toronto)<br />
|-<br />
| [https://www.sonymobile.com/global-en/products/tablets/xperia-z4-tablet/ Sony Xperia Z4]<br />
| Tablet<br />
| Adreno 430<br />
| Android 5.0<br />
| [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| Mediatek Woodduck<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Inari<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Otoro<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Nexus 4 + Battery Harness<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Samsung Nexus S<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Qualcom QRD8x26<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Alcatel Midori (one touch)<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| TCL Hamachi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE OpenL<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Geekphone Peak<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Ikura<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Unagi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| Sotaro Ikeda (Tokyo) <br />
|-<br />
| TCL Buri<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| Sotaro Ikeda (Tokyo) <br />
|-<br />
| Spreadtrum Dolphin<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| Sotaro Ikeda (Tokyo) <br />
|-<br />
|}<br />
<br />
== ARM v8 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [https://www.gsmarena.com/sony_xperia_xa1-8596.php Sony Xperia XA1]<br />
| Phone<br />
| Mali T-880<br />
| Android 8.0<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| [https://www.gsmarena.com/motorola_moto_e5_cruise-9575.php Moto e5 Cruise]<br />
| Phone<br />
| Adreno 308<br />
| Android 8.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 9.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 9.0<br />
| [mailto:jmuizelaar@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 10.0<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [https://www.gsmarena.com/oneplus_6-9109.php OnePlus 6]<br />
| Phone<br />
| Adreno 630<br />
| Android 9.0<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [https://www.gsmarena.com/samsung_galaxy_s9-8966.php Galaxy s9]<br />
| Phone<br />
| Mali-G72 MP18<br />
| Android 10.0<br />
| Nical<br />
|-<br />
|}<br />
<br />
== Intel x86 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/asus_fonepad-5329.php ASUS Fonepad]<br />
| Tablet<br />
| PowerVR SGX540<br />
| Android 4.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_razr_i_xt890-4998.php Motorola Razer XT890]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.0<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
|}<br />
<br />
== Unknown Architecture ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| Samsung Galaxy Ace<br />
| Phone<br />
| ''unknown''<br />
| ''unknown''<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|}<br />
<br />
= Input devices =<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [https://www.huion.com/pen_tablet/H640P.html Huion Inspiroy H640P]<br />
| Pen Tablet<br />
| Botond (Toronto)<br />
|}<br />
= Softvision/WebRender Testing =<br />
<br />
This section outlines the hardware Softvision has available for WebRender testing<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Nvidia GeForce GT 730 (Kepler)<br />
| 0x1287<br />
| GK208B<br />
| Desktop PC<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
| Nvidia GeForce GT 1030 <br />
| <br />
| <br />
| <br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel HD 4600 (Gen 7.5)<br />
| 0x0412<br />
| haswell-gt2<br />
| Desktop PC<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel HD 630 (Gen 9)<br />
| 0x5912<br />
| kabylake-gt2<br />
| Desktop PC<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|AMD RX 550<br />
| <br />
| <br />
| <br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel UHD 630 + Nvidia GeForce GTX 1650<br />
| 0x3e9b + 0x1f91<br />
| coffeelake-gt2 + TU117M<br />
| Dell Laptop<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel UHD 630 + Nvidia GeForce GTX 1050<br />
| 0x3e9b + 0x1c8d<br />
| coffelake-gt2 + GP107M<br />
| Dell Laptop<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel(R) HD Graphics 620 + NVIDIA GeForce MX110 (personal device)<br />
| 0x5916 + 0x174e<br />
| kabylake-gt2 + GM108M<br />
| <br />
| rares.doghi@softvision.ro<br />
|-<br />
|}</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Modules/Core&diff=1240151Modules/Core2022-01-20T00:39:26Z<p>Jgilbert: Jeff => Kelsey, jgilbert@moz -> kelsey.gilbert@moz</p>
<hr />
<div><noinclude><br />
'''Only module owners may edit this page.''' <br />
<br />
They may:<br />
<br />
* update any information about their module except the name of the owner<br />
* add or remove sub-modules<br />
* change the owner of a sub-module <br />
* add emeritus owners or peers<br />
<br />
Other changes, including changes of module owner or addition/removal of modules, must be agreed with the Module Ownership Module group, probably via a discussion in [https://www.mozilla.org/about/forums/#governance mozilla.governance].<br />
</noinclude><br />
{{Module<br />
|name=Accessibility<br />
|description=Support for platform accessibility APIs. Accessibility APIs are used by 3rd party software like screen readers, screen magnifiers, and voice dictation software, which need information about document content and UI controls, as well as important events like changes of focus.<br />
|owner=[mailto:jteh@mozilla.com Jamie Teh]<br />
|peers=[mailto:eitan@monotonous.org Eitan Isaacson], [mailto:mzehe@mozilla.com Marco Zehe], [mailto:mreschenberg@mozilla.com Morgan Reschenberg]<br />
|ownersemeritus=[mailto:aaron@moonset.net. Aaron Leventhal], [mailto:surkov.alexander@gmail.com Alexander Surkov]<br />
|peersemeritus=[mailto:dbolter@mozilla.com David Bolter], [mailto:tbsaunde+mozbugs@tbsaunde.org Trevor Saunders], [mailto:ginn.chen@oracle.com Ginn Chen], Evan Yan, [mailto:yzenevich@mozilla.com Yura Zenevich]<br />
|group=dev-accessibility<br />
|source_dirs=accessible/<br />
|url=http://www.mozilla.org/access/<br />
|components=Core::Disability Access APIs<br />
}}<br />
<br />
{{Module<br />
|name=Animation<br />
|description=Declarative animations: CSS animations, CSS transitions, Web Animations API, and off-main thread animations.<br />
|owner=[mailto:brian@birchill.co.jp Brian Birtles] (:birtles)<br />
|peers=[mailto:boris@mozilla.com Boris Chiou] (:boris), [mailto:hikezoe.birchill@mozilla.com Hiroyuki Ikezoe] (:hiro), [mailto:mwoodrow@mozilla.com Matt Woodrow] (:mattwoodrow)<br />
|group=dev-platform<br />
|source_dirs=dom/animation; and animation-related and interpolation-related code in layout/style, gfx/layers, servo/components/style and servo/ports/gecko<br />
|components=Core::DOM::Animation, Core::CSS Transitions and Animations<br />
}}<br />
<br />
{{Module<br />
|name=Anti-Tracking<br />
|description=Tracking detection and content-blocking.<br />
|owner=[mailto:tihuang@mozilla.com Tim Huang]<br />
|peers=[mailto:amarchesini@Mozilla.com Andrea Marchesini], [mailto:dlee@mozilla.com Dimi Lee], [mailto:pbz@mozilla.com Paul Zühlcke], [mailto:jhofmann@mozilla.com Johann Hofmann]<br />
|peersemeritus=[mailto:ehsan@mozilla.com Ehsan Akhgari], [mailto:ewright@mozilla.com Erica Wright], [mailto:xeonchen@gmail.com Gary Chen]<br />
|group=dev-platform<br />
|source_dirs=toolkit/components/antitracking/, several files under browser/ and netwerk/url-classifier/<br />
|components=Core::Privacy: Anti-Tracking<br />
}}<br />
<br />
{{Module<br />
|name=Browser WebAPI<br />
|description=Web API for rendering apps, browser windows and widgets.<br />
|owner=[mailto:Olli.Pettay@helsinki.fi Olli Pettay]<br />
|peers=[mailto:fabrice@mozilla.com Fabrice Desré]<br />
|ownersemeritus=[mailto:kchen@mozilla.com Kan-Ru Chen]<br />
|group=dev-webapi<br />
|source_dirs=dom/browser-element/<br />
|url=<br />
|components=Core::DOM<br />
}}<br />
<br />
{{Module<br />
|name=Build and Release Tools<br />
|description=Tools related to build and release automation and configuration of release builds.<br />
|owner=[mailto:aki@mozilla.com Aki Sasaki]<br />
|peers=<br />
|group=release-engineering<br />
|source_dirs=tools/update-packaging/ tools/update-verify<br />
|url=https://wiki.mozilla.org/ReleaseEngineering<br />
|components=Release Engineering::*<br />
}}<br />
<br />
{{Module<br />
|name=Build Config<br />
|description=The build system for Gecko and several mozilla.org hosted Gecko-based applications.<br />
|owner=[mailto:mh@glandium.org Mike Hommey] (:glandium)<br />
|peers=[mailto:mhentges@mozilla.com Mitchell Hentges], [mailto:bpostelnicu@mozilla.com Andi-Bogdan Postelnicu]<br />
|ownersemeritus=Chris Manchester (2019-2020), Gregory Szorc (2013-2019), Ted Mielczarek (2008-[https://blog.mozilla.org/ted/2013/03/07/gregory-szorc-is-now-the-build-config-module-owner/ 2013]), Benjamin Smedberg (???-[http://benjamin.smedbergs.us/blog/2008-04-30/more-changing-of-the-guard-ted-mielczarek/ 2008]), <br />
|peersemeritus=Ted Mielczarek, Ralph Giles, Gregory Szorc, Chris Manchester, Mike Shal, Nathan Froyd, Ricky Stewart, David Major<br />
|group=dev-builds<br />
|source_dirs=build/, config/, python/mozbuild, tools/cross-commit, tools/cvs2hg-import.py, tools/cvsmgmt/, tools/elf-dynstr-gc/, tools/trees.pl, browser/config/mozconfigs/, mobile/config/mozconfigs/, xulrunner/config/mozconfigs/<br />
|url=http://www.mozilla.org/build/<br />
|components=Core::Build Config<br />
}}<br />
<br />
{{Module<br />
|name=Code Analysis and Debugging Tools<br />
|description=Tools for debugging Mozilla code or for analyzing speed, memory use, and other characteristics of it.<br />
|owner=[mailto:dbaron@dbaron.org David Baron]<br />
|peers=<br />
|group=dev-performance<br />
|source_dirs=tools/codesighs/, tools/debug/, tools/dreftool/, tools/dumpdeps/, tools/jprof/, tools/leak-gauge/, tools/leaky/, tools/memory/, tools/module-deps/, tools/performance/, tools/post_compile/, tools/preloader/, tools/rb/, tools/reorder/, tools/trace-malloc/, tools/uuiddeps/, <br />
|url=<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Content Security<br />
|description=Native content-based security features enforced in the ContentSecurityManager, including: Content Security Policy (CSP), Mixed Content Blocker (MCB), Referrer Policy, Subresource Integrity (SRI), Cross-Origin Resource Sharing (CORS), X-Frame-Options, X-Content-Type-Options: nosniff, HTTPS-Only-Mode, Sanitizer API, Sec-Fetch Metadata, and top-level data: URI blocking.<br />
|owner=[mailto:ckerschbaumer@mozilla.com Christoph Kerschbaumer]<br />
|peers=[mailto:tvyas@mozilla.com Tanvi Vyas], [mailto:dveditz@mozilla.com Dan Veditz], [mailto:amarchesini@mozilla.com Andrea Marchesini], [mailto:fbraun@mozilla.com Frederik Braun]<br />
|peersemeritus=[mailto:mozilla@sidstamm.com Sid Stamm], [mailto:jonas@sicking.cc Jonas Sicking], [mailto:jkt@mozilla.com Jonathan Kingston], [mailto:tnguyen@mozilla.com Thomas Nguyen], François Marier<br />
|group=dev-security<br />
|source_dirs=dom/security<br />
|components=Core::DOM: Security<br />
}}<br />
<br />
{{Module<br />
|name=Cookies<br />
|description=<br />
|owner=[mailto:amarchesini@mozilla.com Andrea Marchesini]<br />
|peers=[mailto:honzab.moz@firemni.cz Honza Bambas] <br />
|ownersemeritus=Monica Chew<br />
|peersemeritus=[mailto:josh@joshmatthews.com Josh Matthews], [mailto:mconnor@steelgryphon.com Mike Connor], [mailto:dwitte@gmail.com Dan Witte], [mailto:cbiesinger@gmail.com Christian Biesinger], [mailto:sdwilsh@shawnwilsher.com Shawn Wilsher (ping on irc)], [mailto:ehsan@mozilla.com Ehsan Akhgari]<br />
|group=dev-platform<br />
|source_dirs=netwerk/cookie/<br />
|url=<br />
|components=Core::Networking: Cookies<br />
}}<br />
<br />
{{Module<br />
|name=Permissions<br />
|description=<br />
|owner=[mailto:tihuang@mozilla.com Tim Huang]<br />
|peers=[mailto:amarchesini@mozilla.com Andrea Marchesini], [mailto:jhofmann@mozilla.com Johann Hofmann], [mailto:pbz@mozilla.com Paul Zühlcke]<br />
|ownersemeritus=Monica Chew, [mailto:ehsan@mozilla.com Ehsan Akhgari]<br />
|peersemeritus=[mailto:josh@joshmatthews.com Josh Matthews], [mailto:mconnor@steelgryphon.com Mike Connor], [mailto:dwitte@gmail.com Dan Witte], [mailto:cbiesinger@gmail.com Christian Biesinger], [mailto:sdwilsh@shawnwilsher.com Shawn Wilsher (ping on irc)], [mailto:honzab.moz@firemni.cz Honza Bambas]<br />
|group=dev-platform<br />
|source_dirs=extensions/permissions/<br />
|url=<br />
|components=Core :: Permission Manager<br />
}}<br />
<br />
{{Module<br />
|name=Cycle Collector<br />
|description=Code to break and collect objects within reference cycles<br />
|owner=[https://mozillians.org/en-US/u/mccr8/ Andrew McCreight]<br />
|peers=Peter Van der Beken, Olli Pettay<br />
|peersemeritus=David Baron<br />
|source_dirs=xpcom/base/nsCycleCollector.* and some support headers<br />
|components=Core::XPCOM<br />
|group=dev-platform<br />
}}<br />
{{Module<br />
|name=C++/Rust usage, tools, and style<br />
|description=Aspects of C++ use such as language feature usage, standard library versions/usage, compiler/toolchain versions, formatting and naming style, and aspects of Rust use as needs arise<br />
|owner=[mailto:bholley@mozilla.com Bobby Holley]<br />
|peers=[mailto:bballo@mozilla.com Botond Ballo], [mailto:glandium@mozilla.com Mike Hommey]<br />
|ownersemeritus=[mailto:eakhgari@mozilla.com Ehsan Akhgari]<br />
|peersemeritus=[mailto:jwalden@mozilla.com Jeff Walden], [mailto:sgiesecke@mozilla.com Simon Giesecke]<br />
|source_dirs=non-third-party C++ and Rust code in the tree<br />
|components=Various components<br />
|group=dev-platform<br />
}}<br />
{{Module<br />
|name=docshell<br />
|description=<br />
|owner=[mailto:Olli.Pettay@helsinki.fi Olli Pettay], [mailto:nika@thelayzells.com Nika Layzell]<br />
|peers=[mailto:peterv@propagandism.org Peter Van der Beken], [mailto:afarre@mozilla.com Andreas Farre]<br />
|ownersemeritus=[mailto:bzbarsky@mit.edu Boris Zbarsky]<br />
|peersemeritus=[mailto:jstenback@gmail.com Johnny Stenback], [mailto:cbiesinger@gmail.com Christian Biesinger], [mailto:justin.lebar@gmail.com Justin Lebar], [mailto:sawang@mozilla.com Samael Wang], [mailto:kyle@nonpolynomial.com Kyle Machulis]<br />
|group=dev-platform<br />
|source_dirs=docshell/, uriloader/<br />
|url=<br />
|components=Core::Document Navigation<br />
}}<br />
<br />
{{Module<br />
|name=DLL Services<br />
|description=Windows dynamic linker instrumentation and blocking<br />
|owner=[mailto:tkikuchi@mozilla.com Toshihito Kikuchi]<br />
|ownersemeritus=Aaron Klotz<br />
|peers=[mailto:davidp99@gmail.com David Parks] (DLL Interceptor), [mailto:mhowell@mozilla.com Molly Howell] (Backup reviewer)<br />
|source_dirs=toolkit/xre/dllservices/**<br />
|components=Core::DLL Services<br />
}}<br />
<br />
{{Module<br />
|name=Document Object Model<br />
|description=<br />
|owner=[mailto:peterv@propagandism.org Peter Van der Beken]<br />
|peers=[mailto:Olli.Pettay@helsinki.fi Olli Pettay], [mailto:hsivonen@iki.fi Henri Sivonen], [mailto:bobbyholley@gmail.com Bobby Holley], [mailto:baku@mozilla.com Andrea Marchesini], [mailto:amccreight@mozilla.com Andrew McCreight], [mailto:nika@thelayzells.com Nika Layzell], [mailto:afarre@mozilla.com Andreas Farre], [mailto:emilio@crisal.io Emilio Cobos], [mailto:asuth@mozilla.com Andrew Sutherland], [mailto:echen@mozilla.com Edgar Chen]<br />
|ownersemeritus=[mailto:jstenback@gmail.com Johnny Stenback]<br />
|peersemeritus=[mailto:justin.lebar@gmail.com Justin Lebar], [mailto:jonas@sicking.cc Jonas Sicking], [mailto:bent.mozilla@gmail.com Ben Turner], [mailto:mounir@lamouri.fr Mounir Lamouri], [mailto:me@kylehuey.com Kyle Huey], [mailto:wmccloskey@mozilla.com Bill McCloskey], [mailto:ben@wanderview.com Ben Kelly], [mailto:mrbkap@gmail.com Blake Kaplan], [mailto:kyle@nonpolynomial.com Kyle Machulis], [mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:ehsan@mozilla.com Ehsan Akhgari]<br />
|group=dev-tech-dom<br />
|source_dirs=dom/*, except directories covered by other modules<br />
|url=http://developer.mozilla.org/en/docs/DOM<br />
|components=Core::DOM, Core::DOM: CSS Object Model, Core::DOM: Core & HTML<br />
}}<br />
<br />
{{Module<br />
|name=DOM File<br />
|description=DOM Blob, File and FileSystem APIs <br />
|owner=[mailto:amarchesini@Mozilla.com Andrea Marchesini]<br />
|peers=[mailto:olli@pettay.fi Olli Pettay]<br />
|group=dev-platform<br />
|source_dirs=dom/file, dom/filesystem<br />
|url=http://developer.mozilla.org/en/docs/DOM<br />
|components=Core::DOM: File<br />
}}<br />
<br />
{{Module<br />
|name=Event Handling<br />
|description=DOM Events and Event Handling <br />
|owner=[mailto:olli@pettay.fi Olli Pettay], [mailto:masayuki@d-toybox.com Masayuki Nakano]<br />
|peers=[mailto:echen@mozilla.com Edgar Chen]<br />
|peersemeritus=[mailto:sshih@mozilla.com Stone Shih]<br />
|group=dev-platform<br />
|source_dirs=dom/events and event handling related code elsewhere <br />
|url=http://developer.mozilla.org/en/docs/DOM<br />
|components=Core::DOM: Events, Core::DOM: UI Events & Focus Handling<br />
}}<br />
<br />
{{Module<br />
|name=Web Workers<br />
|description=<br />
|owner=[mailto:asuth@mozilla.com Andrew Sutherland]<br />
|peers=[mailto:baku@mozilla.com Andrea Marchesini], [mailto:ytausky@mozilla.com Yaron Tausky]<br />
|ownersemeritus=[mailto:bent.mozilla@gmail.com Ben Turner]<br />
|peersemeritus=[mailto:mrbkap@mozilla.com Blake Kaplan], [mailto:jonas@sicking.cc Jonas Sicking], [mailto:me@kylehuey.com Kyle Huey], [mailto:bkelly@mozilla.com Ben Kelly]<br />
|group=dev-platform<br />
|source_dirs=dom/workers/<br />
|url=https://developer.mozilla.org/En/Using_web_workers<br />
|components=Core::DOM: Workers<br />
}}<br />
<br />
{{Module<br />
|name=IndexedDB<br />
|description=<br />
|owner=[mailto:jvarga@mozilla.com Jan Varga]<br />
|peers=[mailto:btseng@mozilla.com Bevis Tseng], [mailto:bugmail@asutherland.org Andrew Sutherland], [mailto:baku@mozilla.com Andrea Marchesini]<br />
|ownersemeritus=[mailto:bent.mozilla@gmail.com Ben Turner]<br />
|peersemeritus=[mailto:jonas@sicking.cc Jonas Sicking], [mailto:me@kylehuey.com Kyle Huey]<br />
|group=dev-platform<br />
|source_dirs=dom/indexedDB/<br />
|url=https://developer.mozilla.org/en/IndexedDB<br />
|components=Core::DOM: IndexedDB<br />
}}<br />
<br />
{{Module<br />
|name=Editor<br />
|description=<br />
|owner=[mailto:masayuki@d-toybox.com Masayuki Nakano]<br />
|peers=[mailto:m_kato@ga2.so-net.ne.jp Makoto Kato]<br />
|ownersemeritus=[mailto:ehsan@mozilla.com Ehsan Akhgari]<br />
|group=dev-platform<br />
|source_dirs=editor/<br />
|url=http://www.mozilla.org/editor/<br />
|components=Core::Editor<br />
}}<br />
<br />
{{Module<br />
|name=Gecko Profiler<br />
|description=Gecko's built-in profiler<br />
|owner=[mailto:mstange@themasta.com Markus Stange]<br />
|peers=[mailto:gsquelart@mozilla.com Gerald Squelart], [mailto:gtatum@mozilla.com Greg Tatum], [mailto:canaltinova@mozilla.com Nazim Can Altinova], [mailto:jseward@mozilla.com Julian Seward] (LUL), [mailto:kvijayan@mozilla.com Kannan Vijayan] (JS integration), [mailto:brennie@mozilla.com Barret Rennie] (Screenshots).<br />
|ownersemeritus=[mailto:b56girard@gmail.com Benoit Girard]<br />
|peersemeritus=[mailto:shu@mozilla.com Shu-yu Guo] (JS integration), [mailto:tlee@mozilla.com Thinker Lee] (TaskTracer), [mailto:cyu@mozilla.com Cervantes Yu] (TaskTracer), Nicholas Nethercote<br />
|group=dev-platform<br />
|source_dirs=tools/profiler/<br />
|url=https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler<br />
|components=Core::Gecko Profiler<br />
}}<br />
<br />
{{Module<br />
|name=GeckoView<br />
|description=Framework for embedding Gecko into Android applications<br />
|owner=[mailto:asferro@mozilla.com Agi Sferro]<br />
|peers=[mailto:mkato.birchill@mozilla.com Makoto Kato], [mailto:istorozhko@mozilla.com Irene Storozhko]<br />
|ownersemeritus=James Willcox<br />
|peersemeritus=Dylan Roeh, Eugen Sawin, Aaron Klotz, Jim Chen, Randall E. Barker<br />
|source_dirs=mobile/android/, widget/android/, hal/android/<br />
|url=https://wiki.mozilla.org/Mobile/GeckoView<br />
|components=GeckoView::General<br />
}}<br />
<br />
{{Module<br />
|name=Global Key Bindings<br />
|description=Global hot keys in Mozilla for the browser, editor, mail-news and widgets. Does not include underlined menu accelerators and the like, as those are part of i18n.<br />
|owner=[mailto:masayuki@d-toybox.com Masayuki Nakano]<br />
|peers=[mailto:neil@parkwaycc.co.uk Neil Rashbrook]<br />
|group=dev-accessibility<br />
|source_dirs=dom/events (and platform specific directories under it)<br />
|url=http://www.mozilla.org/projects/ui/accessibility/mozkeyintro.html<br />
|components=Core::Keyboard: Navigation<br />
}}<br />
<br />
{{Module<br />
|name=Graphics<br />
|description=Mozilla graphics API<br />
|owner=[mailto:jrmuizel@mozilla.com Jeff Muizelaar](Thebes, QCMS, YCbCr, Cairo/Pixman, Regions, OS X, Other)<br />
|ownersemeritus=[mailto:robert@ocallahan.org Robert O'Callahan]<br />
|peers=[mailto:bas.schouten@live.nl Bas Schouten](Layers, Windows), [mailto:kelsey.gilbert@mozilla.com Kelsey Gilbert](WebGL, ANGLE), [mailto:mwoodrow@mozilla.com Matt Woodrow](Layers API), [mailto:jfkthame@googlemail.com Jonathan Kew](text/fonts), [mailto:nsilva@mozilla.com Nicolas Silva](MozSurface), [mailto:ncameron@mozilla.com Nick Cameron], [mailto:sikeda@mozilla.com Sotaro Ikeda](B2G), [mailto:jnicol@mozilla.com Jamie Nicol](Android), [mailto:mstange@themasta.com Markus Stange](OS X), [mailto:lsalzman@mozilla.com Lee Salzman](Skia, Canvas2D), [mailto:rhunt@mozilla.com Ryan Hunt](OMTP), [mailto:gwatson@mozilla.com Glenn Watson ](WebRender), [mailto:dmalyshau@mozilla.com Dzmitry Malyshau](WebRender)<br />
|peersemeritus=[mailto:bgirard@mozilla.com Benoit Girard](Compositor, Performance), [mailto:ajuma.bugzilla@alijuma.com Ali Juma], [mailto:george@mozilla.com George Wright](Canvas2D), [mailto:mchang@mozilla.com Mason Chang], [mailto:dvander@mozilla.com David Anderson], [mailto:clord@mozilla.com Christopher Lord], [mailto:jdaggett@mozilla.com John Daggett](text/fonts), [mailto:bjacob@mozilla.com Benoit Jacob](gfx/gl), [mailto:jdrew@mozilla.com Joe Drew], [mailto:vladimir@pobox.com Vladimir Vukicevic], [mailto:snorp@mozilla.com James Willcox](Android),<br />
|group=dev-platform<br />
|source_dirs=gfx/, dom/canvas/<br />
|url=https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers https://wiki.mozilla.org/Gecko:2DGraphicsSketch<br />
|components=Core::Graphics, Core::Graphics: Layers, Core::Graphics: Text, Core::Graphics: WebRender, Core::GFX: Color Management, Core::Canvas: 2D, Core::Canvas: WebGL<br />
}}<br />
<br />
{{Module<br />
|name=WebGPU (Graphics submodule)<br />
|description=WebGPU implementation<br />
|owner=[mailto:dmalyshau@mozilla.com Dzmitry Malyshau]<br />
|peers=[mailto:josh@joshgroves.com Joshua Groves], [mailto:kelsey.gilbert@mozilla.com Kelsey Gilbert],<br />
|group=dev-platform<br />
|source_dirs=dom/webgpu<br />
|url=https://wiki.mozilla.org/Platform/GFX/WebGPU<br />
|components=Core::Graphics::WebGPU<br />
}}<br />
<br />
{{Module<br />
|name=APZ (Graphics submodule)<br />
|description=Asynchronous panning and zooming<br />
|owner=[mailto:bballo@mozilla.com Botond Ballo]<br />
|ownersemeritus=[mailto:kgupta@mozilla.staktrace.com Kartikaya Gupta]<br />
|peers=[mailto:kgupta@mozilla.staktrace.com Kartikaya Gupta], [mailto:tnikkel@mozilla.com Timothy Nikkel], [mailto:rhunt@mozilla.com Ryan Hunt], [mailto:mstange@mozilla.com Markus Stange]<br />
|group=dev-platform<br />
|source_dirs=gfx/layers/apz<br />
|url=https://wiki.mozilla.org/Platform/GFX/APZ<br />
|components=Core::Panning and Zooming<br />
}}<br />
<br />
{{Module<br />
|name=Moz2D (Graphics submodule)<br />
|description=Platform independent 2D graphics API<br />
|owner=[mailto:bschouten@mozilla.com Bas Schouten]<br />
|peers=[mailto:jmuizelaar@mozilla.com Jeff Muizelaar], [mailto:jwatt@jwatt.org Jonathan Watt]<br />
|group=dev-platform<br />
|source=gfx/2d<br />
|url=https://wiki.mozilla.org/Platform/GFX/Moz2D<br />
|components=Core::Graphics<br />
}}<br />
<br />
{{Module<br />
|name=Legacy HTML Parser<br />
|description=<br />
|owner=[mailto:mrbkap@gmail.com Blake Kaplan]<br />
|peers=[mailto:dbaron@dbaron.org David Baron], [mailto:peterv@propagandism.org Peter Van der Beken], [mailto:rbs@maths.uq.edu.au rbs@maths.uq.edu.au]<br />
|peersemeritus=[mailto:jstenback@gmail.com Johnny Stenback]<br />
|source_dirs=parser/htmlparser<br />
|url=http://www.mozilla.org/newlayout/doc/parser.html<br />
|components=Core::HTML: Parser<br />
}}<br />
<br />
{{Module<br />
|name=HAL<br />
|description=Hardware Abstraction Layer<br />
|owner=[mailto:gsvelto@mozilla.com Gabriele Svelto]<br />
|peers=<br />
|group=dev-platform<br />
|source_dirs=hal/<br />
|components=Core::Hardware Abstraction Layer (HAL)<br />
}}<br />
<br />
{{Module<br />
|name=HTML Parser<br />
|description=The HTML Parser transforms HTML source code into a DOM. It conforms to the HTML specification, and is mostly translated automatically from Java to C++.<br />
|owner=[mailto:hsivonen@iki.fi Henri Sivonen]<br />
|peers=[mailto:wchen@mozilla.com William Chen]<br />
|group=dev-platform<br />
|source_dirs=parser/html<br />
|url=http://about.validator.nu/<br />
|components=Core::HTML: Parser<br />
}}<br />
<br />
{{Module<br />
|name=I18N Library<br />
|description=<br />
|owner=[mailto:hsivonen@hsivonen.fi Henri Sivonen (encoding)], [mailto:jfkthame@gmail.com Jonathan Kew (except to encoding)]<br />
|peers=[mailto:VYV03354@nifty.ne.jp Masatoshi Kimura], [mailto:gandalf@aviary.pl Zibi Braniecki], [mailto:m_kato@ga2.so-net.ne.jp Makoto Kato]<br />
|ownersemeritus=[mailto:jshin1987@gmail.com Jungshik Shin], [mailto:smontagu@smontagu.org Simon Montagu]<br />
|group=dev-i18n<br />
|source_dirs=intl/<br />
|url=http://mozilla.org/projects/intl/index.html<br />
|components=Core::Internationalization<br />
}}<br />
<br />
{{Module<br />
|name=ImageLib<br />
|description=<br />
|owner=[mailto:tnikkel@gmail.com Timothy Nikkel]<br />
|peers=[mailto:aosmond@mozilla.com Andrew Osmond], [mailto:jmuizelaar@mozilla.com Jeff Muizelaar]<br />
|peersemeritus=[mailto:seth.bugzilla@blackhail.net Seth Fowler], [mailto:netzen@gmail.com Brian Bondy], [mailto:justin.lebar@gmail.com Justin Lebar]<br />
|group=dev-platform<br />
|source_dirs=media/libjpeg/, media/libpng/, image/, modules/zlib/<br />
|url=<br />
|components=Core::ImageLib<br />
}}<br />
<br />
{{Module<br />
|name=IPC<br />
|description=Native message-passing between threads and processes<br />
|owner=[mailto:jld@mozilla.com Jed Davis]<br />
|ownersemeritus=Chris Jones, Bill McCloskey<br />
|peers=[mailto:nika@thelayzells.com Nika Layzell], [mailto:jmathies@mozilla.com Jim Mathies], [mailto:amccreight@mozilla.com Andrew McCreight]<br />
|peersemeritus=[mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:bent.mozilla@gmail.com Ben Turner], David Anderson, Kan-Ru Chen, Bevis Tseng, Ben Kelly<br />
|group=dev-platform<br />
|source_dirs=ipc/glue/, ipc/ipdl/, ipc/chromium/<br />
|url=<br />
|components=Core::IPC}}<br />
<br />
{{Module<br />
|name=JavaScript<br />
|description=JavaScript engine (SpiderMonkey)<br />
|owner=[mailto:jdemooij@mozilla.com Jan de Mooij]<br />
|peers=André Bargull, [mailto:tcampbell@mozilla.com Ted Campbell], [mailto:jcoppeard@mozilla.com Jon Coppeard], [mailto:sphink@gmail.com Steve Fink], [mailto:arai.unmht@gmail.com Tooru Fujisawa], [mailto:evilpies@gmail.com Tom Schuster], [mailto:kvijayan@mozilla.com Kannan Vijayan], [mailto:jwalden@mit.edu Jeff Walden], [mailto:ystartsev@mozilla.com Yulia Startsev], [mailto:mgaudet@mozilla.com Matthew Gaudet], [mailto:iireland@mozilla.com Iain Ireland], [mailto:nicolas.b.pierron@mozilla.com Nicolas Pierron], [mailto:ccullen@mozilla.com Caroline Cullen], [mailto:nfitzgerald@mozilla.com Nick Fitzgerald], [mailto:luke@mozilla.com Luke Wagner], [mailto:sunfish@mozilla.com Dan Gohman], [mailto:bobbyholley@gmail.com Bobby Holley]<br />
|peersemeritus=[mailto:brendan@mozilla.org Brendan Eich], [mailto:hv1989@gmail.com Hannes Verschore], [mailto:mrbkap@gmail.com Blake Kaplan], [mailto:wmccloskey@mozilla.com Bill McCloskey], Shu-yu Guo, Niko Matsakis, Eddy Bruel, [mailto:danderson@mozilla.com David Anderson], [mailto:igor@mir2.org Igor Bukanov], Andreas Gal, Eric Faust, Ashley Hauck, [mailto:bhackett1024@gmail.com Brian Hackett], [mailto:till@tillschneidereit.net Till Schneidereit], Nicholas Nethercote, Jason Orendorff<br />
|group=dev-tech-js-engine<br />
|source_dirs=js/src<br />
|url=http://www.mozilla.org/js/spidermonkey,<br />
http://developer.mozilla.org/en/docs/About_JavaScript<br />
|components=Core::JavaScript Engine<br />
}}<br />
<br />
{{Module<br />
|name=JavaScript JIT<br />
|description=JavaScript engine's JIT compilers (IonMonkey, Baseline)<br />
|owner=[mailto:jdemooij@mozilla.com Jan de Mooij]<br />
|peers=André Bargull, [mailto:bbouvier@mozilla.com Benjamin Bouvier], [mailto:tcampbell@mozilla.com Ted Campbell], [mailto:ccullen@mozilla.com Caroline Cullen], [mailto:mgaudet@mozilla.com Matthew Gaudet], [mailto:bhackett1024@gmail.com Brian Hackett], [mailto:iireland@mozilla.com Iain Ireland], [mailto:nicolas.b.pierron@mozilla.com Nicolas Pierron], [mailto:evilpies@gmail.com Tom Schuster], [mailto:sstangl@mozilla.com Sean Stangl], [mailto:kvijayan@mozilla.com Kannan Vijayan], [mailto:luke@mozilla.com Luke Wagner]<br />
|peersemeritus=[mailto:danderson@mozilla.com David Anderson], [mailto:shu@mozilla.com Shu-yu Guo], [mailto:hv1989@gmail.com Hannes Verschore]<br />
|group=dev-tech-js-engine-internals<br />
|source_dirs=js/src/jit<br />
|url=http://www.mozilla.org/js/spidermonkey<br />
|components=Core::JavaScript Engine: JIT<br />
}}<br />
<br />
{{Module<br />
|name=jsat<br />
|description=Javascript screen reader that is used in Android and B2G<br />
|owner=[mailto:eitan@monotonous.org Eitan Isaacson]<br />
|peers=[mailto:yzenevich@mozilla.com Yura Zenevich]<br />
|group=dev-accessibility<br />
|source_dirs=accessible/jsat/<br />
|url=http://www.mozilla.org/access/<br />
|components=Core::Disability Access APIs<br />
}}<br />
<br />
{{Module<br />
|name=js-tests<br />
|description=JavaScript test suite<br />
|owner=[mailto:bclary@bclary.com Bob Clary]<br />
|peers=<br />
|group=dev-tech-js-engine<br />
|source_dirs=js/tests/<br />
|url=http://www.mozilla.org/js/tests/library.html<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Layout Engine<br />
|description=rendering tree construction, layout (reflow), etc.<br />
|owner=[mailto:dholbert@mozilla.com Daniel Holbert]<br />
|peers=[mailto:robert@ocallahan.org Robert O'Callahan], [mailto:jfkthame@gmail.com Jonathan Kew], [mailto:tnikkel@gmail.com Timothy Nikkel], [mailto:matt.woodrow@gmail.com Matt Woodrow], [mailto:xidorn+moz@upsuper.org Xidorn Quan], [mailto:emilio@crisal.io Emilio Cobos Álvarez], [mailto:mats@mozilla.com Mats Palmgren], [mailto:tlin@mozilla.com Ting-Yu Lin]<br />
|ownersemeritus=[mailto:dbaron@dbaron.org David Baron]<br />
|peersemeritus=[mailto:bzbarsky@mit.edu Boris Zbarsky]<br />
|group=dev-platform<br />
|source_dirs=layout/%, layout/base/, layout/build/, layout/doc/, layout/forms/, layout/generic/, layout/html/, layout/printing/, layout/tables/, layout/tools/<br />
|url=https://wiki.mozilla.org/Gecko:Overview#Layout<br />
|components=Core::Layout, Core::Layout: Block and Inline, Core::Layout: Columns, Core::Layout: Flexbox, Core::Layout: Floats, Core::Layout: Form Controls, Core::Layout: Generated Content, Lists, and Counters, Core::Layout: Grid, Core::Layout: Images, Video, and HTML Frames, Core::Layout: Positioned, Core::Layout: Ruby, Core::Layout: Scrolling and Overflow, Core::Layout: Tables, Core::Layout: Text and Fonts, Core::Print Preview, Core::Printing: Output<br />
}}<br />
<br />
{{Module<br />
|name=libjar<br />
|description=The JAR handling code (protocol handler, stream implementation, and zipreader/zipwriter).<br />
|owner=[mailto:vgosu@mozilla.com Valentin Gosu]<br />
|ownersemeritus=Taras Glek, Michael Wu, Aaron Klotz<br />
|peers=[mailto:kershaw@mozilla.com Kershaw Chang]<br />
|peersemeritus=Michal Novotny<br />
|group=dev-platform<br />
|source_dirs=modules/libjar<br />
|url=<br />
|components=Core::Networking: JAR<br />
}}<br />
<br />
{{Module<br />
|name=MathML<br />
|description=MathML is a low-level specification for describing mathematics which provides a foundation for the inclusion of mathematical expressions in Web pages.<br />
|owner=[mailto:karlt+@karlt.net Karl Tomlinson]<br />
|peers=[mailto:robert@ocallahan.org Robert O'Callahan]<br />
|group=dev-tech-mathml<br />
|source_dirs=layout/mathml/<br />
|url=http://www.mozilla.org/projects/mathml/<br />
|components=Core::MathML<br />
}}<br />
<br />
{{Module<br />
|name=Media Playback<br />
|description=HTML Media APIs, including Media Source Extensions and non-MSE video/audio element playback, and Encrypted Media Extensions. (WebRTC and WebAudio not included).<br />
|owner=[mailto:jyavenard@mozilla.com Jean-Yves Avenard]<br />
|ownersemeritus=[mailto:robert@ocallahan.org Robert O'Callahan], [mailto:cpearce@mozilla.com Chris Pearce]<br />
|peers=[mailto:kinetik@flim.org Matthew Gregan], [mailto:bvandyk@mozilla.com Bryce Van Dyk], [mailto:jolin@mozilla.com John Lin], [mailto:alwu@mozilla.com Alastor Wu], [mailto:jwwang@mozilla.com JW Wang]<br />
|group=dev-media<br />
|source_dirs=dom/media, media/gmp-clearkey/, media/libcubeb/, media/libnestegg/, media/libogg/, media/libopus/, media/libstagefright/, media/libtheora/, media/libtremor/, media/libvorbis/, media/libvpx/, media/omx-plugin/, media/rlz/<br />
|url=<br />
|components=Core::Audio/Video<br />
}}<br />
<br />
{{Module<br />
|name=Media Transport<br />
|description=Pluggable transport for real-time media<br />
|owner=[mailto:ekr@rtfm.com Eric Rescorla]<br />
|peers=[mailto:bcampen@mozilla.com Byron Campen], [mailto:abr@mozilla.com Adam Roach], [mailto:nohlmeier@mozilla.com Nils Ohlmeier]<br />
|group=dev-media<br />
|source_dirs=media/mtransport<br />
|url=<br />
|components=Core::WebRTC::Networking<br />
}}<br />
<br />
{{Module<br />
|name=Memory Allocator<br />
|description=Most things related to memory allocation in Gecko, including jemalloc, replace-malloc, DMD (dark matter detector), logalloc, etc.<br />
|owner=[mailto:mh+mozilla@glandium.org Mike Hommey]<br />
|peers=<br />
|peersemeritus=Eric Rahm, Nicholas Nethercote<br />
|group=dev-platform<br />
|source_dirs=memory/<br />
|components=Core::DMD, Core::jemalloc<br />
}}<br />
<br />
{{Module<br />
|name=mfbt<br />
|description=mfbt is a collection of headers, macros, data structures, methods, and other functionality available for use and reuse throughout all Mozilla code (including SpiderMonkey and Gecko more broadly).<br />
|owner=[mailto:jwalden@mit.edu Jeff Walden]<br />
|peers=[mailto:Ms2ger@gmail.com Ms2ger], [mailto:mh+mozilla@glandium.org Mike Hommey]<br />
|group=dev-platform<br />
|source_dirs=mfbt/<br />
|url=<br />
|components=Core::MFBT<br />
}}<br />
<br />
{{Module<br />
|name=Mozglue<br />
|description=Glue library containing various low-level functionality, including a dynamic linker for Android, a DLL block list for Windows, etc.<br />
|owner=[mailto:mh+mozilla@glandium.org Mike Hommey]<br />
|peers=[mailto:kgupta@mozilla.com Kartikaya Gupta] (mozglue/android), [mailto:nchen@mozilla.com Jim Chen] (mozglue/android)<br />
|group=dev-platform<br />
|source_dirs=mozglue/<br />
|components=Core::mozglue<br />
}}<br />
<br />
{{Module<br />
|name=mozilla-toplevel<br />
|description=The top level directory for the mozilla tree.<br />
|owner=[[Modules/Firefox_Technical_Leadership|Firefox Technical Leadership module]]<br />
|ownersemeritus=[mailto:brendan@mozilla.org Brendan Eich]<br />
|peers=<br />
|group=<br />
|source_dirs=tools/README<br />
|url=<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=MSCOM<br />
|description=Integration with Microsoft Distributed COM<br />
|owner=[mailto:jteh@mozilla.com Jamie Teh]<br />
|ownersemeritus=Aaron Klotz<br />
|peers=[mailto:jmathies@mozilla.com Jim Mathies]<br />
|group=dev-platform<br />
|source_dirs=ipc/mscom/%<br />
|url=<br />
|components=Core::IPC: MSCOM}}<br />
<br />
{{Module<br />
|name=Necko<br />
|description=The Mozilla Networking Library<br />
|owner=[mailto:dd.mozilla@gmail.com Dragana Damjanovic]<br />
|peers= [mailto:honzab.moz@firemni.cz Honza Bambas], [mailto:mnovotny@mozilla.com Michal Novotny], [mailto:valentin.gosu@gmail.com Valentin Gosu], [mailto:kershaw@mozilla.com Kershaw Chang], [mailto:juhsu@mozilla.com Junior Hsu]<br />
|ownersemeritus=[mailto:mcmanus@ducksong.com Patrick McManus], [mailto:cbiesinger@gmail.com Christian Biesinger] |peersemeritus= Shih-Chiang Chien, [mailto:bzbarsky@mit.edu Boris Zbarsky], Steve Workman, Nick Hurley, [mailto:daniel@haxx.se Daniel Stenberg ], [mailto:jduell.mcbugs@gmail.com Jason Duell]<br />
|group=dev-tech-network<br />
|source_dirs=netwerk/%, netwerk/base/, netwerk/build/, netwerk/cache/, netwerk/dns/, netwerk/locales/, netwerk/mime/, netwerk/protocol/, netwerk/resources/, netwerk/socket/, netwerk/streamconv/, netwerk/system/, netwerk/test/, netwerk/testserver/<br />
|url=http://www.mozilla.org/projects/netlib/, https://developer.mozilla.org/en/Necko<br />
|components=Core::Networking, Core::Networking: Cache, Core::Networking: Cookies, Core::Networking: FTP, Core::Networking: File, Core::Networking: HTTP, Core::Networking: JAR, Core::Networking: Websockets<br />
}}<br />
<br />
{{Module<br />
|name=NodeJS usage, tools, and style<br />
|description=Advises on the use of NodeJS and npm packages at build and runtime. Reviews additions/upgrades/removals of vendored npm packages. Works with appropriate teams to maintain automated license and security audits of npm packages. Works with the security team and relevant developers to respond to vulnerabilities in NodeJS and vendored npm packages.<br />
|owner=[mailto:dmosedale@mozilla.com Dan Mosedale]<br />
|peers=[mailto:mbanner@mozilla.com Mark Banner], [mailto:dcoates@mozilla.com Danny Coates], [mailto:khudson@mozilla.com Kate Hudson], [mailto:elee@mozilla.com Ed Lee], [mailto:dtownsend@mozilla.com Dave Townsend]<br />
|source_dirs=package.json, package-lock.json, node_modules and others as appropriate<br />
|components=Various components<br />
|forum=[https://wiki.mozilla.org/Firefox/firefox-dev firefox-dev], #nodejs on slack<br />
}}<br />
<br />
{{Module<br />
|name=NSPR<br />
|description=Netscape Portable Runtime<br />
|owner=[mailto:kaie@kuix.de Kai Engert]<br />
|peers=[mailto:mh@glandium.org Mike Hommey]<br />
|ownersemeritus=[mailto:wtc@google.com Wan-Teh Chang]<br />
|group=dev-tech-nspr<br />
|source_dirs=nsprpub/<br />
|url=http://www.mozilla.org/projects/nspr/<br />
http://www.mozilla.org/projects/nspr/reference/html/<br />
http://www.mozilla.org/projects/nspr/release-notes/<br />
|components=NSPR<br />
}}<br />
<br />
{{Module<br />
|name=PDF<br />
|description=Rendering code to display documents encoded in the ISO 32000-1 `PDF' format.<br />
|owner=[mailto:bdahl@mozilla.com Brendan Dahl]<br />
|peers=[mailto:cdenizet@mozilla.com Calixte Denizet]<br />
|peersemeritus=[mailto:aadib@mozilla.com Artur Adib], [mailto:vnicolas@mozilla.com Vivien Nicolas]<br />
|group=dev-platform<br />
|source_dirs=toolkit/components/pdfjs<br />
|url=https://github.com/mozilla/pdf.js<br />
|components=Core::PDF<br />
}}<br />
<br />
{{Module<br />
|name=Plugins<br />
|description= NPAPI Plugin support.<br />
|owner=[mailto:jmathies@mozilla.com Jim Mathies]<br />
|peers=[mailto:davidp99@gmail.com David Parks]<br />
|peersemeritus=[mailto:joshmoz@gmail.com Josh Aas], [mailto:john@pointysoftware.net John Schoenick], [mailto:robert@ocallahan.org Robert O'Callahan], [mailto:jstenback@gmail.com Johnny Stenback], Benjamin Smedberg<br />
|group=<br />
|source_dirs=dom/plugins/, modules/plugin/<br />
|url=https://wiki.mozilla.org/Plugins<br />
|components=Core::Plug-ins<br />
}}<br />
<br />
{{Module<br />
|name=Preferences<br />
|description=Preference library<br />
|owner=[mailto:kwright@mozilla.com Kris Wright]<br />
|peers=[mailto:glandium@mozilla.com Mike Hommey], [mailto:kwright@mozilla.com Kris Wright]<br />
|ownersemeritus=Nicholas Nethercote<br />
|peersemeritus=Felipe Gomes, Eric Rahm<br />
|group=dev-platform<br />
|source_dirs=modules/libpref/<br />
|url=<br />
|components=Core::Preferences: Backend<br />
}}<br />
<br />
{{Module<br />
|name=Private Browsing<br />
|description=Implementation of the Private Browsing mode, and the integration of other modules with Private Browsing APIs.<br />
|owner=[mailto:tihuang@mozilla.com Tim Huang]<br />
|peers=<br />
|ownersemeritus=[mailto:eakhgari@mozilla.com Ehsan Akhgari], [mailto:jhofmann@mozilla.com Johann Hofmann]<br />
|peersemeritus=[mailto:josh@joshmatthews.net Josh Matthews]<br />
|group=dev-platform<br />
|source_dirs=Implementation and consumers of Private Browsing APIs in nsILoadContext, nsIPrivateBrowsingChannel, PrivateBrowsingUtils.jsm and the related glue code. <br />
|url=https://wiki.mozilla.org/Private_Browsing<br />
|components=Firefox::Private Browsing<br />
}}<br />
<br />
{{Module<br />
|name=Privilege Manager<br />
|description="caps"<br />
|owner=[mailto:bobbyholley@gmail.com Bobby Holley]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:ckerschbaumer@mozilla.com Christoph Kerschbaumer]<br />
|peersemeritus=[mailto:brendan@mozilla.org Brendan Eich], [mailto:jstenback@gmail.com Johnny Stenback], [mailto:dveditz@mozilla.com Dan Veditz]<br />
|group=dev-tech-dom<br />
|source_dirs=caps/<br />
|url=http://www.mozilla.org/projects/security/components/index.html<br />
|components=Core::Security: CAPS<br />
}}<br />
<br />
{{Module<br />
|name=Push Notifications<br />
|description=Push is a way for application developers to send messages to their web applications.<br />
|owners=[mailto:lina@mozilla.com Lina Cambridge]<br />
|ownersemeritus=[mailto:doug.turner@gmail.com Doug Turner]<br />
|peers=[mailto:mt@lowentropy.net Martin Thomson], [mailto:ddamjanovic@mozilla.com Dragana Damjanovic]<br />
|peersemeritus=[mailto:nsm.nikhil@gmail.com Nikhil Marathe]<br />
|group=<br />
|source_dirs=dom/push<br />
|url=<br />
|components=Core::DOM: Push Notifications<br />
}}<br />
<br />
{{Module<br />
|name=security<br />
|description=Crypto/PKI code, including NSS (Network Security Services) and JSS (NSS for Java)<br />
|owner=[mailto:beurdouche@mozilla.com Benjamin Beurdouche], [mailto:rrelyea@redhat.com Bob Relyea], [mailto:mt@lowentropy.net Martin Thomson]<br />
|ownersemeritus=[mailto:wtc@google.com Wan-Teh Chang], [mailto:ttaubert@mozilla.com Tim Taubert], [J.C. Jones]<br />
|peers=[mailto:kaie@kuix.de Kai Engert], [mailto:ryan.sleevi@gmail.com Ryan Sleevi], [mailto:ekr@rtfm.com Eric Rescorla], [mailto:dueno@redhat.com Daiki Ueno]<br />
|peersemeritus=[mailto:emaldona@redhat.com Elio Maldonado],[mailto:franziskuskiefer@gmail.com Franziskus Kiefer], [Kevin Jacobs]<br />
|group=dev-tech-crypto<br />
|source_dirs=dbm/, security/coreconf/, security/dbm/, security/jss/, security/nss/, security/tinderbox/, security/tinderlight/<br />
|url=http://mozilla.org/projects/security/pki/<br />
|components=NSS, JSS, Core::Security, Core::Security: S/MIME<br />
}}<br />
<br />
{{Module<br />
|name=Security - Mozilla PSM Glue<br />
|description=Personal Security Manager<br />
|owner=[mailto:dkeeler@mozilla.com Dana Keeler]<br />
|ownersemeritus=[mailto:kaie@kuix.de Kai Engert (2001-2012)]<br />
|peers=[mailto:honzab.moz@firemni.cz Honza Bambas], [mailto:cykesiopka.bmo@gmail.com Cykesiopka], [mailto:jc@mozilla.com J.C. Jones], [mailto:fkiefer@mozilla.com Franziskus Kiefer]<br />
|group=dev-tech-crypto<br />
|source_dirs=security/manager/<br />
|url=<br />
|components=Core::Security: PSM<br />
}}<br />
<br />
{{Module<br />
|name=Security - RLBox<br />
|description=Sandboxing using WASM/RLBox libraries<br />
|owner=[mailto:shravanrn@gmail.com Shravan Narayan]<br />
|peers=[mailto:deian@cs.ucsd.edu Deian Stefan], [mailto:mh+mozilla@glandium.org Mike Hommey], [mailto:tom@mozilla.com Tom Ritter]<br />
|group=dev-platform<br />
|source_dirs=security/rlbox, third_party/rlbox, third_party/rlbox_wasm2c_sandbox<br />
|url=<br />
|components=Core::Security: RLBox<br />
}}<br />
<br />
{{Module<br />
|name=Static analysis & rewriting for C++<br />
|description=Tools for checking C++ code looking for problems at compile time, plus tools for automated rewriting of C++ code.<br />
|owner=[mailto:andi@mozilla.com Andi-Bogdan Postelnicu]<br />
|peers=[mailto:nika@thelayzells.com Nika Layzell], [mailto:sfink@mozilla.com Steve Fink], [mailto:jrmuizel@mozilla.com Jeff Muizelaar]<br />
|peersemeritus=[mailto:birunthan@mohanathas.com Birunthan Mohanathas], [mailto:eakhgari@mozilla.com Ehsan Akhgari]<br />
|group=dev-platform<br />
|source_dirs=build/clang-plugin, tools/rewriting among other out of tree tools<br />
|url=<br />
|components=Core::Rewriting & Analysis<br />
}}<br />
{{Module<br />
|name=storage<br />
|description=Storage APIs with a SQLite backend<br />
|owner=[mailto:mak77@bonardo.net Marco Bonardo]<br />
|peers=[mailto:bugmail@asutherland.org Andrew Sutherland], [mailto:jvarga@mozilla.com Jan Varga]<br />
|group=dev-platform<br />
|source_dirs=db/sqlite3/, storage/<br />
|url=http://developer.mozilla.org/en/docs/Storage<br />
|components=Toolkit::Storage, Core::SQL<br />
}}<br />
<br />
{{Module<br />
|name=String<br />
|description=<br />
|owner=[mailto:dbaron@dbaron.org David Baron]<br />
|peers=[mailto:erahm@mozilla.com Eric Rahm]<br />
|group=dev-tech-xpcom<br />
|source_dirs=string/, xpcom/string/<br />
|url=https://developer.mozilla.org/En/Mozilla_internal_string_guide<br />
|components=Core::String<br />
}}<br />
<br />
{{Module<br />
|name=Style System<br />
|description=CSS style sheet handling; style data computation<br />
|owner=[mailto:emilio@crisal.io Emilio Cobos Álvarez]<br />
|ownersemeritus=[mailto:dbaron@dbaron.org David Baron], [mailto:cam@mcc.id.au Cameron McCormack]<br />
|peers=[mailto:bobbyholley@gmail.com Bobby Holley], [mailto:xidorn+moz@upsuper.org Xidorn Quan]<br />
|peersemeritus=[mailto:bzbarsky@mit.edu Boris Zbarsky]<br />
|group=dev-platform<br />
|source_dirs=layout/style/, servo/<br />
|url=https://wiki.mozilla.org/Gecko:Overview#Style_System<br />
|components=Core::CSS Parsing and Computation<br />
}}<br />
<br />
{{Module<br />
|name=SVG<br />
|description=Scalable Vector Graphics<br />
|owner=[mailto:jwatt@jwatt.org Jonathan Watt]<br />
|peers=[mailto:longsonr@gmail.com Robert Longson], [mailto:robert@ocallahan.org Robert O'Callahan], [mailto:dholbert@mozilla.com Daniel Holbert], [mailto:birtles@gmail.com Brian Birtles]<br />
|group=dev-tech-svg<br />
|source_dirs=dom/svg/, layout/svg/, dom/smil/<br />
|url=https://developer.mozilla.org/en-US/docs/Web/SVG<br />
|components=Core::SVG<br />
}}<br />
<br />
{{Module<br />
|name=UA String<br />
|description=User Agent String<br />
|owner=[mailto:tantek@mozilla.com Tantek Çelik]<br />
|peers=[mailto:kdubost@mozilla.com Karl Dubost], [mailto:cpeterson@mozilla.com Chris Peterson], [mailto:hsivonen@mozilla.com Henri Sivonen] <br />
|group=dev-platform<br />
|source_dirs=netwerk/protocol/http/<br />
|url=https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox<br />
|components=Core::Networking: HTTP<br />
}}<br />
<br />
<br />
{{Module<br />
|name=View System<br />
|description=The View Manager is responsible for handling "heavyweight" rendering (some clipping, compositing) and event handling tasks.<br />
|owner=[mailto:mstange@themasta.com Markus Stange]<br />
|ownersemeritus=[mailto:robert@ocallahan.org Robert O'Callahan]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:dbaron@dbaron.org David Baron]<br />
|group=dev-platform<br />
|source_dirs=view/<br />
|url=<br />
|components=Core::Layout: View Rendering<br />
}}<br />
<br />
{{Module<br />
|name=Web Audio<br />
|description=Support for the W3C Web Audio API specification.<br />
|owner=[mailto:padenot@mozilla.com Paul Adenot]<br />
|ownersemeritus=[mailto:ehsan@mozilla.com Ehsan Akhgari]<br />
|peers=[mailto:robert@ocallahan.org Robert O'Callahan], [mailto:karlt+@karlt.net Karl Tomlinson]<br />
|group=dev-platform<br />
|source_dirs=dom/media/webaudio<br />
|url=https://wiki.mozilla.org/Web_Audio_API<br />
|components=Core::Web Audio<br />
}}<br />
<br />
{{Module<br />
|name=Web Painting<br />
|description=painting, display lists, and layer construction<br />
|owner=[mailto:matt.woodrow@gmail.com Matt Woodrow]<br />
|peers=[mailto:robert@ocallahan.org Robert O'Callahan], [mailto:dbaron@dbaron.org David Baron], [mailto:tnikkel@gmail.com Timothy Nikkel], [mailto:mstange@themasta.com Markus Stange], [mailto:mmynttinen@mozilla.com Miko Mynttinen], [mailto:jnicol@mozilla.com Jamie Nicol]<br />
|group=dev-platform<br />
|source_dirs= layout/painting, the display list and layer related methods on nsIFrame and its subclasses<br />
|url=http://mozilla.org/newlayout/doc/ ,<br />
http://lxr.mozilla.org/mozilla/source/layout/doc/<br />
|components=Core::Layout: Web Painting<br />
}}<br />
<br />
{{Module<br />
|name=WebRTC<br />
|description=WebRTC is responsible for realtime audio and video communication, as well as related issues like low-level camera and microphone access<br />
|owner=[mailto:rjesup@mozilla.com Randell Jesup]<br />
|peers=[mailto:ekr@mozilla.com Eric Rescorla], [mailto:bcampen@mozilla.com Byron Campen] [mailto:abr@mozilla.com Adam Roach]<br />
|peersemeritus=[mailto:ehugg@cisco.com Ethan Hugg]<br />
|group=dev-media<br />
|source_dirs=netwerk/sctp (also see submodules "WebRTC Media" and "WebRTC Signaling")<br />
|url=https://wiki.mozilla.org/Media/webrtc<br />
|components=Core::WebRTC, Core::WebRTC Networking<br />
}}<br />
<br />
{{Module<br />
|name=WebVR<br />
|description=Gecko's implementation of WebVR (Virtual Reality) functionality, including API, devices, graphics and integration<br />
|owner=[mailto:kgilbert@mozilla.com Kearwood (Kip) Gilbert]<br />
|peers=[mailto:dmu@mozilla.com Daosheng Mu], [mailto:igorostizaga@mozilla.com Imanol Fernández]<br />
|peersemeritus=[mailto:vladimir@pobox.com Vladimir Vukicevic]<br />
|group=dev-platform<br />
|source_dirs=dom/vr, gfx/vr<br />
|url=https://mozvr.com/<br />
|components=Core::WebVR<br />
}}<br />
<br />
{{Module<br />
|name=Widget<br />
|description=Top level Widget<br />
|owner=[mailto:jmathies@mozilla.com Jim Mathies]<br />
|ownersemeritus=[mailto:vladimir@pobox.com Vladimir Vukicevic], [mailto:robert@ocallahan.org Robert O'Callahan]<br />
|peersemeritus=[mailto:pavlov@pavlov.net Stuart Parmenter], <br />
|group=dev-platform<br />
|source_dirs=widget/, widget/xpwidgets/<br />
|url=<br />
|components=Core::Drag and Drop, Core::Widget, Core::Printing: Setup<br />
}}<br />
<br />
{{Module<br />
|name=Widget - Android<br />
|description=This is part of the [https://wiki.mozilla.org/Modules/Core#GeckoView GeckoView] module.<br />
|owner=[mailto:asferro@mozilla.com Agi Sferro]<br />
}}<br />
<br />
{{Module<br />
|name=Widget - GTK<br />
|description=GTK widget support<br />
|owner=[mailto:karlt+@karlt.net Karl Tomlinson]<br />
|peers=[mailto:stransky@redhat.com Martin Stránský]<br />
|ownersemeritus=[mailto:robert@ocallahan.org Robert O'Callahan]<br />
|group=dev-platform<br />
|source_dirs=widget/gtk/, widget/gtk2/, widget/gtksuperwin/, widget/gtkxtbin/<br />
|url=http://www.mozilla.org/unix/, http://www.gtk.org, http://www.mozilla.org/ports/gtk/<br />
|components=Core::Widget: Gtk<br />
}}<br />
<br />
{{Module<br />
|name=Widget - Headless<br />
|description=Headless widget support<br />
|owner=[mailto:bdahl@mozilla.com Brendan Dahl]<br />
|peers=<br />
|ownersemeritus=<br />
|group=dev-platform<br />
|source_dirs=widget/headless/<br />
|url=<br />
|components=Firefox::Headless<br />
}}<br />
<br />
{{Module<br />
|name=Widget - macOS<br />
|description= macOS widget support<br />
|owner=[mailto:spohl@mozilla.com Stephen A Pohl]<br />
|peers=[mailto:mstange@themasta.com Markus Stange], [mailto:haftandilian@mozilla.com Haik Aftandilian]<br />
|ownersemeritus=[mailto:robert@ocallahan.org Robert O'Callahan], [mailto:mstange@themasta.com Markus Stange]<br />
|peersemeritus=[mailto:joshmoz@gmail.com Josh Aas], [mailto:b56girard@gmail.com Benoit Girard], [mailto:smichaud@pobox.com Steven Michaud]<br />
|group=dev-platform<br />
|source_dirs=widget/cocoa/<br />
|url=<br />
|components=Core::Widget: Cocoa<br />
}}<br />
<br />
{{Module<br />
|name=Widget - Windows<br />
|description=Windows widget support<br />
|owner=[mailto:jmathies@mozilla.com Jim Mathies]<br />
|peers=[mailto:cmartin@mozilla.com Chris Martin], [mailto:tkikuchi@mozilla.com Toshihito Kikuchi], [mailto:mhowell@mozilla.com Molly Howell], [mailto:neil@parkwaycc.co.uk Neil Rashbrook]<br />
|peersemeritus=[mailto:robert.strong.bugs@gmail.com Rob Strong], [mailto:vladimir@pobox.com Vladimir Vukicevic], [mailto:blassey@mozilla.com Brad Lassey], [mailto:netzen@gmail.com Brian Bondy], [mailto:cbiesinger@gmail.com Christian Biesinger], [mailto:doug.turner@gmail.com Doug Turner], [mailto:timeless@mozdev.org Josh 'timeless' Soref], [mailto:robarnold@cmu.edu Rob Arnold], Aaron Klotz<br />
|group=dev-platform<br />
|source_dirs=widget/windows/<br />
|url=<br />
|components=Core::Widget: Win32<br />
}}<br />
<br />
{{Module<br />
|name=XML<br />
|description=XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things that are not covered by more specific projects.<br />
|owner=[mailto:peterv@propagandism.org Peter Van der Beken]<br />
|peers=<br />
|peersemeritus=[mailto:jonas@sicking.cc Jonas Sicking], [mailto:jstenback@gmail.com Johnny Stenback], [mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:erahm@mozilla.com Eric Rahm]<br />
|group=dev-tech-xml<br />
|source_dirs=dom/xml/, extensions/xmlextras/, parser/expat/<br />
|url=http://www.mozilla.org/newlayout/xml/<br />
|components=Core::XML<br />
}}<br />
<br />
{{Module<br />
|name=XPApps<br />
|description=Cross-Platform Applications, mostly Navigator front end and application shell.<br />
|owner=[mailto:neil@parkwaycc.co.uk Neil Rashbrook]<br />
|peers=[mailto:dean_tessman@hotmail.com Dean Tessman], [mailto:timeless@mozdev.org Josh 'timeless' Soref]<br />
|group=dev-apps-seamonkey<br />
|source_dirs=xpfe/<br />
|url=http://www.mozilla.org/xpapps/<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=XPCOM<br />
|description=The cross-platform object model and core data structures.<br />
|owner=[mailto:nika@thelayzells.com Nika Layzell]<br />
|peers=[mailto:kmaglione@mozilla.com Kris Maglione], [mailto:sgiesecke@mozilla.com Simon Giesecke], [mailto:amccreight@mozilla.com Andrew McCreight]<br />
|ownersemeritus=Benjamin Smedberg<br />
|peersemeritus=[https://mozillians.org/en-US/u/dougt/ Doug Turner], [mailto:erahm@mozilla.com Eric Rahm], <br />
|group=dev-platform<br />
|source_dirs=startupcache/, xpcom/%, xpcom/base/, xpcom/build/, xpcom/components/, xpcom/ds/, xpcom/glue/, xpcom/proxy/, xpcom/sample/, xpcom/stub/, xpcom/tests/, xpcom/threads/, xpcom/tools/, xpcom/windbgdlg/<br />
|url=http://developer.mozilla.org/en/XPCOM<br />
|components=Core::XPCOM<br />
}}<br />
<br />
{{Module<br />
|name=XPConnect<br />
|description=Deep Magic<br />
|owner=[mailto:bobbyholley@gmail.com Bobby Holley]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:peterv@propagandism.org Peter Van der Beken], [mailto:mrbkap@gmail.com Blake Kaplan], [mailto:amccreight@mozilla.com Andrew McCreight], [mailto:kmaglione@mozilla.com Kris Maglione], [mailto:nika@thelayzells.com Nika Layzell]<br />
|peersemeritus=[mailto:gal@uci.edu Andreas Gal], [mailto:jstenback@gmail.com Johnny Stenback], [mailto:gkrizsanits@mozilla.com Gabor Krizsanits]<br />
|group=<br />
|source_dirs=js/xpconnect/<br />
|url=<br />
|components=Core::XPConnect<br />
}}<br />
<br />
{{Module<br />
|name=XPIDL<br />
|description=Cross-platform IDL compiler; produces .h C++ header files and .xpt runtime type description files from .idl interface description files.<br />
|owner=[mailto:nika@thelayzells.com Nika Layzell]<br />
|peers=[mailto:amccreight@mozilla.com Andrew McCreight]<br />
|ownersemeritus=[mailto:me@kylehuey.com Kyle Huey]<br />
|peersemeritus=[mailto:shaver@mozilla.org Mike Shaver], [mailto:timeless@mozdev.org Josh 'timeless' Soref]<br />
|group=dev-tech-xpcom<br />
|source_dirs=xpcom/typelib/<br />
|url=http://www.mozilla.org/scriptable/xpidl<br />
http://www.mozilla.org/scriptable<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=XSLT Processor<br />
|description=XSLT transformations processor<br />
|owner=[mailto:peterv@propagandism.org Peter Van der Beken]<br />
|peers=<br />
|peersemeritus=[mailto:jonas@sicking.cc Jonas Sicking], [mailto:axel@pike.org Axel Hecht], [mailto:erahm@mozilla.com Eric Rahm]<br />
|group=dev-tech-xslt<br />
|source_dirs=dom/xslt/<br />
|url=http://www.mozilla.org/projects/xslt/, http://www.w3.org/TR/xslt.html<br />
|components=Core::XSLT<br />
}}<br />
<br />
{{Module<br />
|name=Sandboxing - Windows <br />
|description=Sandboxing for the Windows platform <br />
|owner=[mailto:bobowencode@gmail.com Bob Owen] (:bobowen)<br />
|peers=[mailto:davidp99@gmail.com David Parks] (:handyman), [mailto:jimm@mozilla.com Jim Mathies] (:jimm), [mailto:tkikuchi@mozilla.com Toshihito Kikuchi] (:toshi)<br />
|ownersemeritus=[https://mozillians.org/en-US/u/TimAbraldes Tim Abraldes]<br />
|peersemeritus=[mailto:netzen@gmail.com Brian Bondy], Aaron Klotz<br />
|group=dev-platform<br />
|source_dirs=security/sandbox/win <br />
|url=https://wiki.mozilla.org/Security/Sandbox <br />
|components=Core::Security: Process Sandboxing<br />
}}<br />
<br />
{{Module<br />
|name=Sandboxing - OSX <br />
|description=Sandboxing for the OSX platform <br />
|owner=[mailto:haftandilian@mozilla.com Haik Aftandilian]<br />
|peers=<br />
|group=dev-platform <br />
|source_dirs=security/sandbox/mac <br />
|url=https://wiki.mozilla.org/Security/Sandbox <br />
|components=Core::Security: Process Sandboxing<br />
}}<br />
<br />
{{Module<br />
|name=Sandboxing - Linux<br />
|description=Sandboxing for the Linux platform<br />
|owner=[mailto:jld@mozilla.com Jed Davis]<br />
|peers=[mailto:gcp@mozilla.com Gian-Carlo Pascutto]<br />
|group=dev-platform<br />
|source_dirs=security/sandbox/linux<br />
|url=https://wiki.mozilla.org/Security/Sandbox <br />
|components=Core::Security: Process Sandboxing<br />
}}<br />
<br />
{{Module<br />
|name=Crash reporting<br />
|description=Infrastructure and tools used to generate, submit and process crash reports. This includes the in-tree google-breakpad fork, the crash report generation machinery as well as the host tools used to dump symbols, analyse minidumps and generate stack traces.<br />
|owner=[mailto:gsvelto@mozilla.com Gabriele Svelto]<br />
|peers=[mailto:kwright@mozilla.com Kris Wright], [mailto:cdenizet@mozilla.com Calixte Denizet], [mailto:a.beingessner@gmail.com Alexis Beingessner]<br />
|group=dev-platform<br />
|source_dirs=toolkit/crashreporter, toolkit/components/crashes, tools/crashreporter, ipc/glue/CrashReporter*, mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java<br />
|url=https://firefox-source-docs.mozilla.org/toolkit/crashreporter/crashreporter/index.html<br />
|components=Toolkit::Crash Reporting<br />
}}<br />
<br />
===Submodules===<br />
{{Module<br />
|name=Build Config - Fennec<br />
|description=Submodule of the build config covering Fennec's build system in mobile/android.<br />
|owner=[mailto:nalexander@mozilla.com Nicholas Alexander]<br />
|peers=Same as Build Config<br />
|group=dev-builds<br />
|components=Core::Build Config<br />
}}<br />
<br />
{{Module<br />
|name=Build Config - Taskgraph<br />
|description=Support for task-graph generation in decision, action, and cron tasks, including configuration of all tasks including those for CI, nightlies, and releases; as well as Docker and VM images used to execute those tasks.<br />
|owner=[mailto:mozilla@hocat.ca Tom Prince]<br />
|peers=[mailto:ahal@mozilla.com Andrew Halberstadt], [mailto:aki@mozilla.com Aki Sasaki], [mailto:bstack@mozilla.com Brian Stack], [mailto:mh@glandium.org Mike Hommey], [mailto:gps@mozilla.com Gregory Szorc], [mailto:jmaher@mozilla.com Joel Maher], [mailto:callek@mozilla.com Justin Wood], [mailto:dustin@mozilla.com Dustin Mitchell]<br />
|components=Firefox Build System::Task Configuration<br />
}}<br />
<br />
{{Module<br />
|name=WebRTC Media<br />
|description=Submodule of WebRTC responsible for access to media input devices (microphones, cameras, screen capture), as well as realtime audiovisual codecs and packetization.<br />
|owner=[mailto:rjesup@mozilla.com Randell Jesup]<br />
|peers=[mailto:jib@mozilla.com Jan-Ivar Bruaroey], [mailto:dminor@mozilla.com Dan Minor], [mailto:apehrson@mozilla.com Andreas Pehrson], <br />
|peersemeritus=[mailto:pkerr@mozilla.com Paul Kerr], [mailto:ehugg@cisco.com Ethan Hugg]<br />
|group=dev-media<br />
|source_dirs=/media/webrtc, /dom/media/webrtc, /dom/media/systemservices<br />
|url=https://wiki.mozilla.org/Media/webrtc<br />
|components=Core::WebRTC (Audio/Video)<br />
}}<br />
<br />
{{Module<br />
|name=WebRTC Signaling<br />
|description=Submodule of WebRTC responsible for implementation of PeerConnection API, WebRTC identity, and SDP/JSEP handling<br />
|owner=[mailto:bcampen@mozilla.com Byron Campen]<br />
|peers=[mailto:ekr@mozilla.com Eric Rescorla], [mailto:abr@mozilla.com Adam Roach], [mailto:rjesup@mozilla.com Randell Jesup], [mailto:nohlmeier@mozilla.com Nils Ohlmeier]<br />
|peersemeritus=[mailto:ehugg@cisco.com Ethan Hugg]<br />
|group=dev-media<br />
|source_dirs=/media/webrtc/signaling/<br />
|url=https://wiki.mozilla.org/Media/webrtc<br />
|components=Core::WebRTC (Signaling)<br />
}}<br />
<br />
<noinclude><br />
<br />
===Unassigned Bugzilla Components===<br />
<br />
The following Bugzilla components in the Core project have not been assigned to a module (this list is not exhaustive):<br />
<br />
<pre><br />
Core::Find Backend<br />
Core::General<br />
Core::History: Global<br />
Core::Image Blocking<br />
Core::Localization<br />
Core::Networking: Domain Lists<br />
Core::Selection<br />
Core::Serializers<br />
Core::Spelling checker<br />
Core::X-remote<br />
Core::XUL<br />
</pre><br />
</noinclude></div>Jgilberthttps://wiki.mozilla.org/index.php?title=QA/Platform/Graphics/Inventory&diff=1236721QA/Platform/Graphics/Inventory2021-07-15T21:17:16Z<p>Jgilbert: +RTX 3070</p>
<hr />
<div>[https://docs.google.com/spreadsheets/d/1RkLUpi3ADynUBczQbXgGW_Pi8hQ4Kx5XR-8SxDLsr7U/edit#gid=1515461366&vpid=A2 Spreadsheet]<br />
<br />
= Good sources of drivers =<br />
* [[Graphics_Drivers_Symbols]]<br />
* [https://catalog.update.microsoft.com catalog.update.microsoft.com] (search for a particular device id using eg. "dev_0102")<br />
** 7zip is recommended for extracting the .cab files. (I think Windows Explorer might mess up the directory structure)<br />
* downdriver has links to the original sources<br />
* driveridentifier does an ok job of this as well<br />
* userdrivers has links to the original sources<br />
<br />
[https://www.intel.com/content/www/us/en/support/articles/000005654/graphics-drivers.html Understanding the Intel® Graphics Driver Version Numbers]<br />
<br />
Nvidia driver's have a different external version than internal ones. e.g. 8.17.12.8026 -> 280.26<br />
<br />
Old versions of Windows 10 can get grabbed from here: https://tb.rg-adguard.net/public.php<br />
<br />
== Changing drivers ==<br />
* Load device manager<br />
* Open the context menu on the adapter in question<br />
* Choose "Update driver"<br />
* Choose "Browse my computer for driver software"<br />
* Choose "Let me pick from a list of available drivers on my computer"<br />
* This will show a list of drivers available for picking<br />
* If the driver isn't on the list you can use "Have Disk..." to choose the directory where the driver is.<br />
<br />
= Adding your device =<br />
First, make sure you have an account on wiki.mozilla.org.<br />
<br />
Second, find out which chipset your computer is running.<br />
* Open up about:support in Firefox<br />
* Scroll down to the Graphics section looking for ''Device ID'' and ''Vendor ID''<br />
** If your Vendor ID is 0x1002, you have an AMD device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/amd.json AMD] database.<br />
** If your Vendor ID is 0x8086, you have an Intel device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/intel.json Intel] database.<br />
** If your Vendor ID is 0x10de, you have a NVIDIA device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/nvidia.json NVIDIA] database.<br />
** ''For example, if your Device ID is 0x9440 that is an RV770 chipset in the R700 series''<br />
<br />
Note: if your ''Device ID'' is reporting the name instead of an ID, on Linux one could follow these steps:<br />
* run 'lspci -nn' and find your GPU, on the right there will be vendor and device ID, e.g. "[10de:1c8c]"<br />
<br />
Finally, add your device to the relevant section below<br />
* ''Device'' is the name of the device which you can get from about:support<br />
* ''ID'' is the Device ID you noted above<br />
* ''Chipset'' is the chipset you noted above (eg. RV770)<br />
* ''System'' can just be "volunteer" or the make/model of the computer<br />
* ''Points of Contact'' should be your name with a mailto link to your email address, include your region if possible<br />
<br />
''If you need help please contact [mailto:ahughes@mozilla.com Anthony Hughes]''<br />
<br />
Softvision's list: https://docs.google.com/spreadsheets/d/1RJDeelqMQeFM3S8XvQCpHv7ojQKaeirLJWvujXj66gw/edit#gid=0<br />
<br />
= AMD Chipsets =<br />
== R100 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R200 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R300 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| ATI Radeon Xpress 200G<br />
| 0x5954<br />
| RS480<br />
| Compaq Presario<br />
| Oshawa<br />
|-<br />
|}<br />
<br />
== R400 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R500 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon X1600<br />
| ''unknown''<br />
| RV530<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R600 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 3650<br />
| ''unknown''<br />
| RV635<br />
| Lenovo Thinkpad T500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R700 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Mobility Radeon 7500<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad T42<br />
| Toronto<br />
|-<br />
| 512MB ATI Mobility Radeon HD 4570<br />
| ''unknown''<br />
| RV710<br />
| Dell Studio 15<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Evergreen Series (TerraScale 2 - VLIW5 - UVD2) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 5670<br />
| 0x68d8<br />
| RV830 (Redwood XT)<br />
| Dell Precision T3500<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 5770<br />
| ''unknown''<br />
| RV840 (Juniper)<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 8470<br />
| 0x6778<br />
| Caicos <br />
| ThinkCentre M73<br />
| Toronto<br />
|-<br />
| AMD Mobility™ Radeon® HD 5870<br />
| 0x68a0<br />
| RV840 (Juniper)<br />
| Asus G73JH (Spaceship)<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Northern Islands Series (TerraScale 2 - VLIW5 - UVD3) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 6250<br />
| 0x9804<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad G575<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6290<br />
| ''unknown''<br />
| Wrestler<br />
| Acer Aspire One 725-0826<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| AMD Radeon HD 6320M<br />
| ''unknown''<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad X130e<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6320M<br />
| ''unknown''<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad X130e<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6450<br />
| 0x677b<br />
| Caicos<br />
| Custom desktop build<br />
| [mailto:botond@mozilla.com Botond Ballo] (Toronto), currently loose in gfx hardware area<br />
|-<br />
| AMD Radeon HD 7470M/6520G<br />
| ''unknown''<br />
| Caicos/Beaver Creek<br />
| AMD Dual GPU Laptop, Samsung<br />
| [mailto:jrmuizel@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Cayman (TerraScale3 - VLIW4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 6950<br />
| 0x6719<br />
| Cayman<br />
| Loose card<br />
| [mailto:jrmuizel@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Richland ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Solar System ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 8570M/Intel HD Graphics 4000 0x8086:0x0166<br />
| 0x0166<br />
| GCN 1.0 (Oland)<br />
| Lenovo Thinkpad G500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Southern Islands (GCN 1.0 - UVD4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 240<br />
| 0x6613<br />
| GCN 1.0 (Oland Pro)<br />
| Dell Precision T1600<br />
| Toronto<br />
|-<br />
| AMD Radeon R9 M370X<br />
| 0x6821<br />
| GCN 1.0 (Strato Pro)<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Sea Islands (GCN 1.1) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 260X<br />
| ''unknown''<br />
| Bonaire XTX<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Radeon R9 390 ("AMD HAWAII")<br />
| 0x67b1<br />
| Hawaii PRO<br />
| maahes<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
== Volcanic Islands (GCN 1.2 - UVD5/UVD6) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R9 285<br />
| 0x6939<br />
| Tonga<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Radeon R4 (A6-7310)<br />
| 0x9851<br />
| Kaveri<br />
| Asus X555Y laptop<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
| AMD Radeon R6 (A6-8600B)<br />
| 0x9874<br />
| Carrizo<br />
| HP EliteBook MT42<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
|}<br />
<br />
== Arctic Islands (GCN 4th gen - UVD6.3) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Radeon Pro 560X<br />
| 0x67ef<br />
| Polaris<br />
| Macbook Pro (15", 2018)<br />
| miko (Berlin)<br />
|-<br />
| Radeon Pro 460<br />
| 0x67ef<br />
| Polaris11<br />
| MacBook Pro (15-inch, Late 2016)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|-<br />
| Radeon RX 460<br />
| 0x67ef<br />
| Polaris11<br />
| Ryzen machine<br />
| jrmuizel (Toronto), currently used by botond (Toronto)<br />
|-<br />
|}<br />
<br />
== Vega (GCN 5th gen - UVD7) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Radeon RX Vega 56 (Vega10 XL)<br />
| 0x687f<br />
| Vega<br />
| kheton (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
| Radeon RX Vega 56 (Vega10)<br />
| 0x687f<br />
| Vega<br />
| Ryzen machine (Win10)<br />
| jrmuizel (Toronto)<br />
|-<br />
|}<br />
<br />
= Intel Chipsets =<br />
== Older ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| [http://ark.intel.com/products/27705/Intel-82855GME-Graphics-and-Memory-Controller Intel 855GME]<br />
| 0x3582<br />
| Gen2<br />
| [http://www.cnet.com/products/toshiba-tecra-a2-pentium-m-715-1-5-ghz-512-mb-ram-60-gb-hdd-series/specs/ Toshiba Tecra A2 (only SSE2)]<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 3 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA 900<br />
| 0x2582<br />
| Intel® 915G Express, Pentium 4<br />
| Optiplex GX280<br />
| Toronto<br />
|}<br />
<br />
== Generation 4 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA X3100<br />
| 0x2a02<br />
| GL960 Core 2 Duo @ 2Ghz T5750<br />
| Inspiron 1525<br />
| Toronto<br />
|-<br />
|}<br />
== Generation 4.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel GMA X4500<br />
| 0x2e32<br />
| G41 - Eaglelake (G) Wolfdale-3M @ 3.2Ghz<br />
| Silly Box<br />
| Toronto<br />
|-<br />
| Intel GMA X4500HD<br />
| 0x2e22<br />
| G45 - Eaglelake (G+)<br />
| Dell Vostro 220s<br />
| Toronto<br />
|-<br />
| Intel GMA 4500MHD<br />
| 0x2a42<br />
| GM45<br />
| Dell Latitude E6400<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics (Core i3)<br />
| 0x0046<br />
| Ironlake<br />
| Dell XPS L501X (i3 M 370 @ 2.4GHz)<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 6 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 3000<br />
| 0x0126<br />
| Sandybridge<br />
| Lenovo Thinkpad x220<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 3000<br />
| 0x0116<br />
| Sandybridge<br />
| Mac Air<br />
| Jim Mathies (Florida, US)<br />
|-<br />
| Intel HD Graphics<br />
| 0x0102<br />
| Sandybridge<br />
| Dell Vostro core i3<br />
| Toronto (only displays on Intel VGA during boot)<br />
|-<br />
| Intel(R) Sandybridge Mobile<br />
| 0x0102<br />
| Sandybridge<br />
| seker<br />
| jgilbert (Mountain View)<br />
|-<br />
| Mesa DRI Intel(R) Sandybridge Desktop<br />
| 0x0102<br />
| Sandybridge<br />
| generic<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|}<br />
<br />
== Generation 7 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000<br />
| 0x0162<br />
| Ivybridge<br />
| PoisonIvy<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4000<br />
| 0x0166<br />
| ivybridge-gt2<br />
| MacBook Pro (15-inch, Early 2013)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|}<br />
<br />
== Generation 7.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4400<br />
| 0x041e<br />
| Haswell<br />
| ThinkCentre M73 (Core i3)<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4400<br />
| ''unknown''<br />
| Haswell<br />
| Surface Pro 2<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| Intel HD Graphics 4600<br />
| 0x0412<br />
| Haswell<br />
| Hawkman<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600<br />
| 0x0412<br />
| Haswell<br />
| Dell Precision T1700<br />
| gw (Brisbane)<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600 / GeForce GTX 970M Optimus<br />
| 0x0416<br />
| Haswell<br />
| msi (Windows)<br />
| Nical<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x0416<br />
| Haswell<br />
| W540<br />
| Toronto <br> Sotaro Ikeda (Tokyo)<br />
|-<br />
|-<br />
| Intel HD Graphics<br />
| 0x0a16<br />
| Haswell<br />
| X1 Carbon<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K1100M<br />
| 0x0416 / 0x0ff6<br />
| Haswell<br />
| W540<br />
| [mailto:aosmond@mozilla.com Andrew Osmond] (Toronto)<br />
|-<br />
| Intel Iris Pro Graphics 5200 <br />
| 0x0d26<br />
| Haswell<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| "Intel Iris Pro" (Mac, Intel Iris Pro Graphics 5200)<br />
| 0x0d26<br />
| Crystal Well<br />
| MacBook Pro Retina 15" Late-2013 (MacBookPro11,3)<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View)<br />
|}<br />
<br />
== Generation 8 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 5500<br />
| ''unknown''<br />
| Broadwell<br />
| HP Pavilion 14T <br />
| Toronto<br />
|-<br />
| HD Graphics 5300<br />
| ''unknown''<br />
| Broadwell<br />
| Yoga 3 <br />
| Jim Mathies<br />
|-<br />
| Intel HD Graphics<br />
| 0x22b0<br />
| Cherryview<br />
| Some old Microsoft tablety thing (Windows)<br />
| Nical<br />
|-<br />
| Intel HD Graphics<br />
| ''unknown''<br />
| Cherryview<br />
| 2018 reference device Inspiron 15 <br />
| Toronto (Markus Stange)<br />
|-<br />
|}<br />
<br />
== Generation 9 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Mesa DRI Intel HD Graphics 530<br />
| 0x1912<br />
| skylake-gt2<br />
| Volunteer<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| Intel(R) HD Graphics P530<br />
| 0x191d<br />
| skylake-gt2<br />
| Dell Precision 5510 (XPS-like)<br />
| jgilbert (Mountain View)<br />
|-<br />
| Intel(R) HD Graphics P530/ NVIDIA Quadro M2000M<br />
| 0x191d<br />
| skylake-gt2<br />
| ThinkPad P50<br />
| Sotaro Ikeda (Tokyo)<br />
|-<br />
| Intel(R) HD Graphics P530/ NVIDIA Quadro M2000M<br />
| 0x191d<br />
| skylake-gt2<br />
| ThinkPad P50 (Windows)<br />
| Nical<br />
|-<br />
| Intel HD Graphics 530<br />
| 0x191b<br />
| skylake-gt2<br />
| MacBook Pro (15-inch, Late 2016)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|-<br />
| Intel HD Graphics 530<br />
| 0x1912<br />
| skylake-gt2<br />
| VR machine | Jeff Muizelaar (Toronto)<br />
|-<br />
| Intel HD Graphics 550<br />
| 0x1927<br />
| skylake-gt3<br />
| MacBook Pro (13-inch, 2016)<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
| Intel HD Graphics 550<br />
| 0x591e<br />
| skylake-gt2<br />
| Surface GO<br />
| Jeff Muizelaar (Toronto)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5916<br />
| kabylake-gt2<br />
| Lenovo ThinkPad T470s <br> Purism Librem 13v4<br />
| [https://mozillians.org/u/alex_mayorga/ Alex Mayorga] (volunteer) <br> [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5917<br />
| kabylake-gt2<br />
| Dell XPS 9370<br />
| gw (Brisbane)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5917<br />
| kabylake-gt2<br />
| Dell XPS13 (Linux/Fedora)<br />
| Nical<br />
|-<br />
| Intel UHD Graphics 620<br />
| 0x5917<br />
| kabylake-gt2<br />
| Lenovo Yoga, Win10<br />
| Jim Mathies (Florida)<br />
|-<br />
| Intel(R) UHD Graphics 630<br />
| 0x3e9b<br />
| Coffee Lake gt2<br />
| Dell XPS 15 9570<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View) <br> Sotaro Ikeda (Tokyo)<br />
|-<br />
| Intel(R) UHD Graphics 630<br />
| 0x3e9b<br />
| Coffee Lake gt2<br />
| MacBook Pro (15", 2018)<br />
| [mailto:miko@mozilla.com miko] (Berlin)<br />
|-<br />
| Intel(R) UHD Graphics 630 (mobile)<br />
| 0x3e9b<br />
| Coffee Lake gt2<br />
| Lenovo Thinkpad X1 Extreme (1st gen) (Linux, Win10)<br />
| [mailto:dmalyshau@mozilla.com Dzmitry Malyshau] (Toronto)<br />
|-<br />
| Intel HD Graphics 540<br />
| 0x1926<br />
| skylake-gt3<br />
| Dell XPS<br />
| [mailto:jmuizelaar@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
= NVIDIA Chipsets =<br />
== Fahrenheit (NV04) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Celcius (NV10) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Kelvin (NV20) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Rankine (NV30) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Curie (NV40) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 7600GT<br />
| 0x0391<br />
| G73<br />
| Studio XPS<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Tesla (NV50) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 8600M<br />
| 0x0407<br />
| NV84 (G84)<br />
| Macbook Pro<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro NVS 295<br />
| ''unknown''<br />
| NV98 (G98GL)<br />
| ''unknown''<br />
| ''unknown''<br />
|-<br />
| NVIDIA Quadro 880M<br />
| 0x0a3c<br />
| NVA5 (GT216GLM)<br />
| Lenovo Thinkpad W510<br />
| Toronto<br />
|-<br />
| NVIDIA NVS 3100M<br />
| 0x0a6c<br />
| NVA8 (GT218M)<br />
| Lenovo Thinkpad T510<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 310<br />
| 0x0a66<br />
| GT218<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 320M<br />
| 0x08a0<br />
| MCP89<br />
| MacBook 2009<br />
| Jeff Muizelaar<br />
|-<br />
| NVIDIA GeForce 330M<br />
| 0x0a29<br />
| GT216M<br />
| MacBook Pro 2010<br />
| Jeff Muizelaar<br />
|-<br />
|}<br />
<br />
== Fermi (NVC0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GT 420M<br />
| 0x046e<br />
| NVC1 (GF108M)<br />
| Dell XPS L501X<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 1000M<br />
| ''unknown''<br />
| NVC1 (GF108GLM)<br />
| Lenovo Thinkpad W520<br />
| [mailto:vdjeric@mozilla.com Vladan Djeric] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTS 450<br />
| NVC3 (GF106)<br />
| ''unknown''<br />
| Dell Vostro<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 600<br />
| 0x0df8<br />
| NV34 (GF108GL)<br />
| Benoit PC<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| NVIDIA GeForce GT 610<br />
| ''unknown''<br />
| GF119<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 4000<br />
| 0x06dd<br />
| GF100GL<br />
| bastet<br />
| jgilbert (Mountain View)<br />
|-<br />
| NVIDIA Quadro 2000<br />
| 0x0dd8<br />
| GF106GL<br />
| loose card<br />
| jrmuizel<br />
|-<br />
|}<br />
<br />
== Kepler (NVE0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GT 650M<br />
| 0x0fd5<br />
| GK107M<br />
| MacBook Pro (15-inch, Early 2013)<br />
| [mailto:mstange@themasta.com Markus Stange] (Toronto)<br />
|-<br />
| NVIDIA Quadro K1000M<br />
| 0x0ffc<br />
| NVE7 (GK107GLM)<br />
| Lenovo Thinkpad W530<br />
| [mailto:jlin@mozilla.com returned pc to Jonathan Lin] (Toronto)<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x11fc<br />
| GK106<br />
| Lenovo Thinkpad W540<br />
| Toronto Lab<br />
|-<br />
| NVIDIA GeForce GT 730<br />
| 0x1287<br />
| GK208<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Maxwell (NV110) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 950<br />
| <br />
| (GM206)<br />
| n/a - loose card<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
| NVIDIA Quadro M1000M<br />
| 0x13b1<br />
| GM107<br />
| Dell Precision 5510 (XPS-like, Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
| NVIDIA Quadro M2000M<br />
| <br />
| GM107<br />
| ThinkPad P50<br />
| miko (Berlin)<br />
|-<br />
| NVIDIA GeForce GTX 980 Ti<br />
| 0x17c8<br />
| GM200<br />
| Falcon (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
== Pascal ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 1080<br />
| 0x1b80<br />
| (GP104)<br />
| VR machine<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTX 1050 Ti with Max-Q Design<br />
| 0x1c8c<br />
| GP107-400<br />
| Dell XPS 15 9570 (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
| GeForce GTX 1050 Ti with Max-Q Design/PCIe/SSE2<br />
| 0x1c8c<br />
| GP107-400<br />
| Lenovo Thinkpad X1 Extreme (1st gen) (Linux, Win10)<br />
| [Dzmitry Malyshau] (Toronto)<br />
| -<br />
|}<br />
<br />
== Turing ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 1660 Ti<br />
| 0x2182<br />
| TU116<br />
| Generic<br />
| tnikkel<br />
|-<br />
| NVIDIA GeForce RTX 2060<br />
| 0x1e89<br />
| ?<br />
| Generic<br />
| ktaeleman<br />
|-<br />
| NVIDIA GeForce RTX 3070<br />
| 0x2484<br />
| ?<br />
| osiris<br />
| jgilbert<br />
|-<br />
|}<br />
<br />
= Mobile Chipsets =<br />
== ARM v6 (Deprecated) ==<br />
<br />
== ARM v7 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/alcatel_one_touch_fire-5319.php Alcatel OneTouch Fire]<br />
| Phone<br />
| Adreno 200<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7-4850.php ASUS Google Nexus 7 (2012)]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 4.1 - 5.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7_%282013%29-5600.php ASUS Google Nexus 7 (2013)]<br />
| Tablet<br />
| Adreno 320<br />
| Android 4.3 - 5.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_transformer_prime_tf201-4322.php ASUS Transformer Prime TF201]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.2 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_vivotab_rt_tf600t-5083.php ASUS Vivotab TF600T]<br />
| Tablet<br />
| ULP GeForce<br />
| Windows RT<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Flame#Device_specifications Flame]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [https://en.wikipedia.org/wiki/GeeksPhone_Peak Geeksphone Peak]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_626-6968.php HTC Desire 626]<br />
| Phone<br />
| Adreno 306<br />
| Android 5.1.1<br />
| [mailto:danderson@mozilla.com David Anderson] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_hd-3468.php HTC Desire HD]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_s-3776.php HTC Desire S]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3, 4.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_google_nexus_one-3069.php HTC Google Nexus One]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [http://www.gsmarena.com/htc_nexus_9-5823.php HTC Google Nexus 9]<br />
| Tablet<br />
| Kepler DX1<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_one_s-4574.php HTC One S]<br />
| Phone<br />
| Adreno 225<br />
| Android 4.0 - 4.1<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/huawei_ascend_y300-5386.php Huawei Ascend Y300]<br />
| Phone<br />
| Adreno 203<br />
| Firefox OS<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/lg_g2-5543.php LG G2] (Verizon edition)<br />
| Phone<br />
| Adreno 330<br />
| Android 4.2 - 5.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_4_e960-5048.php LG Google Nexus 4]<br />
| Phone<br />
| Adreno 320<br />
| Android 4.2 - 5.1, Firefox OS<br />
| [mailto:mchang@mozilla.com Mason Chang] (Santa Monica) <br> [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane) <br> [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br> [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_5-5705.php LG Google Nexus 5]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [http://www.gsmarena.com/lg_optimus_2x-3598.php LG Optimus 2X]<br />
| Phone<br />
| ULP GeForce<br />
| Android 2.3 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/motorola_nexus_6-6604.php Motorola Google Nexus 6]<br />
| Phone<br />
| Adreno 240<br />
| Android 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_xoom_mz604-3833.php Motorola XOOM MZ604]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [https://www.gsmarena.com/motorola_moto_g5-8454.php Moto G5]<br />
| Phone<br />
| Adreno 505<br />
| Android 7.0<br />
| [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [https://en.wikipedia.org/wiki/Odroid Odroid XU3]<br />
| Tablet<br />
| Mali-T628 MP6<br />
| Android / Ubuntu<br />
| [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_551-3515.php Samsung Galaxy GT-I5510M]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.2<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_nexus_i9250-4219.php Samsung Galaxy Nexus]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.2<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9100_galaxy_s_ii-3621.php Samsung Galaxy S II]<br />
| Phone<br />
| Mali-400<br />
| Android 4.1<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9300_galaxy_s_iii-4238.php Samsung Galaxy S III]<br />
| Phone<br />
| Mali-400MP4<br />
| Android 4.0 - 4.3<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s5-6033.php Samsung Galaxy S5]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s6-6849.php Samsung Galaxy S6]<br />
| Phone<br />
| Mali-T760MP8<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_tab_10_1_p7510-3894.php Samsung Galaxy Tab 10.1]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_10_p8110-5084.php Samsung Google Nexus 10]<br />
| Tablet<br />
| Mali-T604<br />
| Android 4.0 - 5.1<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_s-3620.php Samsung Google Nexus S]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 2.3 - 5.1, Firefox OS<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://pdadb.net/index.php?m=specs&id=2776&c=sony_ericsson_xperia_play_r800__r800i_se_zeus Sony Xperia Play r800i]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:msreckovic@mozilla.com Milan Sreckovic] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z2_tablet_wi_fi-6161.php Sony Xperia Z2]<br />
| Tablet<br />
| Adreno 330<br />
| Android 4.4 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z3-6539.php Sony Xperia Z3]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.1, Firefox OS<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [http://www.sonymobile.com/gb/products/phones/xperia-z3-compact/specifications/ Sony Xperia Z3C]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.1, Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> Sotaro Ikeda (Tokyo) <br />
|-<br />
| [http://www.sonymobile.com/gb/products/phones/xperia-z3-compact/specifications/ Sony Xperia Z3C]<br />
| Phone<br />
| Adreno 330<br />
| LineageOS 16 (Android 9)<br />
| [mailto:aosmond@mozilla.com Andrew Osmond] (Toronto)<br />
|-<br />
| [https://www.sonymobile.com/global-en/products/tablets/xperia-z4-tablet/ Sony Xperia Z4]<br />
| Tablet<br />
| Adreno 430<br />
| Android 5.0<br />
| [mailto:botond@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| Mediatek Woodduck<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Inari<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Otoro<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Nexus 4 + Battery Harness<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Samsung Nexus S<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Qualcom QRD8x26<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Alcatel Midori (one touch)<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| TCL Hamachi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE OpenL<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Geekphone Peak<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Ikura<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Unagi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| Sotaro Ikeda (Tokyo) <br />
|-<br />
| TCL Buri<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| Sotaro Ikeda (Tokyo) <br />
|-<br />
| Spreadtrum Dolphin<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| Sotaro Ikeda (Tokyo) <br />
|-<br />
|}<br />
<br />
== ARM v8 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [https://www.gsmarena.com/sony_xperia_xa1-8596.php Sony Xperia XA1]<br />
| Phone<br />
| Mali T-880<br />
| Android 8.0<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| [https://www.gsmarena.com/motorola_moto_e5_cruise-9575.php Moto e5 Cruise]<br />
| Phone<br />
| Adreno 308<br />
| Android 8.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 9.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 9.0<br />
| [mailto:jmuizelaar@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 10.0<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [https://www.gsmarena.com/oneplus_6-9109.php OnePlus 6]<br />
| Phone<br />
| Adreno 630<br />
| Android 9.0<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [https://www.gsmarena.com/samsung_galaxy_s9-8966.php Galaxy s9]<br />
| Phone<br />
| Mali-G72 MP18<br />
| Android 10.0<br />
| Nical<br />
|-<br />
|}<br />
<br />
== Intel x86 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/asus_fonepad-5329.php ASUS Fonepad]<br />
| Tablet<br />
| PowerVR SGX540<br />
| Android 4.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_razr_i_xt890-4998.php Motorola Razer XT890]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.0<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
|}<br />
<br />
== Unknown Architecture ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| Samsung Galaxy Ace<br />
| Phone<br />
| ''unknown''<br />
| ''unknown''<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|}<br />
<br />
= Input devices =<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [https://www.huion.com/pen_tablet/H640P.html Huion Inspiroy H640P]<br />
| Pen Tablet<br />
| Botond (Toronto)<br />
|}<br />
= Softvision/WebRender Testing =<br />
<br />
This section outlines the hardware Softvision has available for WebRender testing<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Nvidia GeForce GT 730 (Kepler)<br />
| 0x1287<br />
| GK208B<br />
| Desktop PC<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
| Nvidia GeForce GT 1030 <br />
| <br />
| <br />
| <br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel HD 4600 (Gen 7.5)<br />
| 0x0412<br />
| haswell-gt2<br />
| Desktop PC<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel HD 630 (Gen 9)<br />
| 0x5912<br />
| kabylake-gt2<br />
| Desktop PC<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|AMD RX 550<br />
| <br />
| <br />
| <br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel UHD 630 + Nvidia GeForce GTX 1650<br />
| 0x3e9b + 0x1f91<br />
| coffeelake-gt2 + TU117M<br />
| Dell Laptop<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel UHD 630 + Nvidia GeForce GTX 1050<br />
| 0x3e9b + 0x1c8d<br />
| coffelake-gt2 + GP107M<br />
| Dell Laptop<br />
| rares.doghi@softvision.ro<br />
|-<br />
|-<br />
|Intel(R) HD Graphics 620 + NVIDIA GeForce MX110 (personal device)<br />
| 0x5916 + 0x174e<br />
| kabylake-gt2 + GM108M<br />
| <br />
| rares.doghi@softvision.ro<br />
|-<br />
|}</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1234892Standards2021-04-08T00:40:15Z<p>Jgilbert: jgilbert: WGSL chair; kvark: WGSL spec editor</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Follow the instructions on the [[Matrix|Matrix wiki page]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the Standards channel<br />
* Follow the instructions on the [[IRC|IRC wiki page]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
** Set up a connection to and nickname for <code>irc.freenode.net</code> for participation in #[[whatwg]] and other standards communities (#[[microformats]], #[[indieweb]])<br />
*** You may also use Freenode's Web UI: https://webchat.freenode.net/<br />
* See each standards section below for which IRC channel(s) tend(s) to be used by folks working in each group.<br />
<br />
== [https://www.ecma-international.org/ Ecma International] ==<br />
<br />
=== [https://tc39.es// TC39] ===<br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span> - voting delegate, former chair (currently advising)<br />
<br />
Specifications: ECMAScript 5, 5.1, 6, Harmony, etc.<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/dispatch/about/ DISPATCH] ===<br />
* Martin Thomson<br />
* Eric Rescorla<br />
<br />
=== [https://httpwg.github.io/ HTTPbis] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Dragana Damjanovic</span><br />
<br />
=== [https://quicwg.github.io/ QUIC] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Randell Jesup</span><br />
* <span class="h-card">Eric Rescorla (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Maire Reavy</span><br />
<br />
=== [https://datatracker.ietf.org/wg/stir/about/ STIR] ===<br />
* Eric Rescorla<br />
<br />
=== [http://tlswg.github.io/ TLS] (SSL) ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/webpush/about/ WebPush] ===<br />
* <span class="h-card">Martin Thomson</span><br />
<br />
=== ISOC Advisory Council ===<br />
=== [https://datatracker.ietf.org/wg/dnsop/about/ DNSOP] ===<br />
Please contact <span class="h-card">Martin Thomson</span> for any inquiries.<br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">Jeff Gilbert</span> (:jgilbert)<br />
<br />
== microformats ==<br />
https://microformats.org/ and [https://microformats.org/wiki microformats wiki]<br />
* irc://irc.freenode.net/microformats (https://chat.indieweb.org/microformats)<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
For other W3C IGs or CGs not tied directly to an active WG, see:<br />
* [[Standards/w3c-interest-community-groups]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) — elected members<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (2013-2018,2020-)<br />
The AB drives W3C process improvements in the:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> - Advisory Committee (AC) representative<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] for who else is an AC Rep from which other organizations.<br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
* <span class="h-card">Ehsan Akhgari</span><br />
The Audio Working Group works in conjuction with the Audio Community Group:<br />
==== Audio Community Group ====<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Media Working Group ===<br />
* https://www.w3.org/groups/wg/media<br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Jean-Yves Avenard</span><br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:SimonSapin|Simon Sapin]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web WG/[https://www.w3.org/community/gpu/ CG] (WebGPU) ===<br />
https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (:jgilbert, jdashg) (WGSL Chair)<br />
* <span class="h-card">[[User:Kvark|Dzmitry Malyshau]]</span> (:kvark) (WGSL Spec Editor)<br />
<br />
=== Immersive Web [https://www.w3.org/immersive-web/ WG]/[https://www.w3.org/community/immersive-web/ CG] (WebXR) ===<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (:jgilbert, jdashg)<br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== Web Applications Security Working Group ===<br />
* Eric Rescorla<br />
* Daniel Veditz<br />
* Tanvi Vyas<br />
* Frederik Braun<br />
* Christoph Kerschbaumer<br />
<br />
Specifications: CSP, HSTS Priming, SRI<br />
<br />
=== Web Applications Working Group ===<br />
[https://www.w3.org/2019/webapps/ WebApps WG home page] — ([https://www.w3.org/groups/wg/webapps/participants?sortaff=1 members])<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> <br />
* <span class="h-card">Andrew Sutherland</span><br />
* <span class="h-card">Martin Thomson</span><br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Benjamin Bouvier<br />
<br />
=== Web Authentication Working Group ===<br />
[https://www.w3.org/blog/webauthn/ WebAuthn homepage]<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span> (editor)<br />
* Dan Veditz<br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Web Performance Working Group ===<br />
https://www.w3.org/webperf/<br />
* <span class="h-card">Benjamin De Kosnik</span><br />
* <span class="h-card">Sean Feng</span><br />
<br />
Specifications: Navigation Timing, Paint Timing, Event Timing, Element Timing<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
Specifications: DOM-adjacent<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: Media capture & [http://www.w3.org/2011/04/webrtc-charter.html streaming APIs]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
=== Second Screen Working Group ===<br />
http://www.w3.org/2014/secondscreen/ ([https://www.w3.org/2000/09/dbwg/details?group=74168&public=1 members])<br />
=== Technical Architecture Group ===<br />
=== Tracking Protection Working Group ===<br />
http://www.w3.org/2011/tracking-protection/<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== WHATWG ==<br />
{{main|WHATWG}}<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Annevk|Anne van Kesteren]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (jgilbert/jdashg on WhatWG/Canvas)<br />
<br />
= other =<br />
<br />
== Alliance for Open Media ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* No one from Mozilla currently. <br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== eIDAS Regulation ==<br />
The [https://ec.europa.eu/digital-single-market/en/discover-eidas eIDAS Regulation] places requirements on electronic identification and trust services. [https://blog.mozilla.org/netpolicy/2020/10/08/the-eus-current-approach-to-qwacs-qualified-website-authentication-certificates-will-undermine-security-on-the-open-web/ Our goal] is to keep the TLS requirements/framework separate and independent from eIDAS and Qualified Website Authentication Certificates ([https://ec.europa.eu/futurium/en/blog/commission-runs-pilot-project-qualified-web-authentication-certificates-qwacs QWACs]).<br />
<br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Raegan MacDonald</span><br />
* <span class="h-card">Thyla van der Merwe</span><br />
* <span class="h-card">Udbhav Tiwari</span><br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* No direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== FIDO Alliance ==<br />
Mozilla is a member of the FIDO Alliance, which produces hardware specifications for Web Authentication.<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== Orgless specs ==<br />
* [[APNG_Specification]]<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Multi-PNG PNG spec]<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[SEO/Standards]] - how to use standards to improve/optimize search results<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications<br />
* https://platform-status.mozilla.org/</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1234802Standards2021-04-01T16:42:08Z<p>Jgilbert: /* WHATWG */ +jgilbert for whatwg/canvas</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Follow the instructions on the [[Matrix|Matrix wiki page]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the Standards channel<br />
* Follow the instructions on the [[IRC|IRC wiki page]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
** Set up a connection to and nickname for <code>irc.freenode.net</code> for participation in #[[whatwg]] and other standards communities (#[[microformats]], #[[indieweb]])<br />
*** You may also use Freenode's Web UI: https://webchat.freenode.net/<br />
* See each standards section below for which IRC channel(s) tend(s) to be used by folks working in each group.<br />
<br />
== [https://www.ecma-international.org/ Ecma International] ==<br />
<br />
=== [https://tc39.es// TC39] ===<br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span> - voting delegate, former chair (currently advising)<br />
<br />
Specifications: ECMAScript 5, 5.1, 6, Harmony, etc.<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/dispatch/about/ DISPATCH] ===<br />
* Martin Thomson<br />
* Eric Rescorla<br />
<br />
=== [https://httpwg.github.io/ HTTPbis] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Dragana Damjanovic</span><br />
<br />
=== [https://quicwg.github.io/ QUIC] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Randell Jesup</span><br />
* <span class="h-card">Eric Rescorla (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Maire Reavy</span><br />
<br />
=== [https://datatracker.ietf.org/wg/stir/about/ STIR] ===<br />
* Eric Rescorla<br />
<br />
=== [http://tlswg.github.io/ TLS] (SSL) ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/webpush/about/ WebPush] ===<br />
* <span class="h-card">Martin Thomson</span><br />
<br />
=== ISOC Advisory Council ===<br />
=== [https://datatracker.ietf.org/wg/dnsop/about/ DNSOP] ===<br />
Please contact <span class="h-card">Martin Thomson</span> for any inquiries.<br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">Jeff Gilbert</span> (:jgilbert)<br />
<br />
== microformats ==<br />
https://microformats.org/ and [https://microformats.org/wiki microformats wiki]<br />
* irc://irc.freenode.net/microformats (https://chat.indieweb.org/microformats)<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
For other W3C IGs or CGs not tied directly to an active WG, see:<br />
* [[Standards/w3c-interest-community-groups]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) — elected members<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (2013-2018,2020-)<br />
The AB drives W3C process improvements in the:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> - Advisory Committee (AC) representative<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] for who else is an AC Rep from which other organizations.<br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
* <span class="h-card">Ehsan Akhgari</span><br />
The Audio Working Group works in conjuction with the Audio Community Group:<br />
==== Audio Community Group ====<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Media Working Group ===<br />
* https://www.w3.org/groups/wg/media<br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Jean-Yves Avenard</span><br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Heycam|Cameron McCormack]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:SimonSapin|Simon Sapin]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
* <span class="h-card">[[User:Svoisen|Sean Voisen]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web WG/[https://www.w3.org/community/gpu/ CG] (WebGPU) ===<br />
https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (:jgilbert, jdashg)<br />
* <span class="h-card">[[User:Kvark|Dzmitry Malyshau]]</span> (:kvark)<br />
<br />
=== Immersive Web [https://www.w3.org/immersive-web/ WG]/[https://www.w3.org/community/immersive-web/ CG] (WebXR) ===<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (:jgilbert, jdashg)<br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Cameron McCormack</span> (co-chair)<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== Web Applications Security Working Group ===<br />
* Eric Rescorla<br />
* Daniel Veditz<br />
* Tanvi Vyas<br />
* Frederik Braun<br />
* Christoph Kerschbaumer<br />
<br />
Specifications: CSP, HSTS Priming, SRI<br />
<br />
=== Web Applications Working Group ===<br />
[https://www.w3.org/2019/webapps/ WebApps WG home page] — ([https://www.w3.org/groups/wg/webapps/participants?sortaff=1 members])<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> <br />
* <span class="h-card">Andrew Sutherland</span><br />
* <span class="h-card">Martin Thomson</span><br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Benjamin Bouvier<br />
<br />
=== Web Authentication Working Group ===<br />
[https://www.w3.org/blog/webauthn/ WebAuthn homepage]<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span> (editor)<br />
* Dan Veditz<br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Web Performance Working Group ===<br />
https://www.w3.org/webperf/<br />
* <span class="h-card">Benjamin De Kosnik</span><br />
* <span class="h-card">Sean Feng</span><br />
<br />
Specifications: Navigation Timing, Paint Timing, Event Timing, Element Timing<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
Specifications: DOM-adjacent<br />
* <span class="h-card">Cameron McCormack</span><br />
<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: Media capture & [http://www.w3.org/2011/04/webrtc-charter.html streaming APIs]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
=== Second Screen Working Group ===<br />
http://www.w3.org/2014/secondscreen/ ([https://www.w3.org/2000/09/dbwg/details?group=74168&public=1 members])<br />
=== Technical Architecture Group ===<br />
=== Tracking Protection Working Group ===<br />
http://www.w3.org/2011/tracking-protection/<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== WHATWG ==<br />
{{main|WHATWG}}<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Annevk|Anne van Kesteren]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (jgilbert/jdashg on WhatWG/Canvas)<br />
<br />
= other =<br />
<br />
== Alliance for Open Media ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* No one from Mozilla currently. <br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== eIDAS Regulation ==<br />
The [https://ec.europa.eu/digital-single-market/en/discover-eidas eIDAS Regulation] places requirements on electronic identification and trust services. [https://blog.mozilla.org/netpolicy/2020/10/08/the-eus-current-approach-to-qwacs-qualified-website-authentication-certificates-will-undermine-security-on-the-open-web/ Our goal] is to keep the TLS requirements/framework separate and independent from eIDAS and Qualified Website Authentication Certificates ([https://ec.europa.eu/futurium/en/blog/commission-runs-pilot-project-qualified-web-authentication-certificates-qwacs QWACs]).<br />
<br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Raegan MacDonald</span><br />
* <span class="h-card">Thyla van der Merwe</span><br />
* <span class="h-card">Udbhav Tiwari</span><br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* No direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== FIDO Alliance ==<br />
Mozilla is a member of the FIDO Alliance, which produces hardware specifications for Web Authentication.<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== Orgless specs ==<br />
* [[APNG_Specification]]<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Multi-PNG PNG spec]<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[SEO/Standards]] - how to use standards to improve/optimize search results<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications<br />
* https://platform-status.mozilla.org/</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards/w3c-interest-community-groups&diff=1234758Standards/w3c-interest-community-groups2021-03-30T21:45:17Z<p>Jgilbert: Jeff Gilbert on Color on the Web and Immersive Web (replacing kgilbert)</p>
<hr />
<div>{{stub}}<br />
<br />
This page tracks [[W3C]] Interest Groups (IGs) and Community Groups (CGs) that Mozillians participate in. Specifically these are IGs and CGs without a related Working Group (WG).<br />
<br />
See the main '''[[Standards]]''' page for WGs and their directly related IGs & CGs (if any).<br />
<br />
== W3C ==<br />
* See [[Standards]] for W3C Working Groups that Mozillians participate in.<br />
<br />
=== Color on the Web Community Group ===<br />
https://www.w3.org/community/colorweb/<br />
* <span class="h-card">Jeff Gilbert</span><br />
<br />
=== Games Community Group ===<br />
http://www.w3.org/community/games/<br />
* <span class="h-card">Dan Mosedale</span><br />
<br />
=== Immersive Web Community Group ===<br />
https://github.com/immersive-web/proposals - [https://www.w3.org/blog/2018/01/towards-the-immersive-web/ previously known] as [http://www.w3.org/community/webvr/ WebVR Community Group]<br />
* <span class="h-card">Jeff Gilbert</span><br />
Documents:<br />
* [https://immersive-web.github.io/webxr/ WebXR Device API Editor's Draft]<br />
* [https://immersive-web.github.io/webxr/charter/ draft charter] (towards a WG)<br />
<br />
=== Web Education Community Group ===<br />
http://www.w3.org/community/webed/<br />
* <span class="h-card">Schalk Neethling</span><br />
<br />
== See Also ==<br />
* [[Standards]]<br />
* [[Standards/emeritus]] - past Mozilla participants in Community Groups</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebRender_Where&diff=1233004Platform/GFX/WebRender Where2021-01-07T19:23:06Z<p>Jgilbert: /* Dashboard */ Add link: https://sql.telemetry.mozilla.org/dashboard/webrender</p>
<hr />
<div>==Dashboard==<br />
https://sql.telemetry.mozilla.org/dashboard/webrender<br />
<br />
==Where have we shipped WebRender?==<br />
<br />
Note that if a particular channel/release has the "Qualified" modifier, that means WebRender may be controlled via the qualified pref. If the modifier is not present, then it cannot be turned off via said pref.<br />
<br />
===MacOS===<br />
<br />
Shipping to all versions of MacOS (Firefox 83), including Big Sur (Firefox 84)<br />
<br />
===Windows 10===<br />
<br />
Shipping to all versions of Windows 10 with approved hardware.<br />
<br />
===Windows 7, 8, 8.1===<br />
<br />
Shipping to Windows 7, 8, and 8.1 with approved hardware (Firefox 83).<br />
<br />
===Linux===<br />
<br />
{|border="1" style="text-align: center; width: 100%"<br />
!rowspan="2"|Graphics card<br />
!style="background: lightgray" colspan="3"|NO battery<br />
!style="background: lightgray" colspan="3"|Battery<br />
|-<br />
!Small screen<br />
(< 1920x1200)<br />
!Medium screen<br />
(< 3440x1440)<br />
!Large screen<br />
(>= 3440x1440)<br />
!Small screen<br />
(< 1920x1200)<br />
!Medium screen<br />
(< 3440x1440)<br />
!Large screen<br />
(>= 3440x1440)<br />
|-<br />
! Nvidia<br />
([https://bugzilla.mozilla.org/show_bug.cgi?id=wr-nv-linux Proprietary])<br />
|style="background: orange; color: white"|Software WebRender on Nightly as of {{bug|1677293}}<br />
|style="background: orange; color: white"|Software WebRender on Nightly as of {{bug|1677293}}<br />
|style="color:red"|Blocklist<br />
|style="background: orange; color: white"|Software WebRender on Nightly as of {{bug|1677293}}<br />
|style="background: orange; color: white"|Software WebRender on Nightly as of {{bug|1677293}}<br />
|style="color:red"|Blocklist<br />
|-<br />
|-<br />
!Nvidia<br />
(Mesa 18.2+)<br />
|style="background: orange; color: white"|Qualified Nightly as of {{bug|1563859}}<br />
|style="background: orange; color: white"|Qualified Nightly as of {{bug|1563859}}<br />
|style="background: orange; color: white"|Qualified Nightly as of {{bug|1563859}}<br />
|style="background: orange; color: white"|Qualified Nightly as of {{bug|1563859}}<br />
|style="background: orange; color: white"|Qualified Nightly as of {{bug|1563859}}<br />
|style="background: orange; color: white"|Qualified Nightly as of {{bug|1563859}}<br />
|-<br />
!AMD<br />
(Northern Islands and newer, Mesa 18.0+)<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on GNOME/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|-<br />
!Intel<br />
(Mesa 18.0+)<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: orange; color: white"|FF86 on Gnome as of {{bug|1683343}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: green; color: white"|FF85 on Gnome/Wayland as of {{bug|1680505}}<hr/>FF84 on Gnome/X11 as of {{bug|1675766}}<hr/>Early beta as of {{bug|1653612}}<br />
|style="background: orange; color: white"|FF86 on Gnome as of {{bug|1683343}}<br />
|}<br />
<br />
===Android===<br />
<br />
Devices where we have currently enabled in GeckoView Nightly<br />
<br />
* Mali-T devices (Firefox 85)<br />
<br />
Devices where we have currently enabled in GeckoView Beta/Release<br />
<br />
* Mali-G devices (Firefox 84)<br />
* Adreno 5xx devices (Google Pixel, Google Pixel 2/XL, Oneplus 5, ...)<br />
* Adreno 6xx devices (Google Pixel 3, Google Pixel 4, Oneplus 6, ...)<br />
* Pixel 2 and 3 series<br />
<br />
Note 505 and 506 devices have been held back due to driver bugs.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1232145Standards2020-11-11T23:52:43Z<p>Jgilbert: /* W3C */ + Immersive Web (WebXR)</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Follow the instructions on the [[Matrix|Matrix wiki page]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the Standards channel<br />
* Follow the instructions on the [[IRC|IRC wiki page]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
** Set up a connection to and nickname for <code>irc.freenode.net</code> for participation in #[[whatwg]] and other standards communities (#[[microformats]], #[[indieweb]])<br />
*** You may also use Freenode's Web UI: https://webchat.freenode.net/<br />
* See each standards section below for which IRC channel(s) tend(s) to be used by folks working in each group.<br />
<br />
== [https://www.ecma-international.org/ Ecma International] ==<br />
<br />
=== [https://tc39.es// TC39] ===<br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span> - voting delegate, former chair (currently advising)<br />
<br />
Specifications: ECMAScript 5, 5.1, 6, Harmony, etc.<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/dispatch/about/ DISPATCH] ===<br />
* Martin Thomson<br />
* Eric Rescorla<br />
<br />
=== [https://httpwg.github.io/ HTTPbis] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Dragana Damjanovic</span><br />
<br />
=== [https://quicwg.github.io/ QUIC] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Randell Jesup</span><br />
* <span class="h-card">Eric Rescorla (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Maire Reavy</span><br />
<br />
=== [https://datatracker.ietf.org/wg/stir/about/ STIR] ===<br />
* Eric Rescorla<br />
<br />
=== [http://tlswg.github.io/ TLS] (SSL) ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/webpush/about/ WebPush] ===<br />
* <span class="h-card">Martin Thomson</span><br />
<br />
=== ISOC Advisory Council ===<br />
=== [https://datatracker.ietf.org/wg/dnsop/about/ DNSOP] ===<br />
Please contact <span class="h-card">Martin Thomson</span> for any inquiries.<br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">Jeff Gilbert</span> (:jgilbert)<br />
<br />
== microformats ==<br />
https://microformats.org/ and [https://microformats.org/wiki microformats wiki]<br />
* irc://irc.freenode.net/microformats (https://chat.indieweb.org/microformats)<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
For other W3C IGs or CGs not tied directly to an active WG, see:<br />
* [[Standards/w3c-interest-community-groups]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) — elected members<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (2013-2018,2020-)<br />
The AB drives W3C process improvements in the:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> - Advisory Committee (AC) representative<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] for who else is an AC Rep from which other organizations.<br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
* <span class="h-card">Ehsan Akhgari</span><br />
The Audio Working Group works in conjuction with the Audio Community Group:<br />
==== Audio Community Group ====<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Media Working Group ===<br />
* https://www.w3.org/groups/wg/media<br />
* <span class="h-card">Paul Adenot</span><br />
* <span class="h-card">Jean-Yves Avenard</span><br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Heycam|Cameron McCormack]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:SimonSapin|Simon Sapin]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
* <span class="h-card">[[User:Svoisen|Sean Voisen]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web WG/[https://www.w3.org/community/gpu/ CG] (WebGPU) ===<br />
https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (:jgilbert, jdashg)<br />
* <span class="h-card">[[User:Kvark|Dzmitry Malyshau]]</span> (:kvark)<br />
<br />
=== Immersive Web [https://www.w3.org/immersive-web/ WG]/[https://www.w3.org/community/immersive-web/ CG] (WebXR) ===<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (:jgilbert, jdashg)<br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Cameron McCormack</span> (co-chair)<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== Web Applications Security Working Group ===<br />
* Eric Rescorla<br />
* Daniel Veditz<br />
* Tanvi Vyas<br />
* Frederik Braun<br />
<br />
Specifications: CSP, HSTS Priming, SRI<br />
<br />
=== Web Applications Working Group ===<br />
[https://www.w3.org/2019/webapps/ WebApps WG home page] — ([https://www.w3.org/groups/wg/webapps/participants?sortaff=1 members])<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> <br />
* <span class="h-card">Andrew Sutherland</span><br />
* <span class="h-card">Martin Thomson</span><br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Benjamin Bouvier<br />
<br />
=== Web Authentication Working Group ===<br />
[https://www.w3.org/blog/webauthn/ WebAuthn homepage]<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span> (editor)<br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Web Performance Working Group ===<br />
https://www.w3.org/webperf/<br />
* <span class="h-card">Benjamin De Kosnik</span><br />
* <span class="h-card">Sean Feng</span><br />
<br />
Specifications: Navigation Timing, Paint Timing, Event Timing, Element Timing<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
Specifications: DOM-adjacent<br />
* <span class="h-card">Cameron McCormack</span><br />
<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: Media capture & [http://www.w3.org/2011/04/webrtc-charter.html streaming APIs]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
=== Second Screen Working Group ===<br />
http://www.w3.org/2014/secondscreen/ ([https://www.w3.org/2000/09/dbwg/details?group=74168&public=1 members])<br />
=== Technical Architecture Group ===<br />
=== Tracking Protection Working Group ===<br />
http://www.w3.org/2011/tracking-protection/<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== WHATWG ==<br />
{{main|WHATWG}}<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Annevk|Anne van Kesteren]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
<br />
= other =<br />
<br />
== Alliance for Open Media ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* No one from Mozilla currently. <br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== eIDAS Regulation ==<br />
The [https://ec.europa.eu/digital-single-market/en/discover-eidas eIDAS Regulation] places requirements on electronic identification and trust services. [https://blog.mozilla.org/netpolicy/2020/10/08/the-eus-current-approach-to-qwacs-qualified-website-authentication-certificates-will-undermine-security-on-the-open-web/ Our goal] is to keep the TLS requirements/framework separate and independent from eIDAS and Qualified Website Authentication Certificates ([https://ec.europa.eu/futurium/en/blog/commission-runs-pilot-project-qualified-web-authentication-certificates-qwacs QWACs]).<br />
<br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Raegan MacDonald</span><br />
* <span class="h-card">Thyla van der Merwe</span><br />
* <span class="h-card">Udbhav Tiwari</span><br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* No direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== FIDO Alliance ==<br />
Mozilla is a member of the FIDO Alliance, which produces hardware specifications for Web Authentication.<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== Orgless specs ==<br />
* [[APNG_Specification]]<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Multi-PNG PNG spec]<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[SEO/Standards]] - how to use standards to improve/optimize search results<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications<br />
* https://platform-status.mozilla.org/</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1231775Standards2020-10-22T17:00:34Z<p>Jgilbert: Merge WebGPU WG/CG</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Follow the instructions on the [[Matrix|Matrix wiki page]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the Standards channel<br />
* Follow the instructions on the [[IRC|IRC wiki page]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
** Set up a connection to and nickname for <code>irc.freenode.net</code> for participation in #[[whatwg]] and other standards communities (#[[microformats]], #[[indieweb]])<br />
*** You may also use Freenode's Web UI: https://webchat.freenode.net/<br />
* See each standards section below for which IRC channel(s) tend(s) to be used by folks working in each group.<br />
<br />
== [https://www.ecma-international.org/ Ecma International] ==<br />
<br />
=== [https://tc39.es// TC39] ===<br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span> - voting delegate, former chair (currently advising)<br />
<br />
Specifications: ECMAScript 5, 5.1, 6, Harmony, etc.<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/dispatch/about/ DISPATCH] ===<br />
* Martin Thomson<br />
* Eric Rescorla<br />
<br />
=== [https://httpwg.github.io/ HTTPbis] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Dragana Damjanovic</span><br />
<br />
=== [https://quicwg.github.io/ QUIC] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Randell Jesup</span><br />
* <span class="h-card">Eric Rescorla (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Maire Reavy</span><br />
<br />
=== [https://datatracker.ietf.org/wg/stir/about/ STIR] ===<br />
* Eric Rescorla<br />
<br />
=== [http://tlswg.github.io/ TLS] (SSL) ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/webpush/about/ WebPush] ===<br />
* <span class="h-card">Martin Thomson</span><br />
<br />
=== ISOC Advisory Council ===<br />
=== [https://datatracker.ietf.org/wg/dnsop/about/ DNSOP] ===<br />
Please contact <span class="h-card">Martin Thomson</span> for any inquiries.<br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">Jeff Gilbert</span> (:jgilbert)<br />
<br />
== microformats ==<br />
https://microformats.org/ and [https://microformats.org/wiki microformats wiki]<br />
* irc://irc.freenode.net/microformats (https://chat.indieweb.org/microformats)<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
For other W3C IGs or CGs not tied directly to an active WG, see:<br />
* [[Standards/w3c-interest-community-groups]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) — elected members<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (2013-2018,2020-)<br />
The AB drives W3C process improvements in the:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> - Advisory Committee (AC) representative<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] for who else is an AC Rep from which other organizations.<br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
* <span class="h-card">Ehsan Akhgari</span><br />
The Audio Working Group works in conjuction with the Audio Community Group:<br />
==== Audio Community Group ====<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Heycam|Cameron McCormack]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:SimonSapin|Simon Sapin]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
* <span class="h-card">[[User:Svoisen|Sean Voisen]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web WG/[https://www.w3.org/community/gpu/ CG] (WebGPU) ===<br />
https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">[[User:Jgilbert|Jeff Gilbert]]</span> (:jgilbert, jdashg)<br />
* <span class="h-card">[[User:Kvark|Dzmitry Malyshau]]</span> (:kvark)<br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Cameron McCormack</span> (co-chair)<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== Web Applications Security Working Group ===<br />
* Eric Rescorla<br />
* Daniel Veditz<br />
* Tanvi Vyas<br />
* Frederik Braun<br />
<br />
Specifications: CSP, HSTS Priming, SRI<br />
<br />
=== Web Applications Working Group ===<br />
[https://www.w3.org/2019/webapps/ WebApps WG home page] — ([https://www.w3.org/groups/wg/webapps/participants?sortaff=1 members])<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> <br />
* <span class="h-card">Andrew Sutherland</span><br />
* <span class="h-card">Martin Thomson</span><br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Luke Wagner<br />
* Benjamin Bouvier<br />
* Lin Clark<br />
* Till Schneidereit<br />
<br />
=== Web Authentication Working Group ===<br />
[https://www.w3.org/blog/webauthn/ WebAuthn homepage]<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span> (editor)<br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
<br />
=== Web Performance Working Group ===<br />
https://www.w3.org/webperf/<br />
* <span class="h-card">Benjamin De Kosnik</span><br />
* <span class="h-card">Sean Feng</span><br />
<br />
Specifications: Navigation Timing, Paint Timing, Event Timing, Element Timing<br />
* <span class="h-card">Olli Pettay</span><br />
<br />
Specifications: DOM-adjacent<br />
* <span class="h-card">Cameron McCormack</span><br />
<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: Media capture & [http://www.w3.org/2011/04/webrtc-charter.html streaming APIs]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
=== Second Screen Working Group ===<br />
http://www.w3.org/2014/secondscreen/ ([https://www.w3.org/2000/09/dbwg/details?group=74168&public=1 members])<br />
=== Technical Architecture Group ===<br />
=== Tracking Protection Working Group ===<br />
http://www.w3.org/2011/tracking-protection/<br />
* No current Mozilla participants.<br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== WHATWG ==<br />
{{main|WHATWG}}<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Annevk|Anne van Kesteren]]</span><br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
<br />
= other =<br />
<br />
== Alliance for Open Media ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* No one from Mozilla currently. <br />
Please contact <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> if you have specific needs here and I’ll route your request as needed. -t<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
* <span class="h-card">Ben Wilson</span><br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* No direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== FIDO Alliance ==<br />
Mozilla is a member of the FIDO Alliance, which produces hardware specifications for Web Authentication.<br />
* <span class="h-card">[[User:Jcjones|J.C. Jones]]</span><br />
<br />
== Orgless specs ==<br />
* [[APNG_Specification]]<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Multi-PNG PNG spec]<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[SEO/Standards]] - how to use standards to improve/optimize search results<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications<br />
* https://platform-status.mozilla.org/</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1227597Standards2020-05-27T08:00:45Z<p>Jgilbert: /* W3C */ Add WebGPU</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
This is a directory of standards organizations and their working groups, listing who at Mozilla is working with each.<br />
<br />
For a technology summary see the [[standards/technologies|technologies]] page, for Mozilla’s positions on particular specifications, see:<br />
* https://mozilla.github.io/standards-positions/<br />
Current discussions of Mozilla positions:<br />
* https://github.com/mozilla/standards-positions/issues<br />
<br />
The lists below are organized alphabetically by standards body and working group (if any), with Mozilla participants and specifications they edit/author/contribute to.<br />
<br />
If you’re a Mozillian actively & directly participating in a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself to the specific standards body / working group if any), linking to your wiki User: page. If you’re working in multiple working groups or standards organizations, add yourself to each.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
<br />
== General Participation Guidelines ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Follow the instructions on the [[Matrix|Matrix wiki page]] to:<br />
** Set up a connection to and nickname for <code>chat.mozilla.org</code>. <br />
** Join the Standards channel<br />
* Follow the instructions on the [[IRC|IRC wiki page]] to:<br />
** Set up a connection to and nickname for <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
*** You may also use W3C IRC’s Web UI: http://irc.w3.org/<br />
** Set up a connection to and nickname for <code>irc.freenode.net</code> for participation in #[[whatwg]] and other standards communities (#[[microformats]], #[[indieweb]])<br />
*** You may also use Freenode's Web UI: https://webchat.freenode.net/<br />
* See each standards section below for which IRC channel(s) tend(s) to be used by folks working in each group.<br />
<br />
== ECMA TC39 ==<br />
* <span class="h-card"><span class="p-name">Till Schneidereit</span><br />
* <span class="h-card"><span class="p-name">Lin Clark</span><br />
* <span class="h-card">[[User:Ystartsev|Yulia Startsev]]</span> co-chair<br />
<br />
Specifications: ECMAScript 5, 5.1, 6, Harmony, etc.<br />
<br />
== [https://ietf.org/ IETF] ==<br />
<br />
=== ISOC Advisory Council ===<br />
* <span class="h-card">[[User:AdamRoach|Adam Roach]]</span> (:abr)<br />
* Tim Terriberry (:derf)<br />
<br />
=== [https://www.iab.org/about/iab-members/ Internet Architecture Board] (IAB) ===<br />
* <span class="h-card">Martin Thomson</span><br />
<br />
=== [https://www.ietf.org/iesg/members.html Internet Engineering Steering Group] (IESG) ===<br />
* <span class="h-card">[[User:AdamRoach|Adam Roach]]</span> (Applications and Real-Time Area)<br />
* <span class="h-card">Eric Rescorla</span> (Security Area)<br />
<br />
=== [https://datatracker.ietf.org/wg/calext/about/ CALEXT] (iCalendar) ===<br />
* <span class="h-card">Philipp Kewisch</span><br />
<br />
=== [https://datatracker.ietf.org/wg/dispatch/about/ DISPATCH] ===<br />
* Martin Thomson<br />
* Eric Rescorla<br />
* <span class="h-card">[[User:AdamRoach|Adam Roach]]</span><br />
<br />
=== [https://datatracker.ietf.org/wg/dnsop/about/ DNSOP] ===<br />
No current Mozilla participants.<br />
<br />
=== [https://datatracker.ietf.org/wg/doh/about/ DNS over HTTPS (DoH)] ===<br />
* Martin Thomson<br />
<br />
=== [https://httpwg.github.io/ HTTPbis] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Dragana Damjanovic</span><br />
<br />
=== [https://datatracker.ietf.org/wg/netvc/ NETVC] ===<br />
<br />
* <span class="h-card">[[User:AdamRoach|Adam Roach]]</span> (:abr) - WG Chair<br />
* Timothy B. Terriberry (:derf)<br />
* <span class="h-card">Jean-Marc Valin</span> (:jmspeex)<br />
* <span class="h-card">Nathan Egge</span><br />
<br />
=== [https://datatracker.ietf.org/wg/codec/about/ CODEC] (Opus) ===<br />
* <span class="h-card"><span class="p-name">Jean-Marc Valin</span> (:<span class="p-nickname">jmspeex</span>)</span><br />
* <span class="h-card"><span class="p-name">Tim Terriberry</span> (:<span class="p-nickname">derf</span>)</span><br />
<br />
=== [https://quicwg.github.io/ QUIC] ===<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/rtcweb/about/ RTCWEB] / [https://datatracker.ietf.org/wg/mmusic/about/ MMUSIC] ===<br />
* <span class="h-card">Randell Jesup</span><br />
* <span class="h-card">Tim Terriberry</span><br />
* <span class="h-card">[[User:AdamRoach|Adam Roach]]</span> (:abr)<br />
* <span class="h-card">Eric Rescorla (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Maire Reavy </span><br />
<br />
=== [https://datatracker.ietf.org/wg/stir/about/ STIR] ===<br />
<br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/tokbind/about/ TOKBIND] ===<br />
<br />
* Eric Rescorla<br />
<br />
=== [http://tlswg.github.io/ TLS] (SSL) ===<br />
<br />
* <span class="h-card">Martin Thomson</span><br />
* Eric Rescorla<br />
<br />
=== [https://datatracker.ietf.org/wg/webpush/about/ WebPush] ===<br />
<br />
* Martin Thomson<br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* <span class="h-card">Jeff Gilbert</span> (:jgilbert)<br />
<br />
== microformats ==<br />
http://microformats.org/ and [http://microformats.org/wiki microformats wiki]<br />
* irc://irc.freenode.net/microformats<br />
Community participants:<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="p-role">founder</span>, <span class="p-role">admin</span>)</span><br />
* <span class="h-card">Michael Kaply</span><br />
* ...<br />
<br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="h-card"><span class="p-name">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa) - used and recommended by [[Standards/license]]<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Interest Groups (IGs), and Community Groups (CGs). See below for details and please add any/all of such groups here in alphabetical order by working group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
** list of [https://www.w3.org/2000/09/dbwg/groups all W3C Working Groups]<br />
<br />
For the sake of focus and brevity, only W3C WGs are listed here inline, along with any complementary IGs or CGs that are paired with them.<br />
<br />
For other W3C IGs or CGs not tied directly to an active WG, see:<br />
* [[Standards/w3c-interest-community-groups]]<br />
<br />
=== Advisory Board ===<br />
[http://www.w3.org/wiki/AB W3C Advisory Board] (AB) drives W3C process improvements in:<br />
==== Process Community Group ====<br />
[https://www.w3.org/community/w3process/ W3C Process Community Group] publicly discusses ([https://www.w3.org/wiki/W3Process wiki], [https://github.com/w3c/w3process/ GitHub repo], [https://lists.w3.org/Archives/Public/public-w3process/ list]), proposes, and makes changes to the W3C Process. Delegated authority from the AB (some members of which overlap with the CG), which retains overall (dis)approval of W3C Process iterations before proposing to the AC.<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Advisory Committee ===<br />
* <span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> - Advisory Committee (AC) representative<br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] for who else is an AC Rep from which companies.<br />
<br />
=== Audio Working Group ===<br />
* http://www.w3.org/2011/audio/<br />
[https://www.w3.org/2000/09/dbwg/details?group=46884&public=1&order=org#_MozillaFoundation Participants]:<br />
* <span class="h-card">Matthew Gregan</span><br />
* <span class="h-card">Paul Adenot</span> (Spec Editor)<br />
* <span class="h-card">Ehsan Akhgari</span><br />
<br />
=== Audio Community Group ===<br />
* https://www.w3.org/community/audio-comgp/ <br />
* <span class="h-card">Paul Adenot</span> (Chair)<br />
<br />
=== Browser Testing and Tools Working Group ===<br />
[https://www.w3.org/testing/browser/ Browser Testing and Tools Working Group homepage], [https://www.w3.org/2011/08/browser-testing-charter.html Charter], [mailto:public-browser-tools-testing@w3.org Mailing list], [https://lists.w3.org/Archives/Public/public-browser-tools-testing/ Mailing list archive]<br />
* <span class="h-card">[[User:Jgraham|James Graham]]</span><br />
<br />
Specifications:<br />
* [http://w3c.github.io/webdriver/webdriver-spec.html WebDriver] - APIs for remote controlling web browsers<br />
* (link?) APIs for use in debugging of web applications<br />
<br />
=== CSS Working Group ===<br />
[https://www.w3.org/Style/CSS/members Cascading Style Sheets Working Group (CSSWG)], [https://www.w3.org/Style/CSS/members members], [irc://irc.w3.org:6665/css irc], [http://lists.w3.org/Archives/Public/www-style/ email list]<br />
* Looking for where we prioritize our CSS development? See: '''[[CSS#Priorities|CSS:Priorities]]'''<br />
Working group members participating on behalf of Mozilla (also on w3c-css-wg)<br />
* <span class="h-card">[[User:Emilio|Emilio Cobos Álvarez]]</span><br />
* <span class="h-card">[[User:Dbaron|David Baron]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Dholbert|Daniel Holbert]]</span><br />
* <span class="h-card">[[User:Heycam|Cameron McCormack]]</span><br />
* <span class="h-card">[[User:Masayuki|Masayuki Nakano]]</span><br />
* <span class="h-card">[[User:SimonSapin|Simon Sapin]]</span><br />
* <span class="h-card">[[User:jensimmons|Jen Simmons]]</span><br />
* <span class="h-card">[[User:Mstange|Markus Stange]]</span><br />
* <span class="h-card">[[User:Svoisen|Sean Voisen]]</span><br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* ...<br />
Specifications: <br />
* [[CSS21]], [[CSS3]]<br />
For more details see: [[CSS]]<br />
<br />
=== GPU for the Web Community Group (WebGPU) ===<br />
* https://www.w3.org/community/gpu/<br />
* https://github.com/gpuweb/gpuweb<br />
* <span class="h-card">Jeff Gilbert (:jgilbert, jdashg)</span><br />
* <span class="h-card">Dzmitry Malyshau (:kvark)</span><br />
<br />
=== Internationalization Working Group ===<br />
[https://w3c.github.io/i18n-activity/i18n-wg/ Internationalization Working Group] ([https://www.w3.org/2000/09/dbwg/details?group=32113 members]), part of [http://w3.org/International/ Internationalization Activity (i18n)]<br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
* ...<br />
<br />
=== Pointer Events Working Group ===<br />
[http://www.w3.org/2012/pointerevents/ Pointer Events Working Group home page] ([https://www.w3.org/2000/09/dbwg/details?group=59096&public=1 members]).<br />
Participants:<br />
* <span class="h-card">Olli Pettay</span><br />
* <span class="h-card">Matt Brubeck</span><br />
<br />
=== Second Screen Working Group ===<br />
* http://www.w3.org/2014/secondscreen/ ([https://www.w3.org/2000/09/dbwg/details?group=74168&public=1 members])<br />
No current Mozilla participants.<br />
<br />
=== SVG Working Group ===<br />
[https://w3.org/SVG/ SVG (Scalable Vector Graphics) Working Group], [https://www.w3.org/Graphics/SVG/2014/new-charter charter expired and WG in-limbo], [https://www.w3.org/2000/09/dbwg/details?group=19480&public=1 members]<br />
* <span class="h-card">Cameron McCormack</span> (co-chair)<br />
* <span class="h-card">Jonathan Watt</span><br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== Tracking Protection Working Group ===<br />
http://www.w3.org/2011/tracking-protection/<br />
* <span class="h-card">Heather West</span><br />
<br />
=== Technical Architecture Group ===<br />
W3C [http://www.w3.org/2001/tag/ TAG]<br />
* <span class="h-card">[[User:Dbaron|David Baron]]</span><br />
<br />
=== Web Applications Security Working Group ===<br />
* Eric Rescorla<br />
* Daniel Veditz<br />
* Tanvi Vyas<br />
* Frederik Braun<br />
<br />
Specifications: CSP, HSTS Priming, SRI<br />
<br />
=== [https://www.w3.org/wasm/ WebAssembly Working Group] ===<br />
WASM:<br />
* [https://www.w3.org/2017/08/wasm-charter charter 2017-08-03 … 2018-07-31]<br />
* [https://www.w3.org/2000/09/dbwg/details?group=101196&order=org&public=1 members]<br />
<br />
==== WebAssembly Community Group ====<br />
https://www.w3.org/community/webassembly/ ([https://www.w3.org/community/webassembly/participants members])<br />
* Luke Wagner<br />
* Dan Gohman<br />
* Benjamin Bouvier<br />
* Lin Clark<br />
* Till Schneidereit<br />
<br />
=== Web Fonts Working Group ===<br />
[https://www.w3.org/Fonts/WG/ Web Fonts Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=44556 members])<br />
* <span class="h-card">Jonathan Kew</span> (editor)<br />
<br />
=== Web Payments Working Group ===<br />
[https://www.w3.org/Payments/WG/ Web Payments Working Group homepage] ([https://www.w3.org/2000/09/dbwg/details?group=83744 members])<br />
* <span class="h-card">[[User:Marcosc|Marcos Caceres]]</span><br />
* <span class="h-card">[[User:Stpeter|Peter Saint-Andre]]</span><br />
* <span class="h-card">[[User:AdamRoach|Adam Roach]]</span> (:abr)<br />
<br />
==== Web Payments Task Force ====<br />
[http://www.w3.org/wiki/Payments_Task_Force http://www.w3.org/wiki/Payments_Task_Force]<br />
<br />
* <span class="h-card">Kumar McMillan</span><br />
* [http://www.w3.org/wiki/2013_Web_Payment_Task_Force_Participants Full list]<br />
<br />
=== Web Performance Working Group ===<br />
<br />
https://www.w3.org/webperf/<br />
<br />
* <span class="h-card">Cameron McCormack</span><br />
* <span class="h-card">Panos Astithas</span><br />
<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== Web Platform Working Group ===<br />
https://www.w3.org/WebPlatform/WG/ [https://www.w3.org/2000/09/dbwg/details?group=83482&order=org#_MozillaFoundation members]<br />
* <span class="h-card">Karl Dubost</span><br />
* <span class="h-card">[[User:Marcosc|Marcos Caceres]]</span><br />
* <span class="h-card">Martin Thomson</span><br />
* <span class="h-card">Olli Pettay</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
Primary work area: https://github.com/w3c/WebPlatformWG<br />
<br />
Related incubator group: [https://www.w3.org/community/wicg/ Web Platform Incubator Community Group]<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Tim Terriberry</span><br />
* <span class="h-card">[[User:AdamRoach|Adam Roach]]</span> (:abr)<br />
* <span class="h-card">Randell Jesup (:jesup)</span><br />
<br />
Specifications: Media capture & [http://www.w3.org/2011/04/webrtc-charter.html streaming APIs]<br />
<br />
Specifications: Media Capture Stream with Worker Extensions [https://w3c.github.io/mediacapture-worker/ mediacapture-worker APIs]<br />
<br />
== WHATWG ==<br />
Web Hypertext Application Technology Working Group - https://whatwg.org/<br />
* <span class="h-card">[[User:Dbaron|David Baron]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">[[User:Hsivonen|Henri Sivonen]]</span><br />
* <span class="h-card">[[User:Annevk|Anne van Kesteren]]</span><br />
* <span class="h-card">[[User:Marcosc|Marcos Caceres]]</span> (:marcosc)<br />
* <span class="h-card">[[User:Pettay|Olli Pettay]]</span> (:smaug)<br />
* <span class="h-card">[[User:Fbraun|Frederik Braun]]</span> (aka mozfreddyb, freddy, freddyb)<br />
<br />
= other =<br />
<br />
== Alliance for Open Media ==<br />
The [http://aomedia.org/ Alliance for Open Media] develops next-generation media formats, codecs, and technologies. See also [[#NETVC]].<br />
* <span class="h-card">Timothy B. Terriberry (:derf)</span><br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">Kathleen Wilson</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== OASIS ==<br />
* No current Mozilla point of contact<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* no direct involvement by any current Mozillian<br />
<br />
== C++ ==<br />
<br />
C++ is standardized by [http://www.open-std.org/jtc1/sc22/wg21/ ISO/IEC JTC1/SC22/WG21] (informally, the "C++ Standards Committee"). All proposals are publically available [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ here].<br />
<br />
[https://mozillians.org/en-US/u/bballo/ Botond Ballo] is a member of Canada's delegation to the Committee, and has been attending meetings regularly since September 2013. If you have any feedback about any existing proposal, or would like to explore the idea of putting forth a new proposal, please post to dev-platform and cc Botond.<br />
<br />
== Orgless specs ==<br />
* [[APNG_Specification]]<br />
** fork: [https://gist.github.com/SoniEx2/c679e771d506210378a5 MPNGPNG - Mutli-PNG PNG spec]<br />
<br />
= Emeritus =<br />
{{main|Standards/emeritus}}<br />
See: [[Standards/emeritus]] for lists of former Mozillians who worked on standards, and former standards groups or organizations.<br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= See Also =<br />
* [[CSS]]<br />
* [[DOM]]<br />
* [[Events]] - which include web standards-related events.<br />
* [[SEO/Standards]] - how to use standards to improve/optimize search results<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications<br />
* https://platform-status.mozilla.org/</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Resources&diff=1224484Platform/GFX/WebGL/Resources2020-03-03T00:48:59Z<p>Jgilbert: New decade, new content. (prune old content, add some modern benchmarks, remove obsolete bug tracking info)</p>
<hr />
<div>A collection of useful links to various things related to WebGL.<br />
<br />
==WebGL Spec==<br />
*[http://www.khronos.org/registry/webgl/specs/latest/ Latest WebGL Spec]<br />
*[http://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf Reference Card]<br />
*[https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html Conformance Tests]<br />
*[http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf GL ES 2.0 Spec]<br />
<br />
==2D Acceleration==<br />
*[http://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis 2D Graphics Acceleration with WebGL]<br />
<br />
==Progressive Benchmarks==<br />
Benchmarks which update their score (FPS or otherwise) continuously while running.<br />
<br />
===Drawing transparent quads===<br />
Scirra tests:<br />
* http://www.scirra.com/labs/perftest-2d (canvas2d)<br />
* http://www.scirra.com/labs/perftest-webgl <br />
* https://www.scirra.com/labs/renderperf3<br />
<br />
https://files.unity3d.com/marcot/benchmarks2018.2.5f1/<br />
<br />
==Finite Benchmarks==<br />
Benchmarks which present a score upon completion.<br />
* https://browserbench.org/MotionMark/developer.html <br />
* Our Talos motionmark_webgl test config: https://browserbench.org/MotionMark/developer.html?test-interval=10&display=minimal&tiles=big&controller=fixed&frame-rate=50&kalman-process-error=1&kalman-measurement-error=4&time-measurement=performance&suite-name=3DGraphics&test-name=WebGL&complexity=30000<br />
<br />
==Demos==<br />
*[http://videos.mozilla.org/serv/mozhacks/flight-of-the-navigator/ Flight of the Navigator]<br />
*[https://developer.mozilla.org/en-US/demos/detail/no-comply No Comply]<br />
*[http://azathioprine.digisnap.bplaced.net/ Azathioprine]: A demo created with a Maya-to-WebGL converter.<br />
*[http://rescuefox.mozillalabs.com/src/index.html Rescue Fox]<br />
*[http://evanw.github.com/csg.js/ Constructive Solid Geometry]<br />
*[http://www.inka3d.com/examples/Saussage.html Saussage]: The infamous basic skeleton-based mesh demo<br />
*[http://stickmanventures.com/labs/demo/webgl-threejs-morph-target/ Ginger]: Facial rigging<br />
<br />
==Links==<br />
*[https://github.com/cjcliffe/CubicVR.js/wiki/Examples-and-Demos CubicVR Demos]<br />
*[http://www.khronos.org/webgl/wiki/Demo_Repository Khronos WebGL Demo Repository]<br />
*[[Angle Debugging Tips]]</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL2&diff=1224482Platform/GFX/WebGL22020-03-03T00:06:49Z<p>Jgilbert: Replace with link to MDN.</p>
<hr />
<div>Please see https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API#WebGL_2.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=TestEngineering/Performance/Talos/Tests&diff=1223891TestEngineering/Performance/Talos/Tests2020-02-17T22:37:24Z<p>Jgilbert: /* motionmark_webgl */ Add motionmark_webgl info for test added by bug 1615871</p>
<hr />
<div>= At a glance =<br />
* Tests are defined in [https://searchfox.org/mozilla-central/source/testing/talos/talos/test.py testing/talos/talos/test.py]<br />
* Treeherder abbreviations are defined in [https://searchfox.org/mozilla-central/source/taskcluster/ci/test/talos.yml taskcluster/ci/test/talos.yml]<br />
* Suites are defined for production in [https://searchfox.org/mozilla-central/source/testing/talos/talos.json testing/talos/talos.json]<br />
<br />
= Test lifecycle =<br />
* Taskcluster schedules [https://searchfox.org/mozilla-central/source/taskcluster/ci/test/talos.yml talos jobs]<br />
* Taskcluster runs a Talos job on a hardware machine when one is available - this is bootstrapped by [https://searchfox.org/mozilla-central/source/testing/mozharness/mozharness/mozilla/testing/talos.py mozharness]<br />
** [https://searchfox.org/mozilla-central/source/testing/mozharness/mozharness/mozilla/testing/talos.py mozharness downloads the build, talos.zip (found in [http://hg.mozilla.org/mozilla-central/tip/testing/talos/talos.json talos.json]), and creates a virtualenv for running the test.<br />
** mozharness [[../Running#How_Talos_is_Run_in_Production|configures the test and runs it]]<br />
** After the test is completed the data is uploaded to [https://treeherder.mozilla.org/perf.html#/graphs Perfherder]<br />
* Treeherder displays a green (all OK) status and has a link to [https://treeherder.mozilla.org/perf.html#/graphs Perfherder]<br />
* 13 pushes later, [http://hg.mozilla.org/graphs/file/tip/server/analysis/analyze_talos.py analyze_talos.py] is ran which compares your push to the previous 12 pushes and next 12 pushes to look for a [[../Data#Regressions|regression]]<br />
** If a regression is found, it will be posted on [https://treeherder.mozilla.org/perf.html#/alerts Perfherder Alerts]<br />
<br />
= Test types =<br />
<br />
There are two different species of Talos tests:<br />
<br />
* [[#Startup]]: Start up the browser and wait for either the load event or the paint event and exit, measuring the time<br />
* [[#Page load]]: Load a manifest of pages<br />
<br />
In addition we have some variations on existing tests:<br />
* [[#Heavy]]: Run tests with the heavy user profile instead of a blank one<br />
* [[#Web extension]]: Run tests with a web extension to see the perf impact extension have<br />
<br />
Some tests measure different things:<br />
* [[#Paint]]: These measure events from the browser like moz_after_paint, etc.<br />
* [[#ASAP]]: These tests go really fast and typically measure how many frames we can render in a time window<br />
* [[#Benchmarks]]: These are benchmarks that measure specific items and report a summarized score<br />
<br />
== Startup ==<br />
[https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/startup_test Startup tests] launch Firefox and measure the time to the onload or paint events. We run this in a series of cycles (default to 20) to generate a full set of data. Tests that currently are startup tests are:<br />
* [[#ts_paint]]<br />
* [[#tpaint]]<br />
* [[#tresize]]<br />
* [[#sessionrestore]]<br />
* [[#sessionrestore_no_auto_restore]]<br />
* [[#sessionrestore_many_windows]]<br />
<br />
== Page load ==<br />
Many of the talos tests use the page loader to load a manifest of pages.<br />
These are tests that load a specific page and measure the time it takes to load the page, scroll the page, draw the page etc. In order to run a page load test, you need a manifest of pages to run. The manifest is simply a list of URLs of pages to load, separated by carriage returns, e.g.:<br />
<pre><br />
https://www.mozilla.org<br />
https://www.mozilla.com<br />
</pre><br />
Example: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/svgx/svgx.manifest svgx.manifest]<br />
<br />
Manifests may also specify that a test computes its own data by prepending a <tt>%</tt> in front of the line:<br />
<pre><br />
% https://www.mozilla.org<br />
% https://www.mozilla.com<br />
</pre><br />
Example: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/v8_7/v8.manifest v8.manifest]<br />
<br />
The file you created should be referenced in your test config inside of [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l607 test.py]. For example, open test.py, and look for the line referring to the test you want to run:<br />
<pre><br />
tpmanifest = '${talos}/page_load_test/svgx/svgx.manifest'<br />
tpcycles = 1 # run a single cycle<br />
tppagecycles = 25 # load each page 25 times before moving onto the next page<br />
</pre><br />
<br />
== Heavy ==<br />
All our testing is done with empty blank profiles, this is not ideal for finding issues for end users. We recently undertook a task to create a daily update to a profile so it is modern and relevant. It browses a variety of web pages, and have history and cache to give us a more realistic scenario.<br />
<br />
The toolchain is documented on [https://github.com/tarekziade/heavy-profile github] and was added to Talos in {{bug|1407398}}.<br />
<br />
Currently we have issues with this on windows (takes too long to unpack the files from the profile), so we have turned this off there. Our goal is to run this on basic pageload and startup tests.<br />
<br />
== Web extension ==<br />
Web Extensions are what Firefox has switched to and there are different code paths and APIs used vs addons. Historically we don't test with addons (other than our test addons) and are missing out on common slowdowns. In 2017 we started running some startup and basic pageload tests with a web extension in the profile ({{bug|1398974}}). We have updated the Extension to be more real world and will continue to do that.<br />
<br />
== Paint ==<br />
Paint tests are measuring the time to receive both the [https://developer.mozilla.org/en-US/docs/Web/Events/MozAfterPaint MozAfterPaint] and OnLoad event instead of just the OnLoad event. Most tests now look for this unless they are an ASAP test, or an internal benchmark<br />
<br />
== ASAP ==<br />
We have a variety of tests which we now run in ASAP mode where we render as fast as possible (disabling vsync and letting the rendering iterate as fast as it can using `requestAnimationFrame`). In fact we have replaced some original tests with the 'x' versions to make them measure. We do this with RequestAnimationFrame().<br />
<br />
ASAP tests are:<br />
* [[#basic_compositor_video]]<br />
* [[#displaylist_mutate]]<br />
* [[#glterrain]]<br />
* [[#rasterflood_svg]]<br />
* [[#rasterflood_gradient]]<br />
* [[#tsvgx]]<br />
* [[#tscrollx]]<br />
* [[#tp5o_scroll]]<br />
* [[#tabswitch]]<br />
* [[#TART]]<br />
<br />
== Benchmarks ==<br />
Many tests have internal benchmarks which we report as accurately as possible. These are the exceptions to the general rule of calculating the suite score as a geometric mean of the subtest values (which are median values of the raw data from the subtests).<br />
<br />
Tests which are imported benchmarks are:<br />
* [[#ares6]]<br />
* [[#Dromaeo]]<br />
* [[#jetstream]]<br />
* [[#kraken]]<br />
* [[#motionmark]]<br />
* [[#stylebench]]<br />
<br />
== Row major vs. column major ==<br />
To get more stable numbers, tests are run multiple times. There are two ways that we do this: row major and column major. Row major means each test is run multiple times and then we move to the next test (and run it multiple times). Column major means that each test is run once one after the other and then the whole sequence of tests is run again.<br />
<br />
More background information about these approaches can be found in Joel Maher's [https://elvis314.wordpress.com/2012/03/12/reducing-the-noise-in-talos/ Reducing the Noise in Talos] blog post.<br />
<br />
= Page sets =<br />
We run our tests 100% offline, but serve pages via a webserver. Knowing this we need to store and make available the offline pages we use for testing.<br />
<br />
== tp5pages ==<br />
Some tests make use of a set of 50 "real world" pages, known as the tp5n set. These pages are not part of the talos repository, but without them the tests which use them won't run.<br />
* To add these pages to your local setup, download the latest tp5n zip from [https://mozilla-releng.net/tooltool/ tooltool], and extract it such that `'''tp5n'''` ends up as `testing/talos/talos/tests/'''tp5n'''`. You can also obtain it by running a talos test locally to get the zip into `testing/talos/talos/tests/`, i.e <tt>./mach talos-test --suite damp</tt><br />
* see also [[#tp5|tp5 test]].<br />
<br />
= Test definitions =<br />
<br />
'''Please keep these in alphabetical order'''<br />
<br />
== a11y ==<br />
* contact: :surkov<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/a11y a11y.manifest]<br />
* type: PageLoader<br />
* measuring: ???<br />
* data: we load 2 pages 25 times each, collect 2 sets of 25 data points<br />
* summarization<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 24; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l627 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 2 subtest results.<br />
<br />
* reporting: test time in ms (lower is better)<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|a11yr<br />
|[[#Row_Major_vs._Column_Major|Row Major]] testing with 25 cycles per page<br />
|}<br />
<br />
This test ensures basic a11y tables and permutations do not cause performance regressions.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;dhtml.html;1584;1637;1643;1665;1741;1529;1647;1645;1692;1647;1542;1750;1654;1649;1541;1656;1674;1645;1645;1740;1558;1652;1654;1656;1654<br />
1;tablemutation.html;398;385;389;391;387;387;385;387;388;385;384;31746;386;387;384;387;389;387;387;387;388;391;386;387;388<br />
</pre><br />
|}<br />
<br />
== about-preferences ==<br />
* contact: :jaws<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/about-preferences/about_preferences_basic.manifest]<br />
* type: PageLoader<br />
* measuring: first-non-blank-paint<br />
* data: We load 5 urls 1 time each, and repeat for 25 cycles; collecting 25 sets of 5 data points<br />
* summarization<br />
** subtest: [[../Data#ignore_first|ignore first]] five data points, then take the [[../Data#median|median]] of the rest; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l627 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the the subtest results.<br />
<br />
* reporting: test time in ms (lower is better)<br />
<br />
This test measures the performance of the Firefox about:preferences page. This test is a little different than other pageload tests in that we are loading one page (about:preferences) but also testing the loading of that same page's subcategories/panels (i.e. about:preferences#home).<br />
<br />
When simply changing the page's panel/category, that doesn't cause a new onload event as expected; therefore we had to introduce loading the 'about:blank' page in between each page category; that forces the entire page to reload with the specified category panel activated.<br />
<br />
For that reason, when new panels/categories are added to the 'about:preferences' page, it can be expected that a performance regression may be introduced, even if a subtest hasn't been added for that new page category yet.<br />
<br />
This test should only ever have 1 pagecycle consisting of the main about-preferences page and each category separated by an about:blank between. Then repeats are achieved by using 25 cycles (instead of pagecycles).<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;preferences;346;141;143;150;136;143;153;140;154;156;143;154;146;147;151;166;140;146;140;144;144;156;154;150;140<br />
2;preferences#search;164;142;133;141;141;141;142;140;131;146;131;140;131;131;139;142;140;144;146;143;143;142;142;137;143<br />
3;preferences#privacy;179;159;166;177;173;153;148;154;168;155;164;155;152;157;149;155;156;186;149;156;160;151;158;168;157<br />
4;preferences#sync;148;156;140;137;159;139;143;145;138;130;145;142;141;133;146;141;147;143;146;146;139;144;142;151;156<br />
5;preferences#home;141;111;130;131;138;128;133;122;138;138;131;139;139;132;133;141;143;139;138;135;136;128;134;140;135<br />
</pre><br />
|}<br />
<br />
== ARES-6 ==<br />
* contact: :jandem<br />
* source: [https://searchfox.org/mozilla-central/source/third_party/webkit/PerformanceTests/ARES-6 ARES-6]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: 6 cycles of the entire benchmark<br />
** [https://searchfox.org/mozilla-central/source/testing/talos/talos/output.py#259 geometric mean] self reported from the benchmark<br />
* '''Lower is better'''<br />
* unit: geometric mean / benchmark score<br />
<br />
== Basic compositor video ==<br />
* contact: :davidb<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/video video]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: 12 cycles of the entire benchmark, each subtest will have 12 data points (see below)<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 11; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l522 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 24 subtest results.<br />
* '''Lower is better'''<br />
* unit: ms/frame<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|basic_compositor_video<br />
|<br />
|}<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
;0;240p.120fps.mp4_scale_fullscreen_startup;11.112;11.071;11.196;11.157;11.195;11.240;11.196;11.155;11.237;11.074;11.154;11.282<br />
;1;240p.120fps.mp4_scale_fullscreen_inclip;10.995;11.114;11.052;10.991;10.876;11.115;10.995;10.991;10.997;10.994;10.992;10.993<br />
;2;240p.120fps.mp4_scale_1_startup;1.686;1.690;1.694;1.683;1.689;1.692;1.686;1.692;1.689;1.704;1.684;1.686<br />
;3;240p.120fps.mp4_scale_1_inclip;1.666;1.666;1.666;1.668;1.667;1.669;1.667;1.668;1.668;1.667;1.667;1.669<br />
;4;240p.120fps.mp4_scale_1.1_startup;1.677;1.672;1.673;1.677;1.673;1.677;1.672;1.677;1.677;1.671;1.676;1.679<br />
;5;240p.120fps.mp4_scale_1.1_inclip;1.667;1.668;1.666;1.667;1.667;1.668;1.667;1.667;1.667;1.667;1.668;1.668<br />
;6;240p.120fps.mp4_scale_2_startup;1.927;1.908;1.947;1.946;1.902;1.932;1.916;1.936;1.921;1.896;1.908;1.894<br />
;7;240p.120fps.mp4_scale_2_inclip;1.911;1.901;1.896;1.917;1.897;1.921;1.907;1.944;1.904;1.912;1.936;1.913<br />
;8;480p.60fps.webm_scale_fullscreen_startup;11.675;11.587;11.539;11.454;11.723;11.410;11.629;11.410;11.454;11.498;11.540;11.540<br />
;9;480p.60fps.webm_scale_fullscreen_inclip;11.304;11.238;11.370;11.300;11.364;11.368;11.237;11.238;11.434;11.238;11.304;11.368<br />
;10;480p.60fps.webm_scale_1_startup;3.386;3.360;3.391;3.376;3.387;3.402;3.371;3.371;3.356;3.383;3.376;3.356<br />
;11;480p.60fps.webm_scale_1_inclip;3.334;3.334;3.329;3.334;3.334;3.334;3.334;3.334;3.334;3.335;3.334;3.334<br />
;12;480p.60fps.webm_scale_1.1_startup;3.363;3.363;3.368;3.356;3.356;3.379;3.364;3.360;3.360;3.356;3.363;3.356<br />
;13;480p.60fps.webm_scale_1.1_inclip;3.329;3.334;3.329;3.334;3.333;3.334;3.334;3.334;3.340;3.335;3.329;3.335<br />
;14;480p.60fps.webm_scale_2_startup;4.960;4.880;4.847;4.959;4.802;4.863;4.824;4.926;4.847;4.785;4.870;4.855<br />
;15;480p.60fps.webm_scale_2_inclip;4.903;4.786;4.892;4.903;4.822;4.832;4.798;4.857;4.808;4.856;4.926;4.741<br />
;16;1080p.60fps.mp4_scale_fullscreen_startup;14.638;14.495;14.496;14.710;14.781;14.853;14.639;14.637;14.707;14.637;14.711;14.636<br />
;17;1080p.60fps.mp4_scale_fullscreen_inclip;13.795;13.798;13.893;13.702;13.799;13.607;13.798;13.705;13.896;13.896;13.896;14.088<br />
;18;1080p.60fps.mp4_scale_1_startup;6.995;6.851;6.930;6.820;6.915;6.805;6.898;6.866;6.852;6.850;6.803;6.851<br />
;19;1080p.60fps.mp4_scale_1_inclip;6.560;6.625;6.713;6.601;6.645;6.496;6.624;6.538;6.539;6.497;6.580;6.558<br />
;20;1080p.60fps.mp4_scale_1.1_startup;7.354;7.230;7.195;7.300;7.266;7.283;7.196;7.249;7.230;7.230;7.212;7.264<br />
;21;1080p.60fps.mp4_scale_1.1_inclip;6.969;7.222;7.018;6.993;7.045;6.970;6.970;6.807;7.118;6.969;6.997;6.972<br />
;22;1080p.60fps.mp4_scale_2_startup;6.963;6.947;6.914;6.929;6.979;7.010;7.010245327102808;6.914;6.961;7.028;7.012;6.914<br />
;23;1080p.60fps.mp4_scale_2_inclip;6.757;6.694;6.672;6.669;6.737;6.831;6.716;6.715;6.832;6.670;6.672;6.759<br />
</pre><br />
|}<br />
<br />
== perf-reftest ==<br />
* contact: :bholley<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/perf-reftest perf-reftest]<br />
* type: [[#Page_Load_Tests|PageLoader]]<br />
* reporting: intervals in ms (lower is better)<br />
* data: each test loads 25 times<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] 5 data points, then take the [[../Data#median|median]] of the remaining 20 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l734 source: test.py]<br />
** suite: identical to subtest<br />
<br />
'''Important note:''' This test now requires an 'opt' build. If the perf-reftest is ran on a non-opt build, it will time out (more specifically on innertext-1.html, and possibly others in the future).<br />
<br />
Style system performance test suite. The perf-reftest suite is a unique talos suite where each subtest loads two different test pages: a 'base' page (i.e. bloom_basic) and a 'reference' page (i.e. bloom_basic_ref), and then compares each of the page load times against eachother to determine the variance.<br />
<br />
Talos runs each of the two pages as if they are stand-alone tests, and then calculates and reports the variance; the test output 'replicates' reported from bloom_basic are actually the comparisons between the 'base' and 'reference' pages for each page load cycle. The suite contains multiple subtests, each of which contains a base page and a reference page.<br />
<br />
If you wish to see the individual 'base' and 'reference' page results instead of just the reported difference, the 'base_replicates' and 'ref_replicates' can be found in the PERFHERDER_DATA log file output, and in the 'local.json' talos output file when running talos locally. In production, both of the page replicates are also archived in the perfherder-data.json file. The perfherder-data.json file is archived after each run in production, and can be found on the Treeherder Job Details tab when the perf-reftest job symbol is selected.<br />
<br />
This test suite was ported over from the style-perf-tests (https://github.com/heycam/style-perf-tests).<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
"replicates": [1.185, 1.69, 1.22, 0.36, 11.26, 3.835, 3.315, 1.355, 3.185, 2.485, 2.2, 1.01, 0.9, 1.22, 1.9,<br />
0.285, 1.52, 0.31, 2.58, 0.725, 2.31, 2.67, 3.295, 1.57, 0.3], "value": 1.7349999999999999, "unit": "ms",<br />
<br />
"base_replicates": [166.94000000000003, 165.16, 165.64000000000001, 165.04000000000002, 167.355, 165.175,<br />
165.325, 165.11, 164.175, 164.78, 165.555, 165.885, 166.83499999999998, 165.76500000000001, 164.375, 166.825,<br />
167.13, 166.425, 169.22500000000002, 164.955, 165.335, 164.45000000000002, 164.85500000000002, 165.005, 166.035]}],<br />
<br />
"ref_replicates": [165.755, 166.85000000000002, 166.85999999999999, 165.4, 178.615, 169.01, 168.64, 166.465,<br />
167.36, 167.265, 167.75500000000002, 166.895, 167.735, 166.985, 166.275, 166.54000000000002, 165.61, 166.115,<br />
166.64499999999998, 165.68, 167.64499999999998, 167.12, 168.15, 166.575, 166.335], <br />
</pre><br />
|}<br />
<br />
== perf-reftest-singletons ==<br />
* contact: :heycam<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/perf-reftest-singletons perf-reftest-singletons]<br />
* type: [[#Page_Load_Tests|PageLoader]]<br />
* reporting: intervals in ms (lower is better)<br />
* data: each test loads 25 times<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] 5 data points, then take the [[../Data#median|median]] of the remaining 20 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l734 source: test.py]<br />
** suite: identical to subtest<br />
<br />
Individual style system performance tests. The perf-reftest-singletons suite runs the perf-reftest 'base' pages (i.e. bloom_basic) test individually, and reports the values for that single test page alone, NOT the comparison of two different pages. There are multiple subtests in this suite, each just containing the base page on its own.<br />
<br />
This test suite was ported over from the style-perf-tests (https://github.com/heycam/style-perf-tests).<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
bloombasic.html;88.34000000000003;88.66499999999999;94.815;92.60500000000002;95.30000000000001;<br />
98.80000000000001;91.975;87.73500000000001;86.925;86.965;93.00500000000001;98.93;87.45000000000002;<br />
87.14500000000001;92.78500000000001;86.96499999999999;98.32000000000001;97.485;90.67000000000002;<br />
86.72500000000001;95.665;100.67;101.095;94.32;91.87<br />
</pre><br />
|}<br />
<br />
== cpstartup ==<br />
* contact: :mconley<br />
* measuring: Time from opening a new tab (which creates a new content process) to having that new content process be ready to load URLs.<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/cpstartup cpstartup]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* bug: {{bug|1336389}}<br />
* data: 20 cycles of the entire benchmark<br />
* '''Lower is better'''<br />
* unit: ms<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;content-process-startup;877;737;687;688;802;697;794;685;694;688;794;669;699;684;690;849;687;873;694;689<br />
</pre><br />
|}<br />
<br />
== DAMP ==<br />
* contact: :ochameau<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/devtools damp]<br />
* type: PageLoader<br />
* measuring: Developer Tools toolbox startup, shutdown, and reload performance<br />
* reporting: intervals in ms (lower is better) - see below for details<br />
* data: there are 36 reported subtests from DAMP which we load 25 times, resulting in 36 sets of 25 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 24 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l356 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 36 subtest results.<br />
<br />
To run this locally, you'll need to pull down the [[#Page_sets|tp5 page set]] and run it in a local web server. See the [[#tp5|tp5 section]].<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;simple.webconsole.open.DAMP;1198.86;354.38;314.44;337.32;344.73;339.05;345.55;358.37;314.89;353.73;324.02;339.45;304.63;335.50;316.69;341.05;353.45;353.73;342.28;344.63;357.62;375.18;326.08;363.10;357.30<br />
1;simple.webconsole.reload.DAMP;44.60;41.21;25.62;29.85;38.10;42.29;38.25;40.14;26.95;39.24;40.32;34.67;34.64;44.88;32.51;42.09;28.04;43.05;40.62;36.56;42.44;44.11;38.69;29.10;42.00<br />
2;simple.webconsole.close.DAMP;27.26;26.97;25.45;27.82;25.98;26.05;38.00;26.89;24.90;26.61;24.90;27.22;26.95;25.18;24.24;25.60;28.91;26.90;25.57;26.04;26.79;27.33;25.76;26.47;27.43<br />
3;simple.inspector.open.DAMP;507.80;442.03;424.93;444.62;412.94;451.18;441.39;435.83;441.27;460.69;440.93;413.13;418.73;443.41;413.93;447.34;434.69;459.24;453.60;412.58;445.41;466.34;441.89;417.59;428.82<br />
4;simple.inspector.reload.DAMP;169.45;165.11;163.93;181.12;167.86;164.67;170.34;173.12;165.24;180.59;176.72;187.42;170.14;190.35;176.59;155.00;151.66;174.40;169.46;163.85;190.93;217.00;186.25;181.31;161.13<br />
5;simple.inspector.close.DAMP;44.40;42.28;42.71;47.21;41.74;41.24;42.94;43.73;48.24;43.04;48.61;42.49;45.93;41.36;43.83;42.43;41.81;43.93;41.38;40.98;49.76;50.86;43.49;48.99;44.02<br />
6;simple.jsdebugger.open.DAMP;642.59;464.02;540.62;445.46;471.09;466.57;466.70;511.91;424.12;480.70;448.37;477.51;488.99;437.97;442.32;459.03;421.54;467.99;472.78;440.27;431.47;454.76;436.86;453.61;485.59<br />
7;simple.jsdebugger.reload.DAMP;51.65;55.46;225.46;53.32;58.78;53.23;54.39;51.59;55.46;48.03;50.70;46.34;230.94;53.71;54.23;53.01;61.03;51.23;51.45;293.01;56.93;51.44;59.85;63.35;57.44<br />
8;simple.jsdebugger.close.DAMP;29.12;30.76;40.34;32.09;31.26;32.30;33.95;31.89;29.68;31.39;32.09;30.36;44.63;32.33;30.16;32.43;30.89;30.85;31.99;49.86;30.94;44.63;32.54;29.79;33.15<br />
9;simple.styleeditor.open.DAMP;758.54;896.93;821.17;1026.24;887.14;867.39;927.86;962.80;740.40;919.39;741.01;925.21;807.39;1051.47;729.04;1095.78;755.03;888.70;900.52;810.30;1090.09;869.72;737.44;893.16;927.72<br />
10;simple.styleeditor.reload.DAMP;57.32;178.13;59.23;60.82;71.45;78.86;74.35;60.11;66.43;77.41;61.96;69.22;65.97;45.53;67.88;74.76;124.61;60.01;36.66;59.24;65.01;165.68;34.61;69.02;71.42<br />
11;simple.styleeditor.close.DAMP;28.28;56.50;36.18;30.00;36.32;34.85;35.33;36.24;25.45;36.72;26.53;36.90;28.88;30.94;26.56;31.34;47.79;30.90;30.52;27.95;30.75;56.28;26.76;30.25;37.42<br />
12;simple.performance.open.DAMP;444.28;357.87;331.17;335.16;585.71;402.99;504.58;466.95;272.98;427.54;345.60;441.53;319.99;327.91;312.94;349.79;399.51;465.60;418.42;295.14;362.06;363.11;445.71;634.96;500.83<br />
13;simple.performance.reload.DAMP;38.07;33.44;35.99;70.57;64.04;106.47;148.31;29.60;68.47;28.95;148.46;75.92;32.15;93.72;36.17;44.13;75.11;154.76;98.28;75.16;29.39;36.68;113.16;64.05;135.60<br />
14;simple.performance.close.DAMP;23.98;25.49;24.19;24.61;27.56;40.33;33.85;25.13;22.62;25.28;41.84;25.09;26.39;25.20;23.76;25.44;25.92;30.40;40.77;25.41;24.57;26.15;43.65;28.54;30.16<br />
15;simple.netmonitor.open.DAMP;438.85;350.64;318.04;329.12;341.91;352.33;344.05;334.15;514.57;327.95;471.50;334.55;344.94;364.39;727.56;374.48;339.45;344.31;345.61;329.78;325.74;334.74;350.36;342.85;344.64<br />
16;simple.netmonitor.reload.DAMP;59.68;47.50;69.37;61.18;76.89;83.22;68.11;81.24;56.15;68.20;32.41;81.22;81.62;44.30;39.52;29.60;86.07;71.18;76.32;79.93;79.63;82.15;83.58;87.04;82.97<br />
17;simple.netmonitor.close.DAMP;38.42;39.32;52.56;43.37;48.08;40.62;51.12;41.11;59.54;43.29;41.72;40.85;51.61;49.61;51.39;44.91;40.36;41.10;45.43;42.15;42.63;40.69;41.21;44.04;41.95<br />
18;complicated.webconsole.open.DAMP;589.97;505.93;480.71;530.93;460.60;479.63;485.33;489.08;605.28;457.12;463.95;493.28;680.05;478.72;504.47;578.69;488.66;485.34;504.94;460.67;548.38;474.98;470.33;471.34;464.58<br />
19;complicated.webconsole.reload.DAMP;2707.20;2700.17;2596.02;2728.09;2905.51;2716.65;2657.68;2707.74;2567.86;2726.36;2650.92;2839.14;2620.34;2718.36;2595.22;2686.28;2703.48;2609.75;2686.41;2577.93;2634.47;2745.56;2655.89;2540.09;2649.18<br />
20;complicated.webconsole.close.DAMP;623.56;570.80;636.63;502.49;565.83;537.93;525.46;565.78;532.90;562.66;525.42;490.88;611.99;486.45;528.60;505.35;480.55;500.75;532.75;480.91;488.69;548.77;535.31;477.92;519.84<br />
21;complicated.inspector.open.DAMP;1233.26;753.57;742.74;953.11;653.29;692.66;653.75;767.02;840.68;707.56;713.95;685.79;690.21;1020.47;685.67;721.69;1063.72;695.55;702.15;760.91;853.14;660.12;729.16;1044.86;724.34<br />
22;complicated.inspector.reload.DAMP;2384.90;2436.35;2356.11;2436.58;2372.96;2558.86;2543.76;2351.03;2411.95;2358.04;2413.27;2339.85;2373.11;2338.94;2418.88;2360.87;2349.09;2498.96;2577.73;2445.07;2354.88;2424.90;2696.10;2362.39;2493.29<br />
23;complicated.inspector.close.DAMP;541.96;509.38;476.91;456.48;545.48;634.04;603.10;488.09;599.20;480.45;617.93;420.39;514.92;439.99;727.41;469.04;458.59;539.74;611.55;725.03;473.36;484.60;481.46;458.93;554.76<br />
24;complicated.jsdebugger.open.DAMP;644.97;578.41;542.23;595.94;704.80;603.08;689.18;552.99;597.23;584.17;682.14;758.16;791.71;738.43;640.30;809.26;704.85;601.32;696.10;683.44;796.34;657.25;631.89;739.96;641.82<br />
25;complicated.jsdebugger.reload.DAMP;2676.82;2650.84;2687.78;2401.23;3421.32;2450.91;2464.13;2286.40;2399.40;2415.97;2481.48;2827.69;2652.03;2554.63;2631.36;2443.83;2564.73;2466.22;2597.57;2552.73;2539.42;2481.21;2319.50;2539.00;2576.43<br />
26;complicated.jsdebugger.close.DAMP;795.68;616.48;598.88;536.77;435.02;635.61;558.67;841.64;613.48;886.60;581.38;580.96;571.40;605.34;671.00;882.02;619.01;579.63;643.05;656.78;699.64;928.99;549.76;560.96;676.32<br />
27;complicated.styleeditor.open.DAMP;2327.30;2494.19;2190.29;2205.60;2198.11;2509.01;2189.79;2532.05;2178.03;2207.75;2224.96;2665.84;2294.40;2645.44;2661.41;2364.60;2395.36;2582.72;2872.03;2679.29;2561.24;2330.11;2580.16;2510.36;2860.83<br />
28;complicated.styleeditor.reload.DAMP;2218.46;2335.18;2284.20;2345.05;2286.98;2453.47;2506.97;2661.19;2529.51;2289.78;2564.15;2608.24;2270.77;2362.17;2287.31;2300.19;2331.56;2300.86;2239.27;2231.33;2476.14;2286.28;2583.24;2540.29;2259.67<br />
29;complicated.styleeditor.close.DAMP;302.67;343.10;313.15;305.60;317.92;328.44;350.70;370.12;339.77;308.72;312.71;320.63;305.52;316.69;324.92;306.60;313.65;312.17;326.26;321.45;334.56;307.38;312.95;350.94;339.36<br />
30;complicated.performance.open.DAMP;477.99;537.96;564.85;515.05;502.03;515.58;492.80;689.06;448.76;588.91;509.76;485.39;548.17;479.14;638.67;535.86;541.61;611.52;554.72;665.37;694.04;470.60;746.16;547.85;700.02<br />
31;complicated.performance.reload.DAMP;2258.31;2345.74;2509.24;2579.71;2367.94;2365.94;2260.86;2324.23;2579.01;2412.63;2540.38;2069.80;2534.91;2443.48;2193.01;2442.99;2422.42;2475.35;2076.48;2092.95;2444.53;2353.86;2154.28;2354.61;2104.82<br />
32;complicated.performance.close.DAMP;334.44;516.66;432.49;341.29;309.30;365.20;332.16;311.42;370.81;301.81;381.13;299.39;317.60;314.10;372.44;314.76;306.24;349.85;382.08;352.53;309.40;298.44;314.10;315.44;405.22<br />
33;complicated.netmonitor.open.DAMP;469.70;597.87;468.36;823.09;696.39;477.19;487.78;495.92;587.89;471.48;555.02;507.45;883.33;522.15;756.86;713.64;593.82;715.13;477.15;717.85;586.79;556.97;631.43;629.55;581.16<br />
34;complicated.netmonitor.reload.DAMP;4033.55;3577.36;3655.61;3721.24;3874.29;3977.92;3778.62;3825.60;3984.65;3707.91;3985.24;3565.21;3702.40;3956.70;3627.14;3916.11;3929.11;3934.06;3590.60;3628.39;3618.84;3579.52;3953.04;3781.01;3682.69<br />
35;complicated.netmonitor.close.DAMP;1042.98;920.21;928.19;940.38;950.25;1043.61;1078.16;1077.38;1132.91;1095.05;1176.31;1256.83;1143.14;1234.61;1248.97;1242.29;1378.63;1312.74;1371.48;1373.15;1544.55;1422.51;1549.48;1616.55;1506.58<br />
</pre><br />
|}<br />
<br />
== displaylist_mutate ==<br />
* contact: :mattwoodrow<br />
* source: [[https://searchfox.org/mozilla-central/source/testing/talos/talos/tests/layout/benchmarks/displaylist_mutate.html displaylist_mutate.html]]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: we load the displaylist_mutate.html page five times, measuring pageload each time, generating 5 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 4; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l986 source: test.py]<br />
<br />
This measures the amount of time it takes to render a page after changing its display list. The page has a large number of display list items (10,000), and mutates one every frame. The goal of the test is to make displaylist construction a bottleneck, rather than painting or other factors, and thus improvements or regressions to displaylist construction will be visible. The test runs in ASAP mode to maximize framerate, and the result is how quickly the test was able to mutate and re-paint 600 items, one during each frame.<br />
<br />
== Dromaeo ==<br />
Dromaeo suite of tests for JavaScript performance testing. See the [[Dromaeo|Dromaeo wiki]] for more information.<br />
<br />
This suite is divided into several sub-suites. <br />
<br />
Each sub-suite is divided into tests, and each test is divided into sub-tests. Each sub-test takes some (in theory) fixed piece of work and measures how many times that piece of work can be performed in one second. The score for a test is then the geometric mean of the runs/second numbers for its sub-tests. The score for a sub-suite is the geometric mean of the scores for its tests.<br />
<br />
=== Dromaeo CSS ===<br />
* contact: :bz<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/dromaeo css.manifest]<br />
* type: PageLoader<br />
* reporting: speed in test runs per second (higher is better)<br />
* data: Dromaeo has 6 subtests which run internal benchmarks, each benchmark reports about 180 raw data points each<br />
summarization:<br />
* subtest: Dromaeo is a custom benchmark which has a lot of micro tests inside each subtest, because of this we use a custom [[../Data#dromaeo|dromaeo filter]] to summarize the subtest. Each micro test produces 5 data points and for each 5 data points we take the mean, leaving 36 data points to represent the subtest (assuming 180 points). These 36 micro test means, are then run through a geometric_mean to produce a single number for the dromaeo subtest. [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l527 source: filter.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 6 subtest results.<br />
<br />
Each page in the manifest is part of the dromaeo css benchmark. Each page measures the performance of searching the DOM for nodes matching various CSS selectors, using different libraries for the selector implementation (jQuery, Dojo, Mootools, ExtJS, Prototype, and Yahoo UI).<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;dojo.html;2209.83;2269.68;2275.47;2278.83;2279.81;4224.43;4344.96;4346.74;4428.69;4459.82;4392.80;4396.38;4412.54;4414.34;4415.62;3909.94;4027.96;4069.08;4099.63;4099.94;4017.70;4018.96;4054.25;4068.74;4081.31;3825.10;3984.20;4053.23;4074.59;4106.63;3893.88;3971.80;4031.15;4046.68;4048.31;3978.24;4010.16;4046.66;4051.68;4056.37;4189.50;4287.98;4390.98;4449.89;4450.20;4536.23;4557.82;4588.40;4662.58;4664.42;4675.51;4693.13;4743.72;4758.12;4764.67;4138.00;4251.60;4346.22;4410.12;4417.23;4677.53;4702.48;4714.62;4802.59;4805.33;4445.07;4539.91;4598.93;4605.45;4618.79;4434.40;4543.09;4618.56;4683.98;4689.51;4485.26;4496.75;4511.23;4600.86;4602.08;4567.52;4608.33;4615.56;4619.31;4622.79;3469.44;3544.11;3605.80;3647.74;3658.56;3101.88;3126.41;3147.73;3159.92;3170.73;3672.28;3686.40;3730.74;3748.89;3753.59;4411.71;4521.50;4633.98;4702.72;4708.76;3626.62;3646.71;3713.07;3713.13;3718.91;3846.17;3846.25;3913.61;3914.63;3916.22;3982.88;4112.98;4132.26;4194.92;4201.54;4472.64;4575.22;4644.74;4645.42;4665.51;4120.13;4142.88;4171.29;4208.43;4211.03;4405.36;4517.89;4537.50;4637.77;4644.28;4548.25;4581.20;4614.54;4658.42;4671.09;4452.78;4460.09;4494.06;4521.30;4522.37;4252.81;4350.72;4364.93;4441.40;4492.78;4251.34;4346.70;4355.00;4358.89;4365.72;4494.64;4511.03;4582.11;4591.79;4592.36;4207.54;4308.94;4309.14;4406.71;4474.46<br />
1;ext.html;479.65;486.21;489.61;492.94;495.81;24454.14;33580.33;34089.15;34182.83;34186.15;34690.83;35050.30;35051.30;35071.65;35099.82;5758.22;5872.32;6389.62;6525.38;6555.57;8303.96;8532.96;8540.91;8544.00;8571.49;8360.79;8408.79;8432.96;8447.28;8447.83;5817.71;5932.67;8371.83;8389.20;8643.44;7983.80;8073.27;8073.84;8076.48;8078.15;24596.00;32518.84;32787.34;32830.51;32861.00;2220.87;2853.84;3333.53;3345.17;3445.47;24785.75;24971.75;25044.25;25707.61;25799.00;2464.69;2481.89;2527.57;2534.65;2534.92;217793.00;219347.90;219495.00;220059.00;297168.00;40556.19;53062.47;54275.73;54276.00;54440.37;50636.75;50833.49;50983.49;51028.49;51032.74;10746.36;10972.45;11450.37;11692.18;11797.76;8402.58;8415.79;8418.66;8426.75;8428.16;16768.75;16896.00;16925.24;16945.58;17018.15;7047.68;7263.13;7313.16;7337.38;7383.22;713.88;723.72;751.47;861.35;931.00;25454.36;25644.90;25801.87;25992.61;25995.00;819.89;851.23;852.00;886.59;909.89;14325.79;15064.92;15240.39;15431.23;15510.61;452382.00;458194.00;458707.00;459226.00;459601.00;45699.54;46244.54;46270.54;46271.54;46319.00;1073.94;1080.66;1083.35;1085.84;1087.74;26622.33;27807.58;27856.72;28040.58;28217.86;37229.81;37683.81;37710.81;37746.62;37749.81;220386.00;222903.00;240808.00;247394.00;247578.00;25567.00;25568.49;25610.74;25650.74;25710.23;26466.21;28718.71;36175.64;36529.27;36556.00;26676.00;30757.69;31965.84;34521.83;34622.65;32791.18;32884.00;33194.83;33720.16;34192.66;32150.36;32520.02;32851.18;32947.18;33128.01;29472.85;30214.09;30708.54;30999.23;32879.51;23822.88;23978.28;24358.88;24470.88;24515.51<br />
2;jquery.html;285.42;288.57;292.66;293.75;294.14;10313.00;10688.20;13659.11;13968.65;14003.93;13488.39;13967.51;13980.79;14545.13;15059.77;4361.37;4488.35;4489.44;4492.24;4496.69;3314.32;3445.07;4412.51;5020.75;5216.66;5113.49;5136.56;5141.31;5143.87;5156.28;5055.95;5135.02;5138.64;5215.82;5226.48;4550.98;4551.59;4553.07;4557.77;4559.16;18339.63;18731.53;18738.63;18741.16;18806.15;1474.99;1538.31;1557.52;1703.67;1772.16;12209.94;12335.44;12358.32;12516.50;12651.94;1520.94;1522.62;1541.37;1584.71;1642.50;57533.00;59169.41;59436.11;59758.70;59872.40;8669.13;8789.34;8994.37;9016.05;9064.95;11047.39;11058.39;11063.78;11077.89;11082.78;6401.81;6426.26;6504.35;6518.25;6529.61;6250.22;6280.65;6304.59;6318.91;6328.72;5144.28;5228.40;5236.21;5271.26;5273.79;1398.91;1450.05;1456.39;1494.66;1519.42;727.85;766.62;844.35;858.49;904.87;9912.55;10249.54;14936.71;16566.50;16685.00;378.04;381.34;381.44;385.67;387.23;5362.60;5392.78;5397.14;5497.12;5514.83;213309.00;318297.00;320682.00;322681.00;322707.00;56357.44;67892.66;68329.66;68463.32;69506.00;418.91;424.49;425.19;425.28;426.40;9363.39;9559.95;9644.00;9737.07;9752.80;33170.83;33677.33;34950.83;35607.47;35765.82;44079.34;44588.55;45396.00;46309.00;46427.30;6302.87;6586.51;6607.08;6637.44;6642.17;9776.17;9790.46;9931.90;10391.79;10392.43;8739.26;8838.38;8870.20;8911.50;8955.15;8422.83;8786.21;8914.00;9135.82;9145.36;8945.28;9028.37;9035.23;9116.64;9137.86;6433.90;6688.73;6822.11;6830.08;6833.90;8575.23;8599.87;8610.91;8655.65;9123.91<br />
3;mootools.html;1161.69;1333.31;1425.89;1500.37;1557.37;6706.93;7648.46;8020.04;8031.36;8049.64;7861.80;7972.40;7978.12;7993.32;7993.88;1838.83;1862.93;1864.11;1866.28;1866.71;1909.93;1921.83;1928.53;1954.07;1969.98;1808.68;1820.01;1821.30;1825.92;1826.91;1849.07;1904.99;1908.26;1911.24;1912.50;1856.86;1871.78;1873.72;1878.54;1929.57;6506.67;6752.73;7799.22;7830.41;7855.18;4117.18;4262.42;4267.30;4268.27;4269.62;2720.56;2795.36;2840.08;2840.79;2842.62;699.12;703.75;774.36;791.73;798.18;11096.22;11126.39;11132.72;11147.16;11157.44;3934.33;4067.37;4140.94;4149.75;4150.38;9042.82;9077.46;9083.55;9084.41;9086.41;4431.47;4432.84;4437.33;4438.40;4440.44;3935.67;3937.31;3937.43;3940.53;3976.68;3247.17;3307.90;3319.90;3323.32;3330.60;1001.90;1016.87;1021.12;1021.67;1022.05;1016.34;1019.09;1036.62;1056.81;1057.76;7345.56;7348.56;7391.89;7393.85;7406.30;374.27;392.53;394.73;397.28;398.26;5588.58;5653.21;5655.07;5659.15;5660.66;9775.41;9860.51;9938.40;9959.85;9968.45;9733.42;9904.31;9953.05;9960.55;9967.20;6399.26;6580.11;7245.93;7336.96;7386.78;7162.00;7245.49;7249.38;7250.75;7304.63;8458.24;8583.40;8651.57;8717.39;8742.39;8896.42;8904.60;8927.96;8960.73;8961.82;7483.48;7747.77;7763.46;7766.34;7773.07;7784.00;7821.41;7827.18;7849.18;7855.49;7012.16;7141.57;7250.09;7253.13;7335.89;6977.97;7015.51;7042.40;7204.35;7237.20;7160.46;7293.23;7321.27;7321.82;7331.16;6268.69;6324.11;6325.78;6328.56;6342.40;6554.54;6625.30;6646.00;6650.30;6674.90<br />
4;prototype.html;237.05;251.94;256.61;259.65;263.52;4488.53;4676.88;4745.24;4745.50;4748.81;4648.47;4660.21;4666.58;4671.88;4677.32;3602.84;3611.40;3613.69;3615.69;3619.15;3604.41;3619.44;3623.24;3627.66;3628.11;3526.59;3589.35;3615.93;3616.35;3622.80;3624.69;3626.84;3628.47;3631.22;3632.15;3184.76;3186.11;3187.16;3187.78;3189.35;4353.43;4466.46;4482.57;4616.72;4617.88;4012.18;4034.84;4047.07;4047.82;4055.29;4815.11;4815.21;4816.11;4817.08;4820.40;3300.31;3345.18;3369.55;3420.98;3447.97;5026.99;5033.82;5034.50;5034.95;5038.97;3516.72;3520.79;3520.95;3521.81;3523.47;3565.29;3574.23;3574.37;3575.82;3578.37;4045.19;4053.51;4056.76;4058.76;4059.00;4714.67;4868.66;4869.66;4873.54;4878.29;1278.20;1300.92;1301.13;1301.17;1302.47;868.94;871.16;878.50;883.40;884.85;3874.71;3878.44;3881.61;3882.67;3886.92;4959.83;4968.45;4969.50;4971.38;4972.30;3862.69;3870.15;3871.79;3873.83;3878.07;2690.15;2711.66;2714.42;2715.39;2715.89;4349.04;4349.63;4351.33;4353.59;4355.46;4950.95;5101.08;5107.69;5120.21;5120.39;4336.63;4360.76;4361.96;4362.28;4365.43;4928.75;4939.41;4939.56;4943.95;4966.78;4869.03;4886.24;4888.85;4889.14;4895.76;4362.39;4362.78;4363.96;4365.00;4365.08;3408.00;3470.03;3476.37;3546.65;3547.34;4905.73;4926.21;4926.70;4926.93;4929.43;4682.88;4694.91;4696.30;4697.06;4699.69;4688.86;4691.25;4691.46;4698.37;4699.41;4628.07;4631.31;4633.42;4634.00;4636.00;4699.44;4796.02;4808.83;4809.95;4813.52;4719.10;4720.41;4722.95;4723.03;4723.53<br />
5;yui.html;569.72;602.22;627.02;647.49;692.84;9978.30;10117.54;10121.70;10129.75;10137.24;9278.68;9291.44;9349.00;9370.53;9375.86;475.79;481.92;606.51;607.42;618.73;617.68;618.89;623.30;626.58;631.85;501.81;649.76;653.22;655.69;656.71;510.62;645.56;657.42;657.88;658.39;475.53;476.77;476.80;476.92;476.96;9895.16;9976.15;9988.25;9989.85;9996.40;9483.15;9545.75;9676.37;9808.51;10360.22;8331.29;8397.87;8538.06;8714.69;8803.78;2748.93;2800.93;2802.59;2857.33;2864.46;33757.16;33804.83;33859.32;33931.00;33991.32;7818.65;7846.92;7892.09;8170.55;8217.75;13691.38;13692.86;13693.25;13698.73;13706.66;5378.70;5517.83;5615.86;5616.16;5624.00;2985.63;3002.97;3003.07;3037.73;3038.87;2459.10;2502.52;2504.91;2507.07;2507.26;396.62;405.78;411.43;412.03;412.56;543.45;550.75;568.50;578.59;592.25;6762.21;6901.72;6984.27;7064.22;7122.29;454.78;519.40;539.29;543.96;566.16;3235.39;3266.13;3453.26;3498.79;3518.54;39079.22;39722.80;41350.59;41422.38;41540.17;34435.14;34606.31;34623.31;34661.00;34672.48;29449.12;29530.11;30507.24;31938.52;31961.52;7449.33;7524.62;7629.73;7712.96;7796.42;22917.43;23319.00;23441.41;23582.88;23583.53;29780.40;30272.55;31761.00;31765.84;31839.36;6112.45;6218.35;6476.68;6603.54;6793.66;10385.79;10471.69;10518.53;10552.74;10644.95;9563.52;9571.33;9617.09;9946.35;9976.80;9406.11;9518.48;9806.46;10102.44;10173.19;9482.43;9550.28;9878.21;9902.90;9951.45;8343.17;8511.00;8606.00;8750.21;8869.29;8234.96;8462.70;8473.49;8499.58;8808.91<br />
</pre><br />
|}<br />
<br />
=== Dromaeo DOM (Linux64 only) ===<br />
* contact: :bz<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/dromaeo dom.manifest]<br />
* type: PageLoader<br />
* data: see Dromaeo DOM<br />
* reporting: speed in test runs per second (higher is better)<br />
<br />
Each page in the manifest is part of the dromaeo dom benchmark. These are the specific areas that Dromaeo DOM covers:<br />
<br />
==== DOM Attributes ====<br />
Measures performance of getting and setting a DOM attribute, both via <code>getAttribute</code> and via a reflecting DOM property. Also throws in some expando getting/setting for good measure.<br />
<br />
==== DOM Modification ====<br />
Measures performance of various things that modify the DOM tree: creating element and text nodes and inserting them into the DOM.<br />
<br />
==== DOM Query ====<br />
Measures performance of various methods of looking for nodes in the DOM: <code>getElementById</code>, <code>getElementsByTagName</code>, and so forth.<br />
<br />
==== DOM Traversal ====<br />
Measures performance of various accessors (<code>childNodes</code>, <code>firstChild</code>, etc) that would be used when doing a walk over the DOM tree.<br />
<br />
Please see [[#Dromaeo CSS]] for examples of data.<br />
<br />
== glterrain ==<br />
* contact: :jgilbert<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/webgl/benchmarks/terrain glterrain]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: we load the perftest.html page (which generates 4 metrics to track) 25 times, resulting in 4 sets of 25 data points<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 24; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l381 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 4 subtest results.<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|glterrain<br />
|Measures average frames interval while animating a simple WebGL scene<br />
|}<br />
<br />
This tests animates a simple WebGL scene (static textured landscape, one moving light source, rotating viewport) and measure the frames throughput (expressed as average interval) over 100 frames. It runs in ASAP mode (vsync off) and measures the same scene 4 times - for all combination of antialiasing and alpha. It reports the results as 4 values - one for each combination. Lower results are better.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;0.WebGL-terrain-alpha-no-AA-no;19.8189;20.57185;20.5069;21.09645;20.40045;20.89025;20.34285;20.8525;20.45845;20.6499;19.94505;20.05285;20.316049;19.46745;19.46135;20.63865;20.4789;19.97015;19.9546;20.40365;20.74385;20.828649;20.78295;20.51685;20.97069<br />
1;1.WebGL-terrain-alpha-no-AA-yes;23.0464;23.5234;23.34595;23.40609;22.54349;22.0554;22.7933;23.00685;23.023649;22.51255;23.25975;23.65819;22.572249;22.9195;22.44325;22.95015;23.3567;23.02089;22.1459;23.04545;23.09235;23.40855;23.3296;23.18849;23.273249<br />
2;2.WebGL-terrain-alpha-yes-AA-no;24.01795;23.889449;24.2683;24.34649;23.0562;24.02275;23.54819;24.1874;23.93545;23.53629;23.305149;23.62459;24.01589;24.06405;24.143449;23.998549;24.08205;24.26989;24.0736;24.2346;24.01145;23.7817;23.90785;24.7118;24.2834<br />
3;3.WebGL-terrain-alpha-yes-AA-yes;25.91375;25.87005;25.64875;25.15615;25.5475;24.497449;24.56385;25.57529;25.54889;26.31559;24.143949;25.09895;24.75049;25.2087;25.52385;25.9017;25.4439;24.3495;25.9269;25.734449;26.4126;25.547449;25.667249;25.679349;25.9565<br />
</pre><br />
|}<br />
<br />
== glvideo ==<br />
* contact: :jgilbert<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/webgl/benchmarks/video glvideo]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: 5 cycles of the entire benchmark, each subtest will have 5 data points (see below)<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 4; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l522 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 4 subtest results.<br />
<br />
* '''Lower is better'''<br />
* unit: ms/100 ticks<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|glvideo<br />
|WebGL video texture update with 1080p video. Measures mean tick time across 100 ticks.<br />
|}<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;Mean tick time across 100 ticks: ;54.6916;49.0534;51.21645;51.239650000000005;52.44295<br />
</pre><br />
|}<br />
<br />
This test playbacks a video file and ask WebGL to draw video frames as WebGL textures for 100 ticks. It collects the mean tick time across 100 ticks to measure how much time it will spend for a video texture upload to be a WebGL texture (gl.texImage2D). We run it for 5 times and ignore the first found. Lower results are better.<br />
<br />
== jetstream ==<br />
* contact: :jandem<br />
* source: [[https://searchfox.org/mozilla-central/source/testing/talos/talos/tests/jetstream/jetstream.manifest jetstream.manifest]] and jetstream.zip from tooltool<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* measuring: JavaScript performance<br />
* reporting: geometric mean from the benchmark<br />
* data: internal benchmark<br />
** suite: [https://searchfox.org/mozilla-central/source/testing/talos/talos/output.py#259 geometric mean] provided by the benchmark<br />
<br />
This is the [http://browserbench.org/JetStream/in-depth.html JetStream] javascript benchmark taken verbatim and slightly modified to fit into our pageloader extension and talos harness.<br />
<br />
== kraken ==<br />
* contact: :sdetar<br />
* source: [[https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/kraken kraken.manifest]]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* measuring: JavaScript performance<br />
* reporting: Total time for all tests, in ms (lower is better)<br />
* data: there are 14 subtests in kraken, each subtest is an internal benchmark and generates 10 data points, or 14 sets of 10 data points.<br />
* summarization:<br />
** subtest: For all of the 10 data points, we take the [[../Data#mean|mean]] to report a single number.<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 14 subtest results.<br />
<br />
This is the [[Kraken]] javascript benchmark taken verbatim and slightly modified to fit into our pageloader extension and talos harness.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;ai-astar;100;95;98;102;101;99;97;98;98;102<br />
1;audio-beat-detection;147;147;191;173;145;139;186;143;183;140<br />
2;audio-dft;161;156;158;157;160;158;160;160;159;158<br />
3;audio-fft;82;83;83;154;83;83;82;83;160;82<br />
4;audio-oscillator;96;96;141;95;95;95;129;96;95;134<br />
5;imaging-gaussian-blur;116;115;116;115;115;115;115;115;117;116<br />
6;imaging-darkroom;166;164;166;165;166;166;165;165;165;166<br />
7;imaging-desaturate;87;87;87;87;88;87;88;87;87;87<br />
8;json-parse-financial;75;77;77;76;77;76;77;76;77;77<br />
9;json-stringify-tinderbox;79;79;80;79;78;79;79;78;79;79<br />
10;stanford-crypto-aes;98;97;96;98;98;98;98;98;113;95<br />
11;stanford-crypto-ccm;130;138;130;127;137;134;134;132;147;129<br />
12;stanford-crypto-pbkdf2;176;187;183;183;176;174;181;187;175;173<br />
13;stanford-crypto-sha256-iterative;86;85;83;84;86;85;85;86;83;83<br />
</pre><br />
|}<br />
<br />
== motionmark ==<br />
* contact: :davidb<br />
* source: [[https://searchfox.org/mozilla-central/source/third_party/webkit/PerformanceTests/MotionMark source]] [[https://searchfox.org/mozilla-central/source/testing/talos/talos/tests/motionmark manifests]]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* measuring: benchmark measuring the time to animate complex scenes<br />
* summarization:<br />
** subtest: FPS from the subtest, each subtest is run for 15 seconds, repeat this 5 times and report the median value<br />
** suite: we take a geometric mean of all the subtests (9 for animometer, 11 for html suite)<br />
<br />
== motionmark_webgl ==<br />
* contact: :jgilbert<br />
* source: [[https://searchfox.org/mozilla-central/source/third_party/webkit/PerformanceTests/MotionMark source]] [[https://searchfox.org/mozilla-central/source/testing/talos/talos/tests/motionmark/webgl.manifest manifest]]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* measuring: Draw call performance in WebGL<br />
* summarization:<br />
** subtest: FPS from the subtest, each subtest is run once for 15 seconds, report the average FPS over that time.<br />
** suite: identical to subtest<br />
<br />
== pdfpaint ==<br />
* contact: :bdahl<br />
* source: <br />
* type: PageLoader<br />
* reporting: time from ''performance.timing.navigationStart'' to ''pagerendered'' event in ms (lower is better)<br />
* data: load a PDF 20 times<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|pdfpaint<br />
| <br />
|}<br />
<br />
== rasterflood_svg ==<br />
* contact: :rhunt<br />
* source: [https://searchfox.org/mozilla-central/source/testing/talos/talos/tests/gfx/benchmarks/rasterflood_svg.html rasterflood_svg.html]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: we load the rasterflood_svg.html page ten times, measuring pageload each time, generating 10 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 9; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l986 source: test.py]<br />
<br />
This page animates some complex SVG patterns in a requestAnimationFrame callback. However, it also churns the CPU during each callback, spinning an empty loop for 14ms each frame. The intent is that, if we consider the rasterization costs to be 0, then the animation should run close to 60fps. Otherwise it will lag. Since rasterization costs are not 0, the lower we can get them, the faster the test will run. The test runs in ASAP mode to maximize framerate. The result is how quickly the browser is able to render 600 frames of the animation.<br />
<br />
Improvements (or regressions) to general painting performance or SVG are likely to affect this benchmark.<br />
<br />
== rasterflood_gradient ==<br />
* contact: :rhunt<br />
* source: [https://searchfox.org/mozilla-central/source/testing/talos/talos/tests/gfx/benchmarks/rasterflood_gradient.html rasterflood_gradient.html]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: we load the rasterflood_gradient.html page ten times, computing a score each time, generating 10 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 9; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l986 source: test.py]<br />
<br />
This page animates some complex gradient patterns in a requestAnimationFrame callback. However, it also churns the CPU during each callback, spinning an empty loop for 14ms each frame. The intent is that, if we consider the rasterization costs to be 0, then the animation should run close to 60fps. Otherwise it will lag. Since rasterization costs are not 0, the lower we can get them, the faster the test will run. The test runs in ASAP mode to maximize framerate.<br />
<br />
The test runs for 10 seconds, and the resulting score is how many frames we were able to render during that time. Higher is better. Improvements (or regressions) to general painting performance or gradient rendering will affect this benchmark.<br />
<br />
== sessionrestore ==<br />
* contact: :mikedeboer, :mconley, :felipe<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/startup_test/sessionrestore talos/sessionrestore]<br />
* bug: {{bug|936630}}, {{bug|1331937}}, {{bug|1531520}}<br />
* type: Startup<br />
* measuring: time spent reading and restoring the session.<br />
* reporting: interval in ms (lower is better).<br />
* data: we load the session restore index page 10 times to collect 1 set of 10 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 9 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l305 source: test.py]<br />
** suite: identical to subtest<br />
<br />
Three tests measure the time spent reading and restoring the session from a valid sessionstore.js. Time is counted from the ''process start'' until the ''sessionRestored'' event.<br />
<br />
In ''sessionrestore'', this is tested with a configuration that requires the session to be restored. In ''sessionrestore_no_auto_restore'', this is tested with a configuration that requires the session to not be restored. Both of the above tests use a sessionstore.js file that contains one window and roughly 89 tabs. In ''sessionrestore_many_windows'', this is tested with a sessionstore.js that contains 3 windows and 130 tabs. The first window contains 50 tabs, 80 remaning tabs are divided equally between the second and the third window.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
[2362.0, 2147.0, 2171.0, 2134.0, 2116.0, 2145.0, 2141.0, 2141.0, 2136.0, 2080.0]<br />
</pre><br />
|}<br />
<br />
== sessionrestore_no_auto_restore ==<br />
See [[#sessionrestore]].<br />
<br />
== sessionrestore_many_windows ==<br />
See [[#sessionrestore]].<br />
<br />
== stylebench ==<br />
* contact: :emilio<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/stylebench/stylebench.manifest stylebench.manifest]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* measuring: speed of dynamic style recalculation<br />
* reporting: runs/minute score<br />
<br />
== startup_about_home_paint ==<br />
* contact: :mconley<br />
* source: [[https://hg.mozilla.org/mozilla-central/file/tip/testing/talos/talos/startup_test/startup_about_home_paint/addon/]]<br />
* type: Startup<br />
* measuring: The time from process start to the point where the about:home page reports that it has painted the Top Sites.<br />
* data: we load restart the browser 20 times, and collect a timestamp for each run.<br />
* reporting: test time in ms (lower is better)<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
[1503.0, 1497.0, 1523.0, 1536.0, 1511.0, 1485.0, 1594.0, 1580.0, 1531.0, 1471.0, 1502.0, 1520.0, 1488.0, 1533.0, 1531.0, 1502.0, 1486.0, 1489.0, 1487.0, 1475.0]<br />
</pre><br />
|}<br />
<br />
== tabpaint ==<br />
* contact: :mconley<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/tabpaint tabpaint]<br />
* bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1253382<br />
* type: Pageloader<br />
* measuring: <br />
** The time it takes to paint the content of a newly opened tab when the tab is opened from the parent (ex: by hitting Ctrl-T)<br />
** The time it takes to paint the content of a newly opened tab when the tab is opened from content (ex: by clicking on a target="_blank" link)<br />
* '''NOT''' measuring:<br />
** The time it takes to animate the tabs. That's the responsibility of the TART test. tabpaint is strictly concerned with the painting of the web content.<br />
* data: we load the tabpaint trigger page 20 times, each run produces two values (the time it takes to paint content when opened from the parent, and the time it takes to paint content when opened from content), resulting in 2 sets of 20 data points.<br />
** Example:<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;tabpaint-from-parent;105;76;66;64;64;69;65;63;70;68;64;60;65;63;54;61;64;67;61;64<br />
1; tabpaint-from-content;129;68;72;72;70;78;86;85;82;79;120;92;76;80;74;82;76;89;77;85<br />
</pre><br />
|}<br />
<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 19 data points<br />
** suite: geometric_mean(subtests)<br />
<br />
== tart ==<br />
* contact: :mconley<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/tart tart]<br />
* type: PageLoader<br />
* measuring: Desktop Firefox UI animation speed and smoothness<br />
* reporting: intervals in ms (lower is better) - see below for details<br />
* data: there are 30 reported subtests from TART which we load 25 times, resulting in 30 sets of 25 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 24 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l305 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 30 subtest results.<br />
<br />
TART is the '''Tab Animation Regression Test'''.<br />
<br />
TART tests tab animation on these cases:<br />
* Simple: single new tab of about:blank open/close without affecting (shrinking/expanding) other tabs.<br />
* icon: same as above with favicons and long title instead of about:blank.<br />
* Newtab: newtab open with thumbnails preview - without affecting other tabs, with and without preload.<br />
* Fade: opens a tab, then measures fadeout/fadein (tab animation without the overhead of opening/closing a tab).<br />
** Case 1 is tested with DPI scaling of 1.<br />
** Case 2 is tested with DPI scaling of 1.0 and 2.0.<br />
** Case 3 is tested with the default scaling of the test system.<br />
** Case 4 is tested with DPI scaling of 2.0 with the "icon" tab (favicon and long title).<br />
** Each animation produces 3 test results:<br />
*** error: difference between the designated duration and the actual completion duration from the trigger.<br />
*** half: average frame interval over the 2nd half of the animation.<br />
*** all: average frame interval over all recorded intervals.<br />
*** And the run logs also include the explicit intervals from which these 3 values were derived.<br />
<br />
TART can be used as a stand-alone addon:<br />
* Set the browser to ASAP mode (preferences layout.frame_rate=0, docshell.event_starvation_delay_hint=1). This makes the browser refresh the screen as fast as possible instead of limiting it to 60hz, thus allows higher resolution measurements. Requires restart to take effect.<br />
* [https://hg.mozilla.org/mozilla-central/raw-file/tip/testing/talos/talos/generate-tart-xpi.html Install the latest addon xpi], or zip the addon dir of the source code, rename the extension to xpi and install.<br />
* Visit chrome://tart/content/tart.html<br />
* Select subtests to run. By default the selected tests are all the TART tests.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;simple-open-DPI1.half.TART;2.35;2.42;2.63;2.47;2.71;2.38;2.37;2.41;2.48;2.70;2.44;2.41;2.51;2.43;2.41;2.56;2.76;2.49;2.36;2.40;2.70;2.53;2.35;2.46;2.47<br />
1;simple-open-DPI1.all.TART;2.80;2.95;3.12;2.92;3.46;2.87;2.92;2.99;2.89;3.24;2.94;2.95;3.25;2.92;3.02;3.00;3.21;3.31;2.84;2.87;3.10;3.13;3.10;2.94;2.95<br />
2;simple-open-DPI1.error.TART;33.60;36.33;35.93;35.97;38.17;34.77;36.00;35.01;36.25;36.22;35.24;35.76;36.64;36.31;34.74;34.40;34.34;41.48;35.04;34.83;34.27;34.04;34.37;35.22;36.52<br />
3;simple-close-DPI1.half.TART;1.95;1.88;1.91;1.94;2.00;1.97;1.88;1.76;1.84;2.18;1.99;1.83;2.04;1.93;1.81;1.77;1.79;1.90;1.82;1.84;1.78;1.75;1.76;1.89;1.81<br />
4;simple-close-DPI1.all.TART;2.19;2.08;2.07;2.32;2.65;2.32;2.26;1.96;2.02;2.26;2.05;2.16;2.19;2.11;2.04;1.98;2.05;2.02;2.01;2.11;1.97;1.97;2.05;2.01;2.12<br />
5;simple-close-DPI1.error.TART;21.35;23.87;22.60;22.02;22.97;22.35;22.15;22.79;21.81;21.90;22.26;22.58;23.15;22.43;22.76;23.36;21.86;22.70;22.96;22.70;22.28;22.03;21.78;22.33;22.23<br />
6;icon-open-DPI1.half.TART;2.42;2.33;2.50;2.58;2.36;2.51;2.60;2.35;2.52;2.51;2.59;2.34;3.29;2.63;2.46;2.57;2.53;2.50;2.39;2.51;2.44;2.66;2.72;2.36;2.52<br />
7;icon-open-DPI1.all.TART;3.12;2.94;3.42;3.23;3.10;3.21;3.33;3.14;3.24;3.32;3.46;2.90;3.65;3.19;3.27;3.47;3.32;3.13;2.95;3.23;3.21;3.33;3.47;3.15;3.32<br />
8;icon-open-DPI1.error.TART;38.39;37.96;37.03;38.85;37.03;37.17;37.19;37.56;36.67;36.33;36.89;36.85;37.54;38.46;35.38;37.52;36.68;36.48;36.03;35.71;37.12;37.08;37.74;38.09;35.85<br />
9;icon-close-DPI1.half.TART;1.94;1.93;1.79;1.89;1.83;1.83;1.90;1.89;1.75;1.76;1.77;1.74;1.81;1.86;1.95;1.99;1.73;1.83;1.97;1.80;1.94;1.84;2.01;1.88;2.03<br />
10;icon-close-DPI1.all.TART;2.14;2.14;1.98;2.03;2.02;2.25;2.29;2.13;1.97;2.01;1.94;2.01;1.99;2.05;2.11;2.09;2.02;2.02;2.12;2.02;2.20;2.11;2.19;2.07;2.27<br />
11;icon-close-DPI1.error.TART;24.51;25.03;25.17;24.54;23.86;23.70;24.02;23.61;24.10;24.53;23.92;23.75;23.73;23.78;23.42;25.40;24.21;24.55;23.96;24.96;24.41;24.96;24.16;24.20;23.65<br />
12;icon-open-DPI2.half.TART;2.60;2.60;2.60;2.53;2.51;2.53;2.59;2.43;2.66;2.60;2.47;2.61;2.64;2.43;2.49;2.63;2.61;2.60;2.52;3.06;2.65;2.74;2.69;2.44;2.43<br />
13;icon-open-DPI2.all.TART;3.45;3.22;3.38;3.47;3.10;3.31;3.47;3.13;3.37;3.14;3.28;3.20;3.40;3.15;3.14;3.23;3.41;3.16;3.26;3.55;3.29;3.49;3.44;3.11;3.22<br />
14;icon-open-DPI2.error.TART;40.20;37.86;37.53;41.46;37.03;38.77;37.48;36.97;37.28;37.72;36.09;36.71;38.89;38.21;37.37;38.91;36.79;36.10;37.60;36.99;37.56;35.76;38.92;37.46;37.52<br />
15;icon-close-DPI2.half.TART;2.27;1.97;1.83;1.86;2.08;1.88;1.80;1.90;1.77;1.89;2.06;1.89;1.89;1.86;2.01;1.79;1.78;1.83;1.89;1.85;1.74;1.82;1.84;1.81;1.79<br />
16;icon-close-DPI2.all.TART;2.33;2.13;2.18;2.03;2.33;2.03;1.95;2.06;1.96;2.13;2.25;2.10;2.13;2.03;2.18;2.00;2.05;2.01;2.08;2.05;1.96;2.04;2.10;2.04;2.08<br />
17;icon-close-DPI2.error.TART;22.99;23.02;24.32;23.58;23.05;23.34;22.92;23.22;22.90;23.33;23.33;23.05;22.80;23.45;24.05;22.39;22.14;22.97;22.85;22.13;22.89;22.98;23.69;22.99;23.08<br />
18;iconFade-close-DPI2.half.TART;2.14;1.84;1.78;1.84;1.66;2.07;1.81;3.82;1.68;1.85;1.62;2.54;2.06;1.85;2.17;1.80;1.71;1.67;2.11;1.73;2.94;2.14;1.93;1.72;2.05<br />
19;iconFade-close-DPI2.all.TART;2.17;1.76;1.80;1.89;1.70;1.93;1.80;3.38;1.78;1.90;1.70;2.50;1.94;1.81;2.29;1.82;1.79;1.76;2.23;1.80;2.85;2.06;1.84;1.83;2.09<br />
20;iconFade-close-DPI2.error.TART;4.67;4.11;3.69;4.51;4.46;3.88;4.54;3.68;4.56;3.82;4.32;4.87;4.42;3.72;3.72;4.54;4.93;4.46;4.64;3.39;4.09;3.28;3.58;4.11;3.80<br />
21;iconFade-open-DPI2.half.TART;2.37;2.61;2.37;2.62;2.54;2.84;2.57;2.44;4.33;2.57;2.59;2.67;2.58;2.48;2.38;2.39;2.50;2.39;2.50;2.57;2.52;2.55;2.47;2.69;2.41<br />
22;iconFade-open-DPI2.all.TART;2.45;2.64;2.39;2.60;2.57;2.60;2.61;2.59;3.14;2.55;2.54;2.66;2.57;2.48;2.47;2.46;2.55;2.45;2.51;2.61;2.54;2.58;2.50;2.54;2.40<br />
23;iconFade-open-DPI2.error.TART;3.64;4.67;4.31;5.79;6.43;3.64;4.82;8.68;5.78;4.38;3.80;3.98;4.64;653.63;4.63;3.76;4.23;5.01;5.48;4.99;3.48;5.10;5.02;6.14;5.58<br />
24;newtab-open-preload-no.half.TART;5.02;2.90;3.06;3.03;2.94;2.94;3.08;3.12;3.60;3.19;2.82;2.96;3.67;7.85;2.79;3.12;3.18;2.92;2.86;2.96;2.96;3.00;2.90;2.97;2.94<br />
25;newtab-open-preload-no.all.TART;7.11;4.66;5.03;4.68;4.50;4.58;4.76;4.76;5.67;4.96;4.36;4.51;5.21;11.16;4.38;4.69;4.77;4.45;4.45;4.70;4.51;4.61;4.54;4.69;4.60<br />
26;newtab-open-preload-no.error.TART;40.82;40.85;37.38;37.40;36.30;36.47;36.89;37.63;37.12;38.65;36.73;36.95;36.11;38.59;37.39;37.77;37.93;37.54;37.46;38.29;36.58;38.25;38.32;37.92;36.93<br />
27;newtab-open-preload-yes.half.TART;3.14;2.96;2.97;8.37;2.98;3.00;2.96;3.05;3.12;3.48;3.07;3.23;3.05;2.88;2.92;3.06;2.90;3.01;3.19;2.90;3.18;3.11;3.04;3.16;3.21<br />
28;newtab-open-preload-yes.all.TART;5.10;4.60;4.63;8.94;5.01;4.69;4.63;4.67;4.93;5.43;4.78;5.12;4.77;4.65;4.50;4.78;4.75;4.63;4.76;4.45;4.86;4.88;4.69;4.86;4.92<br />
29;newtab-open-preload-yes.error.TART;35.90;37.24;38.57;40.60;36.04;38.12;38.78;36.73;36.91;36.69;38.12;36.69;37.79;35.80;36.11;38.01;36.59;38.85;37.14;37.30;38.02;38.95;37.64;37.86;36.43<br />
</pre><br />
|}<br />
<br />
== tp5 ==<br />
Note that the tp5 test no longer exists (only talos-tp5o) though many tests still make use of this pageset. Here, we provide an overview of the tp5 pageset and some information about how data using the tp5 pageset might be used in various suites.<br />
<br />
* contact: :davehunt<br />
* source: [[#Page_sets|tp5n.zip]]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: we load each of the 51 tp5o pages 25 times, resulting in 51 sets of 25 data points.<br />
* '''To run it locally''', you'd need [[#Page_sets|tp5n.zip]].<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] '''5''' data points, then take the [[../Data#median|median]] of the remaining 20; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l449 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 51 subtest results.<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|tp5o<br />
|tp5 with limited pageset (48 pages as others have too much noise)<br />
|}<br />
<br />
Tests the time it takes Firefox to load the [[#Page_sets|tp5 web page test set]]. The web set was culled from the Alexa top 500 April 8th, 2011 and consists of 100 pages in tp5n and 51 in tp5o. Some suites use a subset of these, i.e. 48/51 tests to reduce noise - check with the owner of the test suite which uses the pageset to check if this difference exists there.<br />
<br />
Here are the broad steps we use to create the test set:<br />
# Take the Alexa top 500 sites list<br />
# Remove all sites with questionable or explicit content<br />
# Remove duplicate site (for ex. many Google search front pages)<br />
# Manually select to keep interesting pages (such as pages in different locales)<br />
# Select a more representative page from any site presenting a simple search/login/etc. page<br />
# Deal with Windows 255 char limit for cached pages<br />
# Limit test set to top 100 pages<br />
<br />
Note that the above steps did not eliminate all outside network access so we had to take further action to scrub all the pages so that there are 0 outside network accesses (this is done so that the tp test is as deterministic measurement of our rendering/layout/paint process as possible).<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;163.com/www.163.com/index.html;1035;512;542;519;505;514;551;513;554;793;487;528;528;498;503;530;527;490;521;535;521;496;498;564;520<br />
1;56.com/www.56.com/index.html;1081;583;580;577;597;580;623;558;572;592;598;580;564;583;596;600;579;580;566;573;566;581;571;600;586<br />
2;aljazeera.net/aljazeera.net/portal.html;688;347;401;382;346;362;347;372;337;345;365;337;380;338;355;360;356;366;367;352;350;366;346;375;382<br />
3;amazon.com/www.amazon.com/Kindle-Wireless-Reader-Wifi-Graphite/dp/B002Y27P3M/507846.html;1392;878;901;852;886;867;877;864;862;877;866;888;3308;870;863;869;873;850;851;850;857;873;869;860;855<br />
4;bbc.co.uk/www.bbc.co.uk/news/index.html;455;271;272;271;279;289;276;285;277;291;281;286;278;286;274;285;276;285;287;286;276;288;279;272;278<br />
5;beatonna.livejournal.com/beatonna.livejournal.com/index.html;290;123;123;129;120;121;124;125;119;125;120;150;121;147;121;121;113;121;119;122;117;112;127;117;139<br />
6;bild.de/www.bild.de/index.html;1314;937;946;931;922;918;920;937;934;930;947;928;936;933;933;928;930;941;951;946;947;938;925;939;938<br />
7;cgi.ebay.com/cgi.ebay.com/ALL-NEW-KINDLE-3-eBOOK-WIRELESS-READING-DEVICE-W-WIFI-/130496077314@pt=LH_DefaultDomain_0&hash=item1e622c1e02.html;495;324;330;328;321;308;315;308;321;313;327;330;317;339;333;322;312;370;336;327;310;312;312;355;330<br />
8;chemistry.about.com/chemistry.about.com/index.html;238;156;156;154;158;161;152;151;152;167;179;152;154;156;161;161;157;167;151;167;154;149;178;153;160<br />
9;chinaz.com/chinaz.com/index.html;347;223;255;234;245;233;264;234;244;228;260;224;258;223;280;220;243;225;251;226;258;232;258;232;247<br />
10;cnn.com/www.cnn.com/index.html;551;384;436;394;391;375;371;407;371;374;398;372;368;388;376;380;386;377;363;383;384;370;388;381;374<br />
11;dailymail.co.uk/www.dailymail.co.uk/ushome/index.html;984;606;551;561;545;542;576;564;543;560;566;557;561;544;545;576;548;539;568;567;557;560;545;544;578<br />
12;dailymotion.com/www.dailymotion.com/us.html;473;271;286;272;285;288;290;290;280;268;286;269;287;275;289;282;293;287;304;261;289;284;281;277;286<br />
13;digg.com/digg.com/news/story/New_logo_for_Mozilla_Firefox_browser.html;410;321;304;303;322;300;319;321;320;306;323;313;312;305;312;338;317;338;301;325;297;302;309;305;300<br />
14;ezinearticles.com/ezinearticles.com/index.html@Migraine-Ocular---The-Eye-Migraines&id=4684133.html;234;177;163;163;186;176;185;175;167;156;162;199;163;190;173;181;175;178;165;159;182;170;183;169;158<br />
15;globo.com/www.globo.com/index.html;684;468;466;485;482;445;433;467;467;450;487;466;440;484;444;451;511;443;429;469;468;430;485;459;447<br />
16;google.com/www.google.com/search@q=mozilla.html;150;100;102;101;97;104;99;116;107;100;98;137;102;102;99;106;98;112;100;102;105;104;107;96;100<br />
17;goo.ne.jp/goo.ne.jp/index.html;328;125;132;132;143;121;122;120;132;145;166;139;144;125;128;152;128;145;130;132;154;126;142;133;139<br />
18;guardian.co.uk/www.guardian.co.uk/index.html;462;311;296;322;309;305;303;288;301;308;301;304;319;309;295;305;294;308;304;322;310;314;302;303;292<br />
19;homeway.com.cn/www.hexun.com/index.html;584;456;396;357;417;374;376;406;363;392;400;378;378;402;390;373;398;393;366;385;383;361;418;386;351<br />
20;huffingtonpost.com/www.huffingtonpost.com/index.html;811;609;575;596;568;585;589;571;568;600;571;588;585;570;574;616;576;564;598;594;589;590;572;572;612<br />
21;ifeng.com/ifeng.com/index.html;829;438;478;462;448;465;469;470;429;463;465;432;482;444;476;453;460;476;461;484;467;510;447;477;443<br />
22;imdb.com/www.imdb.com/title/tt1099212/index.html;476;337;358;332;414;379;344;420;354;363;387;345;358;371;341;385;359;379;353;349;392;349;358;378;347<br />
23;imgur.com/imgur.com/gallery/index.html;419;205;224;231;207;222;206;231;204;219;209;210;210;208;202;215;203;210;203;212;218;219;202;224;230<br />
24;indiatimes.com/www.indiatimes.com/index.html;530;339;348;384;376;381;353;350;403;333;356;393;350;328;393;329;389;346;394;349;382;332;409;327;354<br />
25;mail.ru/mail.ru/index.html;500;256;308;251;271;270;270;246;273;252;279;249;301;252;251;256;271;246;267;254;265;248;277;247;275<br />
26;mashable.com/mashable.com/index.html;699;497;439;508;440;448;512;446;431;500;445;427;495;455;458;499;440;432;522;443;447;488;445;461;489<br />
27;media.photobucket.com/media.photobucket.com/image/funny%20gif/findstuff22/Best%20Images/Funny/funny-gif1.jpg@o=1.html;294;203;195;189;213;186;195;186;204;188;190;220;204;202;195;204;192;204;191;187;204;199;191;192;211<br />
28;myspace.com/www.myspace.com/albumart.html;595;446;455;420;433;425;416;429;452;411;435;439;389;434;418;402;422;426;396;438;423;391;434;438;395<br />
29;naver.com/www.naver.com/index.html;626;368;338;386;342;377;371;352;379;348;362;357;359;354;386;338;394;330;326;372;345;392;336;336;368<br />
30;noimpactman.typepad.com/noimpactman.typepad.com/index.html;431;333;288;292;285;313;277;289;282;292;276;293;270;294;289;281;275;302;285;290;280;285;278;284;283<br />
31;page.renren.com/page.renren.com/index.html;373;232;228;228;213;227;224;227;226;216;234;226;230;212;213;221;224;230;212;218;217;221;212;222;230<br />
32;people.com.cn/people.com.cn/index.html;579;318;305;339;307;341;325;326;307;309;315;314;318;317;321;309;307;299;312;313;305;326;318;384;310<br />
33;rakuten.co.jp/www.rakuten.co.jp/index.html;717;385;371;388;381;348;394;358;396;368;343;386;348;388;393;388;360;339;398;357;392;378;395;386;367<br />
34;reddit.com/www.reddit.com/index.html;340;254;248;255;241;241;248;275;251;250;250;252;243;274;240;269;254;249;242;257;271;253;243;278;252<br />
35;reuters.com/www.reuters.com/index.html;513;404;355;358;379;343;354;385;379;354;418;363;342;412;355;351;402;375;354;400;362;355;380;373;336<br />
36;slideshare.net/www.slideshare.net/jameswillamor/lolcats-in-popular-culture-a-historical-perspective.html;397;279;270;283;285;283;291;286;289;284;275;281;288;284;280;279;290;301;290;270;292;282;289;267;278<br />
37;sohu.com/www.sohu.com/index.html;727;414;479;414;431;485;418;440;488;431;432;464;442;407;488;435;416;465;445;414;480;416;403;463;429<br />
38;spiegel.de/www.spiegel.de/index.html;543;430;391;380;440;387;375;430;380;397;415;383;434;420;384;399;421;392;384;418;388;380;427;403;392<br />
39;stackoverflow.com/stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered.html;503;377;356;438;370;388;409;367;366;407;375;363;393;360;363;396;376;391;426;363;378;408;400;359;408<br />
40;store.apple.com/store.apple.com/us@mco=Nzc1MjMwNA.html;488;327;344;343;333;329;328;348;361;342;362;332;389;333;382;331;382;343;405;343;326;325;329;323;340<br />
41;thepiratebay.org/thepiratebay.org/top/201.html;412;274;317;260;256;269;266;261;258;289;245;284;256;277;251;302;276;307;268;268;247;285;260;271;257<br />
42;tudou.com/www.tudou.com/index.html;522;304;281;283;287;285;288;307;279;288;282;303;292;288;290;287;311;271;279;274;294;272;290;269;290<br />
43;uol.com.br/www.uol.com.br/index.html;668;387;450;411;395;452;386;431;452;394;385;436;413;414;440;401;412;439;408;430;426;415;382;433;387<br />
44;w3.org/www.w3.org/standards/webdesign/htmlcss.html;225;143;129;151;181;141;147;137;159;179;142;153;136;139;191;140;151;143;141;181;140;154;142;143;183<br />
45;wsj.com/online.wsj.com/home-page.html;634;466;512;463;467;507;461;432;492;494;491;507;466;477;495;455;451;495;461;463;494;468;444;497;442<br />
46;xinhuanet.com/xinhuanet.com/index.html;991;663;727;659;647;639;644;656;666;658;670;648;676;653;652;654;641;636;664;668;655;657;646;674;633<br />
47;xunlei.com/xunlei.com/index.html;802;625;624;636;641;652;659;642;623;635;628;606;667;688;683;694;672;640;628;620;653;626;633;654;643<br />
48;yelp.com/www.yelp.com/biz/alexanders-steakhouse-cupertino.html;752;475;502;472;477;512;489;478;501;472;454;517;487;474;521;467;450;513;491;464;536;507;455;511;481<br />
49;youku.com/www.youku.com/index.html;844;448;498;441;417;497;478;439;467;436;447;465;438;461;466;446;452;496;457;446;486;449;467;499;442<br />
50;youtube.com/www.youtube.com/music.html;443;338;253;289;238;296;254;290;242;302;237;290;253;305;253;293;251;311;244;293;255;291;246;316;249<br />
</pre><br />
|}<br />
<br />
==== File IO ====<br />
<br />
File IO is tested using the tp5 test set in the [[#xperf]] test.<br />
<br />
===== Possible regression causes =====<br />
* '''nonmain_startup_fileio opt (with or without e10s) windows7-32''' – {{bug|1274018}} This test seems to consistently report a higher result for mozilla-central compared to Try even for an identical revision due to extension signing checks. In other words, if you are comparing Try and Mozilla-Central you may see a false-positive regression on perfherder. Graphs: [https://treeherder.mozilla.org/perf.html#/graphs?timerange=604800&series=%5Bmozilla-central,e5f5eaa174ef22fdd6b6e150e8c450aa827c2ff6,1,1%5D&series=%5Btry,e5f5eaa174ef22fdd6b6e150e8c450aa827c2ff6,1,1%5D non-e10s] [https://treeherder.mozilla.org/perf.html#/graphs?series=%5B%22mozilla-central%22,%222f3af3833d55ff371ecf01c41aeee1939ef3a782%22,1,1%5D&series=%5B%22try%22,%222f3af3833d55ff371ecf01c41aeee1939ef3a782%22,1,1%5D&timerange=604800 e10s]<br />
<br />
==== Xres (X Resource Monitoring) ====<br />
A memory metric tracked during tp5 test runs. This metric is sampled every 20 seconds. This metric is collected on linux only.<br />
<br />
[https://linux.die.net/man/3/xres xres man page].<br />
<br />
==== % CPU ====<br />
Cpu usage tracked during tp5 test runs. This metric is sampled every 20 seconds. This metric is collected on windows only.<br />
<br />
==== Responsiveness ====<br />
contact: :jimm, :overholt<br />
<br />
Measures the delay for the event loop to process a [[Performance/Snappy#Current Infrastructure|tracer event]]. For more details, see {{bug|631571}}.<br />
<br />
The score on this benchmark is proportional to the sum of squares of all event delays that exceed a 20ms threshold. Lower is better.<br />
<br />
We collect 8000+ data points from the browser during the test and apply [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/output.py#l95 this formula] to the results:<br />
<pre><br />
return sum([float(x)*float(x) / 1000000.0 for x in val_list])<br />
</pre><br />
<br />
== tp5o_scroll ==<br />
* contact: :kats<br />
* source: [[#Page_sets|tp5n.zip]]<br />
* type: [[TestEngineering/Performance/Talos#Page_Load_Tests|PageLoader]]<br />
* data: we load each of the 51 tp5o pages 12 times, resulting in 51 sets of 12 data points.<br />
* '''To run it locally''', you'd need [[#Page_sets|tp5n.zip]].<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 11; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l470 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 51 subtest results.<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|tp5o_scroll<br />
|Measures average frames interval while scrolling the pages of the tp5o set<br />
|}<br />
<br />
This test is identical to tscrollx, but it scrolls the 50 pages of the tp5o set (rather than 6 synthetic pages which tscrollx scrolls). For each page, the test waits 500ms after the page load event fires, then iterates 100 scroll steps of 10px each (or until the bottom of the page is reached - whichever comes first), then reports the average frame interval.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;163.com/www.163.com/index.html;9.73;8.61;7.37;8.17;7.58;7.29;6.88;7.45;6.91;6.61;8.47;7.12<br />
1;56.com/www.56.com/index.html;10.85;10.24;10.75;10.30;10.23;10.10;10.31;10.06;11.10;10.06;9.56;10.30<br />
2;aljazeera.net/aljazeera.net/portal.html;9.23;7.15;7.50;7.26;7.73;7.05;7.14;7.66;7.23;7.93;7.26;7.18<br />
3;amazon.com/www.amazon.com/Kindle-Wireless-Reader-Wifi-Graphite/dp/B002Y27P3M/507846.html;7.14;6.87;7.18;6.31;6.93;6.71;6.37;7.00;6.59;5.37;7.31;6.13<br />
4;bbc.co.uk/www.bbc.co.uk/news/index.html;7.39;6.33;6.22;7.66;6.67;7.77;6.91;7.74;7.08;6.36;6.03;7.12<br />
5;beatonna.livejournal.com/beatonna.livejournal.com/index.html;5.79;5.79;5.68;5.46;5.55;5.48;5.69;5.83;5.88;5.97;5.93;5.88<br />
6;bild.de/www.bild.de/index.html;8.65;7.63;7.17;6.36;7.44;7.68;8.63;6.71;8.34;7.15;7.82;7.70<br />
7;cgi.ebay.com/cgi.ebay.com/ALL-NEW-KINDLE-3-eBOOK-WIRELESS-READING-DEVICE-W-WIFI-/130496077314@pt=LH_DefaultDomain_0&hash=item1e622c1e02.html;7.12;6.81;7.22;6.98;7.05;5.68;7.15;6.54;7.31;7.18;7.82;7.77<br />
8;chemistry.about.com/chemistry.about.com/index.html;6.76;6.17;6.41;6.88;5.67;5.47;6.83;6.28;6.16;6.81;6.21;6.75<br />
9;chinaz.com/chinaz.com/index.html;10.72;7.99;7.33;7.10;7.85;8.62;8.39;6.72;6.26;6.65;8.14;7.78<br />
10;cnn.com/www.cnn.com/index.html;7.73;6.80;6.08;8.27;9.24;7.81;7.69;7.05;8.17;7.70;7.90;6.81<br />
11;dailymail.co.uk/www.dailymail.co.uk/ushome/index.html;6.37;8.28;7.19;8.00;8.09;7.43;6.90;7.24;7.77;7.29;7.38;6.14<br />
12;dailymotion.com/www.dailymotion.com/us.html;9.53;9.80;9.29;9.03;9.10;8.64;8.62;8.71;8.77;9.81;9.64;8.96<br />
13;digg.com/digg.com/news/story/New_logo_for_Mozilla_Firefox_browser.html;7.72;7.06;7.60;5.67;6.85;7.32;7.80;5.98;8.27;6.68;7.52;8.39<br />
14;ezinearticles.com/ezinearticles.com/index.html@Migraine-Ocular---The-Eye-Migraines&id=4684133.html;7.14;7.11;8.09;7.17;6.87;7.12;7.65;7.74;7.26;7.36;6.91;6.95<br />
15;globo.com/www.globo.com/index.html;6.71;7.91;5.83;7.34;7.75;8.00;7.73;7.85;7.03;6.42;8.43;8.11<br />
16;google.com/www.google.com/search@q=mozilla.html;6.49;6.23;7.96;6.39;7.23;8.19;7.35;7.39;6.94;7.24;7.55;7.62<br />
17;goo.ne.jp/goo.ne.jp/index.html;8.56;7.18;7.15;7.03;6.85;7.62;7.66;6.99;7.84;7.51;7.23;7.18<br />
18;guardian.co.uk/www.guardian.co.uk/index.html;7.32;7.62;8.18;7.62;7.83;8.08;7.60;8.17;8.47;7.54;7.92;8.09<br />
19;homeway.com.cn/www.hexun.com/index.html;10.18;8.75;8.83;8.64;8.98;8.07;7.76;9.29;8.05;7.55;8.91;7.78<br />
20;huffingtonpost.com/www.huffingtonpost.com/index.html;8.38;7.17;7.03;6.83;6.49;6.47;6.69;7.08;6.81;7.29;7.13;7.70<br />
21;ifeng.com/ifeng.com/index.html;12.45;8.65;8.75;7.56;8.26;7.71;8.04;7.45;7.83;7.14;8.38;7.68<br />
22;imdb.com/www.imdb.com/title/tt1099212/index.html;8.53;5.65;6.94;7.18;6.10;7.57;6.26;8.34;8.16;7.29;7.62;8.51<br />
23;imgur.com/imgur.com/gallery/index.html;8.10;7.20;7.50;7.88;7.27;6.97;8.13;7.14;7.59;7.39;8.01;8.82<br />
24;indiatimes.com/www.indiatimes.com/index.html;8.00;6.74;7.37;8.52;7.03;8.45;7.08;8.47;9.26;7.89;7.17;6.74<br />
25;mail.ru/mail.ru/index.html;7.64;9.50;9.47;7.03;6.45;6.24;8.03;6.72;7.18;6.39;6.25;6.25<br />
26;mashable.com/mashable.com/index.html;7.97;8.03;6.10;7.80;7.91;7.26;7.49;7.45;7.60;7.08;7.63;7.36<br />
27;media.photobucket.com/media.photobucket.com/image/funny%20gif/findstuff22/Best%20Images/Funny/funny-gif1.jpg@o=1.html;290.00;195.00;217.00;199.00;204.00;196.00;198.00;206.00;209.00;208.00;192.00;196.00<br />
28;myspace.com/www.myspace.com/albumart.html;14.40;13.45;13.29;13.62;13.42;14.15;13.86;14.34;14.69;14.10;13.82;14.13<br />
29;naver.com/www.naver.com/index.html;9.15;8.31;9.40;9.89;7.29;8.43;8.87;8.77;8.96;8.24;8.16;8.21<br />
30;noimpactman.typepad.com/noimpactman.typepad.com/index.html;7.27;7.14;7.70;7.86;7.43;6.95;7.30;7.58;7.51;7.95;7.43;7.05<br />
31;page.renren.com/page.renren.com/index.html;7.94;8.13;6.76;7.77;6.93;6.60;7.62;7.61;6.88;7.56;7.55;7.48<br />
32;people.com.cn/people.com.cn/index.html;11.92;9.22;8.49;8.55;8.34;8.49;6.91;9.92;8.69;8.63;7.69;9.34<br />
33;rakuten.co.jp/www.rakuten.co.jp/index.html;11.10;7.13;8.68;7.85;8.37;7.91;6.74;8.27;8.55;8.93;7.15;9.02<br />
34;reddit.com/www.reddit.com/index.html;6.38;7.95;6.84;7.04;6.96;7.15;8.05;7.71;8.13;7.13;6.60;7.53<br />
35;reuters.com/www.reuters.com/index.html;7.51;7.25;6.60;6.98;7.41;6.45;7.61;7.46;6.11;7.15;7.05;6.94<br />
36;slideshare.net/www.slideshare.net/jameswillamor/lolcats-in-popular-culture-a-historical-perspective.html;7.20;6.32;6.80;6.87;6.29;6.45;7.18;6.92;6.57;7.41;7.08;6.51<br />
37;sohu.com/www.sohu.com/index.html;11.72;9.64;8.85;7.12;7.96;9.14;7.76;8.19;7.14;7.68;8.08;7.24<br />
38;spiegel.de/www.spiegel.de/index.html;7.24;7.30;6.64;7.01;6.74;6.70;6.36;6.84;7.86;7.08;7.12;7.40<br />
39;stackoverflow.com/stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered.html;7.39;5.88;7.22;6.51;7.12;6.51;6.46;6.53;6.63;6.54;6.48;6.80<br />
40;store.apple.com/store.apple.com/us@mco=Nzc1MjMwNA.html;6.23;7.17;7.39;8.98;7.99;8.03;9.12;8.37;8.56;7.61;8.06;7.55<br />
41;thepiratebay.org/thepiratebay.org/top/201.html;9.08;8.93;8.09;7.49;7.30;7.80;7.54;7.65;7.91;7.53;8.37;8.04<br />
42;tudou.com/www.tudou.com/index.html;10.06;9.38;8.68;7.37;8.57;9.11;8.20;7.91;8.78;9.64;8.11;8.47<br />
43;uol.com.br/www.uol.com.br/index.html;9.04;9.49;9.48;9.31;8.68;8.41;9.16;8.91;9.49;8.37;9.77;8.73<br />
44;w3.org/www.w3.org/standards/webdesign/htmlcss.html;6.62;5.98;6.87;6.47;7.22;6.05;6.42;6.50;7.47;7.18;5.82;7.11<br />
45;wsj.com/online.wsj.com/home-page.html;7.49;8.57;6.84;8.12;7.60;7.24;8.16;8.22;6.81;8.28;8.11;8.58<br />
46;xinhuanet.com/xinhuanet.com/index.html;13.66;9.21;10.09;9.56;8.99;10.29;10.24;8.91;11.23;10.82;9.64;10.11<br />
47;xunlei.com/xunlei.com/index.html;8.99;8.16;8.82;8.37;7.01;8.48;7.98;8.69;8.10;8.10;7.10;6.41<br />
48;yelp.com/www.yelp.com/biz/alexanders-steakhouse-cupertino.html;8.18;7.45;7.01;8.14;7.12;7.82;8.24;7.13;7.00;6.41;6.85;7.31<br />
49;youku.com/www.youku.com/index.html;12.21;10.29;10.37;10.34;8.40;9.82;9.23;9.91;9.64;9.91;8.90;10.23<br />
50;youtube.com/www.youtube.com/music.html;9.90;9.06;9.29;9.17;8.85;8.77;9.83;9.21;9.29;10.09;9.69;8.64<br />
</pre><br />
|}<br />
<br />
=== Possible regression causes ===<br />
Some examples of things that cause regressions in this test are:<br />
* Increased displayport size (which causes a larger display list to be built)<br />
* Slowdown in the building of display list<br />
* Slowdown in rasterization of content<br />
<br />
== tpaint ==<br />
* contact: :davidb<br />
* source: [[https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/startup_test/tpaint.html tpaint-window.html]]<br />
* type: Startup<br />
* data: we load the tpaint test window 20 times, resulting in 1 set of 20 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] '''5''' data points, then take the [[../Data#median|median]] of the remaining 15; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l190 source: test.py]<br />
** suite: identical to subtest<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
|Talos test name<br />
|Description<br />
|-<br />
|tpaint<br />
|twinopen but measuring the time after we receive the [[Buildbot/Talos/Tests#Paint_Tests|MozAfterPaint and OnLoad event]].<br />
|}<br />
<br />
Tests the amount of time it takes the open a new window. This test does not include startup time. Multiple test windows are opened in succession, results reported are the average amount of time required to create and display a window in the running instance of the browser. (Measures ctrl-n performance.)<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
[209.219, 222.180, 225.299, 225.970, 228.090, 229.450, 230.625, 236.315, 239.804, 242.795, 244.5, 244.770, 250.524, 251.785, 253.074, 255.349, 264.729, 266.014, 269.399, 326.190]<br />
</pre><br />
|}<br />
<br />
=== Possible regression causes ===<br />
* None listed yet. If you fix a regression for this test and have some tips to share, this is a good place for them.<br />
<br />
== twinopen (twinopen ext+twinopen:twinopen.html) ==<br />
* contact: :bdahl, :jimm<br />
* source: [[https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/twinopen twinopen]]<br />
* type: Startup<br />
* data: we open a new browser window 20 times, resulting in 1 set of 20 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] '''5''' data points, then take the [[../Data#median|median]] of the remaining 15; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l190 source: test.py]<br />
** suite: identical to subtest<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
|Talos test name<br />
|Description<br />
|-<br />
|twinopen ext+twinopen:twinopen.html<br />
|Time from calling OpenBrowserWindow until the chrome of the new window has [https://developer.mozilla.org/en-US/docs/Web/Events#MozAfterPaint painted].<br />
|}<br />
<br />
Tests the amount of time it takes the open a new window from a currently open browser. This test does not include startup time. Multiple test windows are opened in succession, results reported are the average amount of time required to create and display a window in the running instance of the browser. (Measures ctrl-n performance.)<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
[209.219, 222.180, 225.299, 225.970, 228.090, 229.450, 230.625, 236.315, 239.804, 242.795, 244.5, 244.770, 250.524, 251.785, 253.074, 255.349, 264.729, 266.014, 269.399, 326.190]<br />
</pre><br />
|}<br />
<br />
== tabswitch ==<br />
* contact: :mconley<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/tabswitch tabswitch]<br />
* bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1166132<br />
* type: Pageloader<br />
* measuring: <br />
** The time between switching a tab and the first paint to the content area<br />
* reporting:<br />
* data: we load 50 web pages 5 times each, resulting in 50 sets of 5 data points.<br />
* '''To run it locally''', you'd need [[#Page_sets|tp5n.zip]].<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 4 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l305 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 50 subtest results.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;amazon.com/www.amazon.com/Kindle-Wireless-Reader-Wifi-Graphite/dp/B002Y27P3M/507846.html;66.34;54.15;53.08;55.79;49.12<br />
1;cgi.ebay.com/cgi.ebay.com/ALL-NEW-KINDLE-3-eBOOK-WIRELESS-READING-DEVICE-W-WIFI-/130496077314@pt=LH_DefaultDomain_0&hash=item1e622c1e02.html;50.85;46.57;39.51;36.71;36.47<br />
2;163.com/www.163.com/index.html;95.05;80.80;76.09;69.29;68.96<br />
3;mail.ru/mail.ru/index.html;66.21;52.04;56.33;55.11;45.61<br />
4;bbc.co.uk/www.bbc.co.uk/news/index.html;35.80;44.59;48.02;45.71;42.58<br />
5;store.apple.com/store.apple.com/us@mco=Nzc1MjMwNA.html;52.98;49.45;58.47;56.79;61.29<br />
6;imdb.com/www.imdb.com/title/tt1099212/index.html;46.51;55.12;46.22;50.60;47.63<br />
7;cnn.com/www.cnn.com/index.html;43.02;50.77;43.88;49.70;50.02<br />
8;sohu.com/www.sohu.com/index.html;74.03;62.89;63.30;67.71;89.35<br />
9;youku.com/www.youku.com/index.html;43.98;52.69;45.80;63.00;57.02<br />
10;ifeng.com/ifeng.com/index.html;88.01;87.54;104.47;94.93;113.91<br />
11;tudou.com/www.tudou.com/index.html;45.32;48.10;46.03;39.26;58.38<br />
12;chemistry.about.com/chemistry.about.com/index.html;38.24;37.07;39.59;39.48;39.60<br />
13;beatonna.livejournal.com/beatonna.livejournal.com/index.html;35.59;50.75;36.17;48.49;52.61<br />
14;rakuten.co.jp/www.rakuten.co.jp/index.html;90.28;71.95;62.66;60.33;67.76<br />
15;uol.com.br/www.uol.com.br/index.html;42.89;48.05;53.77;40.02;42.41<br />
16;thepiratebay.org/thepiratebay.org/top/201.html;40.46;42.46;47.63;57.66;45.49<br />
17;page.renren.com/page.renren.com/index.html;47.61;66.78;47.91;62.78;47.19<br />
18;chinaz.com/chinaz.com/index.html;50.34;58.17;118.43;55.47;63.80<br />
19;globo.com/www.globo.com/index.html;41.34;38.52;42.82;53.14;45.20<br />
20;spiegel.de/www.spiegel.de/index.html;33.60;34.34;36.25;36.18;47.04<br />
21;dailymotion.com/www.dailymotion.com/us.html;37.68;36.13;39.52;37.15;42.79<br />
22;goo.ne.jp/goo.ne.jp/index.html;50.74;47.30;63.04;58.41;58.96<br />
23;stackoverflow.com/stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered.html;44.66;44.40;43.39;47.38;57.65<br />
24;ezinearticles.com/ezinearticles.com/index.html@Migraine-Ocular---The-Eye-Migraines&id=4684133.html;37.38;45.01;40.29;36.26;39.28<br />
25;huffingtonpost.com/www.huffingtonpost.com/index.html;39.57;43.35;55.01;44.13;58.28<br />
26;media.photobucket.com/media.photobucket.com/image/funny%20gif/findstuff22/Best%20Images/Funny/funny-gif1.jpg@o=1.html;39.77;42.46;75.54;42.38;47.72<br />
27;imgur.com/imgur.com/gallery/index.html;34.72;37.37;46.74;40.93;37.08<br />
28;reddit.com/www.reddit.com/index.html;42.47;39.89;51.54;51.51;41.68<br />
29;noimpactman.typepad.com/noimpactman.typepad.com/index.html;54.28;47.40;52.38;52.15;50.97<br />
30;myspace.com/www.myspace.com/albumart.html;48.97;64.12;61.66;48.32;68.53<br />
31;mashable.com/mashable.com/index.html;36.76;40.95;35.30;53.86;42.76<br />
32;dailymail.co.uk/www.dailymail.co.uk/ushome/index.html;42.06;40.64;44.24;37.32;61.35<br />
33;whois.domaintools.com/whois.domaintools.com/mozilla.com.html;34.73;35.23;39.25;48.24;35.72<br />
34;indiatimes.com/www.indiatimes.com/index.html;52.67;55.51;46.29;52.69;58.82<br />
35;reuters.com/www.reuters.com/index.html;32.92;33.08;36.95;39.23;39.27<br />
36;xinhuanet.com/xinhuanet.com/index.html;125.85;102.56;138.89;130.34;147.45<br />
37;56.com/www.56.com/index.html;63.89;75.00;61.45;62.20;58.67<br />
38;bild.de/www.bild.de/index.html;35.61;43.74;34.79;33.45;31.83<br />
39;guardian.co.uk/www.guardian.co.uk/index.html;38.91;55.93;62.34;42.63;45.99<br />
40;naver.com/www.naver.com/index.html;78.10;89.07;127.67;75.18;109.32<br />
41;yelp.com/www.yelp.com/biz/alexanders-steakhouse-cupertino.html;42.54;46.92;39.19;49.82;50.43<br />
42;wsj.com/online.wsj.com/home-page.html;46.43;55.51;44.16;81.79;48.78<br />
43;google.com/www.google.com/search@q=mozilla.html;35.62;36.71;44.47;45.00;40.22<br />
44;xunlei.com/xunlei.com/index.html;67.57;60.69;83.83;85.53;85.08<br />
45;aljazeera.net/aljazeera.net/portal.html;65.03;51.84;73.29;64.77;69.70<br />
46;w3.org/www.w3.org/standards/webdesign/htmlcss.html;53.57;58.50;72.98;66.95;55.62<br />
47;homeway.com.cn/www.hexun.com/index.html;105.59;117.32;108.95;116.10;70.32<br />
48;youtube.com/www.youtube.com/music.html;40.53;41.48;59.67;40.81;40.07<br />
49;people.com.cn/people.com.cn/index.html;96.49;103.64;115.12;66.05;117.84<br />
</pre><br />
|}<br />
<br />
== tresize ==<br />
* contact: :jimm<br />
* source: [[https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/startup_test/tresize/addon/content/tresize-test.html tresize-test.html]]<br />
* type: StartupTest<br />
* measuring: Time to do XUL resize, in ms (lower is better).<br />
* data: we run the tresize test page 20 times, resulting in 1 set of 20 data points.<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] '''5''' data points, then take the [[../Data#median|median]] of the remaining 15 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l205 source: test.py]<br />
** suite: same as subtest result<br />
<br />
A purer form of paint measurement than tpaint. This test opens a single window positioned at 10,10 and sized to 300,300, then resizes the window outward |max| times measuring the amount of time it takes to repaint each resize. Dumps the resulting dataset and average to stdout or logfile.<br />
<br />
In {{bug|1102479}} tresize was rewritten to work in e10s mode which involved a full rewrite of the test.<br />
<br />
To run resize locally without talos, please [https://hg.mozilla.org/mozilla-central/raw-file/tip/testing/talos/talos/generate-tresize-xpi.html install the addon] to run the test locally.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
[23.2565333333333, 23.763383333333362, 22.58369999999999, 22.802766666666653, 22.304050000000025, 23.010383333333326, 22.865466666666677, 24.233716666666705, 24.110983333333365, 22.21390000000004, 23.910333333333316, 23.409816666666647, 19.873049999999992, 21.103966666666686, 20.389749999999978, 20.777349999999984, 20.326283333333365, 22.341616666666667, 20.29813333333336, 20.769600000000104]<br />
</pre><br />
|}<br />
<br />
=== Possible regression causes ===<br />
* slowdown in the paint pipeline<br />
* resizes also trigger a rendering flush so bugs in the flushing code can manifest as regressions<br />
* introduction of more spurious MozAfterPaint events - see {{bug|1471961}}<br />
<br />
== ts_paint ==<br />
* contact: :davidb<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/startup_test/tspaint_test.html tspaint_test.html]<br />
* Perfomatic: "Ts, Paint"<br />
* type: Startup<br />
* data: 20 times we start the browser and time how long it takes to paint the startup test page, resulting in 1 set of 20 data points.<br />
* summarization:<br />
** subtest: identical to suite<br />
** suite: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 19 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l135 source: test.py]<br />
<br />
Starts the browser to display tspaint_test.html with the start time in the url, waits for [[Buildbot/Talos/Tests#Paint_Tests|MozAfterPaint and onLoad]] to fire, then records the end time and calculates the time to startup.<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
[1666.0, 1195.0, 1139.0, 1198.0, 1248.0, 1224.0, 1213.0, 1194.0, 1229.0, 1196.0, 1191.0, 1230.0, 1247.0, 1169.0, 1217.0, 1184.0, 1196.0, 1192.0, 1224.0, 1192.0]<br />
</pre><br />
|}<br />
<br />
=== Possible regression causes ===<br />
* (and/or maybe tpaint?) will regress if a new <panel> element is added to the browser window (e.g. browser.xul) and it's frame gets created. Fix this by ensuring it's display:none by default.<br />
<br />
== tscrollx ==<br />
* contact: :jrmuizel<br />
* source: [[https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/scroll scroll.manifest]]<br />
* type: PageLoader<br />
* measuring: Scroll performance<br />
* reporting: Average frame interval (1 ÷ fps). Lower is better.<br />
* data: we load 6 pages 25 times each, collecting 6 sets of 25 data points<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] data point, then take the [[../Data#median|median]] of the remaining 24; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l623 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 6 subtest results.<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|tscrollx<br />
|[https://groups.google.com/d/topic/mozilla.dev.platform/RICw5SJhNMo/discussion Replacing tscroll,tsvg with tscrollx,tsvgx]<br />
|}<br />
<br />
This test scrolls several pages where each represent a different known "hard" case to scroll (* needinfo), and measures the average frames interval (1/FPS) on each. The ASAP test (tscrollx) iterates in unlimited frame-rate mode thus reflecting the maximum scroll throughput per page. To turn on ASAP mode, we set these preferences:<br />
preferences = {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1}<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;tiled.html;5.41;5.57;5.34;5.64;5.53;5.48;5.44;5.49;5.50;5.50;5.49;5.66;5.50;5.37;5.57;5.54;5.46;5.31;5.41;5.57;5.50;5.52;5.71;5.31;5.44<br />
fixed.html;10.404609053497941;10.47;10.66;10.45;10.73;10.79;10.64;10.64;10.82;10.43;10.92;10.47;10.47;10.64;10.74;10.67;10.40;10.83;10.77;10.54;10.38;10.70;10.44;10.38;10.56<br />
downscale.html;5.493209876543211;5.27;5.50;5.50;5.51;5.46;5.58;5.58;5.51;5.49;5.49;5.47;9.09;5.56;5.61;5.50;5.47;5.59;5.47;5.49;5.60;5.61;5.58;5.40;5.43<br />
downscale.html;10.676522633744854;10.82;10.79;10.41;10.75;10.91;10.52;10.61;10.50;10.55;10.80;10.17;10.68;10.41;10.42;10.41;10.58;10.28;10.56;10.66;10.68;10.47;10.60;10.61;10.26<br />
4;iframe.svg;13.82;14.87;14.78;14.35;14.73;14.50;14.15;14.46;14.80;14.48;15.10;14.93;14.77;14.52;14.08;15.01;14.58;14.52;15.23;14.35;14.72;14.28;14.30;14.27;14.96<br />
5;reader.htm;10.72;10.62;10.23;10.48;10.42;10.64;10.40;10.40;10.14;10.60;10.51;10.36;10.57;10.41;10.52;10.75;10.19;10.72;10.44;9.75;10.49;10.07;10.54;10.46;10.44<br />
</pre><br />
|}<br />
<br />
== tsvgr_opacity ==<br />
* contact: :jwatt, :dholbert<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/svg_opacity/svg_opacity.manifest]<br />
* type: PageLoader<br />
* data: we load the 2 svg opacity pages 25 times, resulting in 2 sets of 25 data points<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] '''5''' data points, then take the [[../Data#median|median]] of the remaining 20; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l623 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 2 subtest results.<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|tsvgr_opacity<br />
|[[#Row_Major_vs._Column_Major|Row Major]] and 25 cycles/page.<br />
|}<br />
<br />
Renders many semi-transparent, partially overlapping SVG rectangles, and measures time to completion of this rendering.<br />
<br />
Note that this test also tends to reflect changes in network efficiency and navigation bar rendering issues:<br />
<br />
* Most of the page load tests measure from before the location is changed, until onload + mozafterpaint, therefore any changes in chrome performance from the location change, or network performance (the pages load from a local web server) would affect page load times. SVG opacity is rather quick by itself, so any such chrome/network/etc performance changes would affect this test more than other page load tests (relatively, in percentages).<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;big-optimizable-group-opacity-2500.svg;170;171;205;249;249;244;192;252;192;431;182;250;189;249;151;168;209;194;247;250;193;250;255;247;247<br />
1;small-group-opacity-2500.svg;585;436;387;441;512;438;440;380;443;391;450;386;459;383;445;388;450;436;485;443;383;438;528;444;441<br />
</pre><br />
|}<br />
<br />
== tsvg_static ==<br />
* contact: :jwatt, :dholbert, :neerja<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/svg_static/ svg_static]<br />
* type: PageLoader<br />
* data: we load the 5 svg pages 25 times, resulting in 5 sets of 25 data points<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] '''5''' data points, then take the [[../Data#median|median]] of the remaining 20; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l623 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 5 subtest results.<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|tsvg_static<br />
|An svg-only number that measures SVG rendering performance of some complex (but static) SVG content.<br />
|}<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;gearflowers.svg;262;184;184;198;197;187;181;186;177;192;196;194;194;186;195;190;237;193;188;182;188;196;191;194;184<br />
1;composite-scale.svg;69;52;48;49;57;51;52;87;52;49;49;51;58;53;64;57;49;65;67;58;53;59;56;68;50<br />
2;composite-scale-opacity.svg;72;53;91;54;51;58;60;46;51;57;59;58;66;70;57;61;47;51;76;65;52;65;64;64;63<br />
3;composite-scale-rotate.svg;70;76;89;62;62;78;57;77;79;82;74;56;61;79;73;64;75;74;81;82;76;58;77;61;62<br />
4;composite-scale-rotate-opacity.svg;91;60;67;84;62;66;78;69;65;68;62;73;68;63;64;71;79;77;63;80;85;65;82;76;81<br />
</pre><br />
|}<br />
<br />
== tsvgx ==<br />
* contact: :jwatt, :dholbert<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/tests/svgx svgx]<br />
* type: PageLoader<br />
* data: we load the 7 svg pages 25 times, resulting in 7 sets of 25 data points<br />
* summarization:<br />
** subtest: [[../Data#ignore_first|ignore first]] '''5''' data points, then take the [[../Data#median|median]] of the remaining 20; [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/test.py#l623 source: test.py]<br />
** suite: [[../Data#geometric_mean|geometric mean]] of the 7 subtest results.<br />
<br />
{| cellspacing="1" cellpadding="1" border="1"<br />
|-<br />
| Talos test name<br />
| Description<br />
|-<br />
|tsvgx<br />
|SVG-ASAP<br />
|[https://groups.google.com/d/topic/mozilla.dev.platform/RICw5SJhNMo/discussion Replacing tscroll,tsvg with tscrollx,tsvgx]<br />
|}<br />
<br />
An svg-only number that measures SVG rendering performance, with animations or iterations of rendering. This is an ASAP test -- i.e. it iterates in unlimited frame-rate mode thus reflecting the maximum rendering throughput of each test. The reported value is the overall duration the sequence/animation took to complete. To turn on ASAP mode, we set these preferences:<br />
preferences = {'layout.frame_rate': 0, 'docshell.event_starvation_delay_hint': 1}<br />
<br />
{| class="mw-collapsible mw-collapsed wikitable"<br />
! Example data<br />
|-<br />
| <pre><br />
0;hixie-001.xml;562;555;508;521;522;520;499;510;492;514;502;504;500;521;510;506;511;505;495;517;520;512;503;504;502<br />
1;hixie-002.xml;510;613;536;530;536;522;498;505;500;504;498;529;498;509;493;512;501;506;504;499;496;505;508;511;503<br />
2;hixie-003.xml;339;248;242;261;250;241;240;248;258;244;235;240;247;248;239;247;241;245;242;245;251;239;241;240;237<br />
3;hixie-004.xml;709;540;538;536;540;536;552;539;535;535;543;533;536;535;545;537;537;537;537;539;538;535;536;538;536<br />
4;hixie-005.xml;3096;3086;3003;3809;3213;3323;3143;3313;3192;3203;3225;3048;3069;3101;3189;3251;3172;3122;3266;3183;3159;3076;3014;3237;3100<br />
5;hixie-006.xml;5586;5668;5565;5666;5668;5728;5886;5534;5484;5607;5678;5577;5745;5753;5532;5585;5506;5516;5648;5778;5894;5994;5794;5852;5810<br />
6;hixie-007.xml;1823;1743;1739;1743;1744;1787;1802;1788;1782;1766;1787;1750;1748;1788;1766;1779;1767;1794;1758;1768;1781;1773;1765;1798;1805<br />
</pre><br />
|}<br />
<br />
=== Possible regression causes ===<br />
* Did you change the dimensions of the content area? Even a little? The tsvgx test seems to be sensitive to changes like this. See {{bug|1375479}}, for example. Usually, these sorts of "regressions" aren't real regressions - they just mean that we need to re-baseline our expectations from the test.<br />
<br />
== xperf ==<br />
* contact: :aklotz<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/xtalos xperf instrumentation]<br />
* type: Pageloader (tp5n) / Startup<br />
* measuring: IO counters from windows (currently, only startup IO is in scope)<br />
* reporting: Summary of read/write counters for disk, network (lower is better)<br />
<br />
These tests only run on windows builds. See [https://activedata.allizom.org/tools/query.html#query_id=zqlX+2Jn this active-data query] for an updated set of platforms that xperf can be found on. If the query is not found, use the following on the query page:<br />
<pre><br />
{<br />
"from":"task",<br />
"groupby":["run.name","build.platform"],<br />
"limit":2000,<br />
"where":{"regex":{"run.name":".*xperf.*"}}<br />
}<br />
</pre><br />
<br />
Talos will turn orange for 'x' jobs on windows 7 if your changeset accesses files which are not predefined in the [[https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/xtalos/xperf_whitelist.json whitelist]] during startup; specifically, before the "[https://hg.mozilla.org/mozilla-central/file/0eebc33d8593/toolkit/components/startup/nsAppStartup.cpp#l631 sessionstore-windows-restored]" Firefox event. If your job turns orange, you will see a list of files in Treeherder (or in the log file) which have been accessed unexpectedly (similar to this):<br />
* TEST-UNEXPECTED-FAIL : xperf: File '{profile}\secmod.db' was accessed and we were not expecting it. DiskReadCount: 6, DiskWriteCount: 0, DiskReadBytes: 16904, DiskWriteBytes: 0<br />
* TEST-UNEXPECTED-FAIL : xperf: File '{profile}\cert8.db' was accessed and we were not expecting it. DiskReadCount: 4, DiskWriteCount: 0, DiskReadBytes: 33288, DiskWriteBytes: 0<br />
* TEST-UNEXPECTED-FAIL : xperf: File 'c:\$logfile' was accessed and we were not expecting it. DiskReadCount: 0, DiskWriteCount: 2, DiskReadBytes: 0, DiskWriteBytes: 32768 TEST-UNEXPECTED-FAIL : xperf: File '{profile}\secmod.db' was accessed and we were not expecting it. DiskReadCount: 6, DiskWriteCount: 0, DiskReadBytes: 16904, DiskWriteBytes: 0<br />
* TEST-UNEXPECTED-FAIL : xperf: File '{profile}\cert8.db' was accessed and we were not expecting it. DiskReadCount: 4, DiskWriteCount: 0, DiskReadBytes: 33288, DiskWriteBytes: 0<br />
* TEST-UNEXPECTED-FAIL : xperf: File 'c:\$logfile' was accessed and we were not expecting it. DiskReadCount: 0, DiskWriteCount: 2, DiskReadBytes: 0, DiskWriteBytes: 32768 <br />
<br />
In the case that these files are expected to be accessed during startup by your changeset, then we can add them to the {{enterbug|Testing|Talos|whitelist}}.<br />
<br />
Xperf runs tp5 while collecting xperf metrics for disk IO and network IO. The providers we listen for are:<br />
* [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/xperf.config#l10 'PROC_THREAD', 'LOADER', 'HARD_FAULTS', 'FILENAME', 'FILE_IO', 'FILE_IO_INIT']<br />
<br />
The values we collect during stackwalk are:<br />
* [https://dxr.mozilla.org/mozilla-central/source/testing/talos/talos/xperf.config#l11 'FileRead', 'FileWrite', 'FileFlush']<br />
<br />
= Build metrics =<br />
These are not part of the Talos code, but like Talos they are benchmarks that record data using the graphserver and are analyzed by the same scripts for regressions.<br />
<br />
== Number of constructors (num_ctors) ==<br />
This test runs at build time and measures the number of static initializers in the compiled code. Reducing this number is helpful for [https://blog.mozilla.org/tglek/2010/05/27/startup-backward-constructors/ startup optimizations].<br />
<br />
* https://hg.mozilla.org/build/tools/file/348853aee492/buildfarm/utils/count_ctors.py<br />
** these are run for linux 32+64 opt and pgo builds.<br />
<br />
= Platform microbenchmark =<br />
<br />
== IsASCII and IsUTF8 gtest microbenchmarks ==<br />
* contact: :hsivonen<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/xpcom/tests/gtest/TestStrings.cpp]<br />
* type: [[#Microbench|Microbench]]<br />
* reporting: intervals in ms (lower is better)<br />
* data: each test is run and measured 5 times<br />
* summarization: take the [[../Data#median|median]] of the 5 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/gtest/mozilla/MozGTestBench.cpp#43-46 source: MozGTestBench.cpp]<br />
<br />
Test whose name starts with PerfIsASCII test the performance of the XPCOM string IsASCII function with ASCII inputs if different lengths.<br />
<br />
Test whose name starts with PerfIsUTF8 test the performance of the XPCOM string IsUTF8 function with ASCII inputs if different lengths.<br />
<br />
=== Possible regression causes ===<br />
* The --enable-rust-simd accidentally getting turned off in automation.<br />
* Changes to encoding_rs internals.<br />
* LLVM optimizations regressing between updates to the copy of LLVM included in the Rust compiler.<br />
<br />
== Microbench ==<br />
* contact: :bholley<br />
* source: [[https://dxr.mozilla.org/mozilla-central/source/testing/gtest/mozilla/MozGTestBench.cpp MozGTestBench.cpp]]<br />
* type: Custom GTest micro-benchmarking<br />
* data: Time taken for a GTest function to execute<br />
* summarization: Not a Talos test. This suite is provides a way to add low level platform performance regression tests for things that are not suited to be tested by Talos. See the [[[../Sheriffing#Microbench_Policy|Microbench Sheriffing Policy]]] for some notes on how to treat regressions.<br />
<br />
== PerfStrip Tests ==<br />
* contact: :davidb<br />
* source: https://dxr.mozilla.org/mozilla-central/source/xpcom/tests/gtest/TestStrings.cpp<br />
* type: Microbench<br />
* reporting: execution time in ms (lower is better) for 100k function calls<br />
* data: each test run and measured 5 times<br />
* summarization:<br />
<br />
PerfStripWhitespace - call StripWhitespace() on 5 different test cases 20k times (each)<br />
<br />
PerfStripCharsWhitespace - call StripChars("\f\t\r\n") on 5 different test cases 20k times (each)<br />
<br />
PerfStripCRLF - call StripCRLF() on 5 different test cases 20k times (each)<br />
<br />
PerfStripCharsCRLF() - call StripChars("\r\n") on 5 different test cases 20k times (each)<br />
<br />
== Stylo gtest microbenchmarks ==<br />
* contact: :bholley, :SimonSapin<br />
* source: [https://dxr.mozilla.org/mozilla-central/source/layout/style/test/gtest]<br />
* type: [[#Microbench|Microbench]]<br />
* reporting: intervals in ms (lower is better)<br />
* data: each test is run and measured 5 times<br />
* summarization: take the [[../Data#median|median]] of the 5 data points; [https://dxr.mozilla.org/mozilla-central/source/testing/gtest/mozilla/MozGTestBench.cpp#43-46 source: MozGTestBench.cpp]<br />
<br />
Servo_StyleSheet_FromUTF8Bytes_Bench parses a sample stylesheet 20 times with Stylo’s CSS parser that is written in Rust. It starts from an in-memory UTF-8 string, so that I/O or UTF-16-to-UTF-8 conversion is not measured.<br />
<br />
Gecko_nsCSSParser_ParseSheet_Bench does the same with Gecko’s previous CSS parser that is written in C++, for comparison.<br />
<br />
Servo_DeclarationBlock_SetPropertyById_Bench parses the string "10px" with Stylo’s CSS parser and sets it as the value of a property in a declaration block, a million times. This is similar to animations that are based on JavaScript code modifying Element.style instead of using CSS @keyframes.<br />
<br />
Servo_DeclarationBlock_SetPropertyById_WithInitialSpace_Bench is the same, but with the string " 10px" with an initial space. That initial space is less typical of JS animations, but is almost always there in stylesheets or full declarations like "width: 10px". This microbenchmark was used to test the effect of some specific code changes. Regressions here may be acceptable if Servo_StyleSheet_FromUTF8Bytes_Bench is not affected.<br />
<br />
= History of tp tests =<br />
<br />
== tp ==<br />
The original tp test created by Mozilla to test browser page load time. Cycled through 40 pages. The pages were copied from the live web during November, 2000. Pages were cycled by loading them within the main browser window from a script that lived in content. <br />
<br />
== tp2/tp_js ==<br />
The same tp test but loading the individual pages into a frame instead of the main browser window. Still used the old 40 page, year 2000 web page test set. <br />
<br />
== tp3 ==<br />
An update to both the page set and the method by which pages are cycled. The page set is now 393 pages from December, 2006. The pageloader is re-built as an extension that is pre-loaded into the browser chrome/components directories. <br />
<br />
== tp4 ==<br />
Updated web page test set to 100 pages from February 2009.<br />
<br />
== tp4m ==<br />
This is a smaller pageset (21 pages) designed for mobile Firefox. This is a blend of regular and mobile friendly pages.<br />
<br />
We landed on this on April 18th, 2011 in {{bug|648307}}. This runs for Android and Maemo mobile builds only.<br />
<br />
== tp5 ==<br />
Updated web page test set to 100 pages from April 8th, 2011. Effort was made for the pages to no longer be splash screens/login pages/home pages but to be pages that better reflect the actual content of the site in question. There are two test page data sets for tp5 which are used in multiple tests (i.e. awsy, xperf, etc.): (i) an optimized data set called tp5o, and (ii) the standard data set called tp5n.<br />
<br />
== tp6 ==<br />
Created June 2017 with recorded pages via mitmproxy using modern google, amazon, youtube, and facebook. Ideally this will contain more realistic user accounts that have full content, in addition we would have more than 4 sites- up to top 10 or maybe top 20. <br />
<br />
These were migrated to Raptor between 2018 and 2019.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=QA/Platform/Graphics/Inventory&diff=1215672QA/Platform/Graphics/Inventory2019-07-29T21:56:13Z<p>Jgilbert: More jgilbert machines</p>
<hr />
<div>[https://docs.google.com/spreadsheets/d/1RkLUpi3ADynUBczQbXgGW_Pi8hQ4Kx5XR-8SxDLsr7U/edit#gid=1515461366&vpid=A2 Spreadsheet]<br />
<br />
= Good sources of drivers =<br />
* catalog.update.microsoft.com<br />
* downdriver has links to the original sources<br />
* driveridentifier does an ok job of this as well<br />
* userdrivers has links to the original sources<br />
<br />
= Adding your device =<br />
First, make sure you have an account on wiki.mozilla.org.<br />
<br />
Second, find out which chipset your computer is running.<br />
* Open up about:support in Firefox<br />
* Scroll down to the Graphics section looking for ''Device ID'' and ''Vendor ID''<br />
** If your Vendor ID is 0x1008, you have an AMD device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/amd.json AMD] database.<br />
** If your Vendor ID is 0x8086, you have an Intel device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/intel.json Intel] database.<br />
** If your Vendor ID is 0x10de, you have a NVIDIA device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/nvidia.json NVIDIA] database.<br />
** ''For example, if your Device ID is 0x9440 that is an RV770 chipset in the R700 series''<br />
<br />
Finally, add your device to the relevant section below<br />
* ''Device'' is the name of the device which you can get from about:support<br />
* ''ID'' is the Device ID you noted above<br />
* ''Chipset'' is the chipset you noted above (eg. RV770)<br />
* ''System'' can just be "volunteer" or the make/model of the computer<br />
* ''Points of Contact'' should be your name with a mailto link to your email address, include your region if possible<br />
<br />
''If you need help please contact [mailto:ahughes@mozilla.com Anthony Hughes]''<br />
<br />
Softvision's list: https://docs.google.com/spreadsheets/d/1RJDeelqMQeFM3S8XvQCpHv7ojQKaeirLJWvujXj66gw/edit#gid=0<br />
<br />
= AMD Chipsets =<br />
== R100 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R200 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R300 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| ATI Radeon Xpress 200G<br />
| 0x5954<br />
| RS480<br />
| Compaq Presario<br />
| Oshawa<br />
|-<br />
|}<br />
<br />
== R400 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R500 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon X1600<br />
| ''unknown''<br />
| RV530<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R600 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 3650<br />
| ''unknown''<br />
| RV635<br />
| Lenovo Thinkpad T500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R700 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Mobility Radeon 7500<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad T42<br />
| Toronto<br />
|-<br />
| 512MB ATI Mobility Radeon HD 4570<br />
| ''unknown''<br />
| RV710<br />
| Dell Studio 15<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Evergreen Series (TerraScale 2 - VLIW5 - UVD2) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 5670<br />
| 0x68d8<br />
| RV830 (Redwood XT)<br />
| Dell Precision T3500<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 5770<br />
| ''unknown''<br />
| RV840 (Juniper)<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Mobility™ Radeon® HD 5870<br />
| 0x68a0<br />
| RV840 (Juniper)<br />
| Asus G73JH (Spaceship)<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Northern Islands Series (TerraScale 2 - VLIW5 - UVD3) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 6250<br />
| 0x9804<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad G575<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6290<br />
| ''unknown''<br />
| Wrestler<br />
| Acer Aspire One 725-0826<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| AMD Radeon HD 6450<br />
| ''unknown''<br />
| Caicos<br />
| Bulldozer<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| AMD Radeon HD 6450<br />
| ''unknown''<br />
| Caicos<br />
| n/a - loose card<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| AMD Radeon HD 7470M/6520G<br />
| ''unknown''<br />
| Caicos/Beaver Creek<br />
| AMD Dual GPU Laptop, Samsung<br />
| [mailto:jrmuizel@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Cayman (TerraScale3 - VLIW4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Richland ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Solar System ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 8570M/Intel HD Graphics 4000 0x8086:0x0166<br />
| 0x0166<br />
| GCN 1.0 (Oland)<br />
| Lenovo Thinkpad G500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Southern Islands (GCN 1.0 - UVD4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 240<br />
| 0x6613<br />
| GCN 1.0 (Oland Pro)<br />
| Dell Precision T1600<br />
| Toronto<br />
|-<br />
| AMD Radeon R9 M370X<br />
| 0x6821<br />
| GCN 1.0 (Strato Pro)<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Sea Islands (GCN 1.1) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 260X<br />
| ''unknown''<br />
| Bonaire XTX<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Radeon R9 390 ("AMD HAWAII")<br />
| 0x67b1<br />
| Hawaii PRO<br />
| maahes<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
== Volcanic Islands (GCN 1.2 - UVD5) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R9 285<br />
| 0x6939<br />
| Tonga<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Vega (GCN 1.4/5th gen) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Radeon RX Vega 56 (Vega10 XL)<br />
| 0x687f<br />
| Vega<br />
| kheton (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
= Intel Chipsets =<br />
== Older ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| [http://ark.intel.com/products/27705/Intel-82855GME-Graphics-and-Memory-Controller Intel 855GME]<br />
| 0x3582<br />
| Gen2<br />
| [http://www.cnet.com/products/toshiba-tecra-a2-pentium-m-715-1-5-ghz-512-mb-ram-60-gb-hdd-series/specs/ Toshiba Tecra A2 (only SSE2)]<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 3 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA 900<br />
| 0x2582<br />
| Intel® 915G Express, Pentium 4<br />
| Optiplex GX280<br />
| Toronto<br />
|}<br />
<br />
== Generation 4 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA X3100<br />
| 0x2a02<br />
| GL960 Core 2 Duo @ 2Ghz T5750<br />
| Inspiron 1525<br />
| Toronto<br />
|-<br />
|}<br />
== Generation 4.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel GMA X4500<br />
| 0x2e32<br />
| G41 - Eaglelake (G) Wolfdale-3M @ 3.2Ghz<br />
| Silly Box<br />
| Toronto<br />
|-<br />
| Intel GMA X4500HD<br />
| 0x2e22<br />
| G45 - Eaglelake (G+)<br />
| Dell Vostro 220s<br />
| Toronto<br />
|-<br />
| Intel GMA 4500MHD<br />
| 0x2a42<br />
| GM45<br />
| Dell Latitude E6400<br />
| Toronto<br />
|-<br />
| Intel GMA 4500MHD<br />
| 0x2a42<br />
| GM45<br />
| Dell Studio 1737<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
|}<br />
<br />
== Generation 5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics (Core i3)<br />
| 0x0046<br />
| Ironlake<br />
| Dell XPS L501X<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 6 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 3000<br />
| 0x0126<br />
| Sandybridge<br />
| Lenovo Thinkpad x220<br />
| Toronto<br />
|-<br />
| Intel HD Graphics<br />
| 0x0102<br />
| Sandybridge<br />
| Dell Vostoro core i3<br />
| Toronto<br />
|-<br />
| Intel(R) Sandybridge Mobile<br />
| 0x0102<br />
| Sandybridge<br />
| seker<br />
| jgilbert (Mountain View)<br />
|}<br />
<br />
== Generation 7 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000<br />
| 0x0162<br />
| Ivybridge<br />
| PoisonIvy<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4000<br />
| ''unknown''<br />
| Ivybridge<br />
| Lenovo Thinkpad x230<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|}<br />
<br />
== Generation 7.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4400<br />
| ''unknown''<br />
| Haswell<br />
| Surface Pro 2<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| Intel HD Graphics 4600<br />
| 0x0412<br />
| Haswell<br />
| Hawkman<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x0416<br />
| Haswell<br />
| W540<br />
| Toronto <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo)<br />
|-<br />
| Intel HD Graphics<br />
| 0x0a16<br />
| Haswell<br />
| X1 Carbon<br />
| Toronto<br />
|-<br />
| Intel Iris Pro Graphics 5200 <br />
| 0x0d26<br />
| Haswell<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| "Intel Iris Pro" (Mac, Intel Iris Pro Graphics 5200)<br />
| 0x0d26<br />
| Crystal Well<br />
| MacBook Pro Retina 15" Late-2013 (MacBookPro11,3)<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View)<br />
|}<br />
<br />
== Generation 8 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 5500<br />
| ''unknown''<br />
| Broadwell<br />
| HP Pavilion 14T <br />
| Toronto<br />
|-<br />
| Intel HD Graphics<br />
| ''unknown''<br />
| Cherryview<br />
| 2018 reference device Inspiron 15 <br />
| Toronto (Markus Stange)<br />
|-<br />
| Intel HD Graphics 5500<br />
| ''unknown''<br />
| Broadwell<br />
| Thinkpad X1 Carbon<br />
| [mailto:vdjeric@mozilla.com Vladan Djeric] (Toronto)<br />
|-<br />
|}<br />
<br />
== Generation 9 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Mesa DRI Intel HD Graphics 530<br />
| 0x1912<br />
| skylake-gt2<br />
| Volunteer<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| Intel(R) HD Graphics P530<br />
| 0x191d<br />
| skylake-gt2<br />
| Dell Precision 5510 (XPS-like)<br />
| jgilbert (Mountain View)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5916<br />
| kabylake-gt2<br />
| Lenovo ThinkPad T470s<br />
| [https://mozillians.org/u/alex_mayorga/ Alex Mayorga] (volunteer)<br />
|-<br />
| Intel HD Graphics 630<br />
| 0x5912<br />
| kabylake-gt2<br />
| Dell Precision T3420<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (remote in Hamilton, ON)<br />
|-<br />
| Intel(R) UHD Graphics 630<br />
| 0x3e9b<br />
| Coffee Lake<br />
| Dell XPS 15 9570<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View)<br />
|-<br />
| Intel HD Graphics 540<br />
| 0x1926<br />
| skylake-gt3<br />
| Dell XPS<br />
| [mailto:jmuizelaar@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
= NVIDIA Chipsets =<br />
== Fahrenheit (NV04) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Celcius (NV10) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Kelvin (NV20) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Rankine (NV30) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Curie (NV40) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 7600GT<br />
| 0x0391<br />
| G73<br />
| Studio XPS<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Tesla (NV50) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 8600M<br />
| 0x0407<br />
| NV84 (G84)<br />
| Macbook Pro<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 8600 GT<br />
| 0x0401<br />
| NV84 (G84)<br />
| n/a - loose card<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| NVIDIA Quadro NVS 295<br />
| ''unknown''<br />
| NV98 (G98GL)<br />
| ''unknown''<br />
| ''unknown''<br />
|-<br />
| NVIDIA Quadro 880M<br />
| 0x0a3c<br />
| NVA5 (GT216GLM)<br />
| Lenovo Thinkpad W510<br />
| Toronto<br />
|-<br />
| NVIDIA NVS 3100M<br />
| 0x0a6c<br />
| NVA8 (GT218M)<br />
| Lenovo Thinkpad T510<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 310<br />
| 0x0a66<br />
| GT218<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Fermi (NVC0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GT 420M<br />
| 0x046e<br />
| NVC1 (GF108M)<br />
| Dell XPS L501X<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 1000M<br />
| ''unknown''<br />
| NVC1 (GF108GLM)<br />
| Lenovo Thinkpad W520<br />
| [mailto:vdjeric@mozilla.com Vladan Djeric] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTS 450<br />
| NVC3 (GF106)<br />
| ''unknown''<br />
| Dell Vostro<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 600<br />
| 0x0df8<br />
| NV34 (GF108GL)<br />
| Benoit PC<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| NVIDIA GeForce GT 610<br />
| ''unknown''<br />
| GF119<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 4000<br />
| 0x06dd<br />
| GF100GL<br />
| bastet<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
== Kepler (NVE0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 660 Ti<br />
| 0x1183<br />
| NVE4 (GK104)<br />
| n/a - loose card<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| NVIDIA GeForce GTX 765M<br />
| 0x11e1<br />
| NVE6 (GK106M)<br />
| Razerblade RZ09<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| NVIDIA Quadro K1000M<br />
| 0x0ffc<br />
| NVE7 (GK107GLM)<br />
| Lenovo Thinkpad W530<br />
| [mailto:jlin@mozilla.com returned pc to Jonathan Lin] (Toronto)<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x11fc<br />
| GK106<br />
| Lenovo Thinkpad W540<br />
| Toronto Lab<br />
|-<br />
| NVIDIA GeForce GT 730<br />
| ''unknown''<br />
| GK208<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce GTX 775M<br />
| ''0x119d''<br />
| GK104M<br />
| Late 2013 iMac<br />
| Santa Monica, CA [mailto:mchang@mozilla.com Mason Chang]<br />
|-<br />
|}<br />
<br />
== Maxwell (NV110) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 950<br />
| <br />
| (GM206)<br />
| n/a - loose card<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
| NVIDIA Quadro M1000M<br />
| 0x13b1<br />
| GM107<br />
| Dell Precision 5510 (XPS-like, Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
| NVIDIA GeForce GTX 980 Ti<br />
| 0x17c8<br />
| GM200<br />
| Falcon (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
== Pascal ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 1080<br />
| 0x1b80<br />
| (GP104)<br />
| VR machine<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTX 1050 Ti with Max-Q Design<br />
| 0x1c8c<br />
| GP107-400<br />
| Dell XPS 15 9570 (Win10)<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
= Mobile Chipsets =<br />
== ARM v6 (Deprecated) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/lg_optimus_slider-4286.php LG Optimus Slider]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/samsung_gravity_smart-3969.php Samsung Gravity Smart]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_fit_s5670-3726.php Samsung Galaxy Fit]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.3<br />
| [mailto:msreckovic@mozilla.com Milan Sreckovic] (Toronto)<br />
|}<br />
<br />
== ARM v7 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/alcatel_one_touch_fire-5319.php Alcatel OneTouch Fire]<br />
| Phone<br />
| Adreno 200<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7-4850.php ASUS Google Nexus 7 (2012)]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 4.1 - 5.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7_%282013%29-5600.php ASUS Google Nexus 7 (2013)]<br />
| Tablet<br />
| Adreno 320<br />
| Android 4.3 - 5.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_transformer_prime_tf201-4322.php ASUS Transformer Prime TF201]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.2 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_vivotab_rt_tf600t-5083.php ASUS Vivotab TF600T]<br />
| Tablet<br />
| ULP GeForce<br />
| Windows RT<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Flame#Device_specifications Flame]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [https://en.wikipedia.org/wiki/GeeksPhone_Peak Geeksphone Peak]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_626-6968.php HTC Desire 626]<br />
| Phone<br />
| Adreno 306<br />
| Android 5.1.1<br />
| [mailto:danderson@mozilla.com David Anderson] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_hd-3468.php HTC Desire HD]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_s-3776.php HTC Desire S]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3, 4.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_google_nexus_one-3069.php HTC Google Nexus One]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [http://www.gsmarena.com/htc_nexus_9-5823.php HTC Google Nexus 9]<br />
| Tablet<br />
| Kepler DX1<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_one_s-4574.php HTC One S]<br />
| Phone<br />
| Adreno 225<br />
| Android 4.0 - 4.1<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/huawei_ascend_y300-5386.php Huawei Ascend Y300]<br />
| Phone<br />
| Adreno 203<br />
| Firefox OS<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/lg_g2-5543.php LG G2] (Verizon edition)<br />
| Phone<br />
| Adreno 330<br />
| Android 4.2 - 5.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_4_e960-5048.php LG Google Nexus 4]<br />
| Phone<br />
| Adreno 320<br />
| Android 4.2 - 5.1, Firefox OS<br />
| [mailto:mchang@mozilla.com Mason Chang] (Santa Monica) <br> [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane) <br> [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_5-5705.php LG Google Nexus 5]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [http://www.gsmarena.com/lg_optimus_2x-3598.php LG Optimus 2X]<br />
| Phone<br />
| ULP GeForce<br />
| Android 2.3 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/motorola_nexus_6-6604.php Motorola Google Nexus 6]<br />
| Phone<br />
| Adreno 240<br />
| Android 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_xoom_mz604-3833.php Motorola XOOM MZ604]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [https://en.wikipedia.org/wiki/Odroid Odroid XU3]<br />
| Tablet<br />
| Mali-T628 MP6<br />
| Android / Ubuntu<br />
| [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_551-3515.php Samsung Galaxy GT-I5510M]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.2<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_nexus_i9250-4219.php Samsung Galaxy Nexus]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.2<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9100_galaxy_s_ii-3621.php Samsung Galaxy S II]<br />
| Phone<br />
| Mali-400<br />
| Android 4.1<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9300_galaxy_s_iii-4238.php Samsung Galaxy S III]<br />
| Phone<br />
| Mali-400MP4<br />
| Android 4.0 - 4.3<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s5-6033.php Samsung Galaxy S5]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s6-6849.php Samsung Galaxy S6]<br />
| Phone<br />
| Mali-T760MP8<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_tab_10_1_p7510-3894.php Samsung Galaxy Tab 10.1]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_10_p8110-5084.php Samsung Google Nexus 10]<br />
| Tablet<br />
| Mali-T604<br />
| Android 4.0 - 5.1<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_s-3620.php Samsung Google Nexus S]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 2.3 - 5.1, Firefox OS<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://pdadb.net/index.php?m=specs&id=2776&c=sony_ericsson_xperia_play_r800__r800i_se_zeus Sony Xperia Play r800i]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:msreckovic@mozilla.com Milan Sreckovic] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z2_tablet_wi_fi-6161.php Sony Xperia Z2]<br />
| Tablet<br />
| Adreno 330<br />
| Android 4.4 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z3-6539.php Sony Xperia Z3]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.1, Firefox OS<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [http://www.sonymobile.com/gb/products/phones/xperia-z3-compact/specifications/ Sony Xperia Z3C]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.1, Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| Mediatek Woodduck<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Inari<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Otoro<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Nexus 4 + Battery Harness<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Samsung Nexus S<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Qualcom QRD8x26<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Alcatel Midori (one touch)<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| TCL Hamachi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE OpenL<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Geekphone Peak<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Ikura<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Unagi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| TCL Buri<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| Spreadtrum Dolphin<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
|}<br />
<br />
== ARM v8 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [https://www.gsmarena.com/sony_xperia_xa1-8596.php Sony Xperia XA1]<br />
| Phone<br />
| Mali T-880<br />
| Android 8.0<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| [https://www.gsmarena.com/motorola_moto_e5_cruise-9575.php Moto e5 Cruise]<br />
| Phone<br />
| Adreno 308<br />
| Android 8.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 9.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|}<br />
<br />
== Intel x86 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/asus_fonepad-5329.php ASUS Fonepad]<br />
| Tablet<br />
| PowerVR SGX540<br />
| Android 4.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_razr_i_xt890-4998.php Motorola Razer XT890]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.0<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
|}<br />
<br />
== Unknown Architecture ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| Samsung Galaxy Ace<br />
| Phone<br />
| ''unknown''<br />
| ''unknown''<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|}</div>Jgilberthttps://wiki.mozilla.org/index.php?title=QA/Platform/Graphics/Inventory&diff=1215671QA/Platform/Graphics/Inventory2019-07-29T21:23:36Z<p>Jgilbert: jgilbert xps2018, mbp2013</p>
<hr />
<div>[https://docs.google.com/spreadsheets/d/1RkLUpi3ADynUBczQbXgGW_Pi8hQ4Kx5XR-8SxDLsr7U/edit#gid=1515461366&vpid=A2 Spreadsheet]<br />
<br />
= Good sources of drivers =<br />
* catalog.update.microsoft.com<br />
* downdriver has links to the original sources<br />
* driveridentifier does an ok job of this as well<br />
* userdrivers has links to the original sources<br />
<br />
= Adding your device =<br />
First, make sure you have an account on wiki.mozilla.org.<br />
<br />
Second, find out which chipset your computer is running.<br />
* Open up about:support in Firefox<br />
* Scroll down to the Graphics section looking for ''Device ID'' and ''Vendor ID''<br />
** If your Vendor ID is 0x1008, you have an AMD device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/amd.json AMD] database.<br />
** If your Vendor ID is 0x8086, you have an Intel device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/intel.json Intel] database.<br />
** If your Vendor ID is 0x10de, you have a NVIDIA device. Cross-reference your Device ID with the [https://github.com/jrmuizel/gpu-db/blob/master/nvidia.json NVIDIA] database.<br />
** ''For example, if your Device ID is 0x9440 that is an RV770 chipset in the R700 series''<br />
<br />
Finally, add your device to the relevant section below<br />
* ''Device'' is the name of the device which you can get from about:support<br />
* ''ID'' is the Device ID you noted above<br />
* ''Chipset'' is the chipset you noted above (eg. RV770)<br />
* ''System'' can just be "volunteer" or the make/model of the computer<br />
* ''Points of Contact'' should be your name with a mailto link to your email address, include your region if possible<br />
<br />
''If you need help please contact [mailto:ahughes@mozilla.com Anthony Hughes]''<br />
<br />
Softvision's list: https://docs.google.com/spreadsheets/d/1RJDeelqMQeFM3S8XvQCpHv7ojQKaeirLJWvujXj66gw/edit#gid=0<br />
<br />
= AMD Chipsets =<br />
== R100 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R200 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R300 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| ATI Radeon Xpress 200G<br />
| 0x5954<br />
| RS480<br />
| Compaq Presario<br />
| Oshawa<br />
|-<br />
|}<br />
<br />
== R400 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== R500 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon X1600<br />
| ''unknown''<br />
| RV530<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R600 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 3650<br />
| ''unknown''<br />
| RV635<br />
| Lenovo Thinkpad T500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== R700 Series ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Mobility Radeon 7500<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad T42<br />
| Toronto<br />
|-<br />
| 512MB ATI Mobility Radeon HD 4570<br />
| ''unknown''<br />
| RV710<br />
| Dell Studio 15<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Evergreen Series (TerraScale 2 - VLIW5 - UVD2) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 5670<br />
| 0x68d8<br />
| RV830 (Redwood XT)<br />
| Dell Precision T3500<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 5770<br />
| ''unknown''<br />
| RV840 (Juniper)<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| AMD Mobility™ Radeon® HD 5870<br />
| 0x68a0<br />
| RV840 (Juniper)<br />
| Asus G73JH (Spaceship)<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Northern Islands Series (TerraScale 2 - VLIW5 - UVD3) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 6250<br />
| 0x9804<br />
| Wrestler/Palm<br />
| Lenovo Thinkpad G575<br />
| Toronto<br />
|-<br />
| AMD Radeon HD 6290<br />
| ''unknown''<br />
| Wrestler<br />
| Acer Aspire One 725-0826<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| AMD Radeon HD 6450<br />
| ''unknown''<br />
| Caicos<br />
| Bulldozer<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| AMD Radeon HD 6450<br />
| ''unknown''<br />
| Caicos<br />
| n/a - loose card<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| AMD Radeon HD 7470M/6520G<br />
| ''unknown''<br />
| Caicos/Beaver Creek<br />
| AMD Dual GPU Laptop, Samsung<br />
| [mailto:jrmuizel@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Cayman (TerraScale3 - VLIW4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Richland ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Solar System ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon HD 8570M/Intel HD Graphics 4000 0x8086:0x0166<br />
| 0x0166<br />
| GCN 1.0 (Oland)<br />
| Lenovo Thinkpad G500<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Southern Islands (GCN 1.0 - UVD4) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 240<br />
| 0x6613<br />
| GCN 1.0 (Oland Pro)<br />
| Dell Precision T1600<br />
| Toronto<br />
|-<br />
| AMD Radeon R9 M370X<br />
| 0x6821<br />
| GCN 1.0 (Strato Pro)<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
|}<br />
<br />
== Sea Islands (GCN 1.1) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R7 260X<br />
| ''unknown''<br />
| Bonaire XTX<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Volcanic Islands (GCN 1.2 - UVD5) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| AMD Radeon R9 285<br />
| 0x6939<br />
| Tonga<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
= Intel Chipsets =<br />
== Older ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| [http://ark.intel.com/products/27705/Intel-82855GME-Graphics-and-Memory-Controller Intel 855GME]<br />
| 0x3582<br />
| Gen2<br />
| [http://www.cnet.com/products/toshiba-tecra-a2-pentium-m-715-1-5-ghz-512-mb-ram-60-gb-hdd-series/specs/ Toshiba Tecra A2 (only SSE2)]<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 3 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA 900<br />
| 0x2582<br />
| Intel® 915G Express, Pentium 4<br />
| Optiplex GX280<br />
| Toronto<br />
|}<br />
<br />
== Generation 4 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| GMA X3100<br />
| 0x2a02<br />
| GL960 Core 2 Duo @ 2Ghz T5750<br />
| Inspiron 1525<br />
| Toronto<br />
|-<br />
|}<br />
== Generation 4.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel GMA X4500<br />
| 0x2e32<br />
| G41 - Eaglelake (G) Wolfdale-3M @ 3.2Ghz<br />
| Silly Box<br />
| Toronto<br />
|-<br />
| Intel GMA X4500HD<br />
| 0x2e22<br />
| G45 - Eaglelake (G+)<br />
| Dell Vostro 220s<br />
| Toronto<br />
|-<br />
| Intel GMA 4500MHD<br />
| 0x2a42<br />
| GM45<br />
| Dell Latitude E6400<br />
| Toronto<br />
|-<br />
| Intel GMA 4500MHD<br />
| 0x2a42<br />
| GM45<br />
| Dell Studio 1737<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
|}<br />
<br />
== Generation 5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics (Core i3)<br />
| 0x0046<br />
| Ironlake<br />
| Dell XPS L501X<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Generation 6 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 3000<br />
| 0x0126<br />
| Sandybridge<br />
| Lenovo Thinkpad x220<br />
| Toronto<br />
|-<br />
| Intel HD Graphics<br />
| 0x0102<br />
| Sandybridge<br />
| Dell Vostoro core i3<br />
| Toronto<br />
|}<br />
<br />
== Generation 7 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4000<br />
| 0x0162<br />
| Ivybridge<br />
| PoisonIvy<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4000<br />
| ''unknown''<br />
| Ivybridge<br />
| Lenovo Thinkpad x230<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|}<br />
<br />
== Generation 7.5 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 4400<br />
| ''unknown''<br />
| Haswell<br />
| Surface Pro 2<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| Intel HD Graphics 4600<br />
| 0x0412<br />
| Haswell<br />
| Hawkman<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4000 / Radeon 7000M<br />
| ''unknown''<br />
| ''unknown''<br />
| IBM Thinkpad R32<br />
| Toronto<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x0416<br />
| Haswell<br />
| W540<br />
| Toronto <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo)<br />
|-<br />
| Intel HD Graphics<br />
| 0x0a16<br />
| Haswell<br />
| X1 Carbon<br />
| Toronto<br />
|-<br />
| Intel Iris Pro Graphics 5200 <br />
| 0x0d26<br />
| Haswell<br />
| MacBook Pro mid-2015<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| "Intel Iris Pro" (Mac, Intel Iris Pro Graphics 5200)<br />
| 0x0d26<br />
| Crystal Well<br />
| MacBook Pro Retina 15" Late-2013 (MacBookPro11,3)<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View)<br />
|}<br />
<br />
== Generation 8 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Intel HD Graphics 5500<br />
| ''unknown''<br />
| Broadwell<br />
| HP Pavilion 14T <br />
| Toronto<br />
|-<br />
| Intel HD Graphics<br />
| ''unknown''<br />
| Cherryview<br />
| 2018 reference device Inspiron 15 <br />
| Toronto (Markus Stange)<br />
|-<br />
| Intel HD Graphics 5500<br />
| ''unknown''<br />
| Broadwell<br />
| Thinkpad X1 Carbon<br />
| [mailto:vdjeric@mozilla.com Vladan Djeric] (Toronto)<br />
|-<br />
|}<br />
<br />
== Generation 9 ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| Mesa DRI Intel HD Graphics 530<br />
| 0x1912<br />
| skylake-gt2<br />
| Volunteer<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| Intel HD Graphics 620<br />
| 0x5916<br />
| kabylake-gt2<br />
| Lenovo ThinkPad T470s<br />
| [https://mozillians.org/u/alex_mayorga/ Alex Mayorga] (volunteer)<br />
|-<br />
| Intel HD Graphics 630<br />
| 0x5912<br />
| kabylake-gt2<br />
| Dell Precision T3420<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (remote in Hamilton, ON)<br />
|-<br />
| Intel(R) UHD Graphics 630<br />
| 0x3e9b<br />
| Coffee Lake<br />
| Dell XPS 15 9570<br />
| [mailto:jgilbert@mozilla.com jgilbert] (Mountain View)<br />
|-<br />
| Intel HD Graphics 540<br />
| 0x1926<br />
| skylake-gt3<br />
| Dell XPS<br />
| [mailto:jmuizelaar@mozilla.com Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
= NVIDIA Chipsets =<br />
== Fahrenheit (NV04) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Celcius (NV10) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Kelvin (NV20) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Rankine (NV30) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| colspan="5" style="text-align:center" | ''No devices on hand''<br />
|-<br />
|}<br />
<br />
== Curie (NV40) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 7600GT<br />
| 0x0391<br />
| G73<br />
| Studio XPS<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Tesla (NV50) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce 8600M<br />
| 0x0407<br />
| NV84 (G84)<br />
| Macbook Pro<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 8600 GT<br />
| 0x0401<br />
| NV84 (G84)<br />
| n/a - loose card<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| NVIDIA Quadro NVS 295<br />
| ''unknown''<br />
| NV98 (G98GL)<br />
| ''unknown''<br />
| ''unknown''<br />
|-<br />
| NVIDIA Quadro 880M<br />
| 0x0a3c<br />
| NVA5 (GT216GLM)<br />
| Lenovo Thinkpad W510<br />
| Toronto<br />
|-<br />
| NVIDIA NVS 3100M<br />
| 0x0a6c<br />
| NVA8 (GT218M)<br />
| Lenovo Thinkpad T510<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce 310<br />
| 0x0a66<br />
| GT218<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Fermi (NVC0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GT 420M<br />
| 0x046e<br />
| NVC1 (GF108M)<br />
| Dell XPS L501X<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 1000M<br />
| ''unknown''<br />
| NVC1 (GF108GLM)<br />
| Lenovo Thinkpad W520<br />
| [mailto:vdjeric@mozilla.com Vladan Djeric] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTS 450<br />
| NVC3 (GF106)<br />
| ''unknown''<br />
| Dell Vostro<br />
| Toronto<br />
|-<br />
| NVIDIA Quadro 600<br />
| 0x0df8<br />
| NV34 (GF108GL)<br />
| Benoit PC<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| NVIDIA GeForce GT 610<br />
| ''unknown''<br />
| GF119<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
|}<br />
<br />
== Kepler (NVE0) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 660 Ti<br />
| 0x1183<br />
| NVE4 (GK104)<br />
| n/a - loose card<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| NVIDIA GeForce GTX 765M<br />
| 0x11e1<br />
| NVE6 (GK106M)<br />
| Razerblade RZ09<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| NVIDIA Quadro K1000M<br />
| 0x0ffc<br />
| NVE7 (GK107GLM)<br />
| Lenovo Thinkpad W530<br />
| [mailto:jlin@mozilla.com returned pc to Jonathan Lin] (Toronto)<br />
|-<br />
| Intel HD Graphics 4600 / Quadro K2100M Optimus<br />
| 0x11fc<br />
| GK106<br />
| Lenovo Thinkpad W540<br />
| Toronto Lab<br />
|-<br />
| NVIDIA GeForce GT 730<br />
| ''unknown''<br />
| GK208<br />
| n/a - loose card<br />
| Toronto<br />
|-<br />
| NVIDIA GeForce GTX 775M<br />
| ''0x119d''<br />
| GK104M<br />
| Late 2013 iMac<br />
| Santa Monica, CA [mailto:mchang@mozilla.com Mason Chang]<br />
|-<br />
|}<br />
<br />
== Maxwell (NV110) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 950<br />
| <br />
| (GM206)<br />
| n/a - loose card<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
|}<br />
<br />
== Pascal ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:10%" | ID<br />
! style="width:15%" | Chipset<br />
! style="width:20%" | System<br />
! style="width:30%" | Points of Contact<br />
|-<br />
| NVIDIA GeForce GTX 1080<br />
| 0x1b80<br />
| (GP104)<br />
| VR machine<br />
| [Jeff Muizelaar] (Toronto)<br />
|-<br />
| NVIDIA GeForce GTX 1050 Ti with Max-Q Design<br />
| 0x1c8c<br />
| <br />
| Dell XPS 15 9570<br />
| jgilbert (Mountain View)<br />
|-<br />
|}<br />
<br />
= Mobile Chipsets =<br />
== ARM v6 (Deprecated) ==<br />
{| class="wikitable sortable" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/lg_optimus_slider-4286.php LG Optimus Slider]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/samsung_gravity_smart-3969.php Samsung Gravity Smart]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_fit_s5670-3726.php Samsung Galaxy Fit]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.3<br />
| [mailto:msreckovic@mozilla.com Milan Sreckovic] (Toronto)<br />
|}<br />
<br />
== ARM v7 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/alcatel_one_touch_fire-5319.php Alcatel OneTouch Fire]<br />
| Phone<br />
| Adreno 200<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7-4850.php ASUS Google Nexus 7 (2012)]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 4.1 - 5.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/asus_google_nexus_7_%282013%29-5600.php ASUS Google Nexus 7 (2013)]<br />
| Tablet<br />
| Adreno 320<br />
| Android 4.3 - 5.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_transformer_prime_tf201-4322.php ASUS Transformer Prime TF201]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.2 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/asus_vivotab_rt_tf600t-5083.php ASUS Vivotab TF600T]<br />
| Tablet<br />
| ULP GeForce<br />
| Windows RT<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [https://developer.mozilla.org/en-US/Firefox_OS/Phone_guide/Flame#Device_specifications Flame]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [https://en.wikipedia.org/wiki/GeeksPhone_Peak Geeksphone Peak]<br />
| Phone<br />
| ''unknown''<br />
| Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_626-6968.php HTC Desire 626]<br />
| Phone<br />
| Adreno 306<br />
| Android 5.1.1<br />
| [mailto:danderson@mozilla.com David Anderson] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_hd-3468.php HTC Desire HD]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/htc_desire_s-3776.php HTC Desire S]<br />
| Phone<br />
| Adreno 205<br />
| Android 2.3, 4.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_google_nexus_one-3069.php HTC Google Nexus One]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.3<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London)<br />
|-<br />
| [http://www.gsmarena.com/htc_nexus_9-5823.php HTC Google Nexus 9]<br />
| Tablet<br />
| Kepler DX1<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/htc_one_s-4574.php HTC One S]<br />
| Phone<br />
| Adreno 225<br />
| Android 4.0 - 4.1<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/huawei_ascend_y300-5386.php Huawei Ascend Y300]<br />
| Phone<br />
| Adreno 203<br />
| Firefox OS<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/lg_g2-5543.php LG G2] (Verizon edition)<br />
| Phone<br />
| Adreno 330<br />
| Android 4.2 - 5.0<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_4_e960-5048.php LG Google Nexus 4]<br />
| Phone<br />
| Adreno 320<br />
| Android 4.2 - 5.1, Firefox OS<br />
| [mailto:mchang@mozilla.com Mason Chang] (Santa Monica) <br> [mailto:bgirard@mozilla.com Benoit Girard] (Toronto) <br> [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane) <br> [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [http://www.gsmarena.com/lg_nexus_5-5705.php LG Google Nexus 5]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [http://www.gsmarena.com/lg_optimus_2x-3598.php LG Optimus 2X]<br />
| Phone<br />
| ULP GeForce<br />
| Android 2.3 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/motorola_nexus_6-6604.php Motorola Google Nexus 6]<br />
| Phone<br />
| Adreno 240<br />
| Android 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_xoom_mz604-3833.php Motorola XOOM MZ604]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| [https://en.wikipedia.org/wiki/Odroid Odroid XU3]<br />
| Tablet<br />
| Mali-T628 MP6<br />
| Android / Ubuntu<br />
| [mailto:dglastonbury@mozilla.com Dan Glastonbury] (Brisbane)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_551-3515.php Samsung Galaxy GT-I5510M]<br />
| Phone<br />
| Adreno 200<br />
| Android 2.2<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_nexus_i9250-4219.php Samsung Galaxy Nexus]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.2<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9100_galaxy_s_ii-3621.php Samsung Galaxy S II]<br />
| Phone<br />
| Mali-400<br />
| Android 4.1<br />
| [mailto:jnicol@mozilla.com Jamie Nicol] (London) <br> [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_i9300_galaxy_s_iii-4238.php Samsung Galaxy S III]<br />
| Phone<br />
| Mali-400MP4<br />
| Android 4.0 - 4.3<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s5-6033.php Samsung Galaxy S5]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_s6-6849.php Samsung Galaxy S6]<br />
| Phone<br />
| Mali-T760MP8<br />
| Android 5.0 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/samsung_galaxy_tab_10_1_p7510-3894.php Samsung Galaxy Tab 10.1]<br />
| Tablet<br />
| ULP GeForce<br />
| Android 3.0 - 4.0<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_10_p8110-5084.php Samsung Google Nexus 10]<br />
| Tablet<br />
| Mali-T604<br />
| Android 4.0 - 5.1<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|-<br />
| [http://www.gsmarena.com/samsung_google_nexus_s-3620.php Samsung Google Nexus S]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 2.3 - 5.1, Firefox OS<br />
| [mailto:jgilbert@mozilla.com Jeff Gilbert] (Mountain View) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://pdadb.net/index.php?m=specs&id=2776&c=sony_ericsson_xperia_play_r800__r800i_se_zeus Sony Xperia Play r800i]<br />
| Phone<br />
| ''unknown''<br />
| Android 2.3<br />
| [mailto:msreckovic@mozilla.com Milan Sreckovic] (Toronto)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z2_tablet_wi_fi-6161.php Sony Xperia Z2]<br />
| Tablet<br />
| Adreno 330<br />
| Android 4.4 - 5.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/sony_xperia_z3-6539.php Sony Xperia Z3]<br />
| Phone<br />
| Adreno 330<br />
| Android 4.4 - 5.1, Firefox OS<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| [http://www.sonymobile.com/gb/products/phones/xperia-z3-compact/specifications/ Sony Xperia Z3C]<br />
| Phone<br />
| Adreno 330<br />
| Android 5.1, Firefox OS<br />
| [mailto:kgupta@mozilla.com Kartikaya Gupta] (Toronto) <br> [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver) <br> [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| Mediatek Woodduck<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Inari<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Otoro<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Nexus 4 + Battery Harness<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Samsung Nexus S<br />
| Phone<br />
| ??<br />
| Firefox OS, Android<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Qualcom QRD8x26<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Alcatel Midori (one touch)<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| TCL Hamachi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE OpenL<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| Geekphone Peak<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Ikura<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:bgirard@mozilla.com Benoit Girard] (Toronto)<br />
|-<br />
| ZTE Unagi<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| TCL Buri<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
| Spreadtrum Dolphin<br />
| Phone<br />
| ??<br />
| Firefox OS<br />
| [mailto:sikeda@mozilla.com Sotaro Ikeda] (Tokyo) <br />
|-<br />
|}<br />
<br />
== ARM v8 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [https://www.gsmarena.com/sony_xperia_xa1-8596.php Sony Xperia XA1]<br />
| Phone<br />
| Mali T-880<br />
| Android 8.0<br />
| [https://mozillians.org/u/Kwan/ Ian Moody] (volunteer, UK)<br />
|-<br />
| [https://www.gsmarena.com/motorola_moto_e5_cruise-9575.php Moto e5 Cruise]<br />
| Phone<br />
| Adreno 308<br />
| Android 8.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|-<br />
| [https://www.gsmarena.com/google_pixel_2-8733.php Pixel 2]<br />
| Phone<br />
| Adreno 540<br />
| Android 9.0<br />
| [mailto:tnikkel@mozilla.com Timothy Nikkel] (Winnipeg)<br />
|}<br />
<br />
== Intel x86 ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| [http://www.gsmarena.com/asus_fonepad-5329.php ASUS Fonepad]<br />
| Tablet<br />
| PowerVR SGX540<br />
| Android 4.1<br />
| [mailto:ahughes@mozilla.com Anthony Hughes] (Vancouver)<br />
|-<br />
| [http://www.gsmarena.com/motorola_razr_i_xt890-4998.php Motorola Razer XT890]<br />
| Phone<br />
| PowerVR SGX540<br />
| Android 4.0<br />
| [mailto:bballo@mozilla.com Botond Ballo] (Toronto)<br />
|-<br />
|}<br />
<br />
== Unknown Architecture ==<br />
{| class="wikitable sortable collapsible" style="width:100%"<br />
|-<br />
! style="width:25%" | Device<br />
! style="width:15%" | Form Factor<br />
! style="width:15%" | GPU<br />
! style="width:20%" | Platform<br />
! style="width:25%" | Points of Contact<br />
|-<br />
| Samsung Galaxy Ace<br />
| Phone<br />
| ''unknown''<br />
| ''unknown''<br />
| [mailto:nsilva@mozilla.com Nicolas Silva] (Paris)<br />
|}</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Mobile/Fennec/Android/GDB&diff=1094716Mobile/Fennec/Android/GDB2015-09-10T21:00:22Z<p>Jgilbert: /* FAQ */ Add hint for trouble next-ing and for SIG33 interrupts</p>
<hr />
<div>JimDB is a fork of GDB used for simplifying Fennec development. It consists of two parts:<br />
<br />
* Binaries - the GDB/GDBServer binaries that include Android-specific patches (https://github.com/darchons/android-gdb)<br />
* Scripts - the Python scripts that run under GDB to simplify common tasks (https://github.com/darchons/android-gdbutils)<br />
<br />
Use #mobile on IRC for support.<br />
<br />
= Getting started =<br />
<br />
== Using pre-built binaries ==<br />
<br />
=== Instructions ===<br />
<br />
# Download the latest pre-built jimdb binaries for your host and device platforms from [https://people.mozilla.org/~nchen/jimdb this directory] (use 'jimdb-arm' for ARM devices and 'jimdb-x86' for x86 devices)<br />
# Download the latest pre-built gdbserver binary for your device platform from [https://people.mozilla.org/~nchen/jimdb the same directory]<br />
# Extract to a user-writable directory<br />
# Replace the gdbserver binary in the jimdb-*/bin/ directory with the one you downloaded separately (it's newer)<br />
# Run 'git pull' from inside the utils/ directory to get the latest scripts<br />
# Launch bin/gdb to start using JimDB!<br />
# OPTIONAL: For easier access, you can create a symlink to jimdb under, e.g., /usr/bin<br />
<br />
=== Example ===<br />
<br />
For ARM devices on Linux,<br />
cd $HOME<br />
wget https://people.mozilla.org/~nchen/jimdb/jimdb-arm-linux_x64.tar.bz2 # step 1<br />
tar -xf jimdb-arm-linux_x64.tar.bz2 # step 3<br />
cd jimdb-arm/utils && git pull # step 5<br />
../bin/gdb # step 6<br />
sudo ln -s $HOME/jimdb-arm/bin/gdb /usr/bin/jimdb # step 7<br />
<br />
If you download the wrong x86 or x64 build, you might get an error like:<br />
$ ./bin/gdb<br />
./bin/gdb: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory<br />
<br />
== Custom-building ==<br />
<br />
=== Step 1. Compiling the binaries ===<br />
<br />
There are two things to build here: gdb and gdbserver<br />
<br />
==== Linux ====<br />
<br />
===== GDB =====<br />
<br />
# Clone [https://github.com/darchons/android-gdb the GitHub repo] (do not use the Zip archive, as the build system will try to obtain a git changeset id)<br />
# You may need to install additional packages in order to build GDB. For example,<pre>sudo apt-get build-dep gdb</pre><br />
# Run configure inside the source directory<pre># ARM:&#10;./configure --target=arm-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit&#10;# x86:&#10;./configure --target=i686-pc-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdb<br />
If you see an error like:<br />
<pre><br />
../../../../bfd/doc/bfd.texinfo:325: unknown command `colophon'<br />
../../../../bfd/doc/bfd.texinfo:336: unknown command `cygnus'<br />
Makefile:421: recipe for target 'bfd.info' failed<br />
</pre><br />
you can fix this by running:<br />
<pre><br />
sed -i -e 's/@colophon/@@colophon/' -e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo<br />
</pre><br />
or by checking out a more recent branch (this bug is in the 7_5 branch).<br />
<br />
===== GDBServer =====<br />
<br />
Consider using the pre-built gdbserver binary from the "Using pre-built binaries" section above; gdbserver is not specific to your platform. Otherwise,<br />
# Use the source directory from above<br />
# Make sure you have a copy of the Android NDK<br />
# Run configure inside the ''gdb/gdbserver directory'' (following is for NDK r8d)<pre>export NDK=/PATH/TO/NDK&#10;# ARM:&#10;export PATH=$PATH:$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin&#10;./configure --host=arm-linux-androideabi --with-sysroot=$NDK/platforms/android-9/arch-arm&#10;# x86:&#10;export PATH=$PATH:$NDK/toolchains/x86-4.6/prebuilt/linux-x86/bin&#10;./configure --host=i686-linux-android --with-sysroot=$NDK/platforms/android-9/arch-x86</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdbserver<br />
<br />
==== Mac ====<br />
<br />
===== GDB =====<br />
<br />
# Get a zip of the source from [https://github.com/darchons/android-gdb the GitHub repo] (Get the zip because cloning takes a lot longer)<br />
# Extract the zip<br />
# You may need to install additional packages in order to build GDB. For example,<pre>port install bison flex ncurses texinfo python27</pre><br />
# Run configure inside the source directory<pre># ARM:&#10;./configure --target=arm-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit&#10;# x86:&#10;./configure --target=i686-pc-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdb<br />
<br />
===== GDBServer =====<br />
<br />
Consider using the pre-built gdbserver binary from the "Using pre-built binaries" section above; gdbserver is not specific to your platform. Otherwise,<br />
# Use the source directory from above<br />
# Make sure you have a copy of the Android NDK<br />
# Run configure inside the ''gdb/gdbserver directory'' (following is for NDK r8d)<pre>export NDK=/PATH/TO/NDK&#10;# ARM:&#10;export PATH=$PATH:$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin&#10;./configure --host=arm-linux-androideabi --with-sysroot=$NDK/platforms/android-9/arch-arm&#10;# x86:&#10;export PATH=$PATH:$NDK/toolchains/x86-4.6/prebuilt/darwin-x86/bin&#10;./configure --host=i686-linux-android --with-sysroot=$NDK/platforms/android-9/arch-x86</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdbserver/gdbserver<br />
<br />
=== Step 2. Creating JimDB directory ===<br />
<br />
To get the most out of JimDB, in addition to the binaries, you need the Python scripts. But first, the scripts assume you have the following JimDB directory structure,<br />
<br />
./bin/<br />
gdb<br />
gdbserver<br />
./utils/<br />
gdbinit<br />
python/<br />
<br />
Therefore, you'd need to,<br />
# Make a JimDB directory<br />
# Copy gdb and gdbserver from steps above to bin/<br />
# Clone the Python scripts to utils/<br />
# Run bin/gdb<br />
<br />
For example,<br />
mkdir -p jimdb/bin # step 1<br />
cp /PATH/TO/SOURCE/gdb/gdb jimdb/bin # step 2<br />
cp /PATH/TO/SOURCE/gdb/gdbserver/gdbserver jimdb/bin<br />
git clone git://github.com/darchons/android-gdbutils.git jimdb/utils # step 3<br />
jimdb/bin/gdb # step 4<br />
<br />
= Using JimDB =<br />
<br />
== First run ==<br />
<br />
In order to debug Fennec, JimDB needs a copy of your system libraries. When you try to debug Fennec on a particular device for the first time, JimDB will download the libraries from your device. This may take some time but will only need to run once. You may need to restart JimDB in order for debug symbols to work.<br />
<br />
== Configuring JimDB ==<br />
<br />
utils/gdbinit is the GDB command file that JimDB runs at launch. Open it in your favorite text editor to see configurable settings for JimDB.<br />
<br />
utils/gdbinit also loads utils/gdbinit.local. Because utils/gdbinit can change frequently across updates, it's recommended to copy your custom settings to utils/gdbinit.local, so that updates do not override your settings.<br />
<br />
For example, to configure the feninit.default.objdir option, paste the following line anywhere inside utils/gdbinit.local,<br />
python feninit.default.objdir = '/home/user/mozilla/central/objdir-android'<br />
<br />
== FenInit ==<br />
<br />
FenInit is the Python script that simplifies launching Fennec on your device and setting up a debug environment. When JimDB starts, FenInit runs automatically and presents several options,<br />
<br />
# Debug Fennec (default)<br />
# Debug Fennec with env vars and args<br />
# Debug using jdb<br />
# Debug content Mochitest<br />
# Debug compiled-code unit test<br />
<br />
[[File:Jimdb-prompt.png]]<br />
<br />
=== Debug Fennec ===<br />
<br />
This is the default option. Once you choose an object directory to use, the script will automatically launch Fennec, and run GDBServer to attach to Fennec.<br />
<br />
The script tries to scan your user directory for object directories. For more control, see the [[#feninit.default.objdir|Configuration section]] on how to specify default object directories or where to scan for object directories.<br />
<br />
=== Debug Fennec with env vars and args ===<br />
<br />
This option gives you the additional ability to specify environment variables and arguments when launching Fennec. See the [[#feninit.default.env|Configuration section]] on how to specify additional default environment variables and arguments.<br />
<br />
=== Debug using jdb ===<br />
<br />
This option will let you use the Java debugger (jdb) to debug the native Java portion of Fennec. This is the default option if you already have a previous JimDB debugging session running.<br />
<br />
JDB support is experimental. It is able to at least set breakpoints, show source code, and examine objects.<br />
<br />
=== Debug content Mochitest ===<br />
<br />
This option will let you debug a regular Mochitest. Make sure Fennec is compiled with the '--enable-tests' option in the mozconfig file. Because running Mochitests require a copy of the XUL Runtime Environment (XRE), the script will offer to automatically download a copy of XRE for you, as well as launching the test harness. You can specify a file or a directory to test, or set TEST_PATH. Environment variables and arguments to the test harness are also supported.<br />
<br />
=== Debug compiled-code unit test ===<br />
<br />
This option will let you debug a C++ test. Environment variables and arguments are supported.<br />
<br />
=== Configuration ===<br />
==== feninit.default.objdir ====<br />
* Set feninit.default.objdir to the default object directory. Note that once it is set, the script will not prompt you to choose an object directory.<br />
* Alternatively, if your object directories are called 'obj*' under your source directory, you can set feninit.default.objdir to the source directory itself. The script will scan the source directory and list all the object directories that it found.<br />
* Note that there have been problems in the past with using ~ and $HOME in the setting, so use absolute path for best results.<br />
* PRO-TIP: Put the following code block inside gdbinit.local to always use the current directory as the object directory,<br />
python<br />
import os<br />
feninit.default.objdir = os.getcwd()<br />
end<br />
<br />
==== feninit.default.srcroot ====<br />
* Unlike the previous setting, feninit.default.srcroot specifies the directory containing all the source directories. This is convenient if you have 'src/mozilla-central', 'src/mozilla-inbound', 'src/mozilla-aurora', etc. In that case, you can set feninit.default.srcroot to 'src' and all the source directories will be scanned for object directories.<br />
* Again, use absolute path for best results.<br />
==== feninit.default.no_launch ====<br />
* This settings is meant for B2G, and may not be useful for Fennec debugging.<br />
==== feninit.default.gdbserver_port ====<br />
* To debug Fennec on your device, GDB on your computer needs to talk to GDBServer on your device through a TCP port forwarded to your device through ADB.<br />
* Normally, JimDB will use a random port. However, you can pick a specific port to use. This is useful in certain situations such as inside an SSH session. See [http://www.jnchen.com/blog/2012/11/tunnelling-adb this blog post].<br />
==== feninit.default.jdwp_port ====<br />
* Similar to feninit.default.gdbserver_port, except for using JDB for debugging.<br />
==== feninit.default.env ====<br />
* Specify the default environment variables to use when launching Fennec. Only used for the "Debug Fennec" options.<br />
==== feninit.default.args ====<br />
* Specify the default arguments to use when launching Fennec. Only used for the "Debug Fennec" options.<br />
==== feninit.default.cpp_env ====<br />
* Similar to [[#feninit.default.env|feninit.default.env]], except only used for the "Debug compiled-code unit test" option.<br />
==== feninit.default.mochi_env ====<br />
* Similar to [[#feninit.default.env|feninit.default.env]], except only used for the "Debug content Mochitest" option.<br />
==== feninit.default.mochi_args ====<br />
* Specify the default arguments to use when debugging Mochitest. Only used for the "Debug content Mochitest" option.<br />
* Note that Mochitest arguments are arguments to the test harness (e.g. --remote-webserver), and not arguments to Fennec itself.<br />
==== feninit.default.mochi_xre ====<br />
* Specify the XRE directory to use, instead of letting the script download and manage an XRE copy.<br />
==== feninit.default.mochi_harness ====<br />
* Specify the directory containing the harness itself, i.e. "runtestsremote.py". Not needed normally.<br />
==== feninit.default.mochi_xre_url ====<br />
* Specify the directory on [https://ftp.mozilla.org ftp.mozilla.org] to use for downloading XRE. Not used if feninit.default.mochi_xre is specified.<br />
==== feninit.default.mochi_xre_update ====<br />
* Specify the XRE check for updates interval. Only used if the script is managing the XRE copy, and not used if feninit.default.mochi_xre_update is specified.<br />
<br />
== GDB commands specific to JimDB ==<br />
=== set delay-add-remote-solibs ===<br />
gdb> set delay-add-remote-solibs <0|1><br />
Default setting is 0. Set delay-add-remote-solibs to 1 to delay loading symbols when shared libraries are loaded. This may improve the set up time. However, you may need to use the "sharedlibrary" command to manually load symbols before using breakpoints.<br />
=== monitor set ignore-ondemand ===<br />
gdb> monitor set ignore-ondemand <0|1><br />
Default setting is 1. Set ignore-ondemand to 0 to not ignore segmentation faults generated by on-demand decompression. This setting may be needed to debug specific segmentation faults that are inadvertently being ignored. This command can only be run after attaching to the target, so it cannot be specified in gdbinit.local.<br />
<br />
= FAQ =<br />
<br />
=== What is moz-gdb? ===<br />
* moz-gdb was a synonym for JimDB, but it's no longer used, to avoid confusion<br />
<br />
=== "configure: error: failure running python-config" when compiling GDB ===<br />
* python may point to python3 on your machine. You need to specify where python2 is by using, for example, --with-python=python2 in your configure line<br />
<br />
=== "error while loading shared libraries: libtinfo.so.5" on Linux ===<br />
* You may need to create a libtinfo.so.5 symlink to libncurses.so.5. For example,<br />
sudo ln -s libncurses.so.5 /usr/lib/libtinfo.so.5<br />
<br />
=== "Segmentation fault: 11" or "Illegal instruction: 4" on Mac OS X ===<br />
* This may be due to incompatible OS X SDK versions. You should build your own JimDB binary to avoid the issue.<br />
<br />
=== "cannot locate symbol "__exidx_end"" when starting to debug ===<br />
* If you're using pre-built binaries, you need to update to a newer version of JimDB<br />
* If you're using custom-built binaries, you need to recompile gdbserver using a newer version of the NDK<br />
<br />
=== "No module named printing" when debugging Fennec with JimDB ===<br />
* The JimDB Python scripts lack several scripts included in regular GDB packages. To fix that, simply copy your local copy of these scripts to the JimDB utils/python directory. For example, on a typical Linux system, run<br />
cp -r /usr/share/gdb/python/gdb $jimdb/utils/python/<br />
* If you don't have these files, they are available [https://people.mozilla.org/~nchen/jimdb/gdb-python-lib.tar.bz2 here]; just extract it under $jimdb/utils/python/<br />
<br />
=== Random segmentation faults when debugging Fennec ===<br />
* GDB can catch segmentation faults generated by on-demand decompression; just use "continue" to continue execution.<br />
* Alternatively, specify the "MOZ_LINKER_ONDEMAND=0" environment variable when launching Fennec using Option 2. You can also put the option inside jimdb/utils/gdbinit.local.<br />
<br />
=== GDB crashed and Fennec is stuck. Halp!! ===<br />
* GDBServer may still be attached to Fennec but is unable to communicate with GDB; try killing GDBServer<br />
adb shell run-as org.mozilla.fennec_$USER kill `adb shell ps | grep gdb | awk '{print $2}'`<br />
<br />
=== "make: `[path]/mochitest-remote' is up to date." while trying to run Mochitests ===<br />
* Delete the mochitest-remote file.<br />
<br />
=== "failed to run gdbserver" === <br />
<br />
"gdbserver" output:<br />
/system/bin/sh: /data/local/tmp/gdbserver: not executable: magic 7F45<br />
"run-as" output:<br />
/data/local/tmp/gdbserver[1]: syntax error: '(' unexpected<br />
"su -c" output:<br />
/system/bin/sh: su: not found<br />
[path]/jimdb-x86/bin/../utils/gdbinit:136: Error in sourced command file:<br />
failed to run gdbserver<br />
<br />
You are probably trying to run the x86 version on an ARM device. Download the ARM version of JimDB instead.<br />
<br />
Alternatively, you may just have an out-of-date version of gdbserver. Check for an updated version in the link posted above.<br />
<br />
=== JimDB sucks! Halp!! ===<br />
* Come on #mobile on IRC<br />
* Or file a bug under Firefox for Android, JimDB component<br />
<br />
=== JimDB is awesome now!! Can I buy you a $beverage? ===<br />
Yes! See also {{bug|800000}}<br />
<br />
=== Using `next` to traverse a function sometimes gets stuck with an error like "Unable to find end of function" ===<br />
Try using the env-var MOZ_LINKER_ONDEMAND=0.<br />
<br />
=== Execution pauses often for "Program received signal SIG33, Real-time event 33." ===<br />
This should be caught automatically, but try:<br />
handle SIG33 pass nostop noprint</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/OpenGL_Surprises&diff=1057139Platform/GFX/OpenGL Surprises2015-02-19T23:56:41Z<p>Jgilbert: fixup</p>
<hr />
<div>==Floating-point Renderability==<br />
This stuff is a mess.<br />
<br />
===OES_texture_float and OES_texture_half_float===<br />
[https://www.khronos.org/registry/gles/extensions/OES/OES_texture_float.txt (spec document)]<br />
(both are defined in the same document)<br />
<br />
Written against ES2.<br />
<br />
Allows specification of textures with a format/type of {<code>RGB</code>,<code>RGBA</code>,<code>LUMINANCE</code>,<code>ALPHA</code>,<code>LUMINANCE_ALPHA</code>}/{<code>FLOAT</code>,<code>HALF_FLOAT_OES</code>}.<br />
Only <code>NEAREST</code>-based filter modes are supported. (OES_texture_[half_]float_linear allows <code>LINEAR</code> filtering)<br />
<br />
===EXT_color_buffer_half_float===<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_half_float.txt (spec document)]<br />
<br />
Written against ES2. <br />
<br />
===EXT_color_buffer_float===<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_float.txt (spec document)]<br />
<br />
Written against ES'''3'''.<br />
<br />
It's tempting to think of EXT_color_buffer_float as the float32 equivalent of EXT_color_buffer_half_float, but this is untrue! EXT_color_buffer_float is the ES3 extension that allows both float16 and float32 rendering.<br />
<br />
==DrawBuffer==<br />
WebGL1 with the drawbuffer extension allows access to gl_FragData in GLSLES1 shaders, but WebGL2 requires a GLSLES3 shader version in order to use gl_FragData.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/OpenGL_Surprises&diff=1057138Platform/GFX/OpenGL Surprises2015-02-19T23:55:22Z<p>Jgilbert: Fix header depth</p>
<hr />
<div>==Floating-point Renderability==<br />
This stuff is a mess.<br />
<br />
===OES_texture_float and OES_texture_half_float===<br />
[https://www.khronos.org/registry/gles/extensions/OES/OES_texture_float.txt (spec document)]<br />
(both are defined in the same document)<br />
<br />
Written against ES2.<br />
<br />
Allows specification of textures with a format/type of {<code>RGB</code>,<code>RGBA</code>,<code>LUMINANCE</code>,<code>ALPHA</code>,<code>LUMINANCE_ALPHA</code>}/{<code>FLOAT</code>,<code>HALF_FLOAT_OES</code>}.<br />
Only <code>NEAREST</code>-based filter modes are supported. (OES_texture_[half_]float_linear allows <code>LINEAR</code> filtering)<br />
<br />
===EXT_color_buffer_half_float===<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_half_float.txt (spec document)]<br />
<br />
Written against ES2. <br />
<br />
===EXT_color_buffer_float===<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_float.txt (spec document)]<br />
<br />
Written against ES'''3'''. It's tempting to think of EXT_color_buffer_float as the float32 equivalent of EXT_color_buffer_half_float, but this is untrue! EXT_color_buffer_float is the ES3 extension that allows both float16 and float32 rendering.<br />
<br />
==DrawBuffer==<br />
WebGL1 with the drawbuffer extension allows access to gl_FragData in GLSLES1 shaders, but WebGL2 requires a GLSLES3 shader version in order to use gl_FragData.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/OpenGL_Surprises&diff=1057137Platform/GFX/OpenGL Surprises2015-02-19T23:54:55Z<p>Jgilbert: Fix header depth</p>
<hr />
<div>==Floating-point Renderability==<br />
This stuff is a mess.<br />
<br />
====OES_texture_float and OES_texture_half_float====<br />
[https://www.khronos.org/registry/gles/extensions/OES/OES_texture_float.txt (spec document)]<br />
(both are defined in the same document)<br />
<br />
Written against ES2.<br />
<br />
Allows specification of textures with a format/type of {<code>RGB</code>,<code>RGBA</code>,<code>LUMINANCE</code>,<code>ALPHA</code>,<code>LUMINANCE_ALPHA</code>}/{<code>FLOAT</code>,<code>HALF_FLOAT_OES</code>}.<br />
Only <code>NEAREST</code>-based filter modes are supported. (OES_texture_[half_]float_linear allows <code>LINEAR</code> filtering)<br />
<br />
====EXT_color_buffer_half_float====<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_half_float.txt (spec document)]<br />
<br />
Written against ES2. <br />
<br />
====EXT_color_buffer_float====<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_float.txt (spec document)]<br />
<br />
Written against ES'''3'''. It's tempting to think of EXT_color_buffer_float as the float32 equivalent of EXT_color_buffer_half_float, but this is untrue! EXT_color_buffer_float is the ES3 extension that allows both float16 and float32 rendering.<br />
<br />
==DrawBuffer==<br />
WebGL1 with the drawbuffer extension allows access to gl_FragData in GLSLES1 shaders, but WebGL2 requires a GLSLES3 shader version in order to use gl_FragData.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/OpenGL_Surprises&diff=1057136Platform/GFX/OpenGL Surprises2015-02-19T23:54:05Z<p>Jgilbert: Created page with "===Floating-point Renderability=== This is a mess. ====OES_texture_float and OES_texture_half_float==== [https://www.khronos.org/registry/gles/extensions/OES/OES_texture_floa..."</p>
<hr />
<div>===Floating-point Renderability===<br />
This is a mess.<br />
<br />
====OES_texture_float and OES_texture_half_float====<br />
[https://www.khronos.org/registry/gles/extensions/OES/OES_texture_float.txt (spec document)]<br />
(both are defined in the same document)<br />
<br />
Written against ES2.<br />
<br />
Allows specification of textures with a format/type of {<code>RGB</code>,<code>RGBA</code>,<code>LUMINANCE</code>,<code>ALPHA</code>,<code>LUMINANCE_ALPHA</code>}/{<code>FLOAT</code>,<code>HALF_FLOAT_OES</code>}.<br />
Only <code>NEAREST</code>-based filter modes are supported. (OES_texture_[half_]float_linear allows <code>LINEAR</code> filtering)<br />
<br />
====EXT_color_buffer_half_float====<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_half_float.txt (spec document)]<br />
<br />
Written against ES2. <br />
<br />
====EXT_color_buffer_float====<br />
[https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_float.txt (spec document)]<br />
<br />
Written against ES'''3'''. It's tempting to think of EXT_color_buffer_float as the float32 equivalent of EXT_color_buffer_half_float, but this is untrue! EXT_color_buffer_float is the ES3 extension that allows both float16 and float32 rendering.<br />
<br />
===DrawBuffer===<br />
WebGL1 with the drawbuffer extension allows access to gl_FragData in GLSLES1 shaders, but WebGL2 requires a GLSLES3 shader version in order to use gl_FragData.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Mobile/Fennec/Android/GDB&diff=1055959Mobile/Fennec/Android/GDB2015-02-13T00:42:00Z<p>Jgilbert: /* FAQ */ Consider updating your gdbserver</p>
<hr />
<div>JimDB is a fork of GDB used for simplifying Fennec development. It consists of two parts:<br />
<br />
* Binaries - the GDB/GDBServer binaries that include Android-specific patches (https://github.com/darchons/android-gdb)<br />
* Scripts - the Python scripts that run under GDB to simplify common tasks (https://github.com/darchons/android-gdbutils)<br />
<br />
Use #mobile on IRC for support.<br />
<br />
= Getting started =<br />
<br />
== Using pre-built binaries ==<br />
<br />
=== Instructions ===<br />
<br />
# Download the latest pre-built jimdb binaries for your host and device platforms from [https://people.mozilla.org/~nchen/jimdb this directory] (use 'jimdb-arm' for ARM devices and 'jimdb-x86' for x86 devices)<br />
# Download the latest pre-built gdbserver binary for your device platform from [https://people.mozilla.org/~nchen/jimdb the same directory]<br />
# Extract to a user-writable directory<br />
# Replace the gdbserver binary in the jimdb-*/bin/ directory with the one you downloaded separately (it's newer)<br />
# Run 'git pull' from inside the utils/ directory to get the latest scripts<br />
# Launch bin/gdb to start using JimDB!<br />
# OPTIONAL: For easier access, you can create a symlink to jimdb under, e.g., /usr/bin<br />
<br />
=== Example ===<br />
<br />
For ARM devices on Linux,<br />
cd $HOME<br />
wget https://people.mozilla.org/~nchen/jimdb/jimdb-arm-linux_x64.tar.bz2 # step 1<br />
tar -xf jimdb-arm-linux_x64.tar.bz2 # step 2<br />
cd jimdb/utils # step 3<br />
git pull<br />
../bin/gdb # step 4<br />
sudo ln -s $HOME/jimdb/bin/gdb /usr/bin/jimdb # step 5<br />
<br />
If you download the wrong x86 or x64 build, you might get an error like:<br />
$ ./bin/gdb<br />
./bin/gdb: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory<br />
<br />
== Custom-building ==<br />
<br />
=== Step 1. Compiling the binaries ===<br />
<br />
There are two things to build here: gdb and gdbserver<br />
<br />
==== Linux ====<br />
<br />
===== GDB =====<br />
<br />
# Clone [https://github.com/darchons/android-gdb the GitHub repo] (do not use the Zip archive, as the build system will try to obtain a git changeset id)<br />
# You may need to install additional packages in order to build GDB. For example,<pre>sudo apt-get build-dep gdb</pre><br />
# Run configure inside the source directory<pre># ARM:&#10;./configure --target=arm-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit&#10;# x86:&#10;./configure --target=i686-pc-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdb<br />
If you see an error like:<br />
<pre><br />
../../../../bfd/doc/bfd.texinfo:325: unknown command `colophon'<br />
../../../../bfd/doc/bfd.texinfo:336: unknown command `cygnus'<br />
Makefile:421: recipe for target 'bfd.info' failed<br />
</pre><br />
you can fix this by running:<br />
<pre><br />
sed -i -e 's/@colophon/@@colophon/' -e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo<br />
</pre><br />
or by checking out a more recent branch (this bug is in the 7_5 branch).<br />
<br />
===== GDBServer =====<br />
<br />
Consider using the pre-built gdbserver binary from the "Using pre-built binaries" section above; gdbserver is not specific to your platform. Otherwise,<br />
# Use the source directory from above<br />
# Make sure you have a copy of the Android NDK<br />
# Run configure inside the ''gdb/gdbserver directory'' (following is for NDK r8d)<pre>export NDK=/PATH/TO/NDK&#10;# ARM:&#10;export PATH=$PATH:$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin&#10;./configure --host=arm-linux-androideabi --with-sysroot=$NDK/platforms/android-9/arch-arm&#10;# x86:&#10;export PATH=$PATH:$NDK/toolchains/x86-4.6/prebuilt/linux-x86/bin&#10;./configure --host=i686-linux-android --with-sysroot=$NDK/platforms/android-9/arch-x86</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdbserver<br />
<br />
==== Mac ====<br />
<br />
===== GDB =====<br />
<br />
# Get a zip of the source from [https://github.com/darchons/android-gdb the GitHub repo] (Get the zip because cloning takes a lot longer)<br />
# Extract the zip<br />
# You may need to install additional packages in order to build GDB. For example,<pre>port install bison flex ncurses texinfo python27</pre><br />
# Run configure inside the source directory<pre># ARM:&#10;./configure --target=arm-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit&#10;# x86:&#10;./configure --target=i686-pc-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdb<br />
<br />
===== GDBServer =====<br />
<br />
Consider using the pre-built gdbserver binary from the "Using pre-built binaries" section above; gdbserver is not specific to your platform. Otherwise,<br />
# Use the source directory from above<br />
# Make sure you have a copy of the Android NDK<br />
# Run configure inside the ''gdb/gdbserver directory'' (following is for NDK r8d)<pre>export NDK=/PATH/TO/NDK&#10;# ARM:&#10;export PATH=$PATH:$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin&#10;./configure --host=arm-linux-androideabi --with-sysroot=$NDK/platforms/android-9/arch-arm&#10;# x86:&#10;export PATH=$PATH:$NDK/toolchains/x86-4.6/prebuilt/darwin-x86/bin&#10;./configure --host=i686-linux-android --with-sysroot=$NDK/platforms/android-9/arch-x86</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdbserver/gdbserver<br />
<br />
=== Step 2. Creating JimDB directory ===<br />
<br />
To get the most out of JimDB, in addition to the binaries, you need the Python scripts. But first, the scripts assume you have the following JimDB directory structure,<br />
<br />
./bin/<br />
gdb<br />
gdbserver<br />
./utils/<br />
gdbinit<br />
python/<br />
<br />
Therefore, you'd need to,<br />
# Make a JimDB directory<br />
# Copy gdb and gdbserver from steps above to bin/<br />
# Clone the Python scripts to utils/<br />
# Run bin/gdb<br />
<br />
For example,<br />
mkdir -p jimdb/bin # step 1<br />
cp /PATH/TO/SOURCE/gdb/gdb jimdb/bin # step 2<br />
cp /PATH/TO/SOURCE/gdb/gdbserver/gdbserver jimdb/bin<br />
git clone git://github.com/darchons/android-gdbutils.git jimdb/utils # step 3<br />
jimdb/bin/gdb # step 4<br />
<br />
= Using JimDB =<br />
<br />
== First run ==<br />
<br />
In order to debug Fennec, JimDB needs a copy of your system libraries. When you try to debug Fennec on a particular device for the first time, JimDB will download the libraries from your device. This may take some time but will only need to run once. You may need to restart JimDB in order for debug symbols to work.<br />
<br />
== Configuring JimDB ==<br />
<br />
utils/gdbinit is the GDB command file that JimDB runs at launch. Open it in your favorite text editor to see configurable settings for JimDB.<br />
<br />
utils/gdbinit also loads utils/gdbinit.local. Because utils/gdbinit can change frequently across updates, it's recommended to copy your custom settings to utils/gdbinit.local, so that updates do not override your settings.<br />
<br />
For example, to configure the feninit.default.objdir option, paste the following line anywhere inside utils/gdbinit.local,<br />
python feninit.default.objdir = '/home/user/mozilla/central/objdir-android'<br />
<br />
== FenInit ==<br />
<br />
FenInit is the Python script that simplifies launching Fennec on your device and setting up a debug environment. When JimDB starts, FenInit runs automatically and presents several options,<br />
<br />
# Debug Fennec (default)<br />
# Debug Fennec with env vars and args<br />
# Debug using jdb<br />
# Debug content Mochitest<br />
# Debug compiled-code unit test<br />
<br />
[[File:Jimdb-prompt.png]]<br />
<br />
=== Debug Fennec ===<br />
<br />
This is the default option. Once you choose an object directory to use, the script will automatically launch Fennec, and run GDBServer to attach to Fennec.<br />
<br />
The script tries to scan your user directory for object directories. For more control, see the [[#feninit.default.objdir|Configuration section]] on how to specify default object directories or where to scan for object directories.<br />
<br />
=== Debug Fennec with env vars and args ===<br />
<br />
This option gives you the additional ability to specify environment variables and arguments when launching Fennec. See the [[#feninit.default.env|Configuration section]] on how to specify additional default environment variables and arguments.<br />
<br />
=== Debug using jdb ===<br />
<br />
This option will let you use the Java debugger (jdb) to debug the native Java portion of Fennec. This is the default option if you already have a previous JimDB debugging session running.<br />
<br />
JDB support is experimental. It is able to at least set breakpoints, show source code, and examine objects.<br />
<br />
=== Debug content Mochitest ===<br />
<br />
This option will let you debug a regular Mochitest. Make sure Fennec is compiled with the '--enable-tests' option in the mozconfig file. Because running Mochitests require a copy of the XUL Runtime Environment (XRE), the script will offer to automatically download a copy of XRE for you, as well as launching the test harness. You can specify a file or a directory to test, or set TEST_PATH. Environment variables and arguments to the test harness are also supported.<br />
<br />
=== Debug compiled-code unit test ===<br />
<br />
This option will let you debug a C++ test. Environment variables and arguments are supported.<br />
<br />
=== Configuration ===<br />
==== feninit.default.objdir ====<br />
* Set feninit.default.objdir to the default object directory. Note that once it is set, the script will not prompt you to choose an object directory.<br />
* Alternatively, if your object directories are called 'obj*' under your source directory, you can set feninit.default.objdir to the source directory itself. The script will scan the source directory and list all the object directories that it found.<br />
* Note that there have been problems in the past with using ~ and $HOME in the setting, so use absolute path for best results.<br />
* PRO-TIP: Put the following code block inside gdbinit.local to always use the current directory as the object directory,<br />
python<br />
import os<br />
feninit.default.objdir = os.getcwd()<br />
end<br />
<br />
==== feninit.default.srcroot ====<br />
* Unlike the previous setting, feninit.default.srcroot specifies the directory containing all the source directories. This is convenient if you have 'src/mozilla-central', 'src/mozilla-inbound', 'src/mozilla-aurora', etc. In that case, you can set feninit.default.srcroot to 'src' and all the source directories will be scanned for object directories.<br />
* Again, use absolute path for best results.<br />
==== feninit.default.no_launch ====<br />
* This settings is meant for B2G, and may not be useful for Fennec debugging.<br />
==== feninit.default.gdbserver_port ====<br />
* To debug Fennec on your device, GDB on your computer needs to talk to GDBServer on your device through a TCP port forwarded to your device through ADB.<br />
* Normally, JimDB will use a random port. However, you can pick a specific port to use. This is useful in certain situations such as inside an SSH session. See [http://www.jnchen.com/blog/2012/11/tunnelling-adb this blog post].<br />
==== feninit.default.jdwp_port ====<br />
* Similar to feninit.default.gdbserver_port, except for using JDB for debugging.<br />
==== feninit.default.env ====<br />
* Specify the default environment variables to use when launching Fennec. Only used for the "Debug Fennec" options.<br />
==== feninit.default.args ====<br />
* Specify the default arguments to use when launching Fennec. Only used for the "Debug Fennec" options.<br />
==== feninit.default.cpp_env ====<br />
* Similar to [[#feninit.default.env|feninit.default.env]], except only used for the "Debug compiled-code unit test" option.<br />
==== feninit.default.mochi_env ====<br />
* Similar to [[#feninit.default.env|feninit.default.env]], except only used for the "Debug content Mochitest" option.<br />
==== feninit.default.mochi_args ====<br />
* Specify the default arguments to use when debugging Mochitest. Only used for the "Debug content Mochitest" option.<br />
* Note that Mochitest arguments are arguments to the test harness (e.g. --remote-webserver), and not arguments to Fennec itself.<br />
==== feninit.default.mochi_xre ====<br />
* Specify the XRE directory to use, instead of letting the script download and manage an XRE copy.<br />
==== feninit.default.mochi_harness ====<br />
* Specify the directory containing the harness itself, i.e. "runtestsremote.py". Not needed normally.<br />
==== feninit.default.mochi_xre_url ====<br />
* Specify the directory on [https://ftp.mozilla.org ftp.mozilla.org] to use for downloading XRE. Not used if feninit.default.mochi_xre is specified.<br />
==== feninit.default.mochi_xre_update ====<br />
* Specify the XRE check for updates interval. Only used if the script is managing the XRE copy, and not used if feninit.default.mochi_xre_update is specified.<br />
<br />
== GDB commands specific to JimDB ==<br />
=== set delay-add-remote-solibs ===<br />
gdb> set delay-add-remote-solibs <0|1><br />
Default setting is 0. Set delay-add-remote-solibs to 1 to delay loading symbols when shared libraries are loaded. This may improve the set up time. However, you may need to use the "sharedlibrary" command to manually load symbols before using breakpoints.<br />
=== monitor set ignore-ondemand ===<br />
gdb> monitor set ignore-ondemand <0|1><br />
Default setting is 1. Set ignore-ondemand to 0 to not ignore segmentation faults generated by on-demand decompression. This setting may be needed to debug specific segmentation faults that are inadvertently being ignored. This command can only be run after attaching to the target, so it cannot be specified in gdbinit.local.<br />
<br />
= FAQ =<br />
<br />
=== What is moz-gdb? ===<br />
* moz-gdb was a synonym for JimDB, but it's no longer used, to avoid confusion<br />
<br />
=== "configure: error: failure running python-config" when compiling GDB ===<br />
* python may point to python3 on your machine. You need to specify where python2 is by using, for example, --with-python=python2 in your configure line<br />
<br />
=== "error while loading shared libraries: libtinfo.so.5" on Linux ===<br />
* You may need to create a libtinfo.so.5 symlink to libncurses.so.5. For example,<br />
sudo ln -s libncurses.so.5 /usr/lib/libtinfo.so.5<br />
<br />
=== "Segmentation fault: 11" or "Illegal instruction: 4" on Mac OS X ===<br />
* This may be due to incompatible OS X SDK versions. You should build your own JimDB binary to avoid the issue.<br />
<br />
=== "cannot locate symbol "__exidx_end"" when starting to debug ===<br />
* If you're using pre-built binaries, you need to update to a newer version of JimDB<br />
* If you're using custom-built binaries, you need to recompile gdbserver using a newer version of the NDK<br />
<br />
=== "No module named printing" when debugging Fennec with JimDB ===<br />
* The JimDB Python scripts lack several scripts included in regular GDB packages. To fix that, simply copy your local copy of these scripts to the JimDB utils/python directory. For example, on a typical Linux system, run<br />
cp -r /usr/share/gdb/python/gdb $jimdb/utils/python/<br />
* If you don't have these files, they are available [https://people.mozilla.org/~nchen/jimdb/gdb-python-lib.tar.bz2 here]; just extract it under $jimdb/utils/python/<br />
<br />
=== Random segmentation faults when debugging Fennec ===<br />
* GDB can catch segmentation faults generated by on-demand decompression; just use "continue" to continue execution.<br />
* Alternatively, specify the "MOZ_LINKER_ONDEMAND=0" environment variable when launching Fennec using Option 2. You can also put the option inside jimdb/utils/gdbinit.local.<br />
<br />
=== GDB crashed and Fennec is stuck. Halp!! ===<br />
* GDBServer may still be attached to Fennec but is unable to communicate with GDB; try killing GDBServer<br />
adb shell run-as org.mozilla.fennec_$USER kill `adb shell ps | grep gdb | awk '{print $2}'`<br />
<br />
=== "make: `[path]/mochitest-remote' is up to date." while trying to run Mochitests ===<br />
* Delete the mochitest-remote file.<br />
<br />
=== "failed to run gdbserver" === <br />
<br />
"gdbserver" output:<br />
/system/bin/sh: /data/local/tmp/gdbserver: not executable: magic 7F45<br />
"run-as" output:<br />
/data/local/tmp/gdbserver[1]: syntax error: '(' unexpected<br />
"su -c" output:<br />
/system/bin/sh: su: not found<br />
[path]/jimdb-x86/bin/../utils/gdbinit:136: Error in sourced command file:<br />
failed to run gdbserver<br />
<br />
You are probably trying to run the x86 version on an ARM device. Download the ARM version of JimDB instead.<br />
<br />
Alternatively, you may just have an out-of-date version of gdbserver. Check for an updated version in the link posted above.<br />
<br />
=== JimDB sucks! Halp!! ===<br />
* Come on #mobile on IRC<br />
* Or file a bug under Firefox for Android, JimDB component<br />
<br />
=== JimDB is awesome now!! Can I buy you a $beverage? ===<br />
Yes! See also {{bug|800000}}</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Mobile/Fennec/Android/GDB&diff=1040023Mobile/Fennec/Android/GDB2014-12-11T00:18:16Z<p>Jgilbert: /* Using pre-built binaries */ Hint about error from using wrong of x86/x64.</p>
<hr />
<div>JimDB is a fork of GDB used for simplifying Fennec development. It consists of two parts:<br />
<br />
* Binaries - the GDB/GDBServer binaries that include Android-specific patches (https://github.com/darchons/android-gdb)<br />
* Scripts - the Python scripts that run under GDB to simplify common tasks (https://github.com/darchons/android-gdbutils)<br />
<br />
Use #mobile on IRC for support.<br />
<br />
= Getting started =<br />
<br />
== Using pre-built binaries ==<br />
<br />
=== Instructions ===<br />
<br />
# Download the latest pre-built binaries for your platform from [https://people.mozilla.org/~nchen/jimdb this directory] (use 'jimdb-arm' for ARM devices and 'jimdb-x86' for x86 devices)<br />
# Extract to a user-writable directory<br />
# Run 'git pull' from inside the utils/ directory to get the latest scripts<br />
# Launch bin/gdb to start using JimDB!<br />
# OPTIONAL: For easier access, you can create a symlink to jimdb under, e.g., /usr/bin<br />
<br />
=== Example ===<br />
<br />
For ARM devices on Linux,<br />
cd $HOME<br />
wget https://people.mozilla.org/~nchen/jimdb/jimdb-arm-linux_x64.tar.bz2 # step 1<br />
tar -xf jimdb-arm-linux_x64.tar.bz2 # step 2<br />
cd jimdb/utils # step 3<br />
git pull<br />
../bin/gdb # step 4<br />
sudo ln -s $HOME/jimdb/bin/gdb /usr/bin/jimdb # step 5<br />
<br />
If you download the wrong x86 or x64 build, you might get an error like:<br />
$ ./bin/gdb<br />
./bin/gdb: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory<br />
<br />
== Custom-building ==<br />
<br />
=== Step 1. Compiling the binaries ===<br />
<br />
There are two things to build here: gdb and gdbserver<br />
<br />
==== Linux ====<br />
<br />
===== GDB =====<br />
<br />
# Clone [https://github.com/darchons/android-gdb the GitHub repo] (do not use the Zip archive, as the build system will try to obtain a git changeset id)<br />
# You may need to install additional packages in order to build GDB. For example,<pre>sudo apt-get build-dep gdb</pre><br />
# Run configure inside the source directory<pre># ARM:&#10;./configure --target=arm-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit&#10;# x86:&#10;./configure --target=i686-pc-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdb<br />
If you see an error like:<br />
<pre><br />
../../../../bfd/doc/bfd.texinfo:325: unknown command `colophon'<br />
../../../../bfd/doc/bfd.texinfo:336: unknown command `cygnus'<br />
Makefile:421: recipe for target 'bfd.info' failed<br />
</pre><br />
you can fix this by running:<br />
<pre><br />
sed -i -e 's/@colophon/@@colophon/' -e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo<br />
</pre><br />
or by checking out a more recent branch (this bug is in the 7_5 branch).<br />
<br />
===== GDBServer =====<br />
<br />
Consider using the pre-built gdbserver binary from the "Using pre-built binaries" section above; gdbserver is not specific to your platform. Otherwise,<br />
# Use the source directory from above<br />
# Make sure you have a copy of the Android NDK<br />
# Run configure inside the ''gdb/gdbserver directory'' (following is for NDK r8d)<pre>export NDK=/PATH/TO/NDK&#10;# ARM:&#10;export PATH=$PATH:$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin&#10;./configure --host=arm-linux-androideabi --with-sysroot=$NDK/platforms/android-9/arch-arm&#10;# x86:&#10;export PATH=$PATH:$NDK/toolchains/x86-4.6/prebuilt/linux-x86/bin&#10;./configure --host=i686-linux-android --with-sysroot=$NDK/platforms/android-9/arch-x86</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdbserver<br />
<br />
==== Mac ====<br />
<br />
===== GDB =====<br />
<br />
# Get a zip of the source from [https://github.com/darchons/android-gdb the GitHub repo] (Get the zip because cloning takes a lot longer)<br />
# Extract the zip<br />
# You may need to install additional packages in order to build GDB. For example,<pre>port install bison flex ncurses texinfo python27</pre><br />
# Run configure inside the source directory<pre># ARM:&#10;./configure --target=arm-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit&#10;# x86:&#10;./configure --target=i686-pc-linux-android --with-python=yes --prefix=/nonexistent \&#10; --with-gdb-datadir=/nonexistent/utils --with-system-gdbinit=/nonexistent/utils/gdbinit</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdb<br />
<br />
===== GDBServer =====<br />
<br />
Consider using the pre-built gdbserver binary from the "Using pre-built binaries" section above; gdbserver is not specific to your platform. Otherwise,<br />
# Use the source directory from above<br />
# Make sure you have a copy of the Android NDK<br />
# Run configure inside the ''gdb/gdbserver directory'' (following is for NDK r8d)<pre>export NDK=/PATH/TO/NDK&#10;# ARM:&#10;export PATH=$PATH:$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin&#10;./configure --host=arm-linux-androideabi --with-sysroot=$NDK/platforms/android-9/arch-arm&#10;# x86:&#10;export PATH=$PATH:$NDK/toolchains/x86-4.6/prebuilt/darwin-x86/bin&#10;./configure --host=i686-linux-android --with-sysroot=$NDK/platforms/android-9/arch-x86</pre><br />
# Run make <pre>make -j8</pre><br />
# The compiled binary will be at gdb/gdbserver/gdbserver<br />
<br />
=== Step 2. Creating JimDB directory ===<br />
<br />
To get the most out of JimDB, in addition to the binaries, you need the Python scripts. But first, the scripts assume you have the following JimDB directory structure,<br />
<br />
./bin/<br />
gdb<br />
gdbserver<br />
./utils/<br />
gdbinit<br />
python/<br />
<br />
Therefore, you'd need to,<br />
# Make a JimDB directory<br />
# Copy gdb and gdbserver from steps above to bin/<br />
# Clone the Python scripts to utils/<br />
# Run bin/gdb<br />
<br />
For example,<br />
mkdir -p jimdb/bin # step 1<br />
cp /PATH/TO/SOURCE/gdb/gdb jimdb/bin # step 2<br />
cp /PATH/TO/SOURCE/gdb/gdbserver/gdbserver jimdb/bin<br />
git clone git://github.com/darchons/android-gdbutils.git jimdb/utils # step 3<br />
jimdb/bin/gdb # step 4<br />
<br />
= Using JimDB =<br />
<br />
== First run ==<br />
<br />
In order to debug Fennec, JimDB needs a copy of your system libraries. When you try to debug Fennec on a particular device for the first time, JimDB will download the libraries from your device. This may take some time but will only need to run once. You may need to restart JimDB in order for debug symbols to work.<br />
<br />
== Configuring JimDB ==<br />
<br />
utils/gdbinit is the GDB command file that JimDB runs at launch. Open it in your favorite text editor to see configurable settings for JimDB.<br />
<br />
utils/gdbinit also loads utils/gdbinit.local. Because utils/gdbinit can change frequently across updates, it's recommended to copy your custom settings to utils/gdbinit.local, so that updates do not override your settings.<br />
<br />
For example, to configure the feninit.default.objdir option, paste the following line anywhere inside utils/gdbinit.local,<br />
python feninit.default.objdir = '/home/user/mozilla/central/objdir-android'<br />
<br />
== FenInit ==<br />
<br />
FenInit is the Python script that simplifies launching Fennec on your device and setting up a debug environment. When JimDB starts, FenInit runs automatically and presents several options,<br />
<br />
# Debug Fennec (default)<br />
# Debug Fennec with env vars and args<br />
# Debug using jdb<br />
# Debug content Mochitest<br />
# Debug compiled-code unit test<br />
<br />
[[File:Jimdb-prompt.png]]<br />
<br />
=== Debug Fennec ===<br />
<br />
This is the default option. Once you choose an object directory to use, the script will automatically launch Fennec, and run GDBServer to attach to Fennec.<br />
<br />
The script tries to scan your user directory for object directories. For more control, see the [[#feninit.default.objdir|Configuration section]] on how to specify default object directories or where to scan for object directories.<br />
<br />
=== Debug Fennec with env vars and args ===<br />
<br />
This option gives you the additional ability to specify environment variables and arguments when launching Fennec. See the [[#feninit.default.env|Configuration section]] on how to specify additional default environment variables and arguments.<br />
<br />
=== Debug using jdb ===<br />
<br />
This option will let you use the Java debugger (jdb) to debug the native Java portion of Fennec. This is the default option if you already have a previous JimDB debugging session running.<br />
<br />
JDB support is experimental. It is able to at least set breakpoints, show source code, and examine objects.<br />
<br />
=== Debug content Mochitest ===<br />
<br />
This option will let you debug a regular Mochitest. Make sure Fennec is compiled with the '--enable-tests' option in the mozconfig file. Because running Mochitests require a copy of the XUL Runtime Environment (XRE), the script will offer to automatically download a copy of XRE for you, as well as launching the test harness. You can specify a file or a directory to test, or set TEST_PATH. Environment variables and arguments to the test harness are also supported.<br />
<br />
=== Debug compiled-code unit test ===<br />
<br />
This option will let you debug a C++ test. Environment variables and arguments are supported.<br />
<br />
=== Configuration ===<br />
==== feninit.default.objdir ====<br />
* Set feninit.default.objdir to the default object directory. Note that once it is set, the script will not prompt you to choose an object directory.<br />
* Alternatively, if your object directories are called 'obj*' under your source directory, you can set feninit.default.objdir to the source directory itself. The script will scan the source directory and list all the object directories that it found.<br />
* Note that there have been problems in the past with using ~ and $HOME in the setting, so use absolute path for best results.<br />
* PRO-TIP: Put the following code block inside gdbinit.local to always use the current directory as the object directory,<br />
python<br />
import os<br />
feninit.default.objdir = os.getcwd()<br />
end<br />
<br />
==== feninit.default.srcroot ====<br />
* Unlike the previous setting, feninit.default.srcroot specifies the directory containing all the source directories. This is convenient if you have 'src/mozilla-central', 'src/mozilla-inbound', 'src/mozilla-aurora', etc. In that case, you can set feninit.default.srcroot to 'src' and all the source directories will be scanned for object directories.<br />
* Again, use absolute path for best results.<br />
==== feninit.default.no_launch ====<br />
* This settings is meant for B2G, and may not be useful for Fennec debugging.<br />
==== feninit.default.gdbserver_port ====<br />
* To debug Fennec on your device, GDB on your computer needs to talk to GDBServer on your device through a TCP port forwarded to your device through ADB.<br />
* Normally, JimDB will use a random port. However, you can pick a specific port to use. This is useful in certain situations such as inside an SSH session. See [http://www.jnchen.com/blog/2012/11/tunnelling-adb this blog post].<br />
==== feninit.default.jdwp_port ====<br />
* Similar to feninit.default.gdbserver_port, except for using JDB for debugging.<br />
==== feninit.default.env ====<br />
* Specify the default environment variables to use when launching Fennec. Only used for the "Debug Fennec" options.<br />
==== feninit.default.args ====<br />
* Specify the default arguments to use when launching Fennec. Only used for the "Debug Fennec" options.<br />
==== feninit.default.cpp_env ====<br />
* Similar to [[#feninit.default.env|feninit.default.env]], except only used for the "Debug compiled-code unit test" option.<br />
==== feninit.default.mochi_env ====<br />
* Similar to [[#feninit.default.env|feninit.default.env]], except only used for the "Debug content Mochitest" option.<br />
==== feninit.default.mochi_args ====<br />
* Specify the default arguments to use when debugging Mochitest. Only used for the "Debug content Mochitest" option.<br />
* Note that Mochitest arguments are arguments to the test harness (e.g. --remote-webserver), and not arguments to Fennec itself.<br />
==== feninit.default.mochi_xre ====<br />
* Specify the XRE directory to use, instead of letting the script download and manage an XRE copy.<br />
==== feninit.default.mochi_harness ====<br />
* Specify the directory containing the harness itself, i.e. "runtestsremote.py". Not needed normally.<br />
==== feninit.default.mochi_xre_url ====<br />
* Specify the directory on [https://ftp.mozilla.org ftp.mozilla.org] to use for downloading XRE. Not used if feninit.default.mochi_xre is specified.<br />
==== feninit.default.mochi_xre_update ====<br />
* Specify the XRE check for updates interval. Only used if the script is managing the XRE copy, and not used if feninit.default.mochi_xre_update is specified.<br />
<br />
== GDB commands specific to JimDB ==<br />
=== set delay-add-remote-solibs ===<br />
gdb> set delay-add-remote-solibs <0|1><br />
Default setting is 0. Set delay-add-remote-solibs to 1 to delay loading symbols when shared libraries are loaded. This may improve the set up time. However, you may need to use the "sharedlibrary" command to manually load symbols before using breakpoints.<br />
=== monitor set ignore-ondemand ===<br />
gdb> monitor set ignore-ondemand <0|1><br />
Default setting is 1. Set ignore-ondemand to 0 to not ignore segmentation faults generated by on-demand decompression. This setting may be needed to debug specific segmentation faults that are inadvertently being ignored. This command can only be run after attaching to the target, so it cannot be specified in gdbinit.local.<br />
<br />
= FAQ =<br />
<br />
=== What is moz-gdb? ===<br />
* moz-gdb was a synonym for JimDB, but it's no longer used, to avoid confusion<br />
<br />
=== "configure: error: failure running python-config" when compiling GDB ===<br />
* python may point to python3 on your machine. You need to specify where python2 is by using, for example, --with-python=python2 in your configure line<br />
<br />
=== "error while loading shared libraries: libtinfo.so.5" on Linux ===<br />
* You may need to create a libtinfo.so.5 symlink to libncurses.so.5. For example,<br />
sudo ln -s libncurses.so.5 /usr/lib/libtinfo.so.5<br />
<br />
=== "Segmentation fault: 11" or "Illegal instruction: 4" on Mac OS X ===<br />
* This may be due to incompatible OS X SDK versions. You should build your own JimDB binary to avoid the issue.<br />
<br />
=== "cannot locate symbol "__exidx_end"" when starting to debug ===<br />
* If you're using pre-built binaries, you need to update to a newer version of JimDB<br />
* If you're using custom-built binaries, you need to recompile gdbserver using a newer version of the NDK<br />
<br />
=== "No module named printing" when debugging Fennec with JimDB ===<br />
* The JimDB Python scripts lack several scripts included in regular GDB packages. To fix that, simply copy your local copy of these scripts to the JimDB utils/python directory. For example, on a typical Linux system, run<br />
cp -r /usr/share/gdb/python/gdb $jimdb/utils/python/<br />
* If you don't have these files, they are available [https://people.mozilla.org/~nchen/jimdb/gdb-python-lib.tar.bz2 here]; just extract it under $jimdb/utils/python/<br />
<br />
=== Random segmentation faults when debugging Fennec ===<br />
* GDB can catch segmentation faults generated by on-demand decompression; just use "continue" to continue execution.<br />
* Alternatively, specify the "MOZ_LINKER_ONDEMAND=0" environment variable when launching Fennec using Option 2. You can also put the option inside jimdb/utils/gdbinit.local.<br />
<br />
=== GDB crashed and Fennec is stuck. Halp!! ===<br />
* GDBServer may still be attached to Fennec but is unable to communicate with GDB; try killing GDBServer<br />
adb shell run-as org.mozilla.fennec_$USER kill `adb shell ps | grep gdb | awk '{print $2}'`<br />
<br />
=== "make: `[path]/mochitest-remote' is up to date." while trying to run Mochitests ===<br />
* Delete the mochitest-remote file.<br />
<br />
=== "failed to run gdbserver" === <br />
<br />
"gdbserver" output:<br />
/system/bin/sh: /data/local/tmp/gdbserver: not executable: magic 7F45<br />
"run-as" output:<br />
/data/local/tmp/gdbserver[1]: syntax error: '(' unexpected<br />
"su -c" output:<br />
/system/bin/sh: su: not found<br />
[path]/jimdb-x86/bin/../utils/gdbinit:136: Error in sourced command file:<br />
failed to run gdbserver<br />
<br />
You are probably trying to run the x86 version on an ARM device. Download the ARM version of JimDB instead.<br />
<br />
=== JimDB sucks! Halp!! ===<br />
* Come on #mobile on IRC<br />
* Or file a bug under Firefox for Android, JimDB component<br />
<br />
=== JimDB is awesome now!! Can I buy you a $beverage? ===<br />
Yes! See also {{bug|800000}}</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Standards&diff=1038348Standards2014-12-03T00:00:38Z<p>Jgilbert: /* Khronos */ Jeff Gilbert is on the WebGL WG</p>
<hr />
<div>Welcome to Mozilla's standards participation page.<br />
<br />
Many at Mozilla participate in the development of open web standards, in a variety of different standards bodies. This is a directory of standards organizations (and sub-orgs like working groups) listing who at Mozilla is working with each. For a technology summary see the [[standards/technologies|technologies]] page.<br />
<br />
To encourage better web standards coordination and cross-pollination, the sections below are organized alphabetically by standards body, then alphabetically by working group (if any), then the list of Mozilla folks participating in that working group, optionally listing which particular specifications (or sections thereof) that they edit/author/contribute to.<br />
<br />
If you actively directly communicate/participate with a standards body (working group email list, IRC, wiki, and/or f2f meetings), please add yourself (and the specific standards body / working group if any).<br />
<br />
If you work in multiple working groups or with multiple standards organizations, list yourself in each, linking to your wiki User page.<br />
<br />
Thanks!<br />
<br />
— [[User:Tantek|Tantek]]<br />
<br />
= Web Standards Coordination =<br />
== general participation ==<br />
If you'd like to participate in some of these groups, or at least watch, learn, get up to speed, you can almost always do so by lurking on the public IRC channels and mailing lists that the groups use. Many (most?) standards mailing lists can often be overwhelming in quantity, depth so start with IRC as that's often lighter-weight and easier to watch for quick bits of info/knowledge.<br />
<br />
* Follow the instructions on the [[IRC|IRC wiki page]] to:<br />
** Set yourself up with a nickname and connection to <code>irc.mozilla.org</code>. <br />
* Add a connection to <code>irc.freenode.net</code> (also with '''[x] SSL''') where many standards discussions take place.<br />
* Add another connection to <code>irc.w3.org</code> but specifically port 6665 (unprotected, no nickname registration).<br />
* See each standards section below for which IRC channel(s) tend(s) to be used by folks working in each group.<br />
<br />
== ECMA ==<br />
* <span class="h-card vcard"><span class="fn">Brendan Eich</span></span> <br />
* dherman<br />
* <span class="h-card vcard"><span class="p-name fn">Allen Wirfs-Brock</span></span> (<span class="p-role role">Project Editor</span>)<br />
* Andreas Gal<br />
<br />
Specifications: ECMAScript 5, 5.1, 6, Harmony, etc.<br />
<br />
== IETF ==<br />
http://ietf.org/<br />
* ... no lead currently ...<br />
* ISOC Advisory Council Members:<br />
** Adam Roach (:abr)<br />
** Tim Terriberry (:derf)<br />
<br />
<br />
=== Calsify (iCalendar) ===<br />
* Most calendar related standards, list at: http://www.ietf.org/mail-archive/web/calsify/current/maillist.html<br />
<br />
* Philipp Kewisch<br />
<br />
Specifications [http://tools.ietf.org/html/rfc5545 rfc5545] [http://tools.ietf.org/html/rfc5546 rfc5546] [http://www.ietf.org/id/draft-kewisch-et-al-icalendar-in-json-01.txt icalendar-in-json] and related.<br />
<br />
=== dnsop ===<br />
* lshapiro (Larissa Shapiro)<br />
<br />
=== dhcp ===<br />
<br />
* lshapiro (Larissa Shapiro)<br />
<br />
=== STIR ===<br />
** Eric Rescorla<br />
<br />
=== HyBi ===<br />
* HyBi (WebSockets)<br />
** <span class="h-card">Pat McManus</span><br />
** <span class="h-card">Chris Blizzard</span> (emeritus as of 2012-03-16)<br />
<br />
=== TLS (SSL) ===<br />
* <span class="h-card">[[User:Briansmith|Brian Smith]]</span><br />
* Eric Rescorla<br />
<br />
=== VCARDDAV ===<br />
vcarddav group/list at: [http://www.ietf.org/mail-archive/web/vcarddav/current/maillist.html http://www.ietf.org/mail-archive/web/vcarddav/current/maillist.html]<br />
* <span class="vcard"><span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span></span><br />
* Philipp Kewisch<br />
Specifications: [[vCard4]] [http://www.ietf.org/id/draft-kewisch-vcard-in-json-00.txt vcard-in-json]<br />
<br />
=== Opus ===<br />
* <span class="h-card"><span class="p-name">Jean-Marc Valin</span> (:<span class="p-nickname">jmspeex</span>)</span><br />
* <span class="h-card"><span class="p-name">Tim Terriberry</span> (:<span class="p-nickname">derf</span>)</span><br />
* <span class="h-card"><span class="p-name fn">Ralph Giles</span> (:<span class="p-nickname nickname">rillian</span>)</span><br />
<br />
=== RTCWEB / MMUSIC ===<br />
* <span class="h-card">Randell Jesup</span><br />
* <span class="h-card">Tim Terriberry</span><br />
* <span class="h-card">Ralph Giles</span><br />
* <span class="h-card">Adam Roach (:abr)</span><br />
* <span class="h-card">Eric Rescorla (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Maire Reavy </span><br />
<br />
== Khronos ==<br />
[http://www.khronos.org/webgl/ WebGL]<br />
* Jeff Gilbert (:jgilbert)<br />
<br />
== microformats ==<br />
http://microformats.org/ and [http://microformats.org/wiki microformats wiki]<br />
* irc://irc.freenode.net/microformats<br />
* email lists: http://microformats.org/discuss<br />
Community participants:<br />
* <span class="vcard"><span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">founder</span>, <span class="role">admin</span>)</span><br />
* <span class="vcard"><span class="fn h-card">Michael Kaply</span></span><br />
* ...<br />
<br />
Specifications: <br />
* [[hCard]] - implemented in Firefox DOM<br />
* [[hCalendar]] - implemented in Firefox DOM<br />
* ... and many others.<br />
<br />
== OWF ==<br />
http://openwebfoundation.org/<br />
* <span class="vcard"><span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span> (<span class="role">elected board member</span>)</span><br />
<br />
Specifications: <br />
* [http://openwebfoundation.org/legal/agreement/ Open Web Foundation Agreement] (OWFa)<br />
<br />
== W3C ==<br />
The [http://w3.org/ W3C] (World Wide Web Consortium) has Working Groups (WGs), Incubator Groups (IGs), Interest Groups (IGs), and Community Groups (WGs). See below for details and please add any/all of such groups here in alphabetical order by group name.<br />
* [[Standards/Participating in a W3C Working Group|Participating in a W3C Working Group]]<br />
* [[Standards/W3C Charter Development and Review|W3C Charter Development and Review]]<br />
* [https://www.w3.org/2000/09/dbwg/participants?org=35507&order=group Member-confidential (unfortunately) list of groups Mozilla participates in]<br />
<br />
=== Advisory Board ===<br />
Elected member to the [http://www.w3.org/wiki/AB W3C Advisory Board].<br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> <!--<br />
To do: minimize all hCards on this page to just h-cards for easier editing --><br />
<br />
=== Advisory Committee representative ===<br />
* <span class="vcard"><span class="fn h-card">[[User:Dbaron|David Baron]]</span></span><br />
See [https://www.w3.org/Member/ACList Advisory Committee Representative Directory] for who else is an AC Rep from which companies.<br />
<br />
=== Audio Incubator Group ===<br />
http://www.w3.org/2005/Incubator/audio/<br />
* <span class="vcard"><span class="fn h-card">Alistair MacDonald</span></span><br />
<br />
=== Audio Working Group ===<br />
* <span class="h-card">Matthew Gregan</span><br />
<br />
=== Browser Testing and Tools Working Group ===<br />
* <span class="h-card">David Burns</span><br />
* Clint Talbert (IRC: ctalbert)<br />
<br />
Specifications:<br />
* APIs (application programming interfaces) for use in automated testing of Web applications<br />
* APIs for use in troubleshooting and debugging of Web applications<br />
<br />
=== Core Mobile Web Platform Community Group ===<br />
http://www.w3.org/community/coremob/<br />
* <span class="h-card">[[User:Brendan|Brendan Eich]]</span><br />
* <span class="h-card">Jonas Sicking</span><br />
* <span class="h-card">Ragavan Srinivasan</span><br />
* <span class="h-card">Jet Villegas</span><br />
<br />
=== CSS (Cascading Style Sheets) Working Group ===<br />
http://w3.org/Style/CSS/<br />
* irc://irc.w3.org:6665/css<br />
* email: http://lists.w3.org/Archives/Public/www-style/<br />
Working group members related to Mozilla (also on w3c-css-wg)<br />
* <span class="vcard"><span class="fn h-card">[[User:Dbaron|David Baron]]</span></span><br />
* <span class="vcard"><span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span></span><br />
* <span class="vcard"><span class="fn h-card">John Daggett</span></span><br />
* <span class="h-card">[[User:Fantasai|fantasai]]</span><br />
* <span class="vcard"><span class="fn h-card">Aryeh Gregor</span></span><br />
* <span class="h-card">Masayuki Nakano</span><br />
* <span class="vcard"><span class="fn h-card">[[User:Jetvillegas|Jet Villegas]]</span></span><br />
<br />
Additional www-style list participants related to Mozilla (anyone is welcome to join)<br />
* <span class="h-card">Robert O'Callahan</span><br />
* <span class="h-card vcard"><span class="fn">Henri Sivonen</span></span><br />
* <span class="h-card vcard"><span class="fn">Boris Zbarsky</span></span><br />
* ...<br />
<br />
Specifications: [[CSS21]], [[CSS3]]<br />
<br />
See also: [[CSS]] on this wiki.<br />
<br />
=== Federated Social Web Community Group ===<br />
* http://www.w3.org/community/fedsocweb/<br />
Participants:<br />
* <span class="h-card">David Ascher</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
was previously: Federated Social Web Incubator Group<br />
<br />
=== Games Community Group ===<br />
http://www.w3.org/community/games/<br />
* <span class="h-card">Rob Hawkes</span><br />
* <span class="h-card">Alan Kligman</span><br />
* <span class="h-card">Dan Mosedale</span><br />
* <span class="h-card">Bobby Richter</span><br />
<br />
=== Geolocation Working Group ===<br />
Geolocation Working Group (GEO) http://www.w3.org/2008/geolocation/<br />
* <span class="h-card">Doug Turner</span><br />
<br />
=== HTML Working Group ===<br />
HTML (HyperText Markup Language) Working Group (WG), sometimes listed as "HTML5 WG"<br />
http://www.w3.org/html/wg/<br />
* <span class="vcard"><span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span></span><br />
* <span class="h-card">[[User:Mounir.lamouri|Mounir Lamouri]]</span><br />
* <span class="h-card vcard"><span class="fn">Jonas Sicking</span></span><br />
* <span class="h-card">Henri Sivonen</span><br />
* <span class="vcard"><span class="fn h-card">[[User:Jetvillegas|Jet Villegas]]</span></span><br />
* ...<br />
<br />
Specifications: [[HTML5]]<br />
<br />
=== HTML Speech Incubator Group ===<br />
* <span class="h-card">David Bolter</span><br />
* <span class="h-card">Olli Pettay</span><br />
<br />
=== Indie UI Events ===<br />
http://www.w3.org/2011/11/indie-ui-charter<br />
* <span class="h-card">David Bolter</span> (monitoring)<br />
<br />
=== Internationalization Working Group ===<br />
http://w3.org/International/<br />
* <span class="h-card">[[User:Fantasai|fantasai]]</span><br />
<br />
=== Media Fragments Working Group ===<br />
* <span class="h-card">Chris Double</span><br />
<br />
=== Near Field Communications Working Group ===<br />
W3C [http://www.w3.org/2012/nfc/ Near Field Communications (NFC) Working Group]<br />
* No one from Mozilla is currently participating.<br />
<br />
Want to participate? Please contact <span class="h-card">[[User:Dbaron|David Baron]]</span> and <span class="h-card">[[User:Tantek|Tantek]]</span>.<br />
<br />
=== Protocols and Formats Working Group ===<br />
(Web Accessibility) Protocols and Formats Working Group (PF WG)<br />
* <span class="h-card">David Bolter</span><br />
<br />
=== Social Web Working Group ===<br />
SocialWG - http://www.w3.org/Social/WG<br />
* <span class="h-card">[[User:Tantek|Tantek]]</span> - co-chair<br />
<br />
=== SVG Working Group ===<br />
SVG (Scalable Vector Graphics) Working Group<br />
http://w3.org/SVG/<br />
* <span class="h-card">Cameron McCormack</span> (co-chair)<br />
* <span class="h-card">Brian Birtles</span><br />
* <span class="h-card">Jonathan Watt</span><br />
<br />
Specifications: SVG 1.1, SVG 2.0<br />
<br />
=== System Applications Working Group ===<br />
[http://www.w3.org/2012/sysapps/ SysApps] (System Applications) Working Group [https://www.w3.org/2000/09/dbwg/details?group=58119&public=1&order=org#_MozillaFoundation participants]:<br />
* <span class="h-card">[[User:Brendan|Brendan Eich]]</span><br />
* <span class="h-card">[[User:Sicking|Jonas Sicking]]</span><br />
* <span class="h-card">[[User:Mounir.lamouri|Mounir Lamouri]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
<br />
=== Tracking Protection Working Group ===<br />
http://www.w3.org/2011/tracking-protection/<br />
* <span class="h-card">Alex Fowler</span><br />
* <span class="h-card">Thomas Lowenthal</span><br />
* <span class="h-card">Sid Stamm</span><br />
<br />
=== Technical Architecture Group ===<br />
W3C [http://www.w3.org/2001/tag/ TAG]<br />
* <span class="h-card">[[User:Annevk|Anne van Kesteren]]</span><br />
<br />
=== Web Applications Working Group ===<br />
WebApps WG<br />
* <span class="h-card">Cameron McCormack</span><br />
* <span class="h-card">[[User:Anant|Anant Narayanan]]</span><br />
* <span class="h-card">Olli Pettay</span><br />
* <span class="h-card">Arun Ranganathan</span><br />
* <span class="h-card">[[User:Sicking|Jonas Sicking]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span> (observer)<br />
* <span class="h-card">[[User:Mounir.lamouri|Mounir Lamouri]]</span><br />
<br />
Specifications: IndexedDB, Web IDL, XMLHttpRequest, DOM 3 Events, DOM 4, etc.<br />
<br />
See also on this wiki:<br />
* [[DOM]]<br />
* [[WebAPI]]<br />
<br />
<br />
=== Web Applications Security Working Group ===<br />
<br />
* Eric Rescorla<br />
<br />
=== Web Cryptography Working Group ===<br />
[http://www.w3.org/2012/webcrypto/ Web Cryptography Working Group]<br />
* <span class="h-card">[[User:Ddahl|David Dahl]]</span><br />
* <span class="h-card">Arun Ranganathan</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
<br />
=== Web Education Community Group ===<br />
http://www.w3.org/community/webed/<br />
<br />
* <span class="h-card">Schalk Neethling</span><br />
* <span class="h-card">Jérémie Patonnier</span><br />
* <span class="h-card">Janet Swisher</span><br />
<br />
=== Web Events Working Group ===<br />
* <span class="h-card">Matt Brubeck</span><br />
* <span class="h-card">Olli Pettay</span><br />
<br />
Specifications: Touch Events<br />
<br />
=== WebFonts Working Group ===<br />
* <span class="h-card">Jonathan Kew</span> (editor)<br />
* <span class="h-card">John Daggett</span><br />
<br />
=== Web Hypertext Application Technology Community Group ===<br />
* <span class="h-card">[[User:Dbaron|David Baron]]</span><br />
* <span class="h-card">[[User:Tantek|Tantek Çelik]]</span><br />
* <span class="h-card">Aryeh Gregor</span><br />
* <span class="h-card">Cameron McCormack</span><br />
See also the [http://www.w3.org/community/whatwg/participants complete list of participants].<br />
<br />
Specifications: HTML living standard as developed by the WHATWG.<br />
<br />
=== Web Media Text Tracks Community Group ===<br />
http://www.w3.org/community/texttracks/<br />
* <span class="h-card vcard"><span class="p-name fn">Ralph Giles</span> (:<span class="p-nickname nickname">rillian</span>)</span><br />
<br />
Specifications: something [http://www.whatwg.org/specs/web-apps/current-work/webvtt.html WebVTT]-ish, we hope.<br />
<br />
=== Web Notification Working Group ===<br />
* <span class="h-card">Doug Turner</span><br />
<br />
=== Web Payments Task Force ===<br />
<br />
[http://www.w3.org/wiki/Payments_Task_Force http://www.w3.org/wiki/Payments_Task_Force]<br />
<br />
* <span class="h-card">Kumar McMillan</span><br />
* <span class="h-card">Andreas Gal</span><br />
* [http://www.w3.org/wiki/2013_Web_Payment_Task_Force_Participants Full list]<br />
<br />
=== Web Performance Working Group ===<br />
* <span class="h-card">Cameron McCormack</span><br />
* <span class="h-card">Kyle Simpson</span><br />
<br />
Specifications: Timing control for script-based animations (requestAnimationFrame)<br />
<br />
=== WebRTC Working Group ===<br />
[[WebRTC]] (Web Real Time Communications) Working Group<br />
* <span class="h-card">Ralph Giles</span><br />
* <span class="h-card">Maire Reavy</span><br />
* <span class="h-card"><span class="p-name">Eric Rescorla</span> (<span class="p-nickname">EKR</span>)</span><br />
* <span class="h-card">Tim Terriberry</span><br />
* <span class="h-card">Adam Roach (:abr)</span><br />
<br />
Specifications: Media capture & [http://www.w3.org/2011/04/webrtc-charter.html streaming APIs]<br />
<br />
=== Web Security Working Group (forming) ===<br />
* <span class="h-card">Brandon Sterne</span><br />
* <span class="h-card">Dan Veditz</span><br />
<br />
Specifications: CSP, CORS (jointly with WebApps WG)<br />
<br />
== WHATWG ==<br />
Web Hypertext Application Technologies Working Group - http://whatwg.org<br />
* <span class="vcard"><span class="fn h-card">[[User:Dbaron|David Baron]]</span></span><br />
* <span class="vcard"><span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span></span><br />
* <span class="h-card">Brendan Eich</span><br />
* <span class="h-card">Mounir Lamouri</span><br />
* <span class="h-card">Jonas Sicking</span><br />
* <span class="h-card">Henri Sivonen</span><br />
* <span class="h-card">[[User:Annevk|Anne van Kesteren]]</span><br />
* ...<br />
<br />
Web Editing specification - http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html<br />
* <span class="vcard"><span class="fn h-card">[[User:Ehsan|Ehsan Akhgari]]</span></span><br />
<br />
= other =<br />
<br />
== CA/Browser Forum ==<br />
The [http://cabforum.org/ CA/Browser Forum] produces standards in the area of best practice and validation for certificate authorities.<br />
* <span class="h-card">[[User:Gerv|Gervase Markham]]</span><br />
* <span class="h-card">Sid Stamm</span><br />
* <span class="h-card">Kathleen Wilson</span><br />
<br />
== CalConnect ==<br />
Mozilla is a member of [http://www.calconnect.org/ CalConnect], The Calendaring and Scheduling Consortium, which is not actually affiliated w/ IETF or W3C but in practice drives development and interoperability testing of IETF specs:<br />
* RFC 5545 iCalendar (obsoletes RFC 2445).<br />
* RFC 4791 CalDAV Access protocol<br />
See their [http://www.calconnect.org/CD1104_Calendaring_Standards.shtml Index to Calendaring and Scheduling Standards] for other specific standards that CalConnect is involved with.<br />
<br />
== OASIS ==<br />
<br />
* Mozilla point of contact: Gervase Markham<br />
* PKCS#11 working group: Brian Smith<br />
<br />
== XMPP ==<br />
Mozilla is not formally associated with the XSF but has representation indirectly. http://xmpp.org/<br />
* <span class="vcard"><span class="fn h-card">[[User:bear|Mike Taylor]]</span> (<span class="nickname">bear</span>) - <span class="role">elected board member</span></span><br />
<br />
= emeritus =<br />
== people ==<br />
Former Mozillians who worked on standards:<br />
* <span class="h-card vcard"><span class="fn">Chris Blizzard</span></span> (til 2012-03-16)<br />
** [[#IETF]]<br />
** [[#rtcweb]]<br />
** [[#WebRTC_Working_Group]]<br />
<br />
== organizations and groups ==<br />
=== Federated Social Web Incubator Group ===<br />
2010-12-15 ... 2012-01-12 (transitioned to Federated Social Web Community Group)<br />
<br />
W3C Federated Social Web Incubator Group (FSW XG)<br />
http://www.w3.org/2005/Incubator/federatedsocialweb/ and [http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Main_Page FSW wiki]<br />
* <span class="h-card">David Ascher</span><br />
* <span class="h-card">[[User:Mixedpuppy|Shane Caraveo]]</span><br />
* <span class="vcard"><span class="fn h-card">[[User:Tantek|Tantek Çelik]]</span></span><br />
<br />
= subpages of {{FULLPAGENAME}}=<br />
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}<br />
<br />
= related =<br />
See also:<br />
* [[Events]] - which include web standards-related events.<br />
* [[SEO/Standards]] - how to use standards to improve/optimize search results<br />
* [[Standards/license]] - what license Mozilla prefers for standards specifications</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/Surfaces/Use_cases&diff=871456Platform/GFX/Surfaces/Use cases2014-01-09T02:07:53Z<p>Jgilbert: /* WebGL */</p>
<hr />
<div>Use cases for surfaces in Gecko.<br />
(Parenthetical list items are optional, but future-looking)<br />
<br />
== WebGL ==<br />
'''Production by Content:'''<br />
* (Producible in workers)<br />
* (Backbuffer is allocated lazily on any draw/read/query of the backbuffer)<br />
* (Wait on Fence that prevents early writes to an in-use buffer)<br />
* Backbuffer is read/writeable at any time during JS execution.<br />
* 'Present' events cause us to detach the backbuffer frame, create a Fence, and submit it towards the consumer.<br />
<br />
'''Consumption in Compositor:'''<br />
* Request the most recently submitted frame (from the producer), and Wait on the Fence to establish frame completeness.<br />
* (Ability to, instead: Request the most-recently-complete frame, likely polling for frame completion)<br />
* If new frame retrieved, recycle old frame.<br />
* (Fence before recycle, so we're sure we're done reading before we begin writing)<br />
* Frame is considered read-only.<br />
* Avoid unnecessary readbacks and uploads.<br />
* Consumed frame persists until overridden by a newer frame. (WebGL can stop producing at any time)<br />
<br />
'''Consumption in Content:'''<br />
* (Ability to readback the current frontbuffer? (Can be slow))</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/Surfaces/Use_cases&diff=871398Platform/GFX/Surfaces/Use cases2014-01-09T01:52:27Z<p>Jgilbert: /* WebGL */</p>
<hr />
<div>Use cases for surfaces in Gecko.<br />
(Parenthetical list items are optional, but future-looking)<br />
<br />
== WebGL ==<br />
'''Production: (WebGL content code)'''<br />
<br />
* (Producible in workers)<br />
* (Backbuffer is allocated lazily on any draw/read/query of the backbuffer)<br />
* (Wait on Fence that prevents early writes to an in-use buffer)<br />
* Backbuffer is read/writeable at any time during JS execution.<br />
* 'Present' events cause us to detach the backbuffer frame, create a Fence, and submit it towards the consumer.<br />
<br />
'''Consumption: (compositor)'''<br />
<br />
* Request the most recently submitted frame (from the producer), and Wait on the Fence to establish frame completeness.<br />
* (Ability to, instead: Request the most-recently-complete frame, likely polling for frame completion)<br />
* If new frame retrieved, recycle old frame.<br />
* (Fence before recycle, so we're sure we're done reading before we begin writing)<br />
* Frame is considered read-only.<br />
* Avoid unnecessary readbacks and uploads.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/Surfaces/Use_cases&diff=871391Platform/GFX/Surfaces/Use cases2014-01-09T01:49:13Z<p>Jgilbert: Created page with "Use cases for surfaces in Gecko. (Parenthetical list items are optional, but future-looking) == WebGL == '''Production: (WebGL content code)''' * (Producible in workers) * (..."</p>
<hr />
<div>Use cases for surfaces in Gecko.<br />
(Parenthetical list items are optional, but future-looking)<br />
<br />
== WebGL ==<br />
'''Production: (WebGL content code)'''<br />
<br />
* (Producible in workers)<br />
* (Backbuffer is allocated lazily on any draw/read/query of the backbuffer)<br />
* (Wait on Fence that prevents early writes to an in-use buffer)<br />
* Backbuffer is read/writeable at any time during JS execution.<br />
* 'Present' events cause us to detach the backbuffer frame, create a Fence, and submit it towards the consumer.<br />
<br />
'''Consumption: (compositor)'''<br />
<br />
* Request the most recently submitted frame, and Wait on the Fence to establish frame completeness.<br />
* (Ability to, instead: Request the most-recently-complete frame, likely polling for frame completion)<br />
* If new frame retrieved, recycle old frame.<br />
* (Fence before recycle, so we're sure we're done reading before we begin writing)<br />
* Frame is considered read-only.<br />
* Avoid unnecessary readbacks and uploads.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/2013-August-12&diff=693654Platform/GFX/2013-August-122013-08-13T00:19:18Z<p>Jgilbert: /* Agenda */</p>
<hr />
<div>{| class="fullwidth-table"<br />
! align="center" style="width: 15%;" | San Francisco<br />
! align="center" style="width: 14%;" | Winnipeg<br />
! align="center" style="width: 14%;" | Toronto<br />
! align="center" style="width: 14%;" | GMT/UTC<br />
! align="center" style="width: 14%;" | Paris<br />
! align="center" style="width: 14%;" | Taipei<br />
! align="center" style="width: 14%;" | Auckland<br />
|-<br />
| align="center" | Mon, August 12, 5:30pm<br />
| align="center" | Mon, August 12, 7:30pm<br />
| align="center" | Mon, August 12, 8:30pm<br />
| align="center" | Tue, August 13, 00:30<br />
| align="center" | Tue, August 13, 2:30am<br />
| align="center" | Tue, August 13, 8:30am<br />
| align="center" | Tue, August 13, 12:30pm<br />
|}<br />
<br />
{|<br />
|-<br />
| valign="top" |<br />
* Video conferencing:<br />
** Vidyo room Graphics (9366)<br />
** https://v.mozilla.com/flex.html?roomdirect.html&key=vu1FKlkBlT29<br />
| valign="top" |<br />
* Phone conferencing:<br />
** +1 650 903 0800 x92 Conf# 99366<br />
** +1 416 848 3114 x92 Conf# 99366<br />
** +1 800 707 2533 (pin 369) Conf# 99366<br />
|}<br />
<br><br />
<br />
=Urgent Bug Triage=<br />
Bugs tracked for upcoming Firefox releases:<br />
<br />
{| class="fullwidth-table"<br />
! valign="top" align="center" style="width: 34%;" | GFX<br><font size="-2">+ Image, Canvas 2D, WebGL</font><br />
! valign="top" align="center" style="width: 33%;" | Layout<br />
! valign="top" align="center" style="width: 33%;" | Media<br />
|-<br />
|<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=3062143;field0-0-0=cf_tracking_firefox25;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Canvas%3A%202D;component=Canvas%3A%20WebGL;component=GFX%3A%20Color%20Management;component=Graphics;component=Graphics%3A%20Layers;component=Graphics%3A%20Text;component=Image%20Blocking;component=ImageLib;field1-0-0=cf_status_firefox25;product=Core Bugs tracked for Firefox 25]<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=3062143;field0-0-0=cf_tracking_firefox24;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Canvas%3A%202D;component=Canvas%3A%20WebGL;component=GFX%3A%20Color%20Management;component=Graphics;component=Graphics%3A%20Layers;component=Graphics%3A%20Text;component=Image%20Blocking;component=ImageLib;field1-0-0=cf_status_firefox24;product=Core Bugs tracked for Firefox 24]<br />
|<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=5184523;field0-0-0=cf_tracking_firefox25;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Layout;component=Layout%3A%20Block%20and%20Inline;component=Layout%3A%20Floats;component=Layout%3A%20Form%20Controls;component=Layout%3A%20HTML%20Frames;component=Layout%3A%20Images;component=Layout%3A%20Misc%20Code;component=Layout%3A%20R%20%26%20A%20Pos;component=Layout%3A%20Tables;component=Layout%3A%20Text;component=Layout%3A%20View%20Rendering;component=SVG;field1-0-0=cf_status_firefox25;product=Core Bugs tracked for Firefox 25]<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=5184482;field0-0-0=cf_tracking_firefox24;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Layout;component=Layout%3A%20Block%20and%20Inline;component=Layout%3A%20Floats;component=Layout%3A%20Form%20Controls;component=Layout%3A%20HTML%20Frames;component=Layout%3A%20Images;component=Layout%3A%20Misc%20Code;component=Layout%3A%20R%20%26%20A%20Pos;component=Layout%3A%20Tables;component=Layout%3A%20Text;component=Layout%3A%20View%20Rendering;;component=SVGfield1-0-0=cf_status_firefox24;product=Core Bugs tracked for Firefox 24]<br />
|<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=5185492;field0-0-0=cf_tracking_firefox25;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Video%2FAudio;component=WebRTC;component=WebRTC%3A%20Audio%2FVideo;component=WebRTC%3A%20Networking;component=WebRTC%3A%20Signaling;field1-0-0=cf_status_firefox25;product=Core Bugs tracked for Firefox 25]<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=5185492;field0-0-0=cf_tracking_firefox24;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Video%2FAudio;component=WebRTC;component=WebRTC%3A%20Audio%2FVideo;component=WebRTC%3A%20Networking;component=WebRTC%3A%20Signaling;field1-0-0=cf_status_firefox24;product=Core Bugs tracked for Firefox 24]<br />
|}<br />
<br />
=Agenda=<br />
<br />
* New and notable (<60s per section)<br />
<br />
{| class="fullwidth-table"<br />
! valign="top" align="center" style="width: 34%;" | GFX<br><font size="-2">+ Image, Canvas 2D, WebGL</font><br />
! valign="top" align="center" style="width: 33%;" | Layout<br />
! valign="top" align="center" style="width: 33%;" | Media<br />
|-<br />
|<br />
* Choosing what to replace LOCAL_GL_ with.<br />
|<br />
* some work on making layout use logical directions going on in {{bug|735577}}<br />
|<br />
*<br />
|}<br />
<br />
<br />
* Do we have the dates (and place) for the next rendering work week?<br />
<br />
=Next Meeting=<br />
[https://wiki.mozilla.org/Platform/GFX#Team_Meetings Monday, August 26, 2:30pm PDT]</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Angle_Debugging_Tips&diff=692851Angle Debugging Tips2013-08-09T23:39:06Z<p>Jgilbert: Created page with "Some tips for debugging ANGLE stuff. ===XP-only bugs=== Have an issue on XP but not on Vista+? ANGLE might be special-casing for d3d9ex. Run on a vista+ machine with just d3d..."</p>
<hr />
<div>Some tips for debugging ANGLE stuff.<br />
<br />
===XP-only bugs===<br />
Have an issue on XP but not on Vista+?<br />
ANGLE might be special-casing for d3d9ex.<br />
Run on a vista+ machine with just d3d9 (non-ex) with:<br />
#define ANGLE_ENABLE_D3D9EX 0<br />
<br />
===Use the D3D debug runtime===<br />
''[http://msdn.microsoft.com/en-us/library/windows/desktop/bb173355%28v=vs.85%29.aspx (On MSDN)]''<br />
* Pull up the <tt>Direct X Control Panel</tt> application. In the <tt>Direct3D 9</tt> tab:<br />
** Choose the <tt>Use Debug Version of Direct3D 9</tt> radio button<br />
** Increase <tt>Debug Output Level</tt> as desired (Just max it)<br />
** Consider <tt>Maximum Validation</tt> checkbox<br />
* In your makefiles, add:<br />
DEFINES += -DD3D_DEBUG_INFO<br />
* Rebuild, and attach with VS<br />
<br />
===Programs with gl_PointCoord fail to link with the D3D debug runtime===<br />
This could be [http://code.google.com/p/angleproject/issues/detail?id=80 ANGLE issue 80].<br />
When linking shaders which use gl_PointCoord, the debug runtime may emit this error:<br />
The current pixel shader expects input semantic 'texcoord0' including component(s): 'xy',<br />
however the current vertex shader does not output 'texcoord0' at all.<br />
<br />
This is considered wontfix if using the release runtime works as expected.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Resources&diff=692847Platform/GFX/WebGL/Resources2013-08-09T23:21:06Z<p>Jgilbert: </p>
<hr />
<div>A collection of useful links to various things related to WebGL.<br />
<br />
==WebGL Spec==<br />
*[http://www.khronos.org/registry/webgl/specs/latest/ Latest WebGL Spec]<br />
*[http://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf Reference Card]<br />
*[https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html Conformance Tests]<br />
*[http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf GL ES 2.0 Spec]<br />
<br />
==Bug tracking==<br />
We use the following Status Whiteboard keywords to track various WebGL-related bugs:<br />
{| border="1"<br />
! Status Whiteboard<br />
! Description<br />
! colspan="2"|Bugzilla queries<br />
|-<br />
| webgl-conformance<br />
| Conformance bugs<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-conformance;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=Core Open bugs only]<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-conformance;product=Core All bugs]<br />
|-<br />
| webgl-test-needed<br />
| Missing conformance tests<br />
| colspan="2"|[https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-test-needed;product=Core All bugs] <!-- For webgl-test-needed, searching for open bugs only isn't very useful, and can be misleading --><br />
|-<br />
| webgl-extension<br />
| Extension implementation bugs<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-extension;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=Core Open bugs only]<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-extension;product=Core All bugs]<br />
|-<br />
| webgl-next<br />
| Important items that don't fall in above categories<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-next;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=Core Open bugs only]<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-next;product=Core All bugs]<br />
|}<br />
<br />
==2D Acceleration==<br />
*[http://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis 2D Graphics Acceleration with WebGL]<br />
<br />
==Progressive Benchmarks==<br />
Benchmarks which update their score (FPS or otherwise) continuously while running.<br />
<br />
===Drawing transparent quads===<br />
Comparing [http://www.scirra.com/labs/perftest-2d Canvas] with [http://www.scirra.com/labs/perftest-webgl WebGL]<br />
<br />
===FishIE===<br />
jmuizelaar's FishIE work: http://muizelaar.blogspot.com/2011/02/drawing-sprites-canvas-2d-vs-webgl.html<br />
<br />
*[http://people.mozilla.org/%7Ejmuizelaar/fishie/fishie.html Canvas with extra fish]<br />
*[http://people.mozilla.org/~jmuizelaar/fishie/fishie-gl.html Original WebGL]<br />
*[http://people.mozilla.org/~jmuizelaar/fishie/fishie-fast.html Fast WebGL]<br />
<br />
==Finite Benchmarks==<br />
Benchmarks which present a score upon completion.<br />
* ''(Are there any yet? -jgilbert)''<br />
* ''(https://github.com/facebook/jsgamebench looks like it might have some under webglbench/, though in 5 mins of trying, i haven't yet gotten them to work. -dmose)''<br />
<br />
==Demos==<br />
*[http://videos.mozilla.org/serv/mozhacks/flight-of-the-navigator/ Flight of the Navigator]<br />
*[https://developer.mozilla.org/en-US/demos/detail/no-comply No Comply]<br />
*[http://azathioprine.digisnap.bplaced.net/ Azathioprine]: A demo created with a Maya-to-WebGL converter.<br />
*[http://rescuefox.mozillalabs.com/src/index.html Rescue Fox]<br />
*[http://evanw.github.com/csg.js/ Constructive Solid Geometry]<br />
*[http://www.inka3d.com/examples/Saussage.html Saussage]: The infamous basic skeleton-based mesh demo<br />
*[http://stickmanventures.com/labs/demo/webgl-threejs-morph-target/ Ginger]: Facial rigging<br />
<br />
==Links==<br />
*[https://github.com/cjcliffe/CubicVR.js/wiki/Examples-and-Demos CubicVR Demos]<br />
*[http://www.khronos.org/webgl/wiki/Demo_Repository Khronos WebGL Demo Repository]<br />
*[http://webglstats.com/canuse.html WebGL Stats]<br />
*[[Angle Debugging Tips]]</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Compositing&diff=490700Platform/GFX/WebGL/Compositing2012-11-29T07:24:44Z<p>Jgilbert: Created page with "The overall diagram around compositing WebGL frames looks like this: <nowiki> WebGLContext | | owns a V GLContext | | owns a V ScreenBuffer -------------------..."</p>
<hr />
<div>The overall diagram around compositing WebGL frames looks like this:<br />
<nowiki><br />
WebGLContext<br />
|<br />
| owns a<br />
V<br />
GLContext<br />
|<br />
| owns a<br />
V<br />
ScreenBuffer ----------------------------------------------+<br />
| |<br />
| owns a | owns a<br />
V Creates/recycles surfs as needed V<br />
SurfaceStream <------------------------------------ SurfaceFactory<br />
|<br />
| Swaps buffers.<br />
| In OMTC case, the inter-thread communication/syncing happens here.<br />
|<br />
| (Content)<br />
---+---------------------------------------------------------------------<br />
| (Compositor)<br />
V<br />
SurfaceStream<br />
|<br />
| obtains a<br />
V<br />
SharedSurface<br />
|<br />
| is composited by<br />
V<br />
CanvasLayer<br />
</nowiki><br />
<br />
<code>SharedSurface</code>s are owned by <code>SurfaceStream</code> when they are active.<br />
When <code>SurfaceStream</code> is done with a <code>SharedSurface</code>, it returns control of it to the <code>GLScreenBuffer</code>'s <code>SurfaceFactory</code>, which will either delete it immediately, or cache it to possibly be reused later.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/2012-August-13&diff=460114Platform/GFX/2012-August-132012-08-11T09:36:07Z<p>Jgilbert: /* Agenda */</p>
<hr />
<div>* Every Monday at 2:30 PM Pacific Time<br />
* +1 650 903 0800 x92 Conf# 99366<br />
* +1 416 848 3114 x92 Conf# 99366<br />
* +1 800 707 2533 (pin 369) Conf# 99366 (toll free, Skype)<br />
* Video (Vidyo) link: https://v.mozilla.com/flex.html?roomdirect.html&key=vu1FKlkBlT29<br />
* Vidyo room 9366 (if you have LDAP and can log in at https://v.mozilla.com)<br />
<br />
=Urgent Bug Triage=<br />
Bugs tracked for upcoming Firefox releases, in decreasing order of urgency:<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=3062143;field0-0-0=cf_tracking_firefox15;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Canvas%3A%202D;component=Canvas%3A%20WebGL;component=GFX%3A%20Color%20Management;component=Graphics;component=Graphics%3A%20Layers;component=Graphics%3A%20Text;component=Image%20Blocking;component=ImageLib;field1-0-0=cf_status_firefox15;product=Core Bugs tracked for Firefox 15]<br />
* [https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=notregexp;list_id=3062143;field0-0-0=cf_tracking_firefox16;classification=Components;query_format=advanced;value1-0-0=%28fixed|wontfix|unaffected|verified%29;type0-0-0=equals;value0-0-0=%2B;component=Canvas%3A%202D;component=Canvas%3A%20WebGL;component=GFX%3A%20Color%20Management;component=Graphics;component=Graphics%3A%20Layers;component=Graphics%3A%20Text;component=Image%20Blocking;component=ImageLib;field1-0-0=cf_status_firefox16;product=Core Bugs tracked for Firefox 16]<br />
<br />
=Agenda=<br />
* SIGGRAPH recap?<br />
* SharedSurface for accelerated WebGL production/publishing to layers. (esp. OMTC/OMPC) (jgilbert)</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=460082Platform/GFX/WebGL/Contribute/Extensions2012-08-10T23:07:23Z<p>Jgilbert: /* The Goop */</p>
<hr />
<div>''(Adapted from {{bug|728354}})''<br />
<br />
Tracking bug for WebGL extension implementation is {{bug|728319}}. Check its 'Depends on' list for a list of the bugs for the various extensions.<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named <code>WEBGL_foo_bar</code> that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID.<br />
<br />
Let's call this interface, <code>nsIWebGLExtensionFooBar</code>. A C++ header will be auto-generated from that IDL, and will define a <code>nsIWebGLExtensionFooBar</code> class. But that's just a base class. Below we'll manually define a <code>WebGLExtensionFooBar</code> (notice: no nsI prefix) class, inheriting <code>nsIWebGLExtensionFooBar</code>.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for <code>WebGLExtensionStandardDerivatives</code> / <code>nsIWebGLExtensionStandardDerivatives</code>:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
You will also need to add the extension's class to the list in {{moz-central|dom/tests/mochitest/general/test_interfaces.html}}.<br />
I would recommend putting it near "WebGLExtension".<br />
If you forget this step, you'll get an 'M3' failure such as:<br />
<br />
<code>ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_interfaces.html | Unexpected interface name in global scope: WebGLExtensionDepthTexture</code><br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the <code>WebGLExtensionFooBar</code> class, inheriting <code>nsIWebGLExtensionFooBar</code>, similar to what's being done for <code>WebGLExtensionStandardDerivatives</code>.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL <code>getExtension</code> and <code>getSupportedExtensions</code> methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are <code>WebGLContext::GetExtension</code> and <code>WebGLContext::GetSupportedExtensions</code>. They call another internal function that you'll have to edit as well: <code>WebGLContext::IsExtensionSupported</code>. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the <code>GL_EXTENSIONS</code> string of the underlying OpenGL context, call <code>gl->IsExtensionSupported(enum value)</code>. Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for <code>IsExtensionSupported</code>):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to <code>GLContext</code>, or elsewhere in <code>WebGLContext</code>.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like <code>TEXTURE_MAX_ANISOTROPY</code>. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use <code>LOCAL_GL_</code> prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
*:Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
*::<code>TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=460081Platform/GFX/WebGL/Contribute/Extensions2012-08-10T23:06:48Z<p>Jgilbert: /* The Goop */</p>
<hr />
<div>''(Adapted from {{bug|728354}})''<br />
<br />
Tracking bug for WebGL extension implementation is {{bug|728319}}. Check its 'Depends on' list for a list of the bugs for the various extensions.<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named <code>WEBGL_foo_bar</code> that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID.<br />
<br />
Let's call this interface, <code>nsIWebGLExtensionFooBar</code>. A C++ header will be auto-generated from that IDL, and will define a <code>nsIWebGLExtensionFooBar</code> class. But that's just a base class. Below we'll manually define a <code>WebGLExtensionFooBar</code> (notice: no nsI prefix) class, inheriting <code>nsIWebGLExtensionFooBar</code>.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for <code>WebGLExtensionStandardDerivatives</code> / <code>nsIWebGLExtensionStandardDerivatives</code>:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
You will also need to add the extension's class to the list in *{{moz-central|dom/tests/mochitest/general/test_interfaces.html}}. I would recommend putting it near "WebGLExtension". If you forget this step, you'll get an 'M3' failure such as:<br />
<br />
<code>ERROR TEST-UNEXPECTED-FAIL | /tests/dom/tests/mochitest/general/test_interfaces.html | Unexpected interface name in global scope: WebGLExtensionDepthTexture</code><br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the <code>WebGLExtensionFooBar</code> class, inheriting <code>nsIWebGLExtensionFooBar</code>, similar to what's being done for <code>WebGLExtensionStandardDerivatives</code>.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL <code>getExtension</code> and <code>getSupportedExtensions</code> methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are <code>WebGLContext::GetExtension</code> and <code>WebGLContext::GetSupportedExtensions</code>. They call another internal function that you'll have to edit as well: <code>WebGLContext::IsExtensionSupported</code>. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the <code>GL_EXTENSIONS</code> string of the underlying OpenGL context, call <code>gl->IsExtensionSupported(enum value)</code>. Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for <code>IsExtensionSupported</code>):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to <code>GLContext</code>, or elsewhere in <code>WebGLContext</code>.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like <code>TEXTURE_MAX_ANISOTROPY</code>. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use <code>LOCAL_GL_</code> prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
*:Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
*::<code>TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/AreWeFunYet&diff=420208Platform/AreWeFunYet2012-04-15T12:38:47Z<p>Jgilbert: /* Compression of JavaScript code */</p>
<hr />
<div>This page tracks the status of Gecko as a games platform.<br />
<br />
Also see [[HTML5_Games|HTML5 Games]].<br />
<br />
Tracking Bug for Game Related Issues: https://bugzilla.mozilla.org/show_bug.cgi?id=gecko-gaming<br />
<br />
= Fast code =<br />
<br />
[https://games.etherpad.mozilla.org/17 Feedback from Games Work Week]<br />
<br />
[http://iq12.com/blog/as3-benchmark/ Here is a benchmark] comparing ActionScript to several JavaScript engines. It shows that as of June 2011, JavaScript is faster than Flash 10.3 in all major browsers. Here's a runnable copy of the [http://people.mozilla.com/~jmuizelaar/v8-flash.html v8 flash benchmark]. <br />
<br />
[http://blog.j15r.com/2011/12/for-those-unfamiliar-with-it-box2d-is.html Box2D Benchmark] - This is a great blog post about some experiments done in Dec 2011 comparing different ways of getting Box2D to run in a browser and seeing it performs relative to the C version.<br />
<br />
'''TODO:''' Find/generate more benchmarks? At least update that one to include Flash 11 and the latest JS engines (Firefox 9 with TI) ?<br />
<br />
== Known Issues ==<br />
<br />
=== Garbage collection pauses ===<br />
<br />
An important question is what's an acceptable length for a GC pause. There is no magic value there that will ensure that we maintain 60 FPS: an arbitrarily short pause might make us skip a frame. But there is an important value that will ensure that we don't skip '''more than''' one frame: 1s/60 = 16 ms, so as long as GC pauses are no longer than 16 ms, they don't cause us to skip more than one frame. Thus 16 ms seems like the first goal to aim for, allowing us to maintain an effective 30 FPS when GC occurs.<br />
<br />
Incremental GC ({{bug|641025}}) is on track to achieve this goal. The current version keeps mark phase pause times down to 10ms. <br />
<br />
The code for IGC has landed to Nightly, but is disabled by default because of nonreproducible memory leaks on our automated tests (which we are working on). You can turn it on by going to about:config and setting javascript.options.mem.gc_incremental to true.<br />
<br />
Potential 10ms+ pauses left over after {{bug|641025}}:<br />
<br />
* The sweep phase (mostly because of objects with finalizers, e.g., DOM objects) still runs all at once, and can be 20ms+. Incrementalizing this is much easier that incrementalizing the mark phase and is planned follow-on work.<br />
* We throw away compiled code on GC, requiring recompilation after the GC is done, which can be a pause. We're aware of the issue and have talked a bit about solutions.<br />
* The JS program can run more slowly during an incremental GC. It depends on what the JS program does: writing to heap locations (e.g., object properties, array elements) is slowed down, so programs that do a lot of that can be slowed down substantially, but other programs are hardly affected at all.<br />
<br />
Generational GC ({{bug|619558}}), now underway and expected to finish around mid-year, should further alleviate GC issues. With generational GC, short-lived objects are collected with negligible cost, so a regular incremental GC needs to be started only when there is garbage from long-lived objects that are no longer used.<br />
<br />
A further improvement would be to provide an API that means "don't GC now". This would combine well with generational GC: with generational GC, major collections don't need to be done very often so delaying them is unlikely to cause a problem.<br />
<br />
=== Impact of other tabs ===<br />
<br />
See {{bug|710359}}. In the web-gaming era, it will not be tolerable that just having a GMail tab on the side severely harms FPS in a game in another tab. This should have been solved by electrolysis ( = process separation), but it's on hold. <br />
<br />
For now, {{bug|712731}} and {{bug|supersnappy}} aim to mitigate the problem.<br />
<br />
=== Performance issues with large JS files ===<br />
<br />
See {{bug|644244}}. Large JavaScript files (which are not uncommon in games) can in some cases run slowly. Example large files would help us work on this.<br />
<br />
=== Typed Arrays for Managing Assets ===<br />
<br />
It seems that game developers would like to store assets in binary form in Typed Arrays. How possible/feasible is that? For example, can I say 'take this typed array and interpret it as a JPEG image'?<br />
<br />
''No you can't. You can convert the data into a Blob and get a URL for that, but that involves a memory copy.''<br />
<br />
Another orthogonal question: can one cache on disk (IndexedDB?) the contents of a Typed Array?<br />
<br />
''Yes, you can store Typed Arrays and ArrayBuffers in IndexedDB just like many other data types.''<br />
<br />
Currently if you want to take data in a Typed Array and display in an <img> or otherwise end up interacting with the DOM, you'll have to copy the data at least once. One solution might be the ability to create a blob-url representing the contents of a Typed Array.<br />
<br />
''Yes, we should add the ability to get a URL which represents the contents of a TypedArray/ArrayBuffer. Basically that simply means supporting a TypedArray or ArrayBuffer to URL.createObjectURL()''<br />
<br />
=== Compression of JavaScript code ===<br />
<br />
Game developers want to minimize the size of code to deliver it faster to the client. Current mechanisms for that are JS minification, and gzip compression at the level of the HTTP server. Some game developers expressed concerns with that: they wanted better compression algorithms (LZMA) and they wanted something that can be used without knowing how to configure a HTTP server.<br />
<br />
-- Idea: can we standardize a flag on XMLHTTPRequests which says ... "and decompress it before giving it to me"? So they could have two versions on the server - a minified and a .gz. They check for support for this feature and, if it's present, set the flag and stick ".gz" on the end of the requested filename. XMLHTTPRequest fetches the data, decompresses it internally and just presents it as if it had not even been compressed. -- Gerv<br />
<br />
One topic brought up was the effect of gzip and/or minified JS on file size. There is a great breakdown of jQuery file sizes available [http://mathiasbynens.be/demo/jquery-size here].<br />
<br />
=== Speed of first-run ===<br />
<br />
Game developers are concerned about the time taken to compile large JavaScript codebases. Note that there are two separate compilation stages: bytecode compilation (JS->bytecode), and native compilation (bytecode->native). Currently SpiderMonkey compiles all bytecode immediately when it is loaded by a page, but functions are native-compiled only after they have run a few times (or for a few loop iterations).<br />
<br />
We need data to show which compilation(s) are a problem.<br />
<br />
If it's bytecode, one solution is to compile the code as it is downloaded (bug on file?). Another is to parse only enough to get early errors, but not actually compile, making the front-end faster.<br />
<br />
Native compilation is difficult to make faster: there aren't necessarily any quick fixes.<br />
<br />
Ahead-of-time compilation or caching compiled code would address both issues.<br />
<br />
=== Management of large JavaScript codebases ===<br />
<br />
Does JavaScript need to evolve to make large codebases more manageable? Some things that were mentioned:<br />
* modules (better includes) - ES6 modules should be available around mid-year in Firefox and Chrome. It is planned for Q2 for JS team.<br />
* namespaces - this is probably taken care of by ES6 modules.<br />
* add more OO features (classes, inheritance) - not coming soon to the JS language. There are libraries, though, e.g. prototype.js.<br />
<br />
= HTML5 Gaming Benchmarks =<br />
== Spaceport.io ==<br />
[http://people.mozilla.org/~jjensen/pages/html5/fvcd20120306.html Results from spaceport.io performance tests] on a Lenovo W520 (hot laptop with NVidia GFX acceleration). We could use runs on desktop machines with typical on-board GFX, and ones with mid-end 3D cards. Also Mac and Linux. Summary: "The short answer is that Firefox appears to be significantly faster at 2D scaling and rotating transforms, but slower at everything else" (than Chrome)<br />
<br />
Original report (focused on mobile): [http://spaceport.io/spaceport_perfmarks_report_2012_3.pdf Spaceport.io report]<br />
<br />
= Low-level or 3D Graphics =<br />
<br />
''[https://games.etherpad.mozilla.org/8 Feedback from Games Work Week]''<br />
<br />
[[Platform/GFX/WebGL|WebGL]] is a quite thin layer on top of GL or GLES, with an extensive conformance suite and solid lines of communication between implementers.<br />
<br />
We currently have hardware acceleration support everywhere, but that is subject to [https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers driver blacklisting] and as a result, [http://people.mozilla.org/~bjacob/gfx_features_stats/ does not] serve all of our users.<br />
There is also [https://bugzilla.mozilla.org/show_bug.cgi?id=731836 a bug to add support for the Mesa llvmpipe software renderer].<br />
Chrome is integrating the proprietary SwiftShader software renderer.<br />
<br />
==Bug tracking==<br />
We use the following Status Whiteboard keywords to track various WebGL-related bugs:<br />
{| border="1"<br />
! Status Whiteboard<br />
! Description<br />
! colspan="2"|Bugzilla queries<br />
|-<br />
| webgl-conformance<br />
| Conformance bugs<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-conformance;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=Core Open bugs only]<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-conformance;product=Core All bugs]<br />
|-<br />
| webgl-test-needed<br />
| Missing conformance tests<br />
| colspan="2"|[https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-test-needed;product=Core All bugs] <!-- For webgl-test-needed, searching for open bugs only isn't very useful, and can be misleading --><br />
|-<br />
| webgl-extension<br />
| Extension implementation bugs<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-extension;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=Core Open bugs only]<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-extension;product=Core All bugs]<br />
|-<br />
| webgl-next<br />
| Important items that don't fall in above categories<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-next;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=Core Open bugs only]<br />
| [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-next;product=Core All bugs]<br />
|}<br />
<br />
<br />
==Compositing==<br />
<br />
Though we have similar GL support everywhere, one bottleneck is compositing between our accelerated WebGL contexts and our layer managers.<br />
Sharing GLTextures between WebGL and Layers is possible with OGL Layers, available on Mac and Linux. (though heavily blacklisted on Linux)<br />
Sharing EGLSurfaces provides the same functionality between ANGLE EGL+GLES and D3D10 Layers.<br />
A more complete description of the backend combinations is at [[Platform/GFX/WebGL/Backends]].<br />
<br />
Currently, we lack composition acceleration on WinXP, Linux, and Mobile.<br />
Mobile and Linux are being investigated as part of OMTC.<br />
WinXP can't run D3D10 to take advantage of ANGLE's EGLSurface sharing.<br />
<br />
On Windows, we prefer ANGLE's implementation of EGL+GLES instead of using native WGL+GL.<br />
Part of the reason for this is blocklisting, but also because we don't yet have a way to interop between native GL and D3D Layers.<br />
There is [https://bugzilla.mozilla.org/show_bug.cgi?id=618898 a bug for implementing WGL_NV_DX_interop], which provides this interop.<br />
In the future, it might be preferable to default to using WGL+GL+interop, falling back to ANGLE based on blacklisting.<br />
<br />
==Extensions==<br />
<br />
WebGL extensions are tracked with [https://bugzilla.mozilla.org/buglist.cgi?classification=Components;status_whiteboard_type=allwordssubstr;query_format=advanced;status_whiteboard=webgl-extension;product=Core webgl-extension] in the Status Whiteboard, see 'Bug tracking' above.<br />
<br />
The biggest missing piece at the moment is [https://bugzilla.mozilla.org/show_bug.cgi?id=728017 compressed textures].<br />
<br />
We should gather telemetry for extension support to improve our knowledge of extensions' penetration. Alternatively, [http://webglstats.com/ WebGLStats] has some very useful data on this subject.<br />
<br />
There should also be a way to expose fast-paths, especially to eliminate costly pixel format swizzling. (For example between BGRA and RGBA)<br />
<br />
==Tools==<br />
<br />
There is demand for better tools for understanding what WebGL is doing, so that it's easier to debug for developers.<br />
<br />
= High-level 2D Graphics =<br />
<br />
[https://bugzilla.mozilla.org/show_bug.cgi?id=728017 Feedback from Games Work Week]<br />
<br />
Web technology: [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#2dcontext Canvas 2D]. ''Well, there is also SVG, but somehow it's less popular for game development. Someone should add an explanation of why.''<br />
<br />
SVG is a retained mode API which means the developer has less control over whats painted when. SVG also requires using the<br />
clumsy DOM APIs which means it's harder to get started.<br />
<br />
Canvas 2D is a traditional 2D API, modeled after Apple's CoreGraphics, itself modeled after PostScript. Its main advantages over WebGL are ease of use, availability of important 2D features (including text) and ubiquity: it's supported in all modern browsers and is always available, regardless of possible GPU acceleration. Its downsides are that it's more specific to certain kinds of graphics (2D and some casual 3D), offers less low-level control to the programmer, and is relatively hard for the browser run fast on GPUs.<br />
<br />
This is key to understanding the discrepancies in Canvas 2D performance across browsers, and within a single browser, across platforms.<br />
<br />
Gecko's implementation of Canvas 2D is currently transitioning from an old model to a new one, with the new model already in use on some platforms.<br />
<br />
The old model used Cairo as the internal 2D graphics API on all platforms, then dispatched to platform-specific Cairo back-ends. Some were GPU-accelerated, like the Cairo Direct2D back-end on Windows.<br />
<br />
The new model uses a new lightweight API called Azure, that carries minimal overhead and maps perfectly well to Direct2D, which was its first backe-nd. More Azure back-ends are being developed as we transition to using Azure everywhere.<br />
<br />
The current and near-future status of Gecko for Canvas 2D is summarized in this table:<br />
<br />
{| border="1"<br />
! Platform<br />
! Implementation<br />
! Performance comments<br />
! Version comments<br />
|-<br />
| Windows 7 and Vista<br />
| Azure / Direct2D<br />
| Very fast GPU-accelerated<br />
| Since Firefox 7<br />
|-<br />
| Windows XP<br />
| cairo gdi/software<br />
| rectangular unscaled blitting should be quite fast, transformed blitting is slower than it could be<br />
| Since Firefox 3<br />
|-<br />
| Mac<br />
| Azure / (CoreGraphics or Skia ???)<br />
| much improved blitting performance<br />
| Since Firefox 12<br />
|-<br />
| Linux/X11<br />
| cairo X11<br />
| performance depends the users drivers. This can range from good to bad.<br />
| Since Firefox 3<br />
|-<br />
| Android<br />
| cairo software<br />
| rectangular unscaled blitting should be quite fast, transformed blitting is slower than it could be<br />
| <br />
|}<br />
<br />
As always, notice that GPU acceleration is subject to driver blacklisting.<br />
<br />
= Audio =<br />
<br />
Audio is an area that doesn't currently have a universally accepted standard.<br />
* Firefox 4+ has Audio Data API, but it's not what we're betting on going forward, see below.<br />
* Chrome has Web Audio API.<br />
* Firefox's plan going forward is the [https://dvcs.w3.org/hg/audio/raw-file/tip/streams/StreamProcessing.html MediaStream Processing API].<br />
** [http://robert.ocallahan.org/2012/01/mediastreams-processing-demos.html Roc's blog post] explains the rationale, and links to Firefox builds with MediaStream Processing enabled.<br />
** The tracking bug for it is {{bug|664918}}.<br />
** The implementation patch queue is [http://hg.mozilla.org/users/rocallahan_mozilla.com/media-patches/ http://hg.mozilla.org/users/rocallahan_mozilla.com/media-patches/].<br />
<br />
Miscellaneous:<br />
* [https://games.etherpad.mozilla.org/7 Feedback from Games Work Week]<br />
* {{bug|700208}} tracks our progress on Soundcloud's audio tests from http://areweplayingyet.org<br />
* [[Paladin/Misc/Android_Audio_Notes|Android Audio Notes]] has a transcript and links from a super informative discussion with Randall Jesup and Kinetik about the state of Android audio as of November, 2011.<br />
<br />
= FullScreen = <br />
<br />
This feature allows you to build a web application that runs full screen. This includes any HTML element so you can build full screen games, full interactive video experiences, presentation software or anything else that should dominate the experience. <br />
<br />
* This shipped in Firefox 10<br />
* Feature Page: https://wiki.mozilla.org/Platform/Features/Full_Screen_APIs<br />
* {{bug|545812}}<br />
* Developer: Chris Pearce<br />
<br />
* Need support for full screen with keys: [https://bugzilla.mozilla.org/show_bug.cgi?id=716107 Better key input support in DOM full-screen mode]<br />
<br />
= Pointer Lock (Mouse Lock) =<br />
<br />
Web technology: [https://developer.mozilla.org/en/API/Mouse_Lock_API Mouse Lock API]<br />
<br />
The Pointer Lock (Mouse Lock) API is currently under development by [http://zenit.senecac.on.ca/wiki/index.php/Implementing_the_Mouse_Lock_API_in_Firefox David Humphrey and his students] at Seneca College. It is also under development in Chrome. This API is currently in [http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html W3C Draft Status].<br />
<br />
* This is targeted to land in Firefox 14<br />
<br />
Relevant links:<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=633602 Bugzilla ticket]<br />
* [http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html W3C Draft API]<br />
<br />
= Gamepad =<br />
<br />
Web technology: [[GamepadAPI]].<br />
<br />
The Gamepad API is currently under development in Firefox and Chrome. Firefox builds are available for download [http://people.mozilla.com/~tmielczarek/gamepad/ here]. Chromium builds need to have --enable-gamepad (?) passed on start-up. This API is currently in W3C draft status<br />
<br />
* This is targeted to land in the first quarter 2012<br />
<br />
Relevant links:<br />
* [https://bugzilla.mozilla.org/show_bug.cgi?id=604039 Bugzilla ticket]<br />
* [http://dvcs.w3.org/hg/webevents/raw-file/default/gamepad.html W3C API draft]<br />
<br />
= Keyboard input that ignores keyboard layouts =<br />
<br />
Many games use the WASD keys for direction control. However, depending on the active keyboard layout, their usual (US-layout) key places can be occupied by different letters. In the [http://en.wikipedia.org/wiki/AZERTY AZERTY] keyboard layout, for example, these keys have the letters ZQSD, and in [http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard Dvorak] {comma}AOE.<br />
<br />
Users of those keyboard layouts shouldn't need to reconfigure their key mapping or change the system's keyboard layout. Instead, the game should be able to get a pressed key's absolute position on the keyboard, or its "scan code". Key events don't provide that information yet.<br />
<br />
I'm not aware of any standardization effort on this.<br />
<br />
Competition:<br />
* unknown<br />
<br />
Relevant links:<br />
* [http://altdevblogaday.com/2011/10/02/i-never-managed-to-go-left-on-first-try/ #AltDevBlogADay post about the problem]<br />
* [https://developer.mozilla.org/en/DOM/event/UIEvent/KeyEvent#Constants MDC documentation on key codes]<br />
<br />
= Asset Management =<br />
<br />
[https://games.etherpad.mozilla.org/19 Feedback from Games Work Week]<br />
<br />
From a game developer: ''"A robust resource/asset loading/unloading/streaming system - The browser is capable of doing a whole lot on this end, particularly streaming and fetching from remote sources. However, a game developer's problem isn't just obtaining and loading the assets, it's managing them from a memory and "readyness" point of view. This is especially key in mobile spaces where you are severely constrained by memory and the traditional mindset of "load all of a level's assets at start and play" begins to break down."''<br />
<br />
Gladius is actually working on code for this, and our current theory is that we expect to split it out into a standalone library before too long.<br />
<br />
== IndexedDB ==<br />
<br />
IndexedDB is a database specification with a bad name. It allows storing large amounts of data client side. It's currently a W3C working draft and in various levels of support in Firefox, Chrome and IE 10. The Firefox 11 implementation is basically feature complete and we expect the IE10 version to be very close to complete once IE10 launches. Chrome is lagging behind currently, but still supports a large part of the specification.<br />
<br />
IndexedDB supports storing a large set of data types directly in the database. This includes JSON objects, binary ArrayBuffers, ArrayBufferViews and Blobs/Files.<br />
<br />
IndexedDB will write separate Blobs as separate files in the OS file system which means that database operations won't be slowed down even if you store very large Blobs directly in IndexedDB. However we don't know if the OS file system too slow? Especially when scaling up to lots of files in a single OS directory.<br />
<br />
How big are these files usually. We've been talking about making the IndexedDB back-end collapse small files into a big OS-file. This would reduce reliance of OS large-directory handling.<br />
<br />
== DeviceStorage API ==<br />
<br />
We're planning on implementing the the [[WebAPI/DeviceStorageAPI|DeviceStorage API]] which will give pages access to the system's "Pictures" and "Documents" folders. This can be useful for things like saving screenshots etc.<br />
<br />
== Current state ==<br />
<br />
We support IndexedDB almost completely as of Firefox 11. The main missing part is error handling isn't up to spec yet.<br />
<br />
IndexedDB supports storing File and Blob objects directly in the database. When that happens we store the File/Blob as a separate OS-file which means that performance is very good and doesn't affect the performance of the database.<br />
<br />
You can also use IndexedDB as just normal data storage rather than read it out yourself from custom file formats. This likely won't have significantly different performance, but can be more convenient.<br />
<br />
When you store things in IndexedDB Firefox will prompt the user when the first database for your origin is created. If the user answers yes, the site is granted 50MB of storage. When you hit that limit, the user is prompted again and if he/she answers yes again, the site is granted unlimited storage.<br />
<br />
Hopefully we can remove the prefix for IndexedDB in the Firefox 14 or Firefox 15 timeframe.<br />
<br />
== What we're currently working on ==<br />
<br />
We're currently working on an API to let you do more direct File-IO. I.e. the ability to open a 10MB file, seek to the middle of it, and write 100 bytes of data there. The storage for these files will still be IndexedDB.<br />
<br />
We're also going to remove the prompting for any website that gets installed as an OWA App. All OWA apps will likely get unlimited storage space without any prompting. You will be able to tell when you're installed as a OWA app and thus have this storage space available.<br />
<br />
== What we're planning on doing in fairly short term ==<br />
<br />
We want to adding the ability for websites to write IndexedDB, and other, data "optimistically" without prompting. I.e. the website will be able to indicate that a given chunk of data doesn't need to be permanent and can be deleted if the user runs low on space. That way we won't need to ask the user before using the user's resources, but in turn we will delete the data if there is that need.<br />
<br />
We'll likely also add APIs for doing synchronous IO from inside workers. That way emscripten should be able to compile programs that read and write directly to disk.<br />
<br />
== Longer term we're also planning on ==<br />
<br />
Adding APIs for dealing with .zip files.<br />
<br />
Adding APIs for interacting with the HTTP cache. I.e. to load URLs into it, enumerate what's there, and possibly extract cache tokens that ensure that data remains in the cache as long as the token is held alive.<br />
<br />
Adding APIs for converting between Typed Arrays and strings, in both directions. ''We should find someone that can work on this in a more short order''<br />
<br />
= WebSockets =<br />
<br />
WebSockets is a bi-directional connection-oriented reliable-transport protocol designed to give an option to developers for low-latency communications between browsers and servers. It isn't a raw socket protocol for security reasons, and is initiated on HTTP ports via an [http://tools.ietf.org/html/rfc6455 HTTP upgrade].<br />
<br />
WebSockets is ''not'' intended to be a Peer2Peer protocol. It's intended to be the next step after HTTP as far as client-to-server communications goes and allows for long running connections, bi-directional communication with delivery guarantees. If what you are looking for is UDP based communication, or Peer2Peer connections, then WebRTC is the answer there.<br />
<br />
You can actually do most of what WebSockets does over normal HTTP with long-hanging gets. However, the overhead of doing that over HTTP means that for small transactions - think key strokes, or a few bytes at a time - can have quite a bit of overhead because of HTTP headers. So WebSockets is really built for applications that require low-latency communications. Think live games or keystroke-based interactive applications.<br />
<br />
The low-level WebSockets protocol is [http://tools.ietf.org/html/rfc6455 RFC 6455] and is fully implemented in Firefox 11. The protocol is TCP-based and can use SSL or operate in the clear. Messages are framed with length and can be either binary or UTF-8. Messages sent by the browser are obfuscated on the wire with a key known to the browser and the server, but is not available to JavaScript. This feature exists to prevent some attacks against transparent proxy servers which may intercept the initial WebSocket connection.<br />
<br />
There is a separate WebSockets API maintained at the W3C. (The [http://dev.w3.org/html5/websockets/ editor's draft] is the best source of information and contains the most recent API. The API is message-based. That is, individual WebSocket frames are sent as messages via an event handler in JavaScript. Messages can be handled as strings, ArrayBuffers or Blobs.<br />
<br />
As of '''Firefox 11''' we've unprefixed the WebSockets API. This means that we don't expect the protocol or the API to change. In other words, we're basically "done" with our WebSockets support.<br />
<br />
The two outstanding item that I know about are:<br />
* If you download a large binary message as a Blob, we don't stream the data to disk, but instead back the Blob using an in-memory buffer. This is transparent to the page, but causes us to use more memory. Tracking bug is {{bug|704447}}.<br />
* WebSockets aren't supported in Workers {{bug|504553}}<br />
<br />
= Multithreaded programming =<br />
<br />
We currently have WebWorkers as solution for multithreaded programming. WebWorkers use a shared-nothing message passing model. I.e. there are no mutexes, monitors etc.<br />
<br />
Is this going to work for game developers?<br />
<br />
We also haven't done a lot of performance testing, should get feedback from developers if there are bottlenecks. For example is the postMessage code fast enough?<br />
<br />
We're also missing a large number of APIs. The following APIs are known to be missing:<br />
* IndexedDB {{bug|701634}}<br />
* WebSockets {{bug|504553}}<br />
* Asynchronous FileReader (is this important given that we have FileReaderSync?)<br />
* Transferrable ArrayBuffers between threads {{bug|735474}}<br />
* Shared Workers {{bug|643325}}<br />
<br />
We also know that our XMLHttpRequest performance is pretty bad, especially for large resources.<br />
<br />
= Device orientation control =<br />
<br />
Owner: Mounir Lamouri<br />
<br />
Ability to block, define and get informed when the device orientation changes. Basic use case is for a game that has to be played in landscape mode. The game should lock the orientation to landscape mode even if the device is currently in portrait mode. <br />
<br />
* Specification: [http://dvcs.w3.org/hg/screen-orientation/raw-file/tip/Overview.html w3.org Specification]<br />
* Current Status: Landed<br />
* Tracking Bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=673922 673922]<br />
<br />
= Game-oriented documentation =<br />
<br />
'''TODO:''' fill this section<br />
<br />
* Tutorials<br />
* Example games<br />
* Articles in Gamedev.net, Gamasutra, etc.<br />
<br />
= Converting C/C++ games and libraries to Javascript =<br />
<br />
* [http://emscripten.org/ Emscripten] is an open source compiler from C/C++ to JavaScript, through LLVM.<br />
** Emscripten functions as a drop-in replacement for gcc<br />
** Can compile individual libraries and provide friendly JavaScript wrappers for their C or C++ APIs, see [https://github.com/kripken/ammo.js ammo.js], a port of Bullet, and [https://github.com/kripken/box2d.js box2d.js], a port of Box2D.<br />
** Supports the main parts of APIs like libc, libc++, SDL, POSIX<br />
** Some support for OpenGL ES 2.0 exists (see [http://ehsanakhgari.org/blog/2012-01-25/porting-opengl-application-web demo]), ehsan is working on general OpenGL support.<br />
** Mozilla is working towards getting the relevant parts of Emscripten into upstream LLVM.<br />
* [http://www.mandreel.com/ Mandreel] is a commercial product for Windows that similarly compiles C/C++ to JavaScript through LLVM. It also supports Objective-C and OpenGL and is more focused on compiling entire games as opposed to libraries.<br />
<br />
= High Resolution Timers =<br />
<br />
[https://games.etherpad.mozilla.org/20 Feedback from Games Work Week]<br />
<br />
There is a draft spec for a property |window.performance.now| that meets the needs game developers described to us. The property returns a floating-point value in milliseconds. There's a little more discussion required on the spec itself to get everyone on board, but Mozilla and WebKit are both ready to implement.<br />
<br />
See [http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HighResolutionTime/Overview.html] for the spec.<br />
<br />
= Mobile =<br />
<br />
[https://games.etherpad.mozilla.org/6 Feedback from Games Work Week]<br />
<br />
= Animation timing/syncing =<br />
<br />
== VSync ==<br />
<br />
We need to synchronize compositing with VSync, and do what we can to ensure that games get their requestAnimationFrame callbacks at the right time so they can queue draw operations ahead of the next VSync.<br />
<br />
== Reliable animation timing ==<br />
<br />
In {{bug|731974}} we discuss that requestAnimationFrame sometimes calls back at random times, sometimes every millisecond! Seems to be a general problem with our timers.<br />
<br />
{{bug|640796}} covers part of the problem on Windows. Once that's fixed, we can revisit {{bug|590422}} and hopefully fix it. Alternately, we need a fix for {{bug|625258}} and hope that works.<br />
<br />
Anyway, [https://bug731974.bugzilla.mozilla.org/attachment.cgi?id=601937 this test case] allows one to check if requestAnimationFrame is behaving vaguely correctly (you shouldn't see red "too short" warnings).<br />
<br />
= Sandboxing =<br />
<br />
Games often want a restricted execution environment for some of their code. Modding, customizations, and player-implemented behaviors are example use cases. Sandboxing may be to prevent cheating, to control execution overhead, or to limit the modifiable parts of the game.<br />
<br />
Current facilities include sandboxes, same-origin restrictions, workers, and compartments and proxies. Not all of these are accessible to content, and it is unclear how much of this requirement is handled.<br />
<br />
= Miscellaneous =<br />
<br />
[https://games.etherpad.mozilla.org/21 Feedback from Games Work Week] about missing APIs.<br />
<br />
Regarding developer tools, see these etherpads from the Games work week:<br />
* The bottom half of the [https://games.etherpad.mozilla.org/20 timers session notes]<br />
* [https://games.etherpad.mozilla.org/7 Tools Authoring]</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Modules/Core&diff=418263Modules/Core2012-04-09T23:22:52Z<p>Jgilbert: Canvas stuff should at least be in Gfx</p>
<hr />
<div>{{Module<br />
|name=Accessibility<br />
|description=Support for platform accessibility APIs. Accessibility APIs are used by 3rd party software like screen readers, screen magnifiers, and voice dictation software, which need information about document content and UI controls, as well as important events like changes of focus.<br />
|owner=[mailto:surkov.alexander@gmail.com Alexander Surkov]<br />
|peers=[mailto:bolterbugz@gmail.com David Bolter], [mailto:ginn.chen@oracle.com Ginn Chen], [mailto:trev.saunders@gmail.com Trevor Saunders], [mailto:marco.zehe@googlemail.com Marco Zehe] <br />
|group=dev-accessibility<br />
|source_dirs=accessible/<br />
|url=http://www.mozilla.org/access/<br />
|components=Core::Disability Access APIs<br />
}}<br />
<br />
{{Module<br />
|name=Build and Release Tools<br />
|description=Tools related to build and release automation and configuration of release builds.<br />
|owner=[mailto:nrthomas@gmail.com Nick Thomas]<br />
|peers=[mailto:bhearsum@mozilla.com Ben Hearsum], [mailto:ccooper@deadsquid.com Chris Cooper], [mailto:cmp@mozilla.org Chase Phillips], [mailto:mozpreed@sigkill.com John Paul Reed], [mailto:robert@roberthelmer.com Robert Helmer]<br />
|group=dev-builds<br />
|source_dirs=tools/botrunner.py, tools/build-environment/, tools/build/, tools/buildbot-configs/, tools/buildbot/, tools/buildbotcustom/, tools/l10n/, tools/MozBuild/, tools/patcher-configs/, tools/patcher/, tools/release/, tools/tinderbox-configs/, tools/tinderbox/, tools/update-packaging/, browser/config/mozconfigs/, mobile/config/mozconfigs/, xulrunner/config/mozconfigs/<br />
|url=<br />
|components=mozilla.org::Release Engineering, mozilla.org::Release Engineering: Custom Builds<br />
}}<br />
<br />
{{Module<br />
|name=Build Config<br />
|description=The build system for Gecko and several mozilla.org hosted Gecko-based applications.<br />
|owner=[mailto:ted.mielczarek@gmail.com Ted Mielczarek]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:mark@moxienet.com Mark Mentovai], [mailto:me@kylehuey.com Kyle Huey], [mailto:mh@glandium.org Mike Hommey], [mailto:mitchell.field@live.com.au Mitchell Field], [mailto:wtc@google.com Wan-Teh Chang]<br />
|group=dev-builds<br />
|source_dirs=build/, config/, tools/cross-commit, tools/cvs2hg-import.py, tools/cvsmgmt/, tools/elf-dynstr-gc/, tools/trees.pl, browser/config/mozconfigs/, mobile/config/mozconfigs/, xulrunner/config/mozconfigs/<br />
|url=http://www.mozilla.org/build/<br />
|components=Core::Build Config<br />
}}<br />
<br />
{{Module<br />
|name=Code Analysis and Debugging Tools<br />
|description=Tools for debugging Mozilla code or for analyzing speed, memory use, and other characteristics of it.<br />
|owner=[mailto:dbaron@dbaron.org David Baron]<br />
|peers=<br />
|group=dev-performance<br />
|source_dirs=tools/codesighs/, tools/debug/, tools/dreftool/, tools/dumpdeps/, tools/footprint/, tools/jprof/, tools/leaky/, tools/memory/, tools/module-deps/, tools/performance/, tools/post_compile/, tools/preloader/, tools/rb/, tools/reorder/, tools/trace-malloc/, tools/uuiddeps/, <br />
|url=<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Cookies and Permissions<br />
|description=<br />
|owner=[mailto:dwitte@mozilla.com Dan Witte]<br />
|peers=[mailto:cbiesinger@gmail.com Christian Biesinger], [mailto:mconnor@steelgryphon.com Mike Connor], [mailto:sdwilsh@shawnwilsher.com Shawn Wilsher]<br />
|group=dev-tech-network<br />
|source_dirs=extensions/cookie/, netwerk/cookie/<br />
|url=<br />
|components=Core::Networking: Cookies<br />
}}<br />
<br />
{{Module<br />
|name=docshell<br />
|description=<br />
|owner=[mailto:bzbarsky@mit.edu Boris Zbarsky]<br />
|peers=[mailto:cbiesinger@gmail.com Christian Biesinger],[mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:jst@mozilla.org Johnny Stenback]<br />
|group=dev-tech-layout<br />
|source_dirs=docshell/, uriloader/, webshell/<br />
|url=<br />
|components=Core::Document Navigation<br />
}}<br />
<br />
{{Module<br />
|name=Document Object Model<br />
|description=<br />
|owner=[mailto:jst@mozilla.org Johnny Stenback], [mailto:peterv@propagandism.org Peter Van der Beken]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:jonas@sicking.cc Jonas Sicking], [mailto:Olli.Pettay@helsinki.fi Olli Pettay], [mailto:bent@mozilla.com Ben Turner], [mailto:mounir.lamouri@mozilla.com Mounir Lamouri]<br />
|group=dev-tech-dom<br />
|source_dirs=content/base/, content/events/, content/html/content/, content/html/document/, dom/%, dom/base/, dom/interfaces/, dom/locales/, dom/public/, dom/src/, dom/tests/<br />
|url=http://developer.mozilla.org/en/docs/DOM<br />
|components=Core::DOM, Core::DOM: CSS Object Model, Core::DOM: Core & HTML, Core::DOM: Events, Core::DOM: Mozilla Extensions, Core::DOM: Other, Core::DOM: Traversal-Range, Core::DOM: Validation<br />
}}<br />
<br />
{{Module<br />
|name=Web Workers<br />
|description=<br />
|owner=[mailto:bent@mozilla.com Ben Turner]<br />
|peers=[mailto:mrbkap@mozilla.com Blake Kaplan], [mailto:jonas@sicking.cc Jonas Sicking]<br />
|group=dev-platform<br />
|source_dirs=dom/workers/<br />
|url=https://developer.mozilla.org/En/Using_web_workers<br />
|components=Core::DOM: Workers<br />
}}<br />
<br />
<br />
{{Module<br />
|name=IndexedDB<br />
|description=<br />
|owner=[mailto:jonas@sicking.cc Jonas Sicking]<br />
|peers=[mailto:bent@mozilla.com Ben Turner], [mailto:khuey@mozilla.com Kyle Huey] <br />
|group=dev-platform<br />
|source_dirs=dom/indexedDB/<br />
|url=https://developer.mozilla.org/en/IndexedDB<br />
|components=Core::DOM: IndexedDB<br />
}}<br />
<br />
{{Module<br />
|name=Editor<br />
|description=<br />
|owner=[mailto:ehsan@mozilla.com Ehsan Akhgari]<br />
|peers=<br />
|group=dev-platform<br />
|source_dirs=editor/<br />
|url=http://www.mozilla.org/editor/<br />
|components=Core::Editor<br />
}}<br />
<br />
{{Module<br />
|name=Embedding<br />
|description=<br />
|owner=[mailto:benjamin@smedbergs.us Benjamin Smedberg]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:jst@mozilla.org Johnny Stenback]<br />
|group=dev-embedding<br />
|source_dirs=embedding/<br />
|url=<br />
|components=Core::Embedding: APIs, Core::Embedding: ActiveX Wrapper, Core::Embedding: GRE Core, Core::Embedding: GTK Widget, Core::Embedding: MFC Embed, Core::Embedding: Mac, Core::Embedding: Packaging<br />
}}<br />
<br />
{{Module<br />
|name=Find As You Type<br />
|description=Find As You Type (formerly called Type Ahead Find) is a feature that allows quick web page navigation when you type a succession of characters in the body of the displayed page (not in an edit box of or drop down list). Currently seeks new owner.<br />
|owner=<br />
|peers=<br />
|group=dev-accessibility<br />
|source_dirs=extensions/typeaheadfind/<br />
|url=http://www.mozilla.org/access/type-ahead/<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Geolocation<br />
|description=Implementation of the Geolocation W3C Spec, location provider apis, and wifi scanning code.<br />
|owner=[mailto:dougt@dougt.org Doug Turner]<br />
|peers=[mailto:josh@joshmatthews.net Josh Matthews]<br />
|group=dev-tech-dom<br />
|source_dirs=dom/src/geolocation, dom/system/, netwerk/wifi<br />
|url=https://developer.mozilla.org/En/Using_geolocation<br />
|components=Core::Geolocation<br />
}}<br />
<br />
{{Module<br />
|name=Global Key Bindings<br />
|description=Global hot keys in Mozilla for the browser, editor, mail-news and widgets. Does not include underlined menu accelerators and the like, as those are part of i18n.<br />
|owner=[mailto:aaronleventhal@moonset.net Aaron Leventhal]<br />
|peers=[mailto:neil@parkwaycc.co.uk Neil Rashbrook]<br />
|group=dev-accessibility<br />
|source_dirs=content/xbl/builtin/<br />
|url=http://www.mozilla.org/projects/ui/accessibility/mozkeyintro.html<br />
|components=Core::Keyboard: Navigation<br />
}}<br />
<br />
{{Module<br />
|name=Graphics<br />
|description=Mozilla graphics API<br />
|owner=[mailto:jdrew@mozilla.com Joe Drew], [mailto:jrmuizel@mozilla.com Jeff Muizelaar]<br />
|peers=[mailto:vladimir@pobox.com Vladimir Vukicevic], [mailto:pavlov@pavlov.net Stuart Parmenter], [mailto:roc+@cs.cmu.edu Robert O'Callahan], [mailto:bas.schouten@live.nl Bas Schouten]<br />
|group=dev-platform<br />
|source_dirs=gfx/%, gfx/cairo/, gfx/public/, gfx/src/%, gfx/thebes/, gfx/qcms/, gfx/2d/, gfx/layers/, gfx/gl/, content/canvas/src/<br />
|url=https://wiki.mozilla.org/Platform/GFX https://wiki.mozilla.org/Gecko:Layers https://wiki.mozilla.org/Gecko:2DGraphicsSketch<br />
|components=Core::Graphics, Core::GFX: Color Management, Core::Canvas: 2D, Core::Canvas: WebGL<br />
}}<br />
<br />
{{Module<br />
|name=GTK Embedding Widget<br />
|description=Gtk Widget for embedding Mozilla into Gtk applications<br />
|owner=[mailto:marco@gnome.org Marco Pesenti Gritti]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:dougt@meer.net Doug Turner]<br />
|group=dev-embedding<br />
|source_dirs=<br />
|url=<br />
|components=Core::Embedding: GTK Widget<br />
}}<br />
<br />
{{Module<br />
|name=Legacy HTML Parser<br />
|description=<br />
|owner=[mailto:mrbkap@gmail.com Blake Kaplan]<br />
|peers=[mailto:dbaron@dbaron.org David Baron], [mailto:jst@mozilla.org Johnny Stenback], [mailto:peterv@propagandism.org Peter Van der Beken], [mailto:rbs@maths.uq.edu.au rbs@maths.uq.edu.au]<br />
|group=dev-tech-dom<br />
|source_dirs=parser/htmlparser<br />
|url=http://www.mozilla.org/newlayout/doc/parser.html<br />
|components=Core::HTML: Parser<br />
}}<br />
<br />
{{Module<br />
|name=HTML Parser<br />
|description=The HTML Parser transforms HTML source code into a DOM. It conforms to the HTML specification, and is mostly translated automatically from Java to C++.<br />
|owner=[mailto:hsivonen@iki.fi Henri Sivonen]<br />
|peers=<br />
|group=dev-tech-dom<br />
|source_dirs=parser/html<br />
|url=http://about.validator.nu/<br />
|components=Core::HTML: Parser<br />
}}<br />
<br />
{{Module<br />
|name=I18N Library<br />
|description=<br />
|owner=[mailto:jshin1987@gmail.com Jungshik Shin], [mailto:smontagu@smontagu.org Simon Montagu]<br />
|peers=<br />
|group=dev-i18n<br />
|source_dirs=intl/<br />
|url=http://mozilla.org/projects/intl/index.html<br />
|components=Core::Internationalization<br />
}}<br />
<br />
{{Module<br />
|name=ImageLib<br />
|description=<br />
|owner=[mailto:joe@drew.ca Joe Drew]<br />
|peers=[mailto:bobbyholley@gmail.com Bobby Holley], [mailto:netzen@gmail.com Brian Bondy]<br />
|group=dev-tech-gfx<br />
|source_dirs=media/libjpeg/, media/libpng/, image/, modules/zlib/<br />
|url=<br />
|components=Core::ImageLib<br />
}}<br />
<br />
{{Module<br />
|name=IPC<br />
|description=Message-passing between threads and processes<br />
|owner=[mailto:cjones@mozilla.com Chris Jones]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:bent.mozilla@gmail.com Ben Turner]<br />
|group=dev-platform<br />
|source_dirs=ipc/glue/, ipc/ipdl/, ipc/chromium/<br />
|url=<br />
|components=Core::IPC}}<br />
<br />
{{Module<br />
|name=Java APIs for DOM<br />
|description=APIs for Java access to the Document Object Model<br />
|owner=[mailto:ashuk@eng.sun.com Ashutosh Kulkarni]<br />
|peers=<br />
|group=dev-tech-dom,dev-tech-java<br />
|source_dirs=java/dom/<br />
|url=http://www.mozilla.org/projects/blackwood/dom/<br />
|components=Core::Java APIs for DOM<br />
}}<br />
<br />
{{Module<br />
|name=Java APIs to WebShell<br />
|description=<br />
|owner=[mailto:edburns@acm.org Ed Burns]<br />
|peers=[mailto:ashuk@eng.sun.com Ashutosh Kulkarni]<br />
|group=dev-tech-java,dev-embedding<br />
|source_dirs=java/webclient/<br />
|url=http://www.mozilla.org/projects/blackwood/webclient/<br />
|components=Core::Java APIs to WebShell<br />
}}<br />
<br />
{{Module<br />
|name=Java Stubs<br />
|description=OJI<br />
|owner=[mailto:alfred.peng@sun.com Alfred Peng]<br />
|peers=[mailto:Xiaobin.Lu@eng.Sun.com Xiaobin Lu]<br />
|group=dev-tech-java<br />
|source_dirs=modules/oji/, nav-java/, sun-java/<br />
|url=http://www.mozilla.org/oji/<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Java to XPCOM Bridge<br />
|description=<br />
|owner=[mailto:pedemont@us.ibm.com Javier Pedemont]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg]<br />
|group=dev-tech-xpcom,dev-tech-java<br />
|source_dirs=extensions/java<br />
|url=http://www.mozilla.org/projects/blackwood/connect/<br />
|components=Core::Java to XPCOM Bridge<br />
}}<br />
<br />
{{Module<br />
|name=Java Utility Classes<br />
|description=assert, debug, utilities, etc.<br />
|owner=[mailto:edburns@acm.org Ed Burns]<br />
|peers=[mailto:ashuk@eng.sun.com Ashutosh Kulkarni]<br />
|group=dev-tech-java<br />
|source_dirs=java/util/<br />
|url=http://www.mozilla.org/projects/blackwood/java-util/<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Java-Implemented Plugins<br />
|description=Infrastructure for writing MIME content-handlers<br />
in Java.<br />
|owner=[mailto:idk@eng.sun.com Igor Kushnirskiy]<br />
|peers=<br />
|group=dev-tech-java<br />
|source_dirs=java/plugins/<br />
|url=http://www.mozilla.org/projects/blackwood/java-plugins/<br />
|components=Core::Java-Implemented Plugins<br />
}}<br />
<br />
{{Module<br />
|name=JavaScript<br />
|description=JavaScript Engine in C++ (SpiderMonkey)<br />
|owner=[mailto:dmandelin@mozilla.com Dave Mandelin]<br />
|peers=[mailto:danderson@mozilla.com David Anderson], [mailto:igor@mir2.org Igor Bukanov], [mailto:brendan@mozilla.org Brendan Eich], [mailto:gal@mozilla.com Andreas Gal], [mailto:cdleary@mozilla.com Chris Leary], , [mailto:wmccloskey@mozilla.com Bill McCloskey], [mailto:nnethercote@mozilla.com Nick Nethercote], [mailto:jorendorff@mozilla.com Jason Orendorff], [mailto:jwalden@mit.edu Jeff Walden], [mailto:lwagner@mozilla.com Luke Wagner], [mailto:mrbkap@gmail.com Blake Kaplan], [mailto:shaver@mozilla.org Mike Shaver]<br />
|group=dev-tech-js-engine<br />
|source_dirs=js/src/%, js/src/config/, js/src/editline/, js/src/fdlibm/<br />
|url=http://www.mozilla.org/js/spidermonkey,<br />
http://developer.mozilla.org/en/docs/About_JavaScript<br />
|components=Core::JavaScript Engine<br />
}}<br />
<br />
{{Module<br />
|name=JavaScript Debugger Backend<br />
|description=JavaScript debugging hooks<br />
|owner=[mailto:timeless@mozdev.org Josh 'timeless' Soref]<br />
|peers=[mailto:brendan@mozilla.org Brendan Eich], [mailto:rginda@hacksrus.com Rob Ginda]<br />
|group=dev-apps-js-debugger<br />
|source_dirs=js/jsd/<br />
|url=http://www.mozilla.org/js/jsd<br />
|components=Other Applications::Venkman JS Debugger<br />
}}<br />
<br />
{{Module<br />
|name=js-ctypes<br />
|description=A foreign function interface which allows privileged JS code to interact with binary code without using XPCOM/XPConnect.<br />
|owner=[mailto:dwitte@mozilla.com Dan Witte]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:jorendorff@mozilla.com Jason Orendorff], [mailto:bobbyholley@gmail.com Bobby Holley]<br />
|group=dev-tech-js-engine<br />
|source_dirs=js/src/ctypes/<br />
|url=https://wiki.mozilla.org/JSctypes<br />
|components=Core::js-ctypes<br />
}}<br />
<br />
{{Module<br />
|name=js-tests<br />
|description=JavaScript test suite<br />
|owner=[mailto:bclary@bclary.com Bob Clary]<br />
|peers=<br />
|group=dev-tech-js-engine<br />
|source_dirs=js/tests/<br />
|url=http://www.mozilla.org/js/tests/library.html<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Layout Engine<br />
|description=rendering tree construction, layout (reflow), painting, etc.<br />
|owner=[mailto:roc+@cs.cmu.edu Robert O'Callahan]<br />
|peers=[mailto:bmlk@gmx.de Bernd Mielke], [mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:dbaron@dbaron.org David Baron], [mailto:smontagu@smontagu.org Simon Montagu]<br />
|group=dev-tech-layout<br />
|source_dirs=layout/%, layout/base/, layout/build/, layout/doc/, layout/forms/, layout/generic/, layout/html/, layout/macbuild/, layout/printing/, layout/tables/, layout/tools/<br />
|url=http://mozilla.org/newlayout/doc/ ,<br />
http://lxr.mozilla.org/mozilla/source/layout/doc/<br />
|components=Core::Layout, Core::Layout: Block and Inline, Core::Layout: Floats, Core::Layout: Form Controls, Core::Layout: HTML Frames, Core::Layout: Images, Core::Layout: Misc Code, Core::Layout: R & A Pos, Core::Layout: Tables, Core::Layout: Text, Core::Layout: View Rendering<br />
}}<br />
<br />
{{Module<br />
|name=libjar<br />
|description=The JAR handling code (protocol handler, stream implementation, and zipreader/zipwriter).<br />
|owner=[mailto:tglek@mozilla.com Taras Glek]<br />
|peers=[mailto:mwu@mozilla.com Michael Wu]<br />
|group=dev-platform<br />
|source_dirs=modules/libjar<br />
|url=<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=MathML<br />
|description=MathML is a low-level specification for describing mathematics which provides a foundation for the inclusion of mathematical expressions in Web pages.<br />
|owner=[mailto:karlt+@karlt.net Karl Tomlinson]<br />
|peers=[mailto:roc+@cs.cmu.edu Robert O'Callahan]<br />
|group=dev-tech-mathml<br />
|source_dirs=layout/mathml/<br />
|url=http://www.mozilla.org/projects/mathml/<br />
|components=Core::MathML<br />
}}<br />
<br />
{{Module<br />
|name=mfbt<br />
|description=mfbt is a collection of headers, macros, data structures, methods, and other functionality available for use and reuse throughout all Mozilla code (including SpiderMonkey and Gecko more broadly).<br />
|owner=<br />
|peers=<br />
|group=dev-platform<br />
|source_dirs=mfbt/<br />
|url=<br />
|components=Core::MFBT<br />
}}<br />
<br />
{{Module<br />
|name=mozilla-toplevel<br />
|description=The top level directory for the mozilla tree.<br />
|owner=[mailto:brendan@mozilla.org Brendan Eich]<br />
|peers=<br />
|group=<br />
|source_dirs=tools/README<br />
|url=<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Necko<br />
|description=The Mozilla Networking Library<br />
|owner=[mailto:cbiesinger@gmail.com Christian Biesinger]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:jduell.mcbugs@gmail.com Jason Duell], [mailto:honzab.moz@firemni.cz Honza Bambas], [mailto:pmcmanus@mozilla.com Patrick McManus], [mailto:bsmith@mozilla.com Brian Smith], [mailto:mnovotny@mozilla.com Michal Novotny]<br />
|group=dev-tech-network<br />
|source_dirs=netwerk/%, netwerk/base/, netwerk/build/, netwerk/cache/, netwerk/dns/, netwerk/locales/, netwerk/mime/, netwerk/protocol/, netwerk/resources/, netwerk/socket/, netwerk/streamconv/, netwerk/system/, netwerk/test/, netwerk/testserver/<br />
|url=http://www.mozilla.org/projects/netlib/, https://developer.mozilla.org/en/Necko<br />
|components=Core::Networking, Core::Networking: Cache, Core::Networking: Cookies, Core::Networking: FTP, Core::Networking: File, Core::Networking: HTTP, Core::Networking: JAR, Core::Networking: Websockets<br />
}}<br />
<br />
{{Module<br />
|name=NSPR<br />
|description=Netscape Portable Runtime<br />
|owner=[mailto:nelson@bolyard.com Nelson Bolyard], [mailto:wtc@google.com Wan-Teh Chang]<br />
|peers=[mailto:ted.mielczarek@gmail.com Ted Mielczarek]<br />
|group=dev-tech-nspr<br />
|source_dirs=nsprpub/<br />
|url=http://www.mozilla.org/projects/nspr/<br />
http://www.mozilla.org/projects/nspr/reference/html/<br />
http://www.mozilla.org/projects/nspr/release-notes/<br />
|components=NSPR<br />
}}<br />
<br />
{{Module<br />
|name=PDF<br />
|description=Rendering code to display documents encoded in the ISO 32000-1 `PDF' format.<br />
|owner=[mailto:cjones@mozilla.com Chris Jones], [mailto:gal@mozilla.com Andreas Gal]<br />
|peers=[mailto:aadib@mozilla.com Artur Adib], [mailto:bdahl@mozilla.com Brendan Dahl], [mailto:vnicolas@mozilla.com Vivien Nicolas]<br />
|group=dev-platform<br />
|source_dirs=media/pdf/<br />
|url=https://github.com/mozilla/pdf.js<br />
|components=Core::PDF<br />
}}<br />
<br />
{{Module<br />
|name=Plugins<br />
|description= NPAPI Plugin support.<br />
|owner=[mailto:joshmoz@gmail.com Josh Aas]<br />
|peers=[mailto:jst@mozilla.org Johnny Stenback], [mailto:roc+@cs.cmu.edu Robert O'Callahan], [mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:jmathies@mozilla.com Jim Mathies]<br />
|group=<br />
|source_dirs=dom/plugins/, modules/plugin/<br />
|url=https://wiki.mozilla.org/Plugins<br />
|components=Core::Java-Implemented Plugins, Core::Plug-ins<br />
}}<br />
<br />
{{Module<br />
|name=Preferences<br />
|description=Preference library<br />
|owner=[mailto:dwitte@mozilla.com Dan Witte]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg]<br />
|group=dev-platform<br />
|source_dirs=modules/libpref/<br />
|url=<br />
|components=Core::Preferences: Backend<br />
}}<br />
<br />
{{Module<br />
|name=Privilege Manager<br />
|description="caps"<br />
|owner=<br />
|peers=[mailto:brendan@mozilla.org Brendan Eich], [mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:dveditz@cruzio.com Dan Veditz], [mailto:jst@mozilla.org Johnny Stenback]<br />
|group=dev-tech-dom<br />
|source_dirs=caps/<br />
|url=http://www.mozilla.org/projects/security/components/index.html<br />
|components=Core::Security: CAPS<br />
}}<br />
<br />
{{Module<br />
|name=PyXPCOM<br />
|description=The Python to XPCOM bridge.<br />
|owner=[mailto:toddw@activestate.com Todd Whiteman]<br />
|peers=[mailto:mhammond@skippinet.com.au Mark Hammond]<br />
|group=<br />
|source_dirs=extension/python<br />
|url=https://developer.mozilla.org/en/PyXPCOM<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=Qt-based gfx and widget<br />
|description=Qt-based rendering and widget code<br />
|owner=[mailto:romaxa@gmail.com Oleg Romashin]<br />
|peers=[mailto:mozilla@rosenauer.org Wolfgang Rosenauer], [mailto:doug.turner@gmail.com Doug Turner]<br />
|group=dev-tech-widget,dev-tech-gfx<br />
|source_dirs=widget/qt/<br />
|url=<br />
|components=Core::Widget: Qt<br />
}}<br />
<br />
{{Module<br />
|name=Radio Interface Layer<br />
|description=Boot2Gecko Radio Interface Layer (RIL)<br />
|owner=[mailto:philikon@mozilla.com Philipp von Weitershausen], [mailto:kmachulis@mozilla.com Kyle Machulis]<br />
|peers=[mailto:cjones@mozilla.com Chris Jones], [mailto:gal@mozilla.com Andreas Gal]<br />
|group=dev-b2g<br />
|source_dirs=ipc/ril dom/telephony<br />
|url=https://wiki.mozilla.org/B2G/RIL<br />
|components=Core::RIL<br />
}}<br />
<br />
{{Module<br />
|name=RDF<br />
|description=<br />
|owner=[mailto:axel@pike.org Axel Hecht]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg]<br />
|group=dev-tech-rdf<br />
|source_dirs=rdf/<br />
|url=http://www.mozilla.org/rdf/doc/<br />
|components=Core::RDF<br />
}}<br />
<br />
{{Module<br />
|name=Registry<br />
|description=<br />
|owner=[mailto:dveditz@cruzio.com Dan Veditz]<br />
|peers=[mailto:dougt@meer.net Doug Turner]<br />
|group=dev-tech-xpcom<br />
|source_dirs=modules/libreg/<br />
|url=<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=security<br />
|description=Crypto/PKI code, including NSS (Network Security Services) and JSS (NSS for Java)<br />
|owner=[mailto:nelson@bolyard.com Nelson Bolyard], [mailto:rrelyea@redhat.com Bob Relyea], [mailto:wtc@google.com Wan-Teh Chang]<br />
|peers=[mailto:alexei.volkov.bugs@sun.com Alexei Volkov], [mailto:christophe.ravel.bugs@sun.com Christophe Ravel], [mailto:emaldona@redhat.com Elio Maldonado], [mailto:glen.beasley@sun.com Glen Beasley], [mailto:julien.pierre.boogz@sun.com Julien Pierre], [mailto:kaie@kuix.de Kai Engert]<br />
|group=dev-tech-crypto<br />
|source_dirs=dbm/, security/coreconf/, security/dbm/, security/jss/, security/nss/, security/tinderbox/, security/tinderlight/<br />
|url=http://mozilla.org/projects/security/pki/<br />
|components=NSS, JSS, Core::Security, Core::Security: S/MIME<br />
}}<br />
<br />
{{Module<br />
|name=Security - Mozilla PSM Glue<br />
|description=Personal Security Manager<br />
|owner=[mailto:kaie@kuix.de Kai Engert]<br />
|peers=[mailto:honzab.moz@firemni.cz Honza Bambas], [mailto:rrelyea@redhat.com Bob Relyea], [mailto:wtc@google.com Wan-Teh Chang]<br />
|group=dev-tech-crypto<br />
|source_dirs=security/manager/<br />
|url=<br />
|components=Core::Security: PSM, Core::Security: UI<br />
}}<br />
<br />
{{Module<br />
|name=storage<br />
|description=Storage APIs with a SQLite backend<br />
|owner=[mailto:sdwilsh@shawnwilsher.com Shawn Wilsher]<br />
|peers=[mailto:bugmail@asutherland.org Andrew Sutherland]<br />
|group=dev-platform<br />
|source_dirs=db/sqlite3/, storage/<br />
|url=http://developer.mozilla.org/en/docs/Storage<br />
|components=Toolkit::Storage, Core::SQL<br />
}}<br />
<br />
{{Module<br />
|name=String<br />
|description=<br />
|owner=[mailto:dbaron@dbaron.org David Baron]<br />
|peers=<br />
|group=dev-tech-xpcom<br />
|source_dirs=string/, xpcom/string/<br />
|url=http://mozilla.org/projects/xpcom/string-guide.html<br />
|components=Core::String<br />
}}<br />
<br />
{{Module<br />
|name=Style System<br />
|description=CSS style sheet handling; style data computation<br />
|owner=[mailto:dbaron@dbaron.org David Baron]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky]<br />
|group=dev-tech-layout<br />
|source_dirs=layout/style/<br />
|url=http://mozilla.org/newlayout/doc/<br />
|components=Core::Style System (CSS)<br />
}}<br />
<br />
{{Module<br />
|name=SVG<br />
|description=Scalable Vector Graphics<br />
|owner=[mailto:jwatt@jwatt.org Jonathan Watt]<br />
|peers=[mailto:longsonr@gmail.com Robert Longson], [mailto:roc+@cs.cmu.edu Robert O'Callahan], [mailto:dholbert@mozilla.com Daniel Holbert]<br />
|group=dev-tech-svg<br />
|source_dirs=content/svg/, layout/svg/<br />
|url=http://www.mozilla.org/projects/svg/<br />
|components=Core::SVG<br />
}}<br />
<br />
{{Module<br />
|name=Tamarin<br />
|description=VM for ActionScript and JavaScript<br />
|owner=[mailto:edwsmith@adobe.com Edwin Smith], [mailto:jodyer@adobe.com Jeff Dyer]<br />
|peers=[mailto:brendan@mozilla.org Brendan Eich], [mailto:stejohns@adobe.com Steven Johnson], [mailto:tierney@adobe.com Erik Tierney], [mailto:treilly@adobe.com Tom Reilly]<br />
|group=dev-tech-js-engine<br />
|source_dirs=js/tamarin<br />
|url=http://www.mozilla.org/projects/tamarin/<br />
http://wiki.mozilla.org/tamarin/<br />
http://hg.mozilla.org/tamarin-central/<br />
http://hg.mozilla.org/tamarin-tracing/<br />
|components=Tamarin<br />
}}<br />
<br />
{{Module<br />
|name=Test Harness<br />
|description=In-tree test infrastructure and tools. Harnesses include, XPCShell, Mochitest (& Chrome), Reftest, JsREftest, Compiled Code Tests, Robocop, Mozmill and Marionette. Requests for new harnesses should go to Testing::General.<br />
|owner=[mailto:ted@mozilla.com Ted Mielczarek]<br />
|peers=[mailto:dbaron@dbaron.org David Baron] (reftest), [mailto:jwalden@mit.edu Jeff Walden] (httpd.js, jsreftest), [mailto:rcampbell@mozilla.com Rob Campbell] (mochitest, mochitest chrome, marionette), [mailto:jmaher@mozilla.com Joel Maher] (reftest, mochitest, jsreftest), [mailto:ctalbert@mozilla.com Clint Talbert] (reftest, compiled code, mozmill), [mailto:geoffbrown@mozilla.com Geoff Brown] (robocop), [mailto:hskupin@mozilla.com Henrik Skupin] (mozmill), [mailto:mdas@mozilla.com Malini Das] (marionette), [mailto:jgriffin Jonathan Griffin] (marionette), [mailto:jhammel@mozilla.com Jeffrey Hammel] (mozmill)<br />
|group=dev-quality<br />
|source_dirs=/testing<br />
|url=http://wiki.mozilla.org/SoftwareTesting<br />
|components=Testing::General, Testing::Mochitest, Testing::Mochitest Chrome, Testing::Marionette, Testing::Mozmill, Testing::Reftest, Testing::XPCShell Harness, Testing::httpd.js<br />
}}<br />
<br />
{{Module<br />
|name=Testing Infrastructure<br />
|description=Testing tools and infrastructure for Mozilla projects, harnesses for automated tests, stand-alone test tools. Talos, Graph Server, Mozbase, Pulse, WOO, Bughunter, SUTAgent, Eideticker<br />
|owner=[mailto:ctalbert@mozilla.com Clint Talbert]<br />
|peers=[mailto:anodelman@mozilla.com Alice Nodelman], [mailto:bclary@bclary.com Bob Clary], [mailto:bhearsum@mozilla.com Ben Hearsum], [mailto:ccooper@deadsquid.com Chris Cooper], [mailto:ctalbert@mozilla.com Clint Talbert], [mailto:robert@roberthelmer.com Robert Helmer], [mailto:jmaher@mozilla.com Joel Maher], [mailto:rcampbell@mozilla.com Rob Campbell], [mailto:jhammel@mozilla.com Jeffrey Hammel], [mailto:wlach@mozilla.com William Lachance], [mailto:jeads@mozilla.com Jonathan Eads], [mailto:jgriffin Jonathan Griffin], [mailto:bmoss@mozilla.com Bob Moss], [mailto:mcote@mozilla.com Mark Côté]<br />
|group=dev-quality<br />
|source_dirs=testing/, tools/httptester/, tools/page-loader/, tools/test-harness/, tools/tests/, tools/testserver/, tools/testy/<br />
|url=http://wiki.mozilla.org/SoftwareTesting<br />
|components=Testing::Infrastructure<br />
}}<br />
<br />
{{Module<br />
|name=XPCShell Test Harness<br />
|description=The XPCShell Harness<br />
|owner=[mailto:ted.mielczarek@gmail.com Ted Mielczarek]<br />
|peers=[mailto:jmaher@mozilla.com Joel Maher]<br />
|source_dirs=testing/xpcshell<br />
|components=Testing::XPCShell Harness<br />
}}<br />
<br />
{{Module<br />
|name=Update Service<br />
|description=server code for Mozilla Update services (aus, addons, pfs)<br />
|owner=[mailto:morgamic@mozilla.com Mike Morgan]<br />
|peers=[mailto:jscott@mozilla.com Justin Scott], [mailto:shaver@mozilla.org Mike Shaver], [mailto:wclouser@mozilla.com Will Clouser]<br />
|group=dev-amo<br />
|source_dirs=webtools/addons/, webtools/aus/, webtools/update/<br />
|url=http://wiki.mozilla.org/wiki/AMO<br />
|components=AUS::Administration, AUS::Systems<br />
}}<br />
<br />
{{Module<br />
|name=View System<br />
|description=The View Manager is responsible for handling "heavyweight" rendering (some clipping, compositing) and event handling tasks.<br />
|owner=[mailto:roc+@cs.cmu.edu Robert O'Callahan]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:dbaron@dbaron.org David Baron]<br />
|group=dev-tech-layout<br />
|source_dirs=view/<br />
|url=<br />
|components=Core::Layout: View Rendering<br />
}}<br />
<br />
{{Module<br />
|name=Widget<br />
|description=<br />
|owner=[mailto:roc+@cs.cmu.edu Robert O'Callahan]<br />
|peers=[mailto:pavlov@pavlov.net Stuart Parmenter], [mailto:vladimir@pobox.com Vladimir Vukicevic]<br />
|group=dev-tech-gfx<br />
|source_dirs=widget/%, widget/public/, widget/%, widget/xpwidgets/<br />
|url=<br />
|components=Core::Drag and Drop, Core::Widget<br />
}}<br />
<br />
{{Module<br />
|name=Widget - Android<br />
|description=The Android Port<br />
|owner=[mailto:blassey.bugs@lassey.us Brad Lassey]<br />
|peers=[mailto:vladimir@mozilla.com Vladimir Vukicevic], [mailto:dougt@dougt.org Doug Turner], [mailto:mwu@mozilla.com Michael Wu]<br />
|group=dev-platform<br />
|source_dirs=widget/android/, embedding/android<br />
|url=<br />
|components=Core::Widget: Android<br />
}}<br />
<br />
{{Module<br />
|name=Widget - BeOS<br />
|description=The BeOS port<br />
|owner=[mailto:cbiesinger@gmail.com Christian Biesinger]<br />
|peers=<br />
|group=dev-tech-gfx<br />
|source_dirs=widget/beos/<br />
|url=http://www.bezilla.org/,<br />
http://www.mozilla.org/ports/beos/<br />
|components=Core::Widget: BeOS<br />
}}<br />
<br />
{{Module<br />
|name=Widget - Gonk<br />
|description=The Gonk Port (Boot2Gecko)<br />
|owner=[mailto:mwu@mozilla.com Michael Wu]<br />
|peers=[mailto:cjones@mozilla.com Chris Jones], [mailto:gal@mozilla.com Andreas Gal]<br />
|group=dev-platform<br />
|source_dirs=widget/gonk/<br />
|url=http://wiki.mozilla.org/B2G<br />
|components=Core::Widget: Gonk<br />
}}<br />
<br />
{{Module<br />
|name=Widget - GTK<br />
|description=supported X widgetry and gfx<br />
|owner=[mailto:roc+@cs.cmu.edu Robert O'Callahan]<br />
|peers=[mailto:karlt+@karlt.net Karl Tomlinson]<br />
|group=dev-tech-gfx<br />
|source_dirs=widget/gtk/, widget/gtk2/, widget/gtksuperwin/, widget/gtkxtbin/<br />
|url=http://www.mozilla.org/unix/, http://www.gtk.org, http://www.mozilla.org/ports/gtk/<br />
|components=Core::Widget: Gtk<br />
}}<br />
<br />
{{Module<br />
|name=Widget - Mac OS X<br />
|description= Gecko's Mac OS X compatibility layer.<br />
|owner=[mailto:joshmoz@gmail.com Josh Aas]<br />
|peers=[mailto:mstange@themasta.com Markus Stange], [mailto:smichaud@pobox.com Steven Michaud], [mailto:bgirard@mozilla.com Benoit Girard]<br />
|group=dev-platform<br />
|source_dirs=widget/cocoa/<br />
|url=<br />
|components=Core::Widget: Cocoa<br />
}}<br />
<br />
{{Module<br />
|name=Widget - Windows<br />
|description=Windows widgets and desktop integration<br />
|owner=[mailto:jmathies@mozilla.com Jim Mathies]<br />
|peers=[mailto:blassey@mozilla.com Brad Lassey], [mailto:netzen@gmail.com Brian Bondy], [mailto:cbiesinger@gmail.com Christian Biesinger], [mailto:dougt@meer.net Doug Turner], [mailto:neil@parkwaycc.co.uk Neil Rashbrook], [mailto:robarnold@cmu.edu Rob Arnold], [mailto:timeless@mozdev.org Josh 'timeless' Soref], [mailto:vladimir@pobox.com Vladimir Vukicevic]<br />
|group=dev-platform<br />
|source_dirs=widget/windows/<br />
|url=<br />
|components=Core::Widget: Win32<br />
}}<br />
<br />
{{Module<br />
|name=XBL<br />
|description=eXtensible Binding Language<br />
|owner=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:jonas@sicking.cc Jonas Sicking]<br />
|peers=<br />
|group=dev-tech-xbl<br />
|source_dirs=content/xbl/%, content/xbl/public/, content/xbl/src/<br />
|url=http://www.mozilla.org/projects/xbl/<br />
|components=Core::XBL<br />
}}<br />
<br />
{{Module<br />
|name=XML<br />
|description=XML in Mozilla, including XML, XHTML, Namespaces in XML, Associating Style Sheets with XML Documents, XML Linking and XML Extras. XML-related things that are not covered by more specific projects.<br />
|owner=[mailto:peterv@propagandism.org Peter Van der Beken]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:jonas@sicking.cc Jonas Sicking], [mailto:jst@mozilla.org Johnny Stenback], [mailto:sayrer@gmail.com Robert Sayre]<br />
|group=dev-tech-xml<br />
|source_dirs=content/xml/, extensions/xmlextras/, parser/expat/<br />
|url=http://www.mozilla.org/newlayout/xml/<br />
|components=Core::XML<br />
}}<br />
<br />
{{Module<br />
|name=XPApps<br />
|description=Cross-Platform Applications, mostly Navigator front end and application shell.<br />
|owner=[mailto:neil@parkwaycc.co.uk Neil Rashbrook]<br />
|peers=[mailto:dean_tessman@hotmail.com Dean Tessman], [mailto:jag@tty.nl Peter Annema], [mailto:timeless@mozdev.org Josh 'timeless' Soref]<br />
|group=dev-apps-seamonkey<br />
|source_dirs=xpfe/<br />
|url=http://www.mozilla.org/xpapps/<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=XPCOM<br />
|description=The cross-platform object model and core data structures.<br />
|owner=[mailto:benjamin@smedbergs.us Benjamin Smedberg]<br />
|peers=[mailto:dougt@meer.net Doug Turner], [mailto:shaver@mozilla.org Mike Shaver]<br />
|group=dev-platform<br />
|source_dirs=startupcache/, tools/wizards/, xpcom/%, xpcom/base/, xpcom/build/, xpcom/components/, xpcom/ds/, xpcom/glue/, xpcom/proxy/, xpcom/sample/, xpcom/stub/, xpcom/tests/, xpcom/threads/, xpcom/tools/, xpcom/windbgdlg/<br />
|url=http://developer.mozilla.org/en/XPCOM<br />
|components=Core::XPCOM<br />
}}<br />
<br />
{{Module<br />
|name=XPConnect<br />
|description=<br />
|owner=[mailto:mrbkap@gmail.com Blake Kaplan]<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:gal@uci.edu Andreas Gal], [mailto:jst@mozilla.org Johnny Stenback], [mailto:peterv@propagandism.org Peter Van der Beken], [mailto:bobbyholley@gmail.com Bobby Holley]<br />
|group=<br />
|source_dirs=js/xpconnect/<br />
|url=<br />
|components=Core::XPConnect<br />
}}<br />
<br />
{{Module<br />
|name=XPIDL<br />
|description=Cross-platform IDL compiler; produces .h C++ header files and .xpt runtime type description files from .idl interface description files. Also produces .java interface files, as part of an experimental java<->xpcom connection layer.<br />
|owner=[mailto:BradleyJunk@cinci.rr.com BradleyJunk@cinci.rr.com]<br />
|peers=[mailto:jband@netscape.com(disabled) jband@netscape.com(disabled)], [mailto:shaver@mozilla.org Mike Shaver], [mailto:timeless@mozdev.org Josh 'timeless' Soref]<br />
|group=dev-tech-xpcom<br />
|source_dirs=xpcom/typelib/<br />
|url=http://www.mozilla.org/scriptable/xpidl<br />
http://www.mozilla.org/scriptable<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=XPInstall<br />
|description=<br />
|owner=[mailto:dveditz@cruzio.com Dan Veditz]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg]<br />
|group=dev-tech-xpinstall<br />
|source_dirs=xpinstall/<br />
|url=<br />
|components=Core::Installer: XPInstall Engine<br />
}}<br />
<br />
{{Module<br />
|name=xptcall<br />
|description=XPTCall - platform-specific assembly for calling and implementing arbitrary XPCOM interfaces.<br />
|owner=[mailto:timeless@mozdev.org Josh 'timeless' Soref]<br />
|peers=[mailto:benjamin@smedbergs.us Benjamin Smedberg], [mailto:shaver@mozilla.org Mike Shaver]<br />
|group=dev-xpcom<br />
|source_dirs=xpcom/reflect/xptcall/<br />
|url=http://www.mozilla.org/scriptable/xptcall-faq.html<br />
|components=<br />
}}<br />
<br />
{{Module<br />
|name=XPToolkit<br />
|description=Cross-platform user interface toolkit<br />
|owner=<br />
|peers=[mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:hyatt@mozilla.org Dave Hyatt], [mailto:jag@tty.nl Peter Annema], [mailto:Jan.Varga@gmail.com Jan Varga]<br />
|group=dev-tech-xul<br />
|source_dirs=content/xul/, layout/xul/<br />
|url=http://www.mozilla.org/xpfe/<br />
|components=Core::XP Toolkit/Widgets: Menus, Core::XP Toolkit/Widgets: XUL<br />
}}<br />
<br />
{{Module<br />
|name=XSLT Processor<br />
|description=XSLT transformations processor<br />
|owner=[mailto:peterv@propagandism.org Peter Van der Beken]<br />
|peers=[mailto:axel@pike.org Axel Hecht], [mailto:jonas@sicking.cc Jonas Sicking]<br />
|group=dev-tech-xslt<br />
|source_dirs=content/xslt/<br />
|url=http://www.mozilla.org/projects/xslt/, http://www.w3.org/TR/xslt.html<br />
|components=Core::XSLT<br />
}}<br />
<br />
{{Module<br />
|name=XTF<br />
|description=eXtensible Tag Framework<br />
|owner=<br />
|peers=[mailto:alex@croczilla.com alex@croczilla.com], [mailto:bzbarsky@mit.edu Boris Zbarsky], [mailto:jonas@sicking.cc Jonas Sicking]<br />
|group=dev-tech-xbl<br />
|source_dirs=content/xtf/, layout/xtf/<br />
|url=http://www.croczilla.com/bits_and_pieces/xtf/<br />
|components=Core::XTF<br />
}}<br />
<br />
<noinclude><br />
===Unassigned Bugzilla Components===<br />
<br />
The following Bugzilla components in the Core project have not been assigned to a module (this list is not exhaustive):<br />
<br />
<pre><br />
Core::Event Handling<br />
Core::File Handling<br />
Core::Find Backend<br />
Core::General<br />
Core::HTML: Form Submission<br />
Core::History: Global<br />
Core::Image Blocking<br />
Core::JavaScript Debugging APIs<br />
Core::Localization<br />
Core::Nanojit<br />
Core::Networking: Domain Lists<br />
Core::Print Preview<br />
Core::Printing: Output<br />
Core::Printing: Setup<br />
Core::Profile: BackEnd<br />
Core::Profile: Migration<br />
Core::Profile: Roaming<br />
Core::QuickLaunch (AKA turbo mode)<br />
Core::Rewriting and Analysis<br />
Core::Selection<br />
Core::Serializers<br />
Core::Spelling checker<br />
Core::Tracking<br />
Core::Video/Audio<br />
Core::Web Services<br />
Core::WebDAV<br />
Core::Widget: OS/2<br />
Core::Widget: Photon<br />
Core::X-remote<br />
Core::XForms<br />
Core::XUL<br />
Core::jemalloc<br />
</pre><br />
</noinclude></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Resources&diff=417608Platform/GFX/WebGL/Resources2012-04-06T23:52:43Z<p>Jgilbert: /* Links */</p>
<hr />
<div>A collection of useful links to various things related to WebGL.<br />
<br />
==WebGL Spec==<br />
*[http://www.khronos.org/registry/webgl/specs/latest/ Latest WebGL Spec]<br />
*[http://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf Reference Card]<br />
*[https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html Conformance Tests]<br />
*[http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.25.pdf GL ES 2.0 Spec]<br />
<br />
==2D Acceleration==<br />
*[http://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis 2D Graphics Acceleration with WebGL]<br />
<br />
==Progressive Benchmarks==<br />
Benchmarks which update their score (FPS or otherwise) continuously while running.<br />
<br />
===Drawing transparent quads===<br />
Comparing [http://www.scirra.com/labs/perftest-2d Canvas] with [http://www.scirra.com/labs/perftest-webgl WebGL]<br />
<br />
===FishIE===<br />
jmuizelaar's FishIE work: http://muizelaar.blogspot.com/2011/02/drawing-sprites-canvas-2d-vs-webgl.html<br />
<br />
*[http://people.mozilla.org/%7Ejmuizelaar/fishie/fishie.html Canvas with extra fish]<br />
*[http://people.mozilla.org/~jmuizelaar/fishie/fishie-gl.html Original WebGL]<br />
*[http://people.mozilla.org/~jmuizelaar/fishie/fishie-fast.html Fast WebGL]<br />
<br />
==Finite Benchmarks==<br />
Benchmarks which present a score upon completion.<br />
''(Are there any yet? -jgilbert)''<br />
<br />
==Demos==<br />
*[http://videos.mozilla.org/serv/mozhacks/flight-of-the-navigator/ Flight of the Navigator]<br />
*[https://developer.mozilla.org/en-US/demos/detail/no-comply No Comply]<br />
*[http://azathioprine.digisnap.bplaced.net/ Azathioprine]: A demo created with a Maya-to-WebGL converter.<br />
*[http://rescuefox.mozillalabs.com/src/index.html Rescue Fox]<br />
*[http://evanw.github.com/csg.js/ Constructive Solid Geometry]<br />
*[http://www.inka3d.com/examples/Saussage.html Saussage]: The infamous basic skeleton-based mesh demo<br />
*[http://stickmanventures.com/labs/demo/webgl-threejs-morph-target/ Ginger]: Facial rigging<br />
<br />
==Links==<br />
*[https://github.com/cjcliffe/CubicVR.js/wiki/Examples-and-Demos CubicVR Demos]<br />
*[http://www.khronos.org/webgl/wiki/Demo_Repository Khronos WebGL Demo Repository]<br />
*[http://webglstats.com/canuse.html WebGL Stats]</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Backends&diff=411969Platform/GFX/WebGL/Backends2012-03-26T20:37:20Z<p>Jgilbert: </p>
<hr />
<div>===WebGL Backends===<br />
{| border="1"<br />
! WebGL Backend<br />
! Platforms<br />
! Compositing Accelerators<br />
! Notes<br />
|-<br />
| Native GL3+<br />
| [1] WGL (windows), CGL (mac), GLX (linux)<br />
| GLTexture sharing<br />
| Investigating GL/DX-Texture interop<br />
|-<br />
| Native GLES2+<br />
| EGL (android)<br />
| OMTC?<br />
| <br />
|-<br />
| ANGLE GLES2<br />
| EGL (windows)<br />
| EGLSurface sharing<br />
| ANGLE is actually DX+D3D9<br />
|}<br />
<br />
===Available Layer Managers===<br />
{| border="1"<br />
! Layer Manager<br />
! Platforms<br />
! Compatible Compositing Accelerations<br />
! Notes<br />
|-<br />
| D3D10<br />
| Windows Vista/7<br />
| EGLSurface interop<br />
| Investigating GL/DX-Texture interop<br />
|-<br />
| D3D9<br />
| Windows XP/Vista/7<br />
| ReadPixels<br />
| Investigating GL/DX-Texture interop<br />
|-<br />
| OGL<br />
| Mac, Linux<br />
| GLTexture sharing<br />
| <br />
|-<br />
| Basic<br />
| All<br />
| ReadPixels<br />
| <br />
|}<br />
<br />
===Expected Platform/Layers/WebGL Combinations===<br />
{| border="1"<br />
! Platform<br />
! Backend 1 (Compositing Accel)<br />
! Backend 2 (Compositing Accel)<br />
! Notes<br />
|-<br />
| Windows Vista/7<br />
| D3D10, ANGLE EGL+GLES2 (EGLSurface sharing)<br />
| [1] D3D10, WGL, Native GL (None)<br />
|<br />
|-<br />
| Windows XP<br />
| D3D9, ANGLE EGL+GLES2 (None)<br />
| [1] D3D9, WGL, Native GL (None)<br />
|<br />
|-<br />
| Mac<br />
| OGL, CGL, Native GL (GLTexture sharing)<br />
| Basic, CGL, Native GL (None)<br />
|<br />
|-<br />
| Linux<br />
| [2] OGL, GLX, Native GL (GLTexture sharing)<br />
| Basic, GLX, Native GL (None)<br />
|<br />
|-<br />
| Android<br />
| Basic, EGL, Native GLES (None)<br />
|<br />
|<br />
|}<br />
[1] WGL+GL backend is not used as fallbacks if ANGLE fails to initialize. That is, if we try to load ANGLE and fail, we will no longer fall back to WGL+GL. (For the time being)<br />
<br />
[2] OGL Layers is blocked on (almost?) all linux platforms.<br />
<br />
==Platform Layers Backends==<br />
If you're finding yourself unaccelerated, you can use <code>layers.acceleration.force-enabled</code> to force layers acceleration.<br />
<br />
===Windows===<br />
Available Layers backends: D3D10*, D3D9, OGL*, Basic<br />
<br />
Our default here is D3D10, but as D3D10 is not available on Windows XP, XP defaults to D3D9.<br />
While there's no technical reason OGL Layers cannot work on Windows, it is not a supported configuration, and (at present) does not seem to render properly.<br />
<br />
*Enabled D3D9 Layers with <code>layers.prefer-d3d9</code><br />
*Enabled OGL Layers with <code>layers.prefer-opengl</code><br />
<br />
===Mac===<br />
Available Layers backends: OGL, Basic<br />
<br />
Our default is OGL.<br />
<br />
===Linux===<br />
Available Layers backends: OGL, Basic<br />
<br />
Our default is theoretically OGL, but it is blacklisted basically universally on linux.<br />
In practice, you'll find Basic Layers is the default here, but you can use force-enable Layers acceleration to use OGL layers.<br />
<br />
==Platform GL Providers==<br />
WebGL can be force-enabled with <code>webgl.force-enabled</code>.<br />
<br />
===Windows===<br />
By default, we don't actually run on the machine's native OpenGL libraries, but rather on ANGLE, which in turn runs on D3D9.<br />
ANGLE provides an implementation of GLES2 on top of EGL.<br />
<br />
However, running on the machine's native OpenGL implementation on top of WGL is possible with <code>webgl.prefer-native-gl</code>.<br />
<br />
<br />
===Mac and Linux===<br />
Mac and Linux are very similar, in though mac is provided on top of CGL, and Linux is generally provided on top of GLX.</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL&diff=411216Platform/GFX/WebGL2012-03-24T00:53:22Z<p>Jgilbert: </p>
<hr />
<div>{{Stub}}<br />
<br />
==Links==<br />
*[[Platform/AreWeFunYet]]<br />
*[[Platform/GFX/WebGL/Resources]]<br />
*[[Platform/GFX/WebGL/Backends]]<br />
*[[Platform/GFX/WebGL/Contribute/Extensions]]</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=411215Platform/GFX/WebGL/Contribute/Extensions2012-03-24T00:50:56Z<p>Jgilbert: </p>
<hr />
<div>''(Adapted from {{bug|728354}})''<br />
<br />
Tracking bug for WebGL extension implementation is {{bug|728319}}. Check its 'Depends on' list for a list of the bugs for the various extensions.<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named <code>WEBGL_foo_bar</code> that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID.<br />
<br />
Let's call this interface, <code>nsIWebGLExtensionFooBar</code>. A C++ header will be auto-generated from that IDL, and will define a <code>nsIWebGLExtensionFooBar</code> class. But that's just a base class. Below we'll manually define a <code>WebGLExtensionFooBar</code> (notice: no nsI prefix) class, inheriting <code>nsIWebGLExtensionFooBar</code>.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for <code>WebGLExtensionStandardDerivatives</code> / <code>nsIWebGLExtensionStandardDerivatives</code>:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the <code>WebGLExtensionFooBar</code> class, inheriting <code>nsIWebGLExtensionFooBar</code>, similar to what's being done for <code>WebGLExtensionStandardDerivatives</code>.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL <code>getExtension</code> and <code>getSupportedExtensions</code> methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are <code>WebGLContext::GetExtension</code> and <code>WebGLContext::GetSupportedExtensions</code>. They call another internal function that you'll have to edit as well: <code>WebGLContext::IsExtensionSupported</code>. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the <code>GL_EXTENSIONS</code> string of the underlying OpenGL context, call <code>gl->IsExtensionSupported(enum value)</code>. Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for <code>IsExtensionSupported</code>):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to <code>GLContext</code>, or elsewhere in <code>WebGLContext</code>.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like <code>TEXTURE_MAX_ANISOTROPY</code>. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use <code>LOCAL_GL_</code> prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
*:Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
*::<code>TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=411210Platform/GFX/WebGL/Contribute/Extensions2012-03-24T00:30:15Z<p>Jgilbert: </p>
<hr />
<div>''(Adapted from {{bug|728354}})''<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named <code>WEBGL_foo_bar</code> that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID.<br />
<br />
Let's call this interface, <code>nsIWebGLExtensionFooBar</code>. A C++ header will be auto-generated from that IDL, and will define a <code>nsIWebGLExtensionFooBar</code> class. But that's just a base class. Below we'll manually define a <code>WebGLExtensionFooBar</code> (notice: no nsI prefix) class, inheriting <code>nsIWebGLExtensionFooBar</code>.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for <code>WebGLExtensionStandardDerivatives</code> / <code>nsIWebGLExtensionStandardDerivatives</code>:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the <code>WebGLExtensionFooBar</code> class, inheriting <code>nsIWebGLExtensionFooBar</code>, similar to what's being done for <code>WebGLExtensionStandardDerivatives</code>.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL <code>getExtension</code> and <code>getSupportedExtensions</code> methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are <code>WebGLContext::GetExtension</code> and <code>WebGLContext::GetSupportedExtensions</code>. They call another internal function that you'll have to edit as well: <code>WebGLContext::IsExtensionSupported</code>. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the <code>GL_EXTENSIONS</code> string of the underlying OpenGL context, call <code>gl->IsExtensionSupported(enum value)</code>. Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for <code>IsExtensionSupported</code>):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to <code>GLContext</code>, or elsewhere in <code>WebGLContext</code>.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like <code>TEXTURE_MAX_ANISOTROPY</code>. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use <code>LOCAL_GL_</code> prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
*:Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
*::<code>TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL&diff=411209Platform/GFX/WebGL2012-03-24T00:26:00Z<p>Jgilbert: /* Links */</p>
<hr />
<div>(stub WebGL page)<br />
<br />
==Links==<br />
*[[Platform/AreWeFunYet]]<br />
*[[Platform/GFX/WebGL/Resources]]<br />
*[[Platform/GFX/WebGL/Backends]]<br />
*[[Platform/GFX/WebGL/Contribute/Extensions]]</div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=411208Platform/GFX/WebGL/Contribute/Extensions2012-03-24T00:25:12Z<p>Jgilbert: </p>
<hr />
<div>''(Adapted from {{bug|728354}})''<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named WEBGL_foo_bar that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID:<br />
<br />
Let's call this interface, nsIWebGLExtensionFooBar. A C++ header will be auto-generated from that IDL, and will define a nsIWebGLExtensionFooBar class. But that's just a base class. Below we'll manually define a WebGLExtensionFooBar (notice: no nsI prefix) class, inheriting nsIWebGLExtensionFooBar.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for WebGLExtensionStandardDerivatives / nsIWebGLExtensionStandardDerivatives:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the WebGLExtensionFooBar class, inheriting nsIWebGLExtensionFooBar, similar to what's being done for WebGLExtensionStandardDerivatives.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL getExtension and getSupportedExtensions methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are WebGLContext::GetExtension and WebGLContext::GetSupportedExtensions. They call another internal function that you'll have to edit as well: WebGLContext::IsExtensionSupported. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the GL_EXTENSIONS string of the underlying OpenGL context, call gl->IsExtensionSupported(enum value). Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for IsExtensionSupported):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to GLContext, or elsewhere in WebGLContext.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like TEXTURE_MAX_ANISOTROPY. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use LOCAL_GL_ prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
*:Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
*::<code>TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=411207Platform/GFX/WebGL/Contribute/Extensions2012-03-24T00:24:36Z<p>Jgilbert: </p>
<hr />
<div>''Adapted from {{bug|728354}}.''<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named WEBGL_foo_bar that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID:<br />
<br />
Let's call this interface, nsIWebGLExtensionFooBar. A C++ header will be auto-generated from that IDL, and will define a nsIWebGLExtensionFooBar class. But that's just a base class. Below we'll manually define a WebGLExtensionFooBar (notice: no nsI prefix) class, inheriting nsIWebGLExtensionFooBar.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for WebGLExtensionStandardDerivatives / nsIWebGLExtensionStandardDerivatives:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the WebGLExtensionFooBar class, inheriting nsIWebGLExtensionFooBar, similar to what's being done for WebGLExtensionStandardDerivatives.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL getExtension and getSupportedExtensions methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are WebGLContext::GetExtension and WebGLContext::GetSupportedExtensions. They call another internal function that you'll have to edit as well: WebGLContext::IsExtensionSupported. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the GL_EXTENSIONS string of the underlying OpenGL context, call gl->IsExtensionSupported(enum value). Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for IsExtensionSupported):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to GLContext, or elsewhere in WebGLContext.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like TEXTURE_MAX_ANISOTROPY. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use LOCAL_GL_ prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
*:Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
*::<code>TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=411205Platform/GFX/WebGL/Contribute/Extensions2012-03-24T00:19:21Z<p>Jgilbert: /* Adding the IDL */</p>
<hr />
<div>'''Adapted from {{bug|728354}}'''<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named WEBGL_foo_bar that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID:<br />
<br />
Let's call this interface, nsIWebGLExtensionFooBar. A C++ header will be auto-generated from that IDL, and will define a nsIWebGLExtensionFooBar class. But that's just a base class. Below we'll manually define a WebGLExtensionFooBar (notice: no nsI prefix) class, inheriting nsIWebGLExtensionFooBar.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for WebGLExtensionStandardDerivatives / nsIWebGLExtensionStandardDerivatives:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the WebGLExtensionFooBar class, inheriting nsIWebGLExtensionFooBar, similar to what's being done for WebGLExtensionStandardDerivatives.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL getExtension and getSupportedExtensions methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are WebGLContext::GetExtension and WebGLContext::GetSupportedExtensions. They call another internal function that you'll have to edit as well: WebGLContext::IsExtensionSupported. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the GL_EXTENSIONS string of the underlying OpenGL context, call gl->IsExtensionSupported(enum value). Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for IsExtensionSupported):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to GLContext, or elsewhere in WebGLContext.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like TEXTURE_MAX_ANISOTROPY. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use LOCAL_GL_ prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
<br />
**Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
<code><br />
TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain<br />
</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Platform/GFX/WebGL/Contribute/Extensions&diff=411204Platform/GFX/WebGL/Contribute/Extensions2012-03-24T00:18:55Z<p>Jgilbert: Created page with "'''Adapted from {{bug|728354}}''' Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry]. Good models ..."</p>
<hr />
<div>'''Adapted from {{bug|728354}}'''<br />
<br />
Extension drafts for WebGL are found at the [http://www.khronos.org/registry/webgl/extensions/ Khronos WebGL Extension Registry].<br />
<br />
Good models for how to add support for new WebGL extensions are: {{bug|684853}} and {{bug|728354}}<br />
<br />
==General Approach==<br />
<br />
For the purposes of this page, we will pretend there is a WebGL extension named WEBGL_foo_bar that we're trying to implement.<br />
<br />
===Adding the IDL===<br />
Add the IDL from the spec to {{moz-central|dom/interfaces/canvas/nsIDOMWebGLRenderingContext.idl}}, with a new UUID:<br />
<br />
<br />
<br />
Let's call this interface, nsIWebGLExtensionFooBar. A C++ header will be auto-generated from that IDL, and will define a nsIWebGLExtensionFooBar class. But that's just a base class. Below we'll manually define a WebGLExtensionFooBar (notice: no nsI prefix) class, inheriting nsIWebGLExtensionFooBar.<br />
<br />
===The Goop===<br />
<br />
Edit these files, add goop similar to what there is for WebGLExtensionStandardDerivatives / nsIWebGLExtensionStandardDerivatives:<br />
<br />
*{{moz-central|dom/base/nsDOMClassInfo.cpp}}<br />
*{{moz-central|dom/base/nsDOMClassInfoClasses.h}}<br />
*{{moz-central|js/src/xpconnect/src/dom_quickstubs.qsconf}}<br />
<br />
===The Extension Class===<br />
Edit {{moz-central|content/canvas/src/WebGLExtensions.h}} and define the WebGLExtensionFooBar class, inheriting nsIWebGLExtensionFooBar, similar to what's being done for WebGLExtensionStandardDerivatives.<br />
<br />
You shouldn't have to do anything nontrivial there, as this class only has to expose the constants that were already defined in the IDL, so it's already inheriting them. I would implement the (empty) constructor and destructor inline there, to save the hassle of having to add a new .cpp file just for them.<br />
<br />
===Exposing the Extension===<br />
Now let's do the work to actually expose this extension, in WebGL getExtension and getSupportedExtensions methods.<br />
The file to edit is {{moz-central|content/canvas/src/WebGLContext.cpp}}<br />
<br />
The functions exposed to scripts are WebGLContext::GetExtension and WebGLContext::GetSupportedExtensions. They call another internal function that you'll have to edit as well: WebGLContext::IsExtensionSupported. That's where you'll have to decide whether this extension is supported or not by the client. If you have to query the GL_EXTENSIONS string of the underlying OpenGL context, call gl->IsExtensionSupported(enum value). Indeed, we are checking for a list of extensions when we create a OpenGL context, so that subsequent checking for them is really fast. If the OpenGL extensions you need to check for haven't yet been added to the list that we check for, you'll have to edit these files in a straightforward way (search for IsExtensionSupported):<br />
<br />
*{{moz-central|gfx/gl/GLContext.h}}<br />
*{{moz-central|gfx/gl/GLContext.cpp}}<br />
<br />
===Implementing the Extension===<br />
Finally, let's implement what this extension actually does. The spec describes that.<br />
The file you have to edit to do that, is {{moz-central|content/canvas/src/WebGLContextGL.cpp}}, though you might also need to make some more edits to GLContext, or elsewhere in WebGLContext.<br />
<br />
Sometimes, what this extension does is modify the behavior of some existing methods, it should be straightforward to see what to do there. The only thing is that you'll need to use these new symbolic constants, like TEXTURE_MAX_ANISOTROPY. Rather than trying to use the constants from the extension class, add #defines for them in {{moz-central|gfx/gl/GLDefs.h}}.<br />
(Notice we use LOCAL_GL_ prefixes there to avoid some conflicts)<br />
<br />
===Adding Tests===<br />
Unfortunately, odds are fairly high that we don't have a test case for this particular extension! It would be very useful to write one, and even more useful to write one that can be added to the conformance test suite. <br />
<br />
==Other Remarks==<br />
<br />
*General info about getting started with Gfx hacking: [[Platform/GFX/Contribute]]<br />
<br />
*[http://mxr.mozilla.org/mozilla-central/ MXR] and [http://dxr.mozilla.org/mozilla/ DXR] are useful code search tools.<br />
<br />
*Test your code by running the [https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html WebGL conformance test suite]. (compare to a test run without your patch)<br />
<br />
**Or as a mozilla mochitest: (assuming that you are in your mozilla-central directory, and that obj-firefox-debug is your object directory)<br />
<code><br />
TEST_PATH=content/canvas/test/webgl/test_webgl_conformance_test_suite.html make -C obj-firefox-debug/ mochitest-plain<br />
</code></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Template:Moz-central&diff=411203Template:Moz-central2012-03-24T00:16:10Z<p>Jgilbert: </p>
<hr />
<div><includeonly><tt>[http://hg.mozilla.org/mozilla-central/file/tip/{{{1}}} mozilla-central/{{{1}}}]</tt></includeonly><noinclude><br />
== Usage ==<br />
Link to something on mozilla-central:<br />
<br />
::<nowiki>{{moz-central|gfx/gl/GLContext.h}}</nowiki><br />
<br />
Yields:<br />
<br />
::<tt>[http://hg.mozilla.org/mozilla-central/file/tip/gfx/gl/GLContext.h mozilla-central/gfx/gl/GLContext.h]</tt><br />
</noinclude></div>Jgilberthttps://wiki.mozilla.org/index.php?title=Template:Moz-central&diff=411202Template:Moz-central2012-03-24T00:15:18Z<p>Jgilbert: </p>
<hr />
<div><noinclude><br />
== Usage ==<br />
Link to something on mozilla-central:<br />
<br />
::<nowiki>{{moz-central|gfx/gl/GLContext.h}}</nowiki><br />
<br />
Yields:<br />
<br />
::<tt>[http://hg.mozilla.org/mozilla-central/file/tip/gfx/gl/GLContext.h mozilla-central/gfx/gl/GLContext.h]</tt><br />
</noinclude><br />
<br />
<includeonly><br />
<tt>[http://hg.mozilla.org/mozilla-central/file/tip/{{{1}}} mozilla-central/{{{1}}}]</tt><br />
</includeonly></div>Jgilbert