<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taken</id>
	<title>MozillaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mozilla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taken"/>
	<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/Special:Contributions/Taken"/>
	<updated>2026-05-23T00:39:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Platform/2008-08-27&amp;diff=106191</id>
		<title>Platform/2008-08-27</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Platform/2008-08-27&amp;diff=106191"/>
		<updated>2008-08-28T05:43:13Z</updated>

		<summary type="html">&lt;p&gt;Taken: correct navigation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[Platform/2008-08-20|&amp;amp;laquo; previous week]] | [[Platform|index]] | [[Platform/2008-09-03|next week &amp;amp;raquo;]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
* Wednesdays - 11:00am Pacific, 2:00pm Eastern, 19:00 UTC&lt;br /&gt;
* Mozilla Building S - &amp;amp;lt;script&amp;amp;gt; conference room&lt;br /&gt;
* 650-903-0800 or 650-215-1282 x91 Conf# 8605 (US/INTL)&lt;br /&gt;
* 1-800-707-2533 (pin 369) Conf# 8605 (US)&lt;br /&gt;
* irc.mozilla.org #shiretoko for backchannel&lt;br /&gt;
&lt;br /&gt;
=== Notices ===&lt;br /&gt;
* 1.9.1 Beta 1 Freeze Tuesday, Sep 9 @11:59PM PDT.&lt;br /&gt;
* Please take a look at the feature list and get things missing added, and update status for things you own: [[Firefox3.1/Features#Gecko_1.9.1]]&lt;br /&gt;
&lt;br /&gt;
=== GFX 1.9.1 Update ===&lt;br /&gt;
* [http://tinyurl.com/5xfmvp GFX blocking 1.9.1+]&lt;br /&gt;
* [http://tinyurl.com/4zv2kn GFX wanted 1.9.1+]&lt;br /&gt;
* Performance:&lt;br /&gt;
** Color management perf landed. Not turned on for A2 because of a bunch of reftest failures. After a few days on it it appears that all but one or two issues are problems with the reftests, not the code. Patches in progress for all the issues (about 7 total).&lt;br /&gt;
* Downloadable fonts (jdaggett)&lt;br /&gt;
** Updated patch to do same-site origin checking of fonts&lt;br /&gt;
** Done at parse time, but probably need to do at load time to allow for access-control and redirects&lt;br /&gt;
&lt;br /&gt;
=== Layout 1.9.1 Update ===&lt;br /&gt;
* [http://tinyurl.com/6zjp33 1.9.1 Layout Bugs]&lt;br /&gt;
* Video (roc/cdouble): &lt;br /&gt;
* Acid3: &lt;br /&gt;
* SMIL (dholbert):&lt;br /&gt;
** Not much new (OOTO for most of past week)&lt;br /&gt;
** Posting updated patch in next day or two&lt;br /&gt;
* SVG fonts - karlt: won&#039;t be in 1.9.1&lt;br /&gt;
* SVG CSS, roc:&lt;br /&gt;
* media queries (dbaron):&lt;br /&gt;
* CSS transforms - keith:&lt;br /&gt;
&lt;br /&gt;
=== Content 1.9.1 Update ===&lt;br /&gt;
* [http://tinyurl.com/5a8vc2 Content 1.9.1 Bugs]&lt;br /&gt;
* Worker Threads:&lt;br /&gt;
** Script loading mostly done, needs reviews.&lt;br /&gt;
** XHR and JSON last major features.&lt;br /&gt;
** Need to catch up with the spec work, nothing really major.&lt;br /&gt;
* Cross-site XHR:&lt;br /&gt;
** Jonas has a good bit of this already done, needs finalized and reviewed.&lt;br /&gt;
* XHR Upload and download progress events - landed. Followups ([https://bugzilla.mozilla.org/show_bug.cgi?id=451991 451991], [https://bugzilla.mozilla.org/show_bug.cgi?id=444546 444546], [https://bugzilla.mozilla.org/show_bug.cgi?id=445225 445225]) have patches.&lt;br /&gt;
&lt;br /&gt;
=== JS 1.9.1 ===&lt;br /&gt;
*[http://tinyurl.com/5gmg8y JS 1.9.1 Bugs]&lt;br /&gt;
&#039;&#039;Last week&#039;&#039;:&lt;br /&gt;
* JS Tracing:&lt;br /&gt;
** Last week&#039;s status:&lt;br /&gt;
*** going to land in m-c pref&#039;d off&lt;br /&gt;
** This Week&#039;s Status:&lt;br /&gt;
*** https://wiki.mozilla.org/JavaScript:TraceMonkey&lt;br /&gt;
*** Chasing regressions&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;b&amp;gt;Blocking&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=417131 417131] || igor@mir2.org || FIXED  || JS Enumeration Allocation Consternation&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=421864 421864] || igor@mir2.org       || review_brendan?  || Interpreter creates too many doubles&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433337 433337] || igor@mir2.org       || FIXED  || Reunify jsinterp.c on Windows&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;b&amp;gt;Wanted&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=229756 229756] ||  graydon@mozilla.com  ||             ||    Make SpiderMonkey&#039;s const extension JS2/ES4 compatible&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=445262 445262] || brendan@mozilla.org   || ||  display closure optimizations for SpiderMonkey&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=260106 260106] || brendan@mozilla.org   ||  wip-patch  ||  elisions in array literals should not create properties (js1_5/Array/11.1.4.js)&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=312354 312354] || brendan@mozilla.org   ||  FIXED      ||  Assignment expressions have wrong type (ecma_3/Operators/11.13.1-002.js)&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=363534 363534] || brendan@mozilla.org   ||  FIXED      ||  Combine JSOP_LT and JSOP_IFEQ, etc., pairs&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=445893 445893] || brendan@mozilla.org   ||  FIXED      ||  Use the property cache for JSOP_NAMEINC, etc. &lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=384244 384244] || crowder@fiverocks.com || FIXED ||  update jsdtoa with interesting pieces of more-recent dtoa&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=440473 440473] || crowder@fiverocks.com || FIXED ||   	crash [@ Decompile][@ js_GetSrcNoteOffset] with firebug/jQuery &lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433351 433351] || crowder@fiverocks.com || review_mrbkap?   ||  Implement Object.extend&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=442379 442379] || dmandelin@mozilla.com || wip-patch   ||  try inline-threading, at least with GCC if not MSVC&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=305064 305064] || mike.kaplinskiy@gmail.com       ||  checkin_needed  ||   Add trim, ltrim, and rtrim features for javascript strings&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=352437 352437] || general@js.bugs       ||             ||  string.link does not escape url&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=429507 429507] || general@js.bugs       ||             ||  Function.prototype.bind&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433336 433336] || graydon@mozilla.com    || review_shaver? ||  array iteration optimization&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=411575 411575] || igor@mir2.org         ||  FIXED    ||  js_PutCallObject() is slow.&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=432881 432881] || igor@mir2.org         ||  FIXED      ||  SM: JSVAL_VOID as a pseudo-boolean&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=443746 443746] || igor@mir2.org         ||  FIXED      ||  Optimizing the enumeration state allocation&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=346749 346749] || mrbkap@gmail.com      ||  FIXED           ||  let declarations at top level are turned into var declarations&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=442358 442358] || mrbkap@gmail.com      ||  FIXED           ||  jsinterp control flow doesn&#039;t flow as specified&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=444787 444787] || mrbkap@gmail.com      ||  FIXED          || Object.getPrototypeOf &lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=312116 312116] || nobody@mozilla.org    ||             ||  should support catchall getters/setters&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=445178 445178] || rubys@intertwingly.net    ||             ||  Decimal Support&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=419225 419225] || sayrer@gmail.com      ||   wip-patch ||  refactor ExecuteREBytecode and SimpleMatch&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=430930 430930] || sayrer@gmail.com      ||             ||  Date.parse cannot even parse &amp;quot;2008-04-26&amp;quot; (should understand ISO 8601)&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=419743 419743] || shaver@mozilla.org    ||  wip-patch  ||  JSOP_CONCATN for improved chained-concat performance&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433335 433335] || shaver@mozilla.org    ||             ||  mark sharp object avoidance&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Mobile 1.9.1 Update ===&lt;br /&gt;
* We now statically link jemalloc to xulrunner-stub {{bug|451193}}&lt;br /&gt;
* setting up mobile builds on a staging slave. Curious can follow along in {{bug|430200}}&lt;br /&gt;
* Need help with:&lt;br /&gt;
** Need a way to get paint notifications from a hidden browser window {{bug|450930}}&lt;br /&gt;
** Various graphics performance issues {{bug|451621}} {{bug|450400}} {{bug|450916}}&lt;br /&gt;
** Various focus issues {{bug|406837}} {{bug|441582}} {{bug|435446}}&lt;br /&gt;
** Working on better handling of low memory situations&lt;br /&gt;
&lt;br /&gt;
* Expose Video / Camera  {{ bug | 451674}}&lt;br /&gt;
* Geolocation.  Updated to latest draft spec.  Couple issues.&lt;br /&gt;
&lt;br /&gt;
=== General 1.9.1 Updates ===&lt;br /&gt;
* offline cache, dcamp: {{bug|442806}} landed, {{bug|442812}} landing today, still working on {{bug|442813}}.&lt;br /&gt;
* localStorage, honzab:&lt;br /&gt;
* HTML5 drag-drop&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
* Tracemonkey code walkthrough scheduling&lt;br /&gt;
* Core Security Bugs:&lt;br /&gt;
** {{bug|422283}}last touched in April&lt;br /&gt;
&lt;br /&gt;
==== Security Reviews ====&lt;br /&gt;
&lt;br /&gt;
See [[Firefox3.1/Security|the security review schedule]] page to get your review scheduled ASAP!&lt;br /&gt;
* Did the earlier reviews happen?&lt;br /&gt;
* Can there be a column on this page to indicate when the review is completed?&lt;br /&gt;
&lt;br /&gt;
=== Roundtable ===&lt;br /&gt;
&lt;br /&gt;
== mozilla-central ==&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Platform/2008-08-20&amp;diff=106190</id>
		<title>Platform/2008-08-20</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Platform/2008-08-20&amp;diff=106190"/>
		<updated>2008-08-28T05:42:21Z</updated>

		<summary type="html">&lt;p&gt;Taken: correct navigation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[Platform/2008-08-13|&amp;amp;laquo; previous week]] | [[Platform|index]] | [[Platform/2008-08-27|next week &amp;amp;raquo;]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
&lt;br /&gt;
* Wednesdays - 11:00am Pacific, 2:00pm Eastern, 19:00 UTC&lt;br /&gt;
* Mozilla Building S - &amp;amp;lt;script&amp;amp;gt; conference room&lt;br /&gt;
* 650-903-0800 or 650-215-1282 x91 Conf# 8605 (US/INTL)&lt;br /&gt;
* 1-800-707-2533 (pin 369) Conf# 8605 (US)&lt;br /&gt;
* irc.mozilla.org #shiretoko for backchannel&lt;br /&gt;
&lt;br /&gt;
=== Notices ===&lt;br /&gt;
&lt;br /&gt;
* 1.9.1 Beta 1 Freeze Tuesday, Sep 9 @11:59PM PDT.&lt;br /&gt;
* Please take a look at the feature list and get things missing added, and update status for things you own: [[Firefox3.1/Features#Gecko_1.9.1]]&lt;br /&gt;
&lt;br /&gt;
=== GFX 1.9.1 Update ===&lt;br /&gt;
* [http://tinyurl.com/5xfmvp GFX blocking 1.9.1+]&lt;br /&gt;
* [http://tinyurl.com/4zv2kn GFX wanted 1.9.1+]&lt;br /&gt;
* Performance:&lt;br /&gt;
** imglib caching improvements bounced (small lk, oops)&lt;br /&gt;
** CMS perf landed! ... But not turned on due to test failures.  Our reftests in particular are colour-sensitive, still investigating.&lt;br /&gt;
* Downloadable fonts&lt;br /&gt;
** roc feels we should add a same-site origin restriction on downloadable fonts&lt;br /&gt;
&lt;br /&gt;
=== Layout 1.9.1 Update ===&lt;br /&gt;
* [http://tinyurl.com/6zjp33 1.9.1 Layout Bugs]&lt;br /&gt;
* Video (roc/cdouble): &lt;br /&gt;
* Acid3:  Roc or dbaron, status?&lt;br /&gt;
* SMIL (dholbert):&lt;br /&gt;
** Fixed some bugs to allow better &amp;amp; faster reftesting, &amp;amp; added a bunch of new reftests&lt;br /&gt;
** Fixed a bug that made acid3 test #76 fail occasionally with old patches. (There was a race condition between a short setTimeout in the test vs. the time before we take next frame of animation).  Now it should always pass.&lt;br /&gt;
* SVG fonts - karlt: won&#039;t be in 1.9.1&lt;br /&gt;
* SVG CSS, roc:&lt;br /&gt;
* media queries (dbaron):&lt;br /&gt;
* CSS transforms - keith: under review (roc + dbaron)&lt;br /&gt;
&lt;br /&gt;
=== Content 1.9.1 Update ===&lt;br /&gt;
* [http://tinyurl.com/5a8vc2 Content 1.9.1 Bugs]&lt;br /&gt;
&#039;&#039;Last week&#039;&#039;:&lt;br /&gt;
* Worker Threads: &lt;br /&gt;
* Cross-site XHR: &lt;br /&gt;
* XHR Upload and download progress events? &lt;br /&gt;
* Java/OJI bug: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== JS 1.9.1 ===&lt;br /&gt;
*[http://tinyurl.com/5gmg8y JS 1.9.1 Bugs]&lt;br /&gt;
&#039;&#039;Last week&#039;&#039;:&lt;br /&gt;
* JS Tracing:&lt;br /&gt;
** Last week&#039;s status:&lt;br /&gt;
*** chasing bugs in [https://bugzilla.mozilla.org/show_bug.cgi?id=449436 449436]&lt;br /&gt;
*** very few regressions vs. interpreter left, some big wins&lt;br /&gt;
*** nested loop tracing / recursive function calls biggest performace problem near term&lt;br /&gt;
** This Week&#039;s Status:&lt;br /&gt;
*** going to land in m-c pref&#039;d off&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;b&amp;gt;Blocking&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=417131 417131] || igor@mir2.org || FIXED  || JS Enumeration Allocation Consternation&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=421864 421864] || igor@mir2.org       || review_brendan?  || Interpreter creates too many doubles&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433337 433337] || igor@mir2.org       || FIXED  || Reunify jsinterp.c on Windows&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;b&amp;gt;Wanted&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=229756 229756] ||  graydon@mozilla.com  ||             ||    Make SpiderMonkey&#039;s const extension JS2/ES4 compatible&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=445262 445262] || brendan@mozilla.org   || ||  display closure optimizations for SpiderMonkey&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=260106 260106] || brendan@mozilla.org   ||  wip-patch  ||  elisions in array literals should not create properties (js1_5/Array/11.1.4.js)&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=312354 312354] || brendan@mozilla.org   ||  FIXED      ||  Assignment expressions have wrong type (ecma_3/Operators/11.13.1-002.js)&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=363534 363534] || brendan@mozilla.org   ||  FIXED      ||  Combine JSOP_LT and JSOP_IFEQ, etc., pairs&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=445893 445893] || brendan@mozilla.org   ||  FIXED      ||  Use the property cache for JSOP_NAMEINC, etc. &lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=384244 384244] || crowder@fiverocks.com || FIXED ||  update jsdtoa with interesting pieces of more-recent dtoa&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=440473 440473] || crowder@fiverocks.com || FIXED ||   	crash [@ Decompile][@ js_GetSrcNoteOffset] with firebug/jQuery &lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433351 433351] || crowder@fiverocks.com || review_mrbkap?   ||  Implement Object.extend&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=442379 442379] || dmandelin@mozilla.com || wip-patch   ||  try inline-threading, at least with GCC if not MSVC&lt;br /&gt;
|-&lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=305064 305064] || mike.kaplinskiy@gmail.com       ||  checkin_needed  ||   Add trim, ltrim, and rtrim features for javascript strings&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=352437 352437] || general@js.bugs       ||             ||  string.link does not escape url&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=429507 429507] || general@js.bugs       ||             ||  Function.prototype.bind&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433336 433336] || graydon@mozilla.com    || review_shaver? ||  array iteration optimization&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=411575 411575] || igor@mir2.org         ||  FIXED    ||  js_PutCallObject() is slow.&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=432881 432881] || igor@mir2.org         ||  FIXED      ||  SM: JSVAL_VOID as a pseudo-boolean&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=443746 443746] || igor@mir2.org         ||  FIXED      ||  Optimizing the enumeration state allocation&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=346749 346749] || mrbkap@gmail.com      ||  FIXED           ||  let declarations at top level are turned into var declarations&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=442358 442358] || mrbkap@gmail.com      ||  FIXED           ||  jsinterp control flow doesn&#039;t flow as specified&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=444787 444787] || mrbkap@gmail.com      ||  FIXED          || Object.getPrototypeOf &lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=312116 312116] || nobody@mozilla.org    ||             ||  should support catchall getters/setters&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=445178 445178] || rubys@intertwingly.net    ||             ||  Decimal Support&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=419225 419225] || sayrer@gmail.com      ||   wip-patch ||  refactor ExecuteREBytecode and SimpleMatch&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=430930 430930] || sayrer@gmail.com      ||             ||  Date.parse cannot even parse &amp;quot;2008-04-26&amp;quot; (should understand ISO 8601)&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=419743 419743] || shaver@mozilla.org    ||  wip-patch  ||  JSOP_CONCATN for improved chained-concat performance&lt;br /&gt;
|- &lt;br /&gt;
|[https://bugzilla.mozilla.org/show_bug.cgi?id=433335 433335] || shaver@mozilla.org    ||             ||  mark sharp object avoidance&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Mobile 1.9.1 Update ===&lt;br /&gt;
* setting up mobile builds on a staging slave. Curious can follow along in {{bug|430200}}&lt;br /&gt;
&lt;br /&gt;
=== General 1.9.1 Updates ===&lt;br /&gt;
* offline cache, dcamp: Got first round of reviews last week, working through review comments this week.&lt;br /&gt;
* localStorage, honzab:&lt;br /&gt;
* HTML5 drag-drop&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
* Security reviews!  Two scheduled today, are they happening?&lt;br /&gt;
* Tracemonkey code walkthrough scheduling&lt;br /&gt;
* Core Security Bugs:&lt;br /&gt;
** {{bug|422283}}last touched in April&lt;br /&gt;
&lt;br /&gt;
==== Security Reviews ====&lt;br /&gt;
&lt;br /&gt;
See [[Firefox3.1/Security|the security review schedule]] page to get your review scheduled ASAP!&lt;br /&gt;
* Did the earlier reviews happen?&lt;br /&gt;
* Can there be a column on this page to indicate when the review is completed?&lt;br /&gt;
&lt;br /&gt;
=== Roundtable ===&lt;br /&gt;
* {{bug|451264}} -- How can I (ctalbert) determine what it is about setPageMode that is causing this issue?  Does anyone happen to know off the top of their head?  This is blocking our testing for downloadable fonts and print selection.&lt;br /&gt;
&lt;br /&gt;
== mozilla-central ==&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Platform/Post1.9Planning&amp;diff=91531</id>
		<title>Platform/Post1.9Planning</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Platform/Post1.9Planning&amp;diff=91531"/>
		<updated>2008-04-26T07:58:56Z</updated>

		<summary type="html">&lt;p&gt;Taken: added category, bug template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A rough list of what people would like to work on in the next 3-6 months.  Please add descriptions, bug numbers, links to wiki pages, etc.&lt;br /&gt;
{| class=&amp;quot;fullwidth-table&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#efefef&amp;quot; | &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#efefef&amp;quot; | &#039;&#039;&#039;1.9.0.x&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#efefef&amp;quot; | &#039;&#039;&#039;1.9.next&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#efefef&amp;quot; | &#039;&#039;&#039;Moz2&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Johnny Stenback&lt;br /&gt;
|-&lt;br /&gt;
| Jonas Sicking&lt;br /&gt;
|-&lt;br /&gt;
| Peter Van der Beken&lt;br /&gt;
|-&lt;br /&gt;
| Blake Kaplan&lt;br /&gt;
|-&lt;br /&gt;
| Ben Turner&lt;br /&gt;
|-&lt;br /&gt;
| Stan Shebs&lt;br /&gt;
|-&lt;br /&gt;
| Vladimir Vukicevic&lt;br /&gt;
|-&lt;br /&gt;
| Stuart Parmenter&lt;br /&gt;
|-&lt;br /&gt;
| John Daggett&lt;br /&gt;
|-&lt;br /&gt;
| Joe Drew&lt;br /&gt;
|-&lt;br /&gt;
| David Baron&lt;br /&gt;
|-&lt;br /&gt;
| Robert O&#039;Callahan&lt;br /&gt;
| &lt;br /&gt;
| Some small SVG filter performance improvements&lt;br /&gt;
| Compositor&lt;br /&gt;
|-&lt;br /&gt;
| Boris Zbarsky&lt;br /&gt;
|-&lt;br /&gt;
| Daniel Holbert&lt;br /&gt;
|-&lt;br /&gt;
| Karl Tomlinson&lt;br /&gt;
|&lt;br /&gt;
| SVG fonts&lt;br /&gt;
|-&lt;br /&gt;
| Matthew Gregan&lt;br /&gt;
|&lt;br /&gt;
| Quicktime backend for &amp;lt;video&amp;gt;/&amp;lt;audio&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Igor Bukanov&lt;br /&gt;
|-&lt;br /&gt;
| Brian Crowder&lt;br /&gt;
|-&lt;br /&gt;
| Graydon Hoare &lt;br /&gt;
|-&lt;br /&gt;
| Jason Orendorff&lt;br /&gt;
|-&lt;br /&gt;
| Taras Glek&lt;br /&gt;
|-&lt;br /&gt;
| Dave Mandelin&lt;br /&gt;
|&lt;br /&gt;
| Strip obsolete OOM code ({{bug|427115}})&lt;br /&gt;
| Treehydra ({{bug|423898}})/Moz2 Analyses ({{bug|430328}})&lt;br /&gt;
|-&lt;br /&gt;
| Benjamin Smedberg&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| XPCOMGC&lt;br /&gt;
|-&lt;br /&gt;
| Jim Blandy&lt;br /&gt;
|-&lt;br /&gt;
| Josh Aas&lt;br /&gt;
|-&lt;br /&gt;
| Stephen Michaud&lt;br /&gt;
|-&lt;br /&gt;
| Simon Montagu&lt;br /&gt;
|-&lt;br /&gt;
| Robert Sayre &lt;br /&gt;
|-&lt;br /&gt;
| Ted Mielczarek&lt;br /&gt;
|-&lt;br /&gt;
| Dave Camp&lt;br /&gt;
|-&lt;br /&gt;
| Chris Pearce&lt;br /&gt;
|&lt;br /&gt;
| DirectShow backend for &amp;lt;video&amp;gt;/&amp;lt;audio&amp;gt;&lt;br /&gt;
| Editor refactoring&lt;br /&gt;
|-&lt;br /&gt;
| Chris Double&lt;br /&gt;
|&lt;br /&gt;
| &amp;lt;video&amp;gt;/&amp;lt;audio&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Zachary Weinberg&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Mozilla 2]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Gfx_glue_layer_removal&amp;diff=91343</id>
		<title>Gfx glue layer removal</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Gfx_glue_layer_removal&amp;diff=91343"/>
		<updated>2008-04-24T09:25:41Z</updated>

		<summary type="html">&lt;p&gt;Taken: s/Cairo/cairo/, added Category:Mozilla 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Goal ==&lt;br /&gt;
&lt;br /&gt;
* Eliminate the glue layer in &amp;lt;tt&amp;gt;gfx/src/thebes&amp;lt;/tt&amp;gt;&lt;br /&gt;
* All code calls &amp;lt;tt&amp;gt;gfx/thebes&amp;lt;/tt&amp;gt; interfaces directly&lt;br /&gt;
** mostly this is &amp;lt;tt&amp;gt;nsIFrame::Paint&amp;lt;/tt&amp;gt; methods, but there are others&lt;br /&gt;
* Not possible to implement a non-cairo rendering backend anymore&lt;br /&gt;
** I believe this is already not possible; several &amp;lt;tt&amp;gt;nsIFrame::Paint&amp;lt;/tt&amp;gt; methods already call &amp;lt;tt&amp;gt;gfx*&amp;lt;/tt&amp;gt; interfaces directly&lt;br /&gt;
** Non-Thebes &amp;lt;tt&amp;gt;gfx/src/*&amp;lt;/tt&amp;gt; backends should be deleted early in the process, to remove false hits from automated scans for code needing conversion&lt;br /&gt;
** I am unclear on whether &amp;lt;tt&amp;gt;gfx/src/psshared&amp;lt;/tt&amp;gt; is still useful&lt;br /&gt;
** Code loose in &amp;lt;tt&amp;gt;gfx/src and gfx/src/shared&amp;lt;/tt&amp;gt; needs to be dealt with case-by-case &lt;br /&gt;
* End point: should be possible to remove &amp;lt;tt&amp;gt;gfx/src&amp;lt;/tt&amp;gt; altogether (perhaps &amp;lt;tt&amp;gt;gfx/thebes/src&amp;lt;/tt&amp;gt; becomes &amp;lt;tt&amp;gt;gfx/src&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfx/thebes/public&amp;lt;/tt&amp;gt; merged into gfx/public?)&lt;br /&gt;
&lt;br /&gt;
== Plan ==&lt;br /&gt;
&lt;br /&gt;
* Work out unit conversion issues (see next section)&lt;br /&gt;
* Identify and strip source files which are currently unused or can easily be made unused&lt;br /&gt;
* DeCOMtaminate where appropriate, eliminating nsI classes&lt;br /&gt;
* For each cluster of objects listed below under &amp;quot;Classes involved&amp;quot;, refactor all code out of the non-&amp;lt;tt&amp;gt;gfx*&amp;lt;/tt&amp;gt; classes, so that they are perfect wrappers or even typedefs for the &amp;lt;tt&amp;gt;gfx*&amp;lt;/tt&amp;gt; classes&lt;br /&gt;
* Bubble use of &amp;lt;tt&amp;gt;gfx*&amp;lt;/tt&amp;gt; direct interfaces upward into paint methods, layout class data members, etc. until all uses of the old interfaces are gone&lt;br /&gt;
&lt;br /&gt;
== Unit conversion ==&lt;br /&gt;
&lt;br /&gt;
Issues:&lt;br /&gt;
&lt;br /&gt;
* layout should still do its work in &amp;lt;tt&amp;gt;nscoord&amp;lt;/tt&amp;gt; units (1/60th of a CSS pixel), per offline discussion with dbaron&lt;br /&gt;
* gfx is expecting &amp;lt;tt&amp;gt;gfxFloat&amp;lt;/tt&amp;gt; units (device pixels)&lt;br /&gt;
* we don&#039;t want to sprinkle conversions through every paint method&lt;br /&gt;
* because &amp;lt;tt&amp;gt;gfxFloat&amp;lt;/tt&amp;gt; is a floating point type, changing the sequence of arithmetic operations may change what actually gets drawn (see {{bug|376180}} for an example of this)&lt;br /&gt;
* &amp;lt;tt&amp;gt;nsRenderingContextThebes&amp;lt;/tt&amp;gt; currently has easy access to the nscoord-to-device conversion ratio (&amp;lt;tt&amp;gt;mP2A&amp;lt;/tt&amp;gt; and the &amp;lt;tt&amp;gt;FROM_TWIPS&amp;lt;/tt&amp;gt;[sic] macros), whereas it&#039;s somewhat awkward to get it from a paint method (&amp;lt;tt&amp;gt;PresContext()-&amp;gt;AppUnitsPerDevPixel()&amp;lt;/tt&amp;gt; is the best way I can find, and that expands to something like four pointer dereferences under the hood).&lt;br /&gt;
* There are several bugs relating to coordinate systems and behavior at overflow: {{bug|265084}}, {{bug|370006}}, {{bug|379616}}, (please add to this list...)&lt;br /&gt;
&lt;br /&gt;
Possibilities:&lt;br /&gt;
&lt;br /&gt;
* keep the conversions at the layout/gfx interface:&lt;br /&gt;
** define implicit conversion operators, so passing &amp;lt;tt&amp;gt;nscoord&amp;lt;/tt&amp;gt; and related types to &amp;lt;tt&amp;gt;gfxContext&amp;lt;/tt&amp;gt; functions makes the compiler generate conversion code in the paint method&lt;br /&gt;
*** for this to work, &amp;lt;tt&amp;gt;nscoord&amp;lt;/tt&amp;gt; would have to be a class type&lt;br /&gt;
*** the conversion operators would need to know the conversion ratio; see above&lt;br /&gt;
** change &amp;lt;tt&amp;gt;gfx{Float,Point,Size,Rect}&amp;lt;/tt&amp;gt; to take &amp;lt;tt&amp;gt;nscoord&amp;lt;/tt&amp;gt;-family inputs and convert internally&lt;br /&gt;
*** for this to work, &amp;lt;tt&amp;gt;gfxFloat&amp;lt;/tt&amp;gt; would have to be a class type&lt;br /&gt;
*** also, these types would need to know the conversion ratio, which might mean they need to be told what &amp;lt;tt&amp;gt;gfxContext&amp;lt;/tt&amp;gt; they&#039;re being created for&lt;br /&gt;
&lt;br /&gt;
* push the conversion down into gfx:&lt;br /&gt;
** overload all &amp;lt;tt&amp;gt;gfxContext&amp;lt;/tt&amp;gt; methods to take &amp;lt;tt&amp;gt;nscoord&amp;lt;/tt&amp;gt; family arguments, do the conversions in the thebes layer&lt;br /&gt;
*** ugly, exposes &amp;lt;tt&amp;gt;nscoord&amp;lt;/tt&amp;gt; types in gfx&lt;br /&gt;
** make the cairo transformation matrix do all the work (so the thebes layer continues to use its own types, but the numbers are in the same units that layout uses)&lt;br /&gt;
*** facilitates replacing &amp;lt;tt&amp;gt;ns*&amp;lt;/tt&amp;gt; types with &amp;lt;tt&amp;gt;gfx*&amp;lt;/tt&amp;gt; types bubbling upward&lt;br /&gt;
*** could be error prone if anyone else messes with the matrix&lt;br /&gt;
** might not give the same rounding behavior as currently&lt;br /&gt;
&lt;br /&gt;
* other ideas?&lt;br /&gt;
&lt;br /&gt;
Overall I like &amp;quot;make the cairo transformation matrix do all the work&amp;quot;&lt;br /&gt;
best, but I&#039;m worried about its getting messed with.  Perhaps we can&lt;br /&gt;
enforce a use discipline similar to PDF&#039;s - you can save and restore&lt;br /&gt;
the current matrix, you can &amp;quot;concatenate&amp;quot; a transformation onto the&lt;br /&gt;
existing matrix, but you can&#039;t wipe out the existing matrix and start&lt;br /&gt;
over.&lt;br /&gt;
&lt;br /&gt;
== Classes involved ==&lt;br /&gt;
&lt;br /&gt;
Note that these lists were generated by a lot of staring at the output of a [[Dehydra]] script of dubious correctness. I may have missed things.&lt;br /&gt;
&lt;br /&gt;
* Graphics objects: these come in clusters, either &amp;lt;tt&amp;gt;ns&amp;amp;lt;thing&amp;amp;gt;&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;gfx&amp;amp;lt;thing&amp;amp;gt;&amp;lt;/tt&amp;gt; parallel implementations, or an &amp;lt;tt&amp;gt;nsI&amp;amp;lt;thing&amp;amp;gt;&amp;lt;/tt&amp;gt; interface, a &amp;lt;tt&amp;gt;nsThebes&amp;amp;lt;thing&amp;amp;gt;&amp;lt;/tt&amp;gt; shim, and (usually) a &amp;lt;tt&amp;gt;gfx&amp;amp;lt;thing&amp;amp;gt;&amp;lt;/tt&amp;gt; real implementation.  In both cases the desired end point is that there is only &amp;lt;tt&amp;gt;gfx&amp;amp;lt;thing&amp;amp;gt;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsFont&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFont&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsColor&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxRGBA&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsCoord&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFloat&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsPoint&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxPoint&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsRect&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxRect&amp;lt;/tt&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsSize&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxSize&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsMargin&amp;lt;/tt&amp;gt; (no equivalent?)&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsTransform2D&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxMatrix&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsFontCache&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFontCache&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsIFontMetrics&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsIThebesFontMetrics&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsThebesFontMetrics&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsBoundingMetrics&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFont::Metrics&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsIImage&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsThebesImage&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxIImageFrame&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxImageFrame&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfx*Surface&amp;lt;/tt&amp;gt; (?)&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsIRegion&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsRegion&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsThebesRegion&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsIScriptableRegion&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsScriptableRegion&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsTextDimensions&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxGlyphExtents&amp;lt;/tt&amp;gt; (?)&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsIFontEnumerator&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsThebesFontEnumerator&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Context classes: like the graphics objects, they come in clusters, but I think we want to collapse all of these into one class, &amp;lt;tt&amp;gt;gfxContext&amp;lt;/tt&amp;gt;.  (If the distinction between device context and rendering context is useful - I have no hard evidence, though I suspect it isn&#039;t - we would want to keep &amp;lt;tt&amp;gt;nsRenderingContext&amp;lt;/tt&amp;gt; too, but de-COM it.)&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsIDeviceContext&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;DeviceContextImpl&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsThebesDeviceContext&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsIRenderingContext&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsRenderingContextImpl&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsThebesRenderingContext&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;gfxContext&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Thebes-only graphics objects: there is no nsI-level interface to these (that I found).  Probably they can be left alone.&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;gfxFlattenedPath&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFontGroup&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFontStyle&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxMatrix&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxPattern&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxSkipChars&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxSkipCharsBuilder&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxSkipCharsIterator&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxTextRun&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxTextRunCache&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxTextRunFactory&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxTextRunWordCache&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Helper classes: probably do not need messing with except incidentally.&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;gfxContextAutoSaveRestore&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsRegionRectIterator&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Thebes internal implementation and unit tests (I think).  Again, probably do not need messing with except incidentally.&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;gfxASurface&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxImageSurface&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxXlibSurface&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxXlibNativeRenderer&amp;lt;/tt&amp;gt;, other &amp;lt;tt&amp;gt;gfx*Surface&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;gfx*NativeRenderer&amp;lt;/tt&amp;gt; classes not used under X11/gtk&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;gfxFontNameList&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFontTestItem&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxFontTestStore&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxPangoFont&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxPangoFontWrapper&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::: other &amp;lt;tt&amp;gt;gfx*Font*&amp;lt;/tt&amp;gt; classes not used under X11/gtk; note that Pango has ATSUI and Uniscribe back ends, but using Pango universally, if desirable, should be a separate project&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;gfxPlatform&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gfxSparseBitSet&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Other things defined in gfx headers, whose role I am uncertain of:&lt;br /&gt;
&lt;br /&gt;
:::: &amp;lt;tt&amp;gt;nsColorNames&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsCUPSShim&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsPSPrinterList&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;nsITheme&amp;lt;/tt&amp;gt; (where is the implementation?)&lt;br /&gt;
&lt;br /&gt;
[[Category:Mozilla 2]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Releases/Firefox_3.0b5&amp;diff=86198</id>
		<title>Releases/Firefox 3.0b5</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Releases/Firefox_3.0b5&amp;diff=86198"/>
		<updated>2008-03-11T03:05:22Z</updated>

		<summary type="html">&lt;p&gt;Taken: add |color| rule&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[Releases|&amp;amp;laquo; Release Schedule]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: thin dotted #aaa; background: InfoBackground; color: InfoText; padding: 10px;&amp;quot;&amp;gt;&#039;&#039;&#039;Hi!&#039;&#039;&#039; You may have gotten here from a web page that tried to link to a release candidate of a Firefox beta. While we&#039;re happy that you&#039;re interested in our product, it&#039;s not quite ready for public release yet, as it hasn&#039;t been properly tested or vetted. When it&#039;s ready, you&#039;ll be able to download the beta at [http://www.mozilla.com/firefox/all-beta.html www.mozilla.com/firefox/all-beta.html]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tracking document for the release of Firefox 3 Beta 5. See also:&lt;br /&gt;
* [[Firefox_3.0b5:BuildNotes|Build Activities]]&lt;br /&gt;
* [[QA/Firefox3/TestResults/Beta5|QA Activities]]&lt;br /&gt;
* [[QA/Firefox3/TestResults/Beta5/Release_Notes|Beta 5 Release Note list]]&lt;br /&gt;
* [http://l10n.mozilla.org/dashboard/ l10n Status Dashboard]&lt;br /&gt;
&lt;br /&gt;
== Who ==&lt;br /&gt;
* Overall lead: beltzner&lt;br /&gt;
* Dev lead: damons&lt;br /&gt;
* Build lead: &lt;br /&gt;
* QA lead: tchung&lt;br /&gt;
* Release Notes / Web lead: beltzner&lt;br /&gt;
&lt;br /&gt;
== Release Tracking &amp;amp; Schedule ==&lt;br /&gt;
{| class=&amp;quot;fullwidth-table&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#efefef&amp;quot; | &#039;&#039;&#039;step&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#efefef&amp;quot; | &#039;&#039;&#039;date&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#efefef&amp;quot; | &#039;&#039;&#039;status&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| en-US string freeze&lt;br /&gt;
| March 7&lt;br /&gt;
| &lt;br /&gt;
|- &lt;br /&gt;
| tree closed for baking&lt;br /&gt;
| March 18&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| l10 code frozen&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| code hand-off to build&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RCs built (en-US, locales, &amp;amp; updates)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| QA tests of RCs&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| website changes on www-trunk.stage.m.c&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| QA tests update snippets (betatest)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| QA &amp;amp; release driver handoff for release&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| Build pushes to mirrors&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| QA tests update snippets (releasetest)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| QA tests website changes&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| website changes pushed live&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| QA tests website changes, download links &amp;amp; installers&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Build enables updates&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| QA tests live snippets (beta)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| release announced&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Performance/Status_Meetings/2007-July-25&amp;diff=63274</id>
		<title>Performance/Status Meetings/2007-July-25</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Performance/Status_Meetings/2007-July-25&amp;diff=63274"/>
		<updated>2007-07-25T10:56:10Z</updated>

		<summary type="html">&lt;p&gt;Taken: using bug template, shoter url&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Performance/Status_Meetings|&amp;amp;laquo; Back to Status Meetings ]]&lt;br /&gt;
&lt;br /&gt;
== Participants ==&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
== Infrastructure ==&lt;br /&gt;
* Generate reliable, relevant performance data (already underway as talos). Talos status update? http://tinderbox.mozilla.org/MozillaTest/&lt;br /&gt;
** running against hourly builds on trunk, see MozillaTest&lt;br /&gt;
** lots of crashes with historical runs, wondering if its doable.&lt;br /&gt;
** released branch points already available on 1.8 branch.&lt;br /&gt;
** &#039;&#039;&#039;AI:robcee/alice&#039;&#039;&#039; to start using smaller Tp set&lt;br /&gt;
&lt;br /&gt;
* Discuss talos cpu usage metric&lt;br /&gt;
** cpu usage numbers... discussion on how cpu usage being calculated. &lt;br /&gt;
** going to ignore those numbers for now, no humans looking at them.&lt;br /&gt;
** &#039;&#039;&#039;AI:zach will merge changes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Areas where help is needed&lt;br /&gt;
* expand the scope of performance testing beyond Ts/Tp/TXUL/TDHMTL&lt;br /&gt;
&lt;br /&gt;
* reduce noise in tests&lt;br /&gt;
** reduce to ~1% (suggested by bz, not started)&lt;br /&gt;
** move perf tests to chrome, so we get more reliable results, and can test more than just content	&lt;br /&gt;
** &#039;&#039;&#039;AI:vlad &amp;amp; dbaron to checkin hopefully today&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* improve performance reporting and analyses:&lt;br /&gt;
** Better reports for sheriffs to easily spot perf regressions&lt;br /&gt;
** Tracking down specific performance issues&lt;br /&gt;
* stats change to track AUS usage by osversion. {{bug|382044}}. &#039;&#039;&#039;AI:justin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Priorities for infra:&lt;br /&gt;
** Generate historical baselines &lt;br /&gt;
** General profile data regularly on builds&lt;br /&gt;
** Getting the perf numbers more stable&lt;br /&gt;
** Developing the graph server to display time spent in each module&lt;br /&gt;
&lt;br /&gt;
* New ideas&lt;br /&gt;
** Question:  How are we tracking perf bugs, specifically, and are we doing this the same way we are triaging security bugs?  Can we do it the same way if not?  (&#039;&#039;&#039;AI:damon&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== Gecko: Perf discussion ==&lt;br /&gt;
&lt;br /&gt;
* Perfathon update&lt;br /&gt;
** vlad has data&lt;br /&gt;
&lt;br /&gt;
* pageload test rewrite ({{bug|387110}})&lt;br /&gt;
** since we have a chance at a clean break, we should look at how the composite scores are calculated&lt;br /&gt;
** do we still want to ignore the biggest value when computing the mean and stddev?  (there is caching and stuff that happens during the first time a page is loaded that ends up beneficially effecting subsequent page loads)&lt;br /&gt;
** do we want to more cycle more intelligently?&lt;br /&gt;
*** e.g. do we want to keep cycling (up to some max) until the stddev drops below some number?&lt;br /&gt;
*** do we want to try to intelligently throw outliers out?&lt;br /&gt;
&lt;br /&gt;
* update on [https://bugzilla.mozilla.org/show_bug.cgi?id=363258 timer resolution on windows] from Rob Arnold.&lt;br /&gt;
** Done, checked in earlier this week. &lt;br /&gt;
&lt;br /&gt;
* Talos results&lt;br /&gt;
** What&#039;s it look like for 1.8 -&amp;gt; 1.9?&lt;br /&gt;
&lt;br /&gt;
* Todo: verification of test results&lt;br /&gt;
** &#039;&#039;&#039;Fonts, valid rendering, etc.&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;TODO: Stuart: verify that concerns about talos results are addressed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* probe update&lt;br /&gt;
** stan taking over mozilla/gecko side of probe work&lt;br /&gt;
*** will get Sun&#039;s dtrace patch as well as xp-probes checked in to new toplevel dir, then work on merging the two&lt;br /&gt;
** crowder taking spidermonkey side&lt;br /&gt;
*** will be dtrace only&lt;br /&gt;
** module owners should let stan know if they have any situations that they&#039;d like to analyze, so that he has more information about how to structure the probe work.&lt;br /&gt;
*** for example, examining loading from network performance vs. loading from disk&lt;br /&gt;
** Sun guys will be here on Aug 30 to do a presentation on dtrace, followed by hands-on work with a smaller group of engineers&lt;br /&gt;
&lt;br /&gt;
=== Previous weeks ===&lt;br /&gt;
&lt;br /&gt;
* jrpof tinderbox&lt;br /&gt;
&lt;br /&gt;
* synthetic tests (TODO)&lt;br /&gt;
** put specific tests into talos framework&lt;br /&gt;
** poach mochitest performance tests&lt;br /&gt;
** individual reftest-like items&lt;br /&gt;
&lt;br /&gt;
* need to get a bunch of people looking at profiles (TODO)&lt;br /&gt;
** take up some of these meetings to sit down and look at profiles&lt;br /&gt;
** timer-based profiling is better (vtune/jprof/oprofile/etc., not quantify)&lt;br /&gt;
** TODO: vlad to generate profile for next week&#039;s meeting&lt;br /&gt;
&lt;br /&gt;
* running without Fx chrome&lt;br /&gt;
** new pageloader stuff can do this&lt;br /&gt;
&lt;br /&gt;
* examining default theme for performance issues&lt;br /&gt;
&lt;br /&gt;
* Tp vs. Tp2&lt;br /&gt;
** new pageloader stuff avoids this problem&lt;br /&gt;
** Tp2 was flawed in some ways -- one big one is that it loaded pages in an iframe, so initial paint delay was never coming into play, and we were potentially reflowing more thannecessary&lt;br /&gt;
&lt;br /&gt;
== Other Information ==&lt;br /&gt;
&lt;br /&gt;
[[Performance/Status_Meetings/Related_Bugs|Related Bugs]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Toolkit:Platform_Specific_Extension_Components&amp;diff=53439</id>
		<title>Toolkit:Platform Specific Extension Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Toolkit:Platform_Specific_Extension_Components&amp;diff=53439"/>
		<updated>2007-03-29T06:32:31Z</updated>

		<summary type="html">&lt;p&gt;Taken: using delete template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Delete|Inappropriate for this wiki --[[User:Taken|Taken]] 23:32, 28 March 2007 (PDT)}}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; font-style:italic; color: green;&amp;quot;&amp;gt;Support for platform directories was checked in and is now documented at [[mdc:Bundles]] .&amp;lt;/span&amp;gt;&lt;br /&gt;
--[[User:Jens.b|Jens.b]] 14:09, 8 Jun 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Some extensions are only intended for one platform, either because it uses things other platforms don&#039;t have (e.g. the Windows registry, like Linky does), or because they have binary components. Both the extension manager and services like http://addons.mozilla.org/ would benefit if extensions had some sort of [https://bugzilla.mozilla.org/show_bug.cgi?id=255619 platform-compatibility information as part of their metadata]. Note that themes are handled like extensions in some places, so they could include use such platform-compatibility information, too.&lt;br /&gt;
&lt;br /&gt;
However, solving this issue is not enough, as two problems remain:&lt;br /&gt;
&lt;br /&gt;
== Problem 1 ==&lt;br /&gt;
&lt;br /&gt;
A growing number of Firefox and Thunderbird extensions use compiled, binary components. To keep the cross-platform nature Extensions usually have, you have to provide these binaries for each supported platform. Currently, all these are stuffed into the components/ directory. If you put binaries for several platforms into this components/ directory, you encounter the problem that Win32 loads not only .dll files, but also tries to load linux .so ones and fails with an error message.&lt;br /&gt;
&lt;br /&gt;
The effect is that most extensions either&lt;br /&gt;
# are available in separate XPIs for each platform, posing problems for updating and http://addons.mozilla.org/ &lt;br /&gt;
# include all platform binaries in one package and employ hacks to work around the problem&lt;br /&gt;
&lt;br /&gt;
Needless to say, both alternatives aren&#039;t very appealing for extension authors.&lt;br /&gt;
&lt;br /&gt;
Another problem is that binary components have to use the same [http://en.wikipedia.org/wiki/Application_binary_interface ABI] as the host application, or they won&#039;t work. Currently, there is no way to check or enforce this - when you install a linux-gcc2-built extension into a linux-gcc3-built application, things just break.&lt;br /&gt;
&lt;br /&gt;
== Problem 2 ==&lt;br /&gt;
&lt;br /&gt;
Some themes currently need a separate Macintosh version. While platform compatibility info as part of the metadata would make it impossible for a user to accidently install the wrong package, it would certainly be nice to be able to have one multi-platform theme package that includes some generic &amp;quot;base&amp;quot; files and some platform-specific ones.&lt;br /&gt;
&lt;br /&gt;
== Conclusions ==&lt;br /&gt;
&lt;br /&gt;
We need...&lt;br /&gt;
# components that are only loaded if they were compiled for the same platform AND using the same ABI as the host application (Firefox, Thunderbird)&lt;br /&gt;
# platform-specific theme jar files, default preferences, window icons and whatever (&amp;quot;this fileset for windows, that one for mac&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== The Solution ==&lt;br /&gt;
&lt;br /&gt;
The notion of &amp;quot;platform file sets&amp;quot; is added by introducing a new subdirectory inside extension and theme packages: the &#039;&#039;&#039;platform&#039;&#039;&#039; directory. For each set of files that somehow depend on the target environment, it contains a directory named in one of the following ways:&lt;br /&gt;
&lt;br /&gt;
* [OS_TARGET]&lt;br /&gt;
* [OS_TARGET]_[ABI]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OS_TARGET&#039;&#039;&#039;&lt;br /&gt;
: The platform the host application was compiled for, e.g. WINNT, Linux, Darwin (meaning Mac OS X)...&lt;br /&gt;
&#039;&#039;&#039;ABI&#039;&#039;&#039;&lt;br /&gt;
: The application binary interface the component was built with - e.g. gcc2, gcc3, mingw, msvc.&lt;br /&gt;
&lt;br /&gt;
In each of these directories, the regular directory structure of the package (chrome, components, defaults for extensions, or the package dirs for themes) is repeated as needed.&lt;br /&gt;
&lt;br /&gt;
The Extension Manager will install the package as usual - i.e. it extracts all files in the archive. The toolkit&#039;s nsXREDirProvider is enhanced so it automatically considers not only the extension&#039;s base directory, but also the matching platform directories.&lt;br /&gt;
&lt;br /&gt;
A Firefox version built with MSVC for Windows would therefore try to load components and default preferences from directories listed below (if existing), and totally ignore any other subdirectories of platform/.&lt;br /&gt;
* components/&lt;br /&gt;
* defaults/preferences/&lt;br /&gt;
* platform/WINNT/components/&lt;br /&gt;
* platform/WINNT/defaults/preferences/&lt;br /&gt;
* platform/WINNT_msvc/components/&lt;br /&gt;
* platform/WINNT_msvc/defaults/preferences/&lt;br /&gt;
&lt;br /&gt;
Older Firefox releases would also ignore everything in platform/.&lt;br /&gt;
&lt;br /&gt;
== Example Extension Structure ==&lt;br /&gt;
 myExt.xpi:&lt;br /&gt;
    install.rdf&lt;br /&gt;
    chrome/:&lt;br /&gt;
       myExt.jar&lt;br /&gt;
    defaults/:&lt;br /&gt;
       preferences/:&lt;br /&gt;
          myExt.js&lt;br /&gt;
    platform/:&lt;br /&gt;
       Linux_gcc2/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.so&lt;br /&gt;
       Linux_gcc3/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.so&lt;br /&gt;
       WINNT/:&lt;br /&gt;
          defaults/:&lt;br /&gt;
             preferences/:&lt;br /&gt;
                myExt-win.js&lt;br /&gt;
       WINNT_msvc/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.dll&lt;br /&gt;
       WINNT_mingw/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.dll&lt;br /&gt;
&lt;br /&gt;
== Resolved Issues ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;What happens when we put chrome jar files in the platform directories - do they have to be listed in the main chrome.manifest? What if the current platform doesn&#039;t have that file, is it just ignored?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt; Each platform directory may have its own chrome.manifest:&lt;br /&gt;
&amp;lt;pre&amp;gt;chrome.manifest&lt;br /&gt;
platform/WINNT/chrome.manifest&lt;br /&gt;
platform/WINNT_msvc/chrome.manifest&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;What happens to preference files - what happens if two have the same name, in which sequence are they loaded, are prefs overwritten if specified in both the base prefs file and a platform-specific one?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt; Yes, we should read the &amp;quot;base&amp;quot; preferences first, then the platform-specific ones, and the pref system will automatically override any duplicate prefs.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bug References ==&lt;br /&gt;
&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=253742&amp;lt;br&amp;gt;No way of installing platform specific XPCOM components (dll/so) based on user OS.&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=294835&amp;lt;br&amp;gt;Need way of determining ABI in makefiles&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Feature_request_for_Mozilla_3&amp;diff=53434</id>
		<title>Feature request for Mozilla 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Feature_request_for_Mozilla_3&amp;diff=53434"/>
		<updated>2007-03-29T06:23:52Z</updated>

		<summary type="html">&lt;p&gt;Taken: Reverting my edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feature request for Mozilla 3 ==&lt;br /&gt;
&lt;br /&gt;
I would like Mozilla 3 to support user-controlled alternative style sheets.&lt;br /&gt;
&lt;br /&gt;
Let us assume that there is some site that offer alternative style sheets for the WWW pages it serves to the public. Let us further assume the styles to be named &#039;default&#039;, &#039;alt1&#039; and &#039;alt2&#039;. It might happen that when a user visits the site, he/she/it (further on referred to as &#039;she&#039;) finds that the default style does not fit her needs, but that the style &#039;alt1&#039; does. &lt;br /&gt;
&lt;br /&gt;
In her Firefox (1.5.0.7) she picks the alternate style from &#039;View -&amp;gt; Page Style -&amp;gt; alt1&#039; and all is well. Then, she follows a link to another WWW page on the site, and she once again gets the &#039;default style&#039;.&lt;br /&gt;
&lt;br /&gt;
This is very irritating. When she has picked an alternative style for the top level, she of course wants that to be in effect until she changes that - for example, for some sub-tree of the site, she wants alternative style &#039;alt2&#039;. As it is today, she can&#039;t get that. Even worse, if she returns to the first page, she will get (you guessed it) the default style. &lt;br /&gt;
&lt;br /&gt;
Below the request is written in coorporate project:&lt;br /&gt;
&lt;br /&gt;
* Mozilla 3 shall support user controlled WWW page styles.&lt;br /&gt;
* The control shall be based on existing styles for a WWW page.&lt;br /&gt;
* It shall be possible to associate a WWW page address with a specific style.&lt;br /&gt;
* The association shall be done using regular expression.&lt;br /&gt;
* The regular expression shall be the extended perl-like regexps.&lt;br /&gt;
* In the case of multiple matches, the most specific (longest) match shall be used.&lt;br /&gt;
* A dialogue to set this up for a page shall be available from a page menu.&lt;br /&gt;
* The page menu shall be available from a sight-click using a three-button mouse.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Same_Site_Multiple_Logins&amp;diff=53433</id>
		<title>Same Site Multiple Logins</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Same_Site_Multiple_Logins&amp;diff=53433"/>
		<updated>2007-03-29T06:23:31Z</updated>

		<summary type="html">&lt;p&gt;Taken: Revert my edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Several accounts with different logins for the same site eg banks, share trading etc. With Firefox have to log out from one account the log in with another. Can&#039;t log in a second time either in a new tab or a new instance of Firefox. Different instances of IE allow different logins.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Toolbar_customization&amp;diff=53432</id>
		<title>Toolbar customization</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Toolbar_customization&amp;diff=53432"/>
		<updated>2007-03-29T06:21:04Z</updated>

		<summary type="html">&lt;p&gt;Taken: Revert my edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;m really new to all this. I&#039;ve just discovered Firefox. But already I&#039;ve hit a big snag. There is no provision for rearranging tool bars, as in IE. After some reading, I found that there used to be &amp;quot;grippies&amp;quot; as they call them, for moving the tool bars around....and this feature was removed?? That baffles me....why would this most basic of features be removed?&lt;br /&gt;
Some more searching and I found an extension which claimed to be able to put this function back, but it&#039;s only compatible up to FF 1.5. &lt;br /&gt;
Well, I hope I put this suggestion in the right place. Please put this functionality back.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Debugging_a_hang_on_Mac_OS_X&amp;diff=53424</id>
		<title>Debugging a hang on Mac OS X</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Debugging_a_hang_on_Mac_OS_X&amp;diff=53424"/>
		<updated>2007-03-29T06:08:08Z</updated>

		<summary type="html">&lt;p&gt;Taken: use delete template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Delete|Inappropriate for this wiki --[[User:Taken|Taken]] 23:08, 28 March 2007 (PDT)}}&lt;br /&gt;
&lt;br /&gt;
Find out [[mdc:Debugging a hang on OS X|how to debug a hang, on Mozilla Developer Center]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=The_autocomplete_attribute_and_web_documents_using_XHTML&amp;diff=53400</id>
		<title>The autocomplete attribute and web documents using XHTML</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=The_autocomplete_attribute_and_web_documents_using_XHTML&amp;diff=53400"/>
		<updated>2007-03-29T05:39:58Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Delete|Inappropriate for this wiki. Should move to mdc. --[[User:Taken|Taken]] 22:39, 28 March 2007 (PDT)}}&lt;br /&gt;
&lt;br /&gt;
== Executive summary ==&lt;br /&gt;
&lt;br /&gt;
Many important web content producers, including banks and Google, insist on using the non-standard HTML &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute for either security or usability reasons. When writing HTML, such authors should declare and validate against a custom doctype including the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute ([http://www.benjaminhawkeslewis.com/legacymarkup/examples/html-4.01-strict-plus-autocomplete.html example HTML document]).&lt;br /&gt;
&lt;br /&gt;
However, there is currently no way to trigger the same user agent functionality with an attribute in XHTML. This constitutes an unnecessary obstacle to the adoption of XML-based markup.&lt;br /&gt;
&lt;br /&gt;
If the W3C adopts Web Forms 2.0 then this problem will be solved.&lt;br /&gt;
&lt;br /&gt;
If that doesn&#039;t happen, by adopting my solution and supporting a small XHTML module and delimited &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; microformat, browsers could enable authors serving XHTML 1.0 as text/html to trigger the same behaviour with &amp;lt;code&amp;gt;class=&amp;quot;fh disable_form_history&amp;quot;&amp;lt;/code&amp;gt; ([http://www.benjaminhawkeslewis.com/legacymarkup/examples/xhtml-1.0-strict-plus-autocomplete-html-compatible.html example XHTML 1.0 document]) and authors serving XHTML properly as application/xhtml+xml to trigger the same behaviour with a namespaced attribute (&amp;lt;code&amp;gt;fh:form_history=&amp;quot;off&amp;quot;&amp;lt;/code&amp;gt;) ([http://www.benjaminhawkeslewis.com/legacymarkup/examples/xhtml-1.1-plus-formhistory-with-dtd-draft1.xhtml example modularized XHTML document]). Those authors who wish to serve both XHTML and HTML properly using an XSL transformation would could convert to the HTML &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute with simple XSL rules.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
When Microsoft introduced [http://msdn.microsoft.com/workshop/author/forms/autocomplete_ovr.asp form AutoComplete] to the web with Internet Explorer 5 in 1999, they also &amp;quot;extended&amp;quot; the &lt;br /&gt;
&amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; and text and password &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; elements of HTML 3.2 with an [http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/autocomplete.asp &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute] which allowed site authors to disable this feature on a case-by-case basis. Gecko-based browsers gained an autocomplete feature in 2000, and by 2001 they too were forced to support the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute ([http://devedge-temp.mozilla.org/viewsource/2003/form-autocompletion/index_en.html Netscape Devedge: How to Turn Off Form Autocompletion]). The primary motivation for the attribute at that time was that banks believed disabling autocomplete was a necessary security measure for the login information on their websites, and would bar from their services browsers that had autocomplete features without support for disabling them.&lt;br /&gt;
&lt;br /&gt;
In practice, disabling autocomplete is not a particularly effective security measure. Even in the days of Internet Explorer 5, any machine could be compromised by keylogging that would of course be undeterred by a mere &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute. Thanks to the rise of User-Agent spoofing, it became increasingly difficult to exclude browsers like Opera that support form history but ignore the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute by default ([http://www.opera.com/support/usingopera/operaini/index.dml Opera&#039;s Settings File Explained]), or browsers like ELinks and OmniWeb that have form history and ignore the attribute entirely. And now that web users increasing edit the content delivered to them from the server to suit their own preferences, circumventing the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute is trivial ([http://www.squarefree.com/bookmarklets/forms.html#remember_password Remember Password Bookmarklet]) even in Mozilla browsers that claim to support it &amp;quot;perfectly&amp;quot; ([http://developer.mozilla.org/en/docs/How_to_Turn_Off_Form_Autocompletion Mozilla Developer Center: How To Turn Off Form Autocompletion]). Nonetheless, even technical opinion is divided over whether &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; offers valuable protection against casual attackers or merely lulls users and web authors into a false sense of security, leaving them vulnerable to more determined assailants.&lt;br /&gt;
&lt;br /&gt;
I don&#039;t know of a formal statement of the current attitude of banks towards &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt;, but I suspect many still believe it to be an important safeguard, notwithstanding the flaws I&#039;ve just mentioned. As late as November 2004, financial standards bodies like [http://www.apacs.org.uk/ APACS] were insisting that sensitive systems make use of the attribute and failure to use it could spell public relations disaster ([http://news.bbc.co.uk/1/hi/business/3995019.stm BBC News: Bank moves to close web loophole]). Security consultants like McAfee&#039;s Corey Benninger continue to recommend that site owners employ the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute ([http://www.internetnews.com/dev-news/article.php/3624796 Developer: Browser Cache: Goodies For Hackers]). The developers of the [http://whatwg.org/specs/web-forms/current-work/ Web Forms 2.0 specification] were forced to support the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute ([http://whatwg.org/specs/web-forms/current-work/#the-autocomplete Web Forms 2.0 Working Draft: The &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute]) even though they do not believe it offers any genuine security benefits ([http://article.gmane.org/gmane.org.w3c.whatwg.discuss/3054 Lachlan Hunt kicking off an epic thread on the subject at the WHATWG mailing list]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a non-exhaustive list of major banking groups I&#039;ve found currently making use of &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* [http://www.citigroup.com/ Citigroup]&lt;br /&gt;
* [http://www.hsbc.com/ HSBC]&lt;br /&gt;
* [http://www.bankofamerica.com/ Bank of America]&lt;br /&gt;
* [http://www.jpmorganchase.com/ JPMorganChase]&lt;br /&gt;
* [http://www.compassweb.com/index.html Compass Bank]&lt;br /&gt;
* [http://www.rbs.com/ Royal Bank of Scotland]&lt;br /&gt;
&lt;br /&gt;
In 2004, Kevin Gibb&#039;s [http://www.google.com/webhp?complete=1&amp;amp;hl=en Google Suggest] found a new use for the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute: disabling the browser&#039;s autocompletion in order to allow a website&#039;s own JavaScript autocompletion to begin with a blank &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; field. Although it is possible to achieve a similar effect without the attribute, Google has set a precendent and now such non-standard code is churned out by Ajax developers, libraries, and toolsets everywhere. For example, Ruby on Rails&#039;s autocomplete helpers use it.&lt;br /&gt;
&lt;br /&gt;
In summary, it seems that despite being non-standard, having known security flaws, being replicable with alternate techniques, and suffering from limited browser support, &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; is here to stay.&lt;br /&gt;
&lt;br /&gt;
== The Problem ==&lt;br /&gt;
&lt;br /&gt;
1. Mainstream web development should be based on common markup based on some sort of standards.&lt;br /&gt;
&lt;br /&gt;
2. When serving content is important to be accurate about what standard you are following (hence need for the Vary HTTP header, MIME types, document types, XML schema, microformats, etc), or the standards themselves become depreciated.&lt;br /&gt;
&lt;br /&gt;
2. The web is gradually transitioning from HTML to XML-based markup, helped by minority browsers that can parse the application/xhtml+xml internet media type correctly.&lt;br /&gt;
&lt;br /&gt;
3. When writing HTML, it is trivial to express the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute using the SGML standard by creating a custom DTD and using that as your doctype. You can create such a DTD by importing an HTML DTD and then simply adding the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;&amp;lt;!ATTLIST (form|input) autocomplete (on,off) #IMPLIED&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;ve put up some example DTDs at my site:&lt;br /&gt;
&lt;br /&gt;
* [http://www.benjaminhawkeslewis.com/legacymarkup/dtd/html-4.01-frameset-plus-autocomplete.dtd HTML 4.01 Frameset plus autocomplete]&lt;br /&gt;
&lt;br /&gt;
* [http://www.benjaminhawkeslewis.com/legacymarkup/dtd/html-4.01-transitional-plus-autocomplete.dtd HTML 4.01 Transitional plus autocomplete]&lt;br /&gt;
&lt;br /&gt;
* [http://www.benjaminhawkeslewis.com/legacymarkup/dtd/html-4.01-strict-plus-autocomplete.dtd HTML 4.01 Strict plus autocomplete]&lt;br /&gt;
&lt;br /&gt;
* [http://www.benjaminhawkeslewis.com/legacymarkup/dtd/iso-html-15445-2000-plus-autocomplete.dtd ISO/IEC 15445:2000 HTML plus autocomplete]&lt;br /&gt;
&lt;br /&gt;
To use such as custom doctype, simply declare it like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html SYSTEM &amp;quot;http://www.benjaminhawkeslewis.com/legacymarkup/dtd/html-4.01-strict-plus-autocomplete.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Contrary to common misapprehensions, declaring a custom DTD in this way does &#039;&#039;&#039;not&#039;&#039;&#039; trigger Quirks mode, not even in IE 5/Mac. Unrecognized doctypes with a URI are interpreted in full Standards mode. See:&lt;br /&gt;
&lt;br /&gt;
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp#cssenhancements_topic2 MSDN: CSS Enhancements in Internet Explorer 6]&lt;br /&gt;
&lt;br /&gt;
* [http://www.opera.com/docs/specs/doctype/ The Opera 9 DOCTYPE Switches]&lt;br /&gt;
&lt;br /&gt;
* [http://developer.apple.com/internet/bestwebdev.html Apple Developer Connection: Web Development Best Practices]&lt;br /&gt;
&lt;br /&gt;
* [http://developer.mozilla.org/en/docs/Mozilla&#039;s_DOCTYPE_sniffing Mozilla Developer Center: Mozilla&#039;s DOCTYPE Switching]&lt;br /&gt;
&lt;br /&gt;
* [http://www.ericmeyeroncss.com/bonus/render-mode.html Eric Meyer on CSS: Picking a Rendering Mode]&lt;br /&gt;
&lt;br /&gt;
I&#039;ve added an [http://www.benjaminhawkeslewis.com/legacymarkup/examples/html-4.01-strict-plus-autocomplete.html example document using the Strict version] to my site.&lt;br /&gt;
&lt;br /&gt;
4. The X in XHTML stands for &amp;quot;extensible&amp;quot;. But because all elements and attributes are namespaced in XML and the W3C jealously guard their XHTML namespace from extension by others, a site author may not do the same with XHTML-based markup. While it is certainly possible to build a custom XML DTD to include an &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt;, the act would be meaningless as the W3C have made it clear they would not regard documents extending the XHTML namespace in this way as even using XHTML at all ([http://www.w3.org/TR/xhtml-modularization/conformance.html#s_conform XHTML Modularization 1.1: Working Draft: Conformance Definition], also see [http://alistapart.com/articles/customdtds2/ A List Apart: More About Custom DTDs]).&lt;br /&gt;
&lt;br /&gt;
5. Therefore there is no current way to use a simple markup attribute to turn off autocompletion when using XHTML.&lt;br /&gt;
&lt;br /&gt;
== A solution? ==&lt;br /&gt;
&lt;br /&gt;
Whichever solution is adopted, it is at present only important for Mozilla, KHTML, and WebKit developers to recognize it, as (AFAIK) only browsers based on their engines both correctly parse application/xhtml+xml &#039;&#039;and&#039;&#039; claim to allow form history to be disabled by site authors.&lt;br /&gt;
&lt;br /&gt;
=== The options ===&lt;br /&gt;
&lt;br /&gt;
1. The very best solution would be to radically overhaul XHTML and JavaScript to make it easy to write secure web applications. [http://www.webappsec.org/lists/websecurity/archive/2006-08/msg00011.html Andrew van der Stock has some pointers over at the Web Application Security Mailing List.] However, that will likely take years and will still leave the problem of legacy browsers. Would-be XHTML authors need a solution to this problem now.&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;If&#039;&#039; we agree that &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; is ultimately detrimental to security, the next-best solution would be to persuade the web and financial communities to employ other techniques. Good luck with that.&lt;br /&gt;
&lt;br /&gt;
3. Failing that, a good solution would be to persuade the W3C to include the autocomplete attribute in an XHTML module similar to the [http://www.w3.org/TR/xhtml-modularization/dtd_module_defs.html#a_module_Legacy Legacy module]. When I originally drafted this proposal, I thought that would never happen, but it looks like there&#039;s a fighting chance Web Forms 2.0 (which comes in HTML and XML flavours) will be adopted by the W3C - and Web Forms 2.0 includes the &amp;quot;autocomplete&amp;quot; attribute. :) See [http://my.opera.com/community/forums/topic.dml?id=153013&amp;amp;t=1155219050 my discussion with Opera&#039;s Anne van Kesteren] and keep an eye out for Web Forms 2.0 news in September!&lt;br /&gt;
&lt;br /&gt;
4. Still let&#039;s not count our chickens until they&#039;ve hatched. Failing that, we could add browser support for a &amp;lt;code&amp;gt;formhistory&amp;lt;/code&amp;gt; attribute in a vendor neutral URI such as &amp;lt;nowiki&amp;gt;http://www.legacymarkup.org/xmlns/formhistory&amp;lt;/nowiki&amp;gt;, and implement it in a simple XHTML module. When serving the same resource as HTML following content negotiation, the XSL transformation to HTML would be trivial:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;@formhistory:formhistory=&#039;on&#039;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Replace with autocomplete attribute --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:attribute name=&amp;quot;autocomplete&amp;quot;&amp;gt;on&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;@formhistory:formhistory=&#039;off&#039;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Replace with autocomplete attribute --&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:attribute name=&amp;quot;autocomplete&amp;quot;&amp;gt;off&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(N.B. This should work, but needs testing anyhow.)&lt;br /&gt;
&lt;br /&gt;
Remember however, that (properly) HTML used in this way must use a custom doctype, as described above. Indeed, following the example of embedded XHTML accessibility roles ([http://www.w3.org/WAI/PF/adaptable/HTML4/embedding-20060318.html Embedding Accessibility Role and State Metadata in HTML Documents: Working Draft]), we could create an associated microformat ([http://microformats.org/wiki/introduction Microformats Wiki: Introduction to Microformats]) that would overload the &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; attribute. Accessibility uses &amp;quot;axs&amp;quot; as a delimiter to prevent namespace collision; we could use &amp;quot;fh&amp;quot;. So we&#039;d end up supporting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;class=&amp;quot;some_css_class some_other_css_class fh disable_form_history&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;class=&amp;quot;fh enable_form_history&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The two variations are necessary because an input might have autocomplete enabled within a form that generally wants autocomplete disabled (hat tip to Richard Moore).&lt;br /&gt;
&lt;br /&gt;
Microformatted (X)HTML could still be converted to custom HTML comprehensible to older, non-supporting user agents with an XSL transformation, something along the lines of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;xhtml:input[contains(@class,&#039;disable_form_history&#039;)]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:element name=&amp;quot;{local-name()}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;!-- Process existing attributes --&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:apply-templates select=&amp;quot;@*&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;!-- Add autocomplete attribute --&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:attribute name=&amp;quot;autocomplete&amp;quot;&amp;gt;off&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:element&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(N.B. This XSL definitely needs testing.)&lt;br /&gt;
&lt;br /&gt;
5. Other alternatives might involve using proprietary extensions, such as XUL/XBL. I suspect any implementation would be dependent on JavaScript, which would not satisfy those using &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; for putative security reasons. It would also be inferior to a cross-browser solution. However, such extensions might prove useful for backporting support for namespaced or microformated autocompletion instructions to old versions of browsers, whether Mozilla (with extensions or XUL/XBL), Konqueror (with [http://developer.kde.org/documentation/tutorials/kparts/ KParts]), or even to Internet Explorer (with [http://msdn.microsoft.com/workshop/components/htc/reference/htcref.asp HTC]). For an inspiring example of what can be achieved with such extensions, have a look at [http://w3future.com/weblog/gems/xhtml2.xml Sjoerd Visscher&#039;s XHTML 2 page at W3Future], which uses proprietary Opera CSS, XBL, and HTC to mimic XHTML 2 on current user agents.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion === &lt;br /&gt;
&lt;br /&gt;
At present the most practical option is 4, hopefully aided by 5.&lt;br /&gt;
&lt;br /&gt;
(As a sidenote, if we went down the namespaced route, we might like to create a more general &amp;lt;nowiki&amp;gt;http://www.legacymarkup.org/xmlns/legacyml&amp;lt;/nowiki&amp;gt; namespace as a retirement home for all sorts of legacy markup that the W3C would, admirably but somewhat impractically, ignore.)&lt;br /&gt;
&lt;br /&gt;
== How would Option 4 help web authors if implemented? ==&lt;br /&gt;
&lt;br /&gt;
Option 4 would affect web authors differently depending on what sort of markup and internet media (MIME) type they are using.&lt;br /&gt;
&lt;br /&gt;
=== Authors who want to use &#039;&#039;only&#039;&#039; HTML ===&lt;br /&gt;
&lt;br /&gt;
If they declare that they are authoring according to a W3C HTML doctype, but use the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute then they are simply generating junk markup (as has always been the case). What they should do is use a custom DTD (as described above). Because of browser support, this is the best option for those who want to use &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; for security.&lt;br /&gt;
&lt;br /&gt;
My suggestion would allow developers to author HTML according to W3C DTDs and disable autocompletion in supporting browsers, using a namespaced class like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;INPUT TYPE=&amp;quot;text&amp;quot; CLASS=&amp;quot;fh disable_form_history&amp;quot; NAME=&amp;quot;sensitive ID=&amp;quot;sensitive&amp;quot;&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would be a great option for people creating Ajax applications like Google Suggest.&lt;br /&gt;
&lt;br /&gt;
=== Authors who want to use &#039;&#039;only&#039;&#039; XHTML ===&lt;br /&gt;
&lt;br /&gt;
I cannot emphasize enough that the use of the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute is currently utterly &#039;&#039;impossible&#039;&#039; in XHTML documents. With my proposal implemented, authors could at last use an attribute that does the same thing as the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute. Browser support would be less widespread, but browser support for XHTML as a whole is less common and browser support for the attribute is patchy in the first place (e.g. Opera, ELinks, etc.).&lt;br /&gt;
&lt;br /&gt;
Using my attribute would require the import of a namespace (and ideally a suitable doctype). Such imports are common in the XHTML world, as they are required to mix in goodies like SVG, MathML, and XForms. Here&#039;s what such a document might look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC&lt;br /&gt;
    &amp;quot;-//LegacyMarkup//DTD W3C XHTML 1.1 plus FormHistory&amp;quot;&lt;br /&gt;
    &amp;quot;http://www.legacymarkup.org/2006/08/xhtml-formhistory/xhtml-formhistory.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xml:lang=&amp;quot;en&amp;quot; &lt;br /&gt;
	xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &lt;br /&gt;
	xmlns:fh=&amp;quot;http://www.legacymarkup.org/xmlns/formhistory&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Example document&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form action=&amp;quot;http://www.example.com/someaction&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;label for=&amp;quot;non_sensitive&amp;quot;&amp;gt;Your non-sensitive data:&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;!-- UAs implementing the HTML autocomplete attribute&lt;br /&gt;
 SHOULD autocomplete this field (the default behaviour): --&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;non_sensitive&amp;quot; id=&amp;quot;non_sensitive&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;label for=&amp;quot;sensitive&amp;quot;&amp;gt;Your sensitive data:&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;!-- UAs implementing the HTML autocomplete attribute &lt;br /&gt;
SHOULD NOT autocomplete this form: --&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; fh:formhistory=&amp;quot;off&amp;quot; name=&amp;quot;sensitive&amp;quot; id=&amp;quot;sensitive&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Authors who want to write XHTML 1.0, but use content negotiation to serve XHTML 1.0 as text/html (i.e. tag soup) to user agents that don&#039;t support XHTML ===&lt;br /&gt;
&lt;br /&gt;
This group *must not* use the existing autocomplete attribute when serving as text/html (because it&#039;s not XHTML), and (I think) *must not* use the proposed namespaced attribute (because it&#039;s not HTML). But it is trivial for them to use the proposed microformat in ordinary XHTML 1.0, just like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; class=&amp;quot;fh disable_form_history&amp;quot; name=&amp;quot;sensitive id=&amp;quot;sensitive&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Authors who want to write XHTML, but use content negotiation to serve HTML as text/html to user agents that don&#039;t support XHTML ===&lt;br /&gt;
This is the group to whom the XSL transformations are relevant. Serving &#039;&#039;both&#039;&#039; XHTML and HTML requires a transformation, usually using XSL. My suggestion would require one additional template rule. Given such authors will often be transforming not only vanilla XHTML, but XForms, SVG, etc. to HTML equivalents, such a template rule is but a drop in an ocean of XSL complexity. (I expect such complexity to be increasingly standardized as XHTML is more widely adopted.)&lt;br /&gt;
&lt;br /&gt;
== Appendix A: What about WHATWG? ==&lt;br /&gt;
&lt;br /&gt;
Update: If Web Forms 2.0 is adopted by the W3C, then the namespace issues I discuss below will disappear.&lt;br /&gt;
&lt;br /&gt;
I welcome and support the work of WHATWG on Web Forms 2.0 and Web Applications 1.0. When Web Forms 2.0 is finalized, it seems set to become a welcome addition to the HTML armoury. Unfortunately, I do not believe it currently offers much to help XHTML authors. Unlike my microformat, Web Forms 2.0 offers nothing at all to authors of XHTML 1.0: there is no way to incorporate its &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute in their markup. And unlike my namespaced attribute, its &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; currently cannot be legitimately included in an modular XHTML document, as far as I can tell. Although Web Forms 2.0 claims to be XHTML as well as HTML, it seems incompatible with the W3C&#039;s specifications for XML markup, according to which only the W3C alone is allowed to extend the &amp;quot;http://www.w3.org/1999/xhtml&amp;quot; namespace. [http://whatwg.org/specs/web-forms/current-work/#xhtml-module-def The Web Forms 2.0 XHTML Module] is at present an only a curiosity. By extending this namespace, it violates the [http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/conformance.html#s_conform_module W3C&#039;s own specification for XHTML Family Modules]: &amp;quot;The module definition&#039;s elements and attributes must be part of an XML namespace [XMLNAMES]. If the module is defined by an organization other than the W3C, this namespace must NOT be the same as the namespace in which other W3C modules are defined.&amp;quot; Nor, judging by the [http://www.w3.org/TR/xhtml-modularization/conformance.html#s_conform_module Working Draft for the next version of the Modularization specification], is that requirement likely to change in the future. So Web Forms cannot be part of a conforming XHTML host language or XHTML integration set document - that is, it cannot claim XHTML conformance of any sort that would currently be recognized by the W3C.&lt;br /&gt;
&lt;br /&gt;
The [http://www.w3.org/Submission/2005/02/Comment W3C Team Comment on Web Forms 2.0 Submission] shows no sign of the W3C budging on this issue. Conversely, WHATWG have so far rejected pleas to place WHATWG elements and attributes in an XML namespace other than &amp;quot;http://www.w3.org/1999/xhtml&amp;quot;. This perhaps isn&#039;t terribly surprising, given that WHATWG arose in the context of an [http://www.w3.org/2004/04/webapps-cdf-ws/papers/opera.html Opera and Mozilla position paper] openly critical of namespace overuse. See also the following threads on the WHATWG mailing list:&lt;br /&gt;
&lt;br /&gt;
1. [http://listserver.dreamhost.com/pipermail/whatwg-whatwg.org/2004-June/000286.html Is this introducing incompatibilities with future W3C work? (June 2004)]&lt;br /&gt;
&lt;br /&gt;
2. [http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2004-July/001267.html clear naming for WHAT work (July 2004)]&lt;br /&gt;
&lt;br /&gt;
It is not yet clear whether this divergence between the W3C and WHATWG on namespacing in XHTML modularization should matter. But clearly for those to whom it does matter, Web Forms offers no solution to the problem addressed by this proposal.&lt;br /&gt;
&lt;br /&gt;
Having said that, I think there is a strong case for implementations of Option 4 to allow room to adapt any changes by Web Forms 2.0 to the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute to the XHTML world. One question for discussion is whether Option 4 should mimic Web Forms&#039;s requirement that: &amp;quot;Support for the attribute should be enabled by default, and the ability to disable support should not be trivially accessible, as there are significant security implications for the user if support for this attribute is disabled.&amp;quot; Notably, Opera currently disables support by default, and the ability to enable support is not trivially accessible.&lt;br /&gt;
&lt;br /&gt;
== Appendix B: Autocomplete alternatives ==&lt;br /&gt;
&lt;br /&gt;
Some readers may be interested in what else is possible with present technology and markup.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
1. You could try educating your users in the dangers of public and unsecured machines, and in how to use their browser&#039;s autocompletion functionality selectively. In particular, warn them of the dangers even from from acquaintances and family, who are the perpetrators in around 11% of UK identify fraud ([http://www.cifas.org.uk/reports_what_about_the_victim.asp CIFAS Research: Identify Fraud -- What About the Victim?]). Unfortunately, your users are unlikely to have the same interest in the subject that you have -- until their identity is compromised. Even if they&#039;re interested, the majority of internet users are a poor match for more technically sophisticated crooks. This, ultimately, is a serious practical flaw in the argument advanced by Lachlan Hunt and others that site authors have no &amp;quot;right&amp;quot; to restrict web clients&#039; use of autocompletion.&lt;br /&gt;
&lt;br /&gt;
2. Instead of an &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute, consider using a [http://en.wikipedia.org/wiki/Nonce nonce (Wikipedia)].&lt;br /&gt;
&lt;br /&gt;
Let&#039;s say you have a field like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;my_sensitive_data&amp;quot; autocomplete=&amp;quot;off&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You could replace that with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;my_nonce&amp;quot; value=&amp;quot;dLafr5aCo0pH7eyo&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;dLafr5aCo0pH7eyo&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here &amp;quot;dLafr5aCo0pH7eyo&amp;quot; is a value generated randomly server-side for each request of the form. On submission, the server simply reads the value of the field named &amp;quot;dLafr5aCo0pH7eyo&amp;quot; into &amp;quot;my_sensitive_data&amp;quot;. While form data will be remembered by the browser, it will never be used for autocompletion because the name of the relevant field is different each time. This method has the advantage of being fully compatible with the W3C&#039;s HTML and XHTML specification and it does protect the user from their sensitive data simply appearing in fields when someone else uses their computer. However, it obviously offers no protection against someone able to read their stored personal data.&lt;br /&gt;
&lt;br /&gt;
3. Consider using a two-factor system including a one-shot password, as with [http://en.wikipedia.org/wiki/TAN_(banking) TAN (Wikipedia)], which might be distributed via a list, SMS, or a custom hardware device like [http://www.securecomputing.com/index.cfm?skey=21 SafeWord]. Be aware that to some extent this merely converts an electronic security problem into a physical one, and that some users will run a mile when faced with the need for yet another gadget.&lt;br /&gt;
&lt;br /&gt;
=== JavaScript autocompletion ===&lt;br /&gt;
&lt;br /&gt;
The nonce method described above is a good candidate here.&lt;br /&gt;
&lt;br /&gt;
Although Google Suggest does use the &amp;lt;code&amp;gt;autocomplete&amp;lt;/code&amp;gt; attribute, there are Ajax libraries that achieve similar effects without it.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Mozilla_Prototypes&amp;diff=53392</id>
		<title>Mozilla Prototypes</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Mozilla_Prototypes&amp;diff=53392"/>
		<updated>2007-03-29T05:19:44Z</updated>

		<summary type="html">&lt;p&gt;Taken: add link to mozilla labs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Goals ==&lt;br /&gt;
&lt;br /&gt;
The goal of Mozilla Labs (&amp;quot;[[Labs]]&amp;quot; for short) is to augment the existing product development process by offering a low-barrier-to-entry environment for discussion, creation and proof-of-concept testing for Mozilla technologies. Labs will be operated as an advanced technology group with a heavy implementation and usability focus rather than a pure research laboratory. It will be a public showcase for some of the innovation emanating from Mozilla and the community.&lt;br /&gt;
&lt;br /&gt;
Labs will be mostly a web site and a brand of Mozilla where experimentation is valued. It will host extensions, experimental builds, and potentially new packagings or new products, so that interested users can obtain and use them, and, just as important, a forum for collecting feedback, suggestions, etc. Mozilla Labs will be mostly virtual, in that there won&#039;t be a cadre of researchers here at Mozilla doing the work (at least not for now), and we&#039;ll be working with partners to do experiments that we think are relevant and warrant consideration for building into future product releases.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
The Mozilla Foundation and Corporation have established goals of promoting choice and innovation on the Internet. The current set of products and technologies that Mozilla offers are incredible feats of engineering but are often encumbered by schedules and deadlines, backwards compatibility, time to market, feature design inertia, project and product risk, etc...&lt;br /&gt;
&lt;br /&gt;
Labs will offer Mozilla employees, community members and interested startup/corporate partners the ability to suggest, experiment, innovate and try out new concepts in Internet technologies. This will be done &amp;quot;off&amp;quot; the current product development cycle and will not be tied to upcoming releases and their schedules.&lt;br /&gt;
&lt;br /&gt;
== Model ==&lt;br /&gt;
&lt;br /&gt;
There are lots of different models for how R&amp;amp;D labs can be run.&lt;br /&gt;
* Google has the 20% time for engineers and selected projects make it to [http://labs.google.com Google Labs] for external visibility and testing. Google presents the offerings in either alpha or beta state.&lt;br /&gt;
* Yahoo! offers [http://next.yahoo.com/ Yahoo! Next] to showcase beta offerings, Idea Factory for idea submission, and Hack! (Yahoo-Internal access only) for internal experiments.&lt;br /&gt;
* AOL has recently introduced [http://greenhouse.aol.com/ Greenhouse] for internally developed previews and prototypes.&lt;br /&gt;
&lt;br /&gt;
There are Mozilla-related project sites such as [http://mozdev.org/ MozDev] and [http://sourceforge.net/ SourceForge] and existing extensions sites such as [https://addons.mozilla.org/ Mozilla Add-ons].&lt;br /&gt;
&lt;br /&gt;
We expect the model for Mozilla Labs to evolve over time but the current thinking is that it will be a hybrid of Google Labs &amp;amp; SourceForge. A limited set of focused projects (determined by Mozilla) with associated discussion and source code (when appropriate) available for review.&lt;br /&gt;
&lt;br /&gt;
It will mostly be mostly a virtual &amp;quot;organization&amp;quot; and hosted online.&lt;br /&gt;
&lt;br /&gt;
== Process ==&lt;br /&gt;
&lt;br /&gt;
Ideas and projects can be thought of as being in a pipeline. Some can be at the concept or idea stage being formed, others are thought out enough that a mockup can be developed, others can be prototyped, while others are ready for user testing.&lt;br /&gt;
&lt;br /&gt;
A set of tools will be introduced to facilitate the discussion of potential ideas and projects. Then, a small set of projects will be initiated and run for a fixed durations. After the fixed duration, an evaluation is conducted to determine if the project should be continued for another run, be modified with new directions for investigation, graduated as a candidate feature for Firefox (or other product), or documented, archived and terminated. Multiple projects can be run simultaneously but likely no more than 5 at any one time.&lt;br /&gt;
&lt;br /&gt;
The scope of the projects can include a wide variety of interest areas for Mozilla. For example:&lt;br /&gt;
* Core Firefox features (e.g. Yahoo Frecency experiments, social and remote bookmarking experiments, microformat display/parsing)&lt;br /&gt;
* Services Integration (e.g. What does a eBay/Amazon-enabled browser look like?)&lt;br /&gt;
* Mozilla Web Services (e.g. online storage for extensions)&lt;br /&gt;
* Local Storage (e.g. experiments with SQL Lite - local AJAX)&lt;br /&gt;
* Visual Identity (e.g. What should the next generation of Firefox browser look like?)&lt;br /&gt;
* Non-PC Devices (e.g. Minimo, Firefox on TV/10-foot UI)&lt;br /&gt;
* Presence (e.g. how should online presence be reflected in the browser?)&lt;br /&gt;
* Platform technologies (e.g. Should Mozilla offer an API to XYZ?)&lt;br /&gt;
* User Privacy &amp;amp; Identity (e.g. Should Mozilla promote initiatives such as AttentionRecorder? OpenID?)&lt;br /&gt;
* Media Integration (Is there a new UI we can introduce for sharing, discovering videos, photos?)&lt;br /&gt;
* etc...&lt;br /&gt;
&lt;br /&gt;
In this process, we expect to learn a lot from both the successful and unsuccessful projects. The feedback will be documented incorporated as lessons into the product development process. The proposed evaluation process will ensure that we do not over-invest in an area without a clear outcome.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
It is recommended that a separate operating environment be setup so as to not encumber existing production tools and codebases.&lt;br /&gt;
&lt;br /&gt;
* Mini website (labs.mozilla.org) with overview, current projects, project pages, relevant links, downloads?&lt;br /&gt;
* Forum/newsgroup for discussion of new project ideas, proposals, current projects, etc...&lt;br /&gt;
* Wiki for project lists, project pages, permanent and evolving documentation&lt;br /&gt;
* Private CVS/Subversion tree for collaborative development&lt;br /&gt;
* Bugzilla instance for project-specific bug tracking, feature requests, etc...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timing &amp;amp; Staffing ==&lt;br /&gt;
&lt;br /&gt;
The intention is to launch in time with the release of Firefox 2.0 and support the innovation and platform messaging.&lt;br /&gt;
&lt;br /&gt;
For staffing:&lt;br /&gt;
* Basil Hashem for overall process management &lt;br /&gt;
* Startup/corporate fractional participation&lt;br /&gt;
* Fractional time from Mozilla engineers, IT, Release/Build, QA, marketing, executive&lt;br /&gt;
* Rely on existing shared IT services for Mozilla&lt;br /&gt;
* Potential engineering new hires&lt;br /&gt;
&lt;br /&gt;
== Oversight &amp;amp; MetaWork ==&lt;br /&gt;
&lt;br /&gt;
* Monthly and on-demand status reports will be generated for project tracking, highlighting accomplishments and documenting learnings&lt;br /&gt;
* Some PR &amp;amp; marketing needs to be done in order to drive traffic to the new site and get momentum&lt;br /&gt;
&lt;br /&gt;
== Technical Process ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Stage 1: Sourcing ideas&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mozilla &amp;quot;Prototypes&amp;quot; will be completely open for sourcing of ideas. They can come from anywhere including Mozilla employees, community contributors, startups/corporates, universities, marketing partners, research labs, the extended Mozilla circle, users, etc... The ideas will be documented and categorized onto a wiki or suggestion box application. This is a continuous process.&lt;br /&gt;
&lt;br /&gt;
A rating system will be introduced in order to bubble up the most interesting ideas to the top.&lt;br /&gt;
&lt;br /&gt;
Ideally, a project should be documented as a proposal that include a hypothesis that need to be tested, an idea that needs to be validated (or refuted), a technical feasibility, a design that need to be created, a comparison of alterate designs or approaches, or a question that needs to be answered. Projects should not be completely &amp;quot;open ended&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Stage 2: Launching and Running Projects&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Labs will evaluate the project proposals and based on staffing and strategic interests select a handful of projects to be run simultaneously. The project proposal will be refined, staffing and duration will be set and necessary infrastructure (wiki, bugzilla, cvs, etc...) for each project will be created.&lt;br /&gt;
&lt;br /&gt;
Here are some notes from mconnor on guidelines for how work on Firefox might flow:&lt;br /&gt;
* Form a small team - 2-3 hackers, 0.5 UI person, 0.5 visual/graphics person, and a triage/QA helper (optional)&lt;br /&gt;
* Firefox-related projects will not be run on the mainline or the trunk.&lt;br /&gt;
* Base work on most recent Firefox release branch, use build-config magic to replace Firefox pieces with forked bits.&lt;br /&gt;
* High risk/high reward work that doesn&#039;t belong on the main dev path (distracting from mainline development and testing)&lt;br /&gt;
* New features have a shelf life, either they are good enough for n+1 or they&#039;re not.  If they&#039;re not, they get dropped aggressively.&lt;br /&gt;
* Little to no build team resources needed (tinderbox/nightly builds, milestones are just nightlies)&lt;br /&gt;
* Focus on rapid iteration over clean code (we can reimplement cleanly if the idea pans out)&lt;br /&gt;
* Successful features get ported to the product by the mainline team at the appropriate times&lt;br /&gt;
&lt;br /&gt;
For UI-focused projects:&lt;br /&gt;
* Build prototypes using tools&lt;br /&gt;
* Draw information models and user task/data flow diagrams&lt;br /&gt;
* Consider user testing in a focus group&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Stage 3: Project Evaluation&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At the end of a project, the evaluation will take place to determine the lessons learned and future fate of a project.&lt;br /&gt;
&lt;br /&gt;
== Mantras &amp;amp; Cautions ==&lt;br /&gt;
* &amp;quot;Ideas are nice but code and working prototypes rock!&amp;quot;&lt;br /&gt;
* &amp;quot;Don&#039;t show unfinished prototypes to stupid people&amp;quot;&lt;br /&gt;
* How to deal with current business feasibility constraints for an experiment?&lt;br /&gt;
* How to ensure that we focus on building and testing the solution rather than how to package it, clean it up and sell it to the organization&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Fixing_transparent_PNGs&amp;diff=53385</id>
		<title>Fixing transparent PNGs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Fixing_transparent_PNGs&amp;diff=53385"/>
		<updated>2007-03-29T05:08:48Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Delete|This page is inappropriate for this wiki.How about [http://en.wikibooks.org/ Wikibooks] --[[User:Taken|Taken]] 22:08, 28 March 2007 (PDT)}}&lt;br /&gt;
&lt;br /&gt;
Sadly, a large percentage of Internet users use Internet Explorer for Windows as their primary web browser. Among other problems, this browser doesn&#039;t properly support [[w:en:Portable Network Graphics|PNG]] images with alpha channel transparency. This has given rise to the myth that &#039;&#039;IE doesn&#039;t support transparent PNGs&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
IE &#039;&#039;does&#039;&#039; support transparency in indexed-color PNG images in which a color is reserved for transparency: in most cases this is going to mean saving as 8-bit rather than 24-bit. This method forces sharp edges to the transparency, just like in transparent GIFs, but you&#039;ll feel more virtuous using PNGs instead of GIFs (which are still patent-encumbered in a few parts of the world, and are also generally a little bit larger in filesize.).&lt;br /&gt;
&lt;br /&gt;
IE can also display full PNG transparency using the AlphaImageLoader.  There is a cross-browser example of this at [http://www.nrkn.com/alpha/ http://www.nrkn.com/alpha/].&lt;br /&gt;
&lt;br /&gt;
== Fixing PNGs with the Gimp ==&lt;br /&gt;
&lt;br /&gt;
[http://www.gimp.org/ The Gimp] is a [[w:en:Free software|free program]] for manipulating digital images; it&#039;s available for Linux and Unix (including Mac OS X) and Windows.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re stuck with a 24-bit transparent PNG with an alpha channel and want it to be Internet Explorer-friendly, you can load it up in the Gimp and convert it to indexed mode. (Under the &amp;quot;Image&amp;quot; menu, highlight &amp;quot;Mode&amp;quot; and then select &amp;quot;Indexed...&amp;quot;. The default settings of the window that pops up should be okay; hit &amp;quot;OK&amp;quot; and then save your new file.)&lt;br /&gt;
&lt;br /&gt;
=== Nasty edges ===&lt;br /&gt;
&lt;br /&gt;
Often this will produce ugly harsh edges, which you don&#039;t want. You want &#039;&#039;smooth pretty&#039;&#039; edges.&lt;br /&gt;
&lt;br /&gt;
You can fake this for most purposes as long as you know what kind of backgrounds the image will cover; an icon or logo for a MediaWiki site will usually only sit over backgrounds of white, light grey, or light yellow. Before converting to indexed color, force the image to have a solid background by creating a new layer; fill it with color #eeeeee (light gray), and flatten the image. Use the select by color tool to select the gray and clear it to transparency (you might have to add an alpha channel first, I forget).&lt;br /&gt;
&lt;br /&gt;
Now there are harsh edges between transparency and the very light gray halo around your pretty logo... when superimposed on the expected backgrounds this will look &#039;&#039;good enough&#039;&#039;. It&#039;s not perfect, but hey.&lt;br /&gt;
&lt;br /&gt;
Convert to indexed color and save.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note that these same steps work for making a GIF if you really want to. But, y&#039;know, GIFs are bad or something.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternatively&#039;&#039;&#039;, with the Gimp you can make a normal (unindexed, RGB image with alpha channel) PNG and select the option to save the background-color. This way IE will display the saved background color while better browsers will display transparency as intended.&lt;br /&gt;
&lt;br /&gt;
==Fixing PNGs with Paint Shop Pro==&lt;br /&gt;
These directions only apply for PSP v. 8. And maybe 7. I&#039;m not really sure about that one, though. Load up the transparent PNG, and just like in the GIMP, create a #cccccc layer underneath. Then (this is the easy part) go to &#039;&#039;File&#039;&#039;/&#039;&#039;Export&#039;&#039;/&#039;&#039;&#039;PNG Optimizer&#039;&#039;&#039;. Select &amp;quot;Palette-based&amp;quot;, and then select the &amp;quot;Optimized Octree&amp;quot; palette, and then in the Transparency tab, select &amp;quot;Single-color transparency&amp;quot;, and select &amp;quot;Areas that match this color&amp;quot;. Make sure tolerance is 0. Click the colored box, and enter &amp;quot;#CCCCCC&amp;quot; in the HTML code box. Then, depending on the size of the file, you can choose to interlace it or not (your choice, but big files would be better smaller), and then save it to the location of your choice. Upload it to a wiki.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; if a wiki has a different background color on their imageboxes, use it in the HTML code box rather than &amp;quot;#CCCCCC&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Optimizing download size ===&lt;br /&gt;
&lt;br /&gt;
An 8-bit PNG (or GIF) will usually be about half the size of a 24-bit truecolor PNG of the same image. That&#039;s good!&lt;br /&gt;
&lt;br /&gt;
You can also optimize download size by reducing the number of colors in the output and disabling dithering in the conversion, though don&#039;t do it at the expense of the picture looking good.&lt;br /&gt;
&lt;br /&gt;
== Fixing PNGs in Photoshop ==&lt;br /&gt;
&lt;br /&gt;
Well, I wouldn&#039;t. Photoshop screws up PNG output with things like bad gamma.&lt;br /&gt;
&lt;br /&gt;
The only way to save an 8 bit png from photoshop is to use the export for web feature:&lt;br /&gt;
: &#039;&#039;File -&amp;gt; Save for Web&#039;&#039; (Control-Alt-Shift-S)&lt;br /&gt;
&lt;br /&gt;
Otherwise, Photoshop insists on saving a 24 bit image, with an alpha channel if you use transparency.&lt;br /&gt;
&lt;br /&gt;
In general, from Photoshop, whatever format you save to, it is a good idea to use Save for Web if the image is intended for the web.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=QA/TDAI/Inventory&amp;diff=53380</id>
		<title>QA/TDAI/Inventory</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=QA/TDAI/Inventory&amp;diff=53380"/>
		<updated>2007-03-29T04:56:08Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft}}&lt;br /&gt;
&lt;br /&gt;
=== Suites? Harnesses? Tests? ===&lt;br /&gt;
&lt;br /&gt;
We all want quality to happen. How can we help? What is being run? What can I run something with? What does any of this mean? Not all questions are answered, but some.&lt;br /&gt;
&lt;br /&gt;
This document has three sections:&lt;br /&gt;
&lt;br /&gt;
# Test Harnesses - tools, designed to run tests. A harness may be targeted to a specific set of tests, or general to many kinds of tests. What test do you want to see run? Different harnesses could be used to run a given test. Which harness is better for which kinds of testing? &amp;lt;i&amp;gt;kinds of testing?&amp;lt;/i&amp;gt;&lt;br /&gt;
# Test Suites - arbitrary groupings of test cases, roughly organized by functional area&lt;br /&gt;
# Test Infrastructure - the environments the test tools and test cases run in. This includes machine, operating system and physical location (ex: QA farm vs QA lab vs someone&#039;s desktop)&lt;br /&gt;
&lt;br /&gt;
There are questions to be answered about any of our tests. If anyone has information or suggestions, please [mailto:rkiddy@mozilla.com let us know].&lt;br /&gt;
&lt;br /&gt;
# What tests do we have now, how current are they and how they should be run? Should they be expected to pass?&lt;br /&gt;
# What features or modules need tests to be written for them? What are the requirements of the testing that should happen?&lt;br /&gt;
# What tools do we have now that can be used to write tests? What tools outside of mozilla have people used to build tests and test tools.&lt;br /&gt;
# Of the tests currently in existence, which of them are outside the &amp;quot;mozilla.org&amp;quot; umbrella? Which use resources from outside? What is the reliability and accessibility of these resources? Are there issues which keep us  from keeping local copies?&lt;br /&gt;
&lt;br /&gt;
Any questions and suggestions are welcome!&lt;br /&gt;
&lt;br /&gt;
=== Criteria for Colors ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;NOTE&#039;&#039;&#039;: that judgments are subjective and not &amp;quot;hard and fast&amp;quot;. Caring enough to discuss will change a rating. Not caring enough to discuss is explanation enough.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Green: Generously defined now. Info is current or findable. Something is buildable and runnable by someone. There may still be obvious improvements needed.&lt;br /&gt;
* Yellow: Little may be known. Probably not completely broken. Work to bring current is unknown.&lt;br /&gt;
* Red: Obviously broken or missing. Info not findable. People not locatable.&lt;br /&gt;
&lt;br /&gt;
= Test Harnesses =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;fullwidth-table&amp;quot;&lt;br /&gt;
!Test Harness Name&lt;br /&gt;
!Brief Description&lt;br /&gt;
!Language Used&lt;br /&gt;
!Status of Harness&lt;br /&gt;
!Notes&lt;br /&gt;
|- &lt;br /&gt;
| MochiTest&lt;br /&gt;
| built by [mailto:sayrer@gmail.com sayrer] using the [http://www.mochikit.com MochiKit] framework&lt;br /&gt;
| JavaScript&lt;br /&gt;
| Automation being set up on QA Farm. Exec by community is possible.&lt;br /&gt;
| [[mdc:Writing MochiTest-based unit tests|mochitest]]&lt;br /&gt;
|-&lt;br /&gt;
| reftest&lt;br /&gt;
| comparison of two pages, via JavaScript and Canvas, for visual equivalency&lt;br /&gt;
| JavaScript&lt;br /&gt;
| runnable on built trunk. There is a list of [[mdc:reftest opportunities files|reftest opportunities]], but it is not clear if we want to use them.&lt;br /&gt;
| [[mdc:Creating reftest-based unit tests|reftest]]&lt;br /&gt;
|-&lt;br /&gt;
| xpcshell&lt;br /&gt;
| used by 40+ tests, plans for use by many more&lt;br /&gt;
| JavaScript&lt;br /&gt;
| recent care and feeding, very usable&lt;br /&gt;
| [[mdc:Writing_xpcshell-based_unit_tests|xpcshell]]&lt;br /&gt;
|-&lt;br /&gt;
| eggplant&lt;br /&gt;
| &lt;br /&gt;
| uses VNC for device-level visual comparisons&lt;br /&gt;
| Being used for automation of Smoke Tests suites in [http://litmus.mozilla.org litmus]&lt;br /&gt;
| [http://www.redstonesoftware.com/ redstone]&lt;br /&gt;
|-&lt;br /&gt;
| litmus&lt;br /&gt;
| Catalog of manual test cases. [[Litmus|Being developed]] to allow community to [http://litmus.mozilla.org/run_tests.cgi run] the manual smoke tests, BFT, FFT and L10n tests. [http://litmus.mozilla.org/search_results.cgi GUI to capture results] and provide feedback to the QA team.  Reporting function to check test and platform coverage.&lt;br /&gt;
| English, German, French, etc.&lt;br /&gt;
| The place to be on Community Test Day! Still in refinement by [mailto:zlipton@mozilla.com zlipton] and [mailto:ccooper@deadsquid.com coop]. 2445 test cases, 1994 tester accounts with 845 active &lt;br /&gt;
| [http://litmus.mozilla.org litmus]&lt;br /&gt;
|-&lt;br /&gt;
| T*&lt;br /&gt;
| perf tests, runs in tinderbox&lt;br /&gt;
|&lt;br /&gt;
| running, passing, run by tinderbox&lt;br /&gt;
| [[MozillaQualityAssurance:Performance_Testing|wiki]]&lt;br /&gt;
|-&lt;br /&gt;
| test.js&lt;br /&gt;
| custom harnesses&lt;br /&gt;
| JavaScript&lt;br /&gt;
| an opportunity for consolidation&lt;br /&gt;
| [http://lxr.mozilla.org/mozilla/source/toolkit/components/feeds/test/test.js] [http://lxr.mozilla.org/mozilla/source/suite/common/history/history-test.js] [http://lxr.mozilla.org/mozilla/source/webtools/lxr/tests/syntax-highlighting/test.js] [http://lxr.mozilla.org/mozilla/source/intl/strres/tests/strres-test.js] [http://lxr.mozilla.org/mozilla/source/content/xslt/tests/buster/buster-test.js] [http://lxr.mozilla.org/mozilla/source/content/xslt/tests/XSLTMark/XSLTMark-test.js] [http://lxr.mozilla.org/mozilla/source/cck/muc/test/test.js] [http://lxr.mozilla.org/mozilla/source/js2/tests/js/dinkytest.js] [http://lxr.mozilla.org/mozilla/source/layout/tools/reftest/reftest.js] [http://lxr.mozilla.org/mozilla/source/js/tests/js1_2/regexp/test.js] [http://lxr.mozilla.org/mozilla/source/js/jsdj/test/jsdb.bat] [http://lxr.mozilla.org/mozilla/source/js/jsd/jsdb/test.js] [http://lxr.mozilla.org/mozilla/source/js/src/xpconnect/tests/js/old/simpletest.js] [http://lxr.mozilla.org/mozilla/source/js/rhino/toolsrc/org/mozilla/javascript/tools/debugger/test.js] [http://lxr.mozilla.org/mozilla/source/extensions/webservices/interfaceinfo/tests/ifaceinfotest.js] [http://lxr.mozilla.org/mozilla/source/extensions/sql/sqltest/sqltest.js]&lt;br /&gt;
|-&lt;br /&gt;
| Spider&lt;br /&gt;
| crawls a site to specified depth, loading CSS, executing JS along the way.&lt;br /&gt;
| JavaScript&lt;br /&gt;
| used only for the [http://lxr.mozilla.org/mozilla/source/js/tests js/tests] by [mailto:bc@mozilla.com bc], et al, for JS testing&lt;br /&gt;
| [http://bclary.com/projects/spider/ bc]&lt;br /&gt;
|-&lt;br /&gt;
| build/make&lt;br /&gt;
| a [[Creating_StandAlone_Executable_Tests|standard for invoking stand-alone test executables]], and for integrating invocation of other harnesses into MoCo automated systems&lt;br /&gt;
| &lt;br /&gt;
| &amp;quot;make check&amp;quot; is accepted standard, being integrated with buildbot&lt;br /&gt;
| [http://tinderbox.mozilla.org/showbuilds.cgi?tree=MozillaTest tinderbox]&lt;br /&gt;
|-&lt;br /&gt;
| XULUnit&lt;br /&gt;
| &amp;quot;XulUnit is a simple, yet powerful and easy to use framework for Unit Testing in XUL applications (XPFE).&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| any info known? please [mailto:rkiddy@mozilla.com share].&lt;br /&gt;
| [http://xulunit.mozdev.org xulunit.m.o]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Suites =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;fullwidth-table&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!Test Suite Name&lt;br /&gt;
!Brief Description&lt;br /&gt;
!Test Harness(es)&lt;br /&gt;
!Status&lt;br /&gt;
!Last Info&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| [http://lxr.mozilla.org/mozilla/source/js/tests/ js/tests]&lt;br /&gt;
| [http://www.mozilla.org/js/tests/library.html well-developed suite] of tests of the JavaScript language in [http://lxr.mozilla.org/mozilla/source/js/tests/ js/tests]&lt;br /&gt;
| [http://bclary.com/projects/spider/ SpiderMonkey] Runs on QA Farm. Stable and not necessary to use or share.&lt;br /&gt;
| Semi-automated.  Plans to fully automate with Alice and Rob&#039;s help in Q1 2007&lt;br /&gt;
| Info is current. See [mailto:bc@mozilla.com bc], [mailto:alice@mozilla.com alice], [mailto:rcampbell@mozilla.com robcee].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Security tests&lt;br /&gt;
| &lt;br /&gt;
| Custom framework.  Runs on QA Farm. When bugs were filed, regression test cases are usually added.&lt;br /&gt;
| Semi-automated.  Plans to fully automate with Eggplant in Q1 2007&lt;br /&gt;
| Info is current. See [mailto:bc@mozilla.com bc], [mailto:jruderman@gmail.com jruderman]. Definite opportunity to mine bugs for test cases.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Automated Smoke Tests&lt;br /&gt;
| A &amp;quot;Smoke Test&amp;quot; is a quick, basic qualification.&lt;br /&gt;
| Eggplant.  Runs on Tracy&#039;s machines. Tests for FFx 1.5 and 2.0&lt;br /&gt;
| Fully automated.  Completed porting to Mac and Linux in Q4 2006.  Plan to move execution to QA Farm in Q1 2007&lt;br /&gt;
| Info is current. See [mailto:twalker@mozilla.com tracy].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Basic Functionality Tests (BFT)&lt;br /&gt;
| 130+ manual test cases, broadly covering major features&lt;br /&gt;
| litmus for [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=7 1.5] and [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=25 2.0]&lt;br /&gt;
| will be updated for FF3&lt;br /&gt;
| Info is current. See [mailto:marcia@mozilla.org marcia], [mailto:timr@mozilla.com timr].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Full Functionality Tests (FFT)&lt;br /&gt;
| approx. 280 manual test cases, covering most features&lt;br /&gt;
| litmus for [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=2 1.0], [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=26 1.5] and [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=27 2.0]&lt;br /&gt;
| will be updated for FF3&lt;br /&gt;
| Info is current. See [mailto:marcia@mozilla.org marcia], [mailto:timr@mozilla.com timr].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Localization Tests&lt;br /&gt;
| 15 test cases&lt;br /&gt;
| litmus for [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=10 1.5] and [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=39 2.0]&lt;br /&gt;
| engaged and open to design&lt;br /&gt;
| Info is current. Proposed designs and issues current in newsgroups. See [mailto:axel@mozilla.com axel]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Software Update Suite&lt;br /&gt;
| approx. 50 tests, targeted to update process itself&lt;br /&gt;
| [http://litmus.mozilla.org/show_test.cgi?searchType=by_category&amp;amp;product_id=1&amp;amp;testgroup_id=38 litmus]&lt;br /&gt;
| &lt;br /&gt;
| Info is current. See [mailto:bc@mozilla.com bc].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| T*&lt;br /&gt;
| includes Tdhtml, Ts, Txul, [[Trender]] (aka Tgfx), Z, and mZ, [[Performance:Tinderbox_Tests|wiki for most T]]&lt;br /&gt;
|&lt;br /&gt;
| running, but not growing&lt;br /&gt;
| Info is current. Tests need transition to buildbot. See [mailto:rcampbell@mozilla.com robcee], [mailto:timr@mozilla.com timr].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Accessibility&lt;br /&gt;
| [[Accessibility/qa]]&lt;br /&gt;
| &lt;br /&gt;
| Info is current. A lot is going on, but opportunities to automate are not as developed as they could be. See [mailto:aaronleventhal@moonset.net Aaron Leventhal].&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Update Checker&lt;br /&gt;
| validity of update mar files&lt;br /&gt;
| currently automated on release machines, moving to buildbot, [[MozillaQualityAssurance:Update_Checker|wiki]]&lt;br /&gt;
| &lt;br /&gt;
| Info is out of date. See [mailto:rhelmer@mozilla.com rhelmer].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| L10n checker/metadiff&lt;br /&gt;
| verify that :&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;en-US build matches locale build&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;ensure no read-only files&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;show differences from last release&amp;lt;/li&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| currently automated on release machines, moving to buildbot, [[MozillaQualityAssurance:MetaDiff|wiki]]&lt;br /&gt;
| Info is out of date. See [mailto:rhelmer@mozilla.com rhelmer].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Tp2&lt;br /&gt;
| new page load tests&lt;br /&gt;
| &amp;quot;make check&amp;quot;/buildbot&lt;br /&gt;
| nearing complete automation&lt;br /&gt;
| Info is current. Being integrated into automation. See [mailto:alice@mozilla.com alice], [mailto:rcampbell@mozilla.com robcee].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Download Checker&lt;br /&gt;
| verify integrity of major released&lt;br /&gt;
| manual, [[MozillaQualityAssurance:Download_Checker|wiki]]&lt;br /&gt;
| runnable, passing&lt;br /&gt;
| Info is current. See [mailto:bc@mozilla.com bc].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| L10N Search Verifier&lt;br /&gt;
|&lt;br /&gt;
| manual, [[MozillaQualityAssurance:l10n_Search_Verifier|wiki]]&lt;br /&gt;
| runnable, passing&lt;br /&gt;
| Info is current, but current plans are unclear.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| [http://lxr.mozilla.org/mozilla/source/content/xslt/tests/buster content/xslt/tests/buster]&lt;br /&gt;
| re-purposing of the Adobe Xalan tests.&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| Driver is in mozilla, but test content is at Apache.&lt;br /&gt;
| Info is current, but current run occasionally. Need automation.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| DOM&lt;br /&gt;
| being transitioned into MochiTest&lt;br /&gt;
| browser and eyeballs?&lt;br /&gt;
| &lt;br /&gt;
| Info is currrent. More tests to be transitioned. See [mailto:robert@ocallahan.org roc], [mailto:rcampbell@mozilla.com robcee].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| CSS&lt;br /&gt;
| verify spec compliance&lt;br /&gt;
| reftest&lt;br /&gt;
| running, passing, needing much to be added&lt;br /&gt;
| Info is current. More tests needed. See [mailto:rcampbell@mozilla.com robcee], [mailto:dbaron@mozilla.com dbaron].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| XBL2&lt;br /&gt;
| [[MozillaQualityAssurance:Test_Development_Projects#Platform_Content_Area|wiki]]&lt;br /&gt;
| &lt;br /&gt;
| XBL2 still in design&lt;br /&gt;
| Info is current. [mailto:jonas@sicking.cc jonas]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| Browser/Content&lt;br /&gt;
| May be transitioned to reftest or MochiTest, as appropriate.&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| &lt;br /&gt;
| Info is current. Several groups of tests need to be seperated, given TLC, automation.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| Embedding&lt;br /&gt;
| Tests seem fairly current but not building, why?&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
|&lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| Extensions&lt;br /&gt;
| &lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| &lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| Java Applets&lt;br /&gt;
| list suggested by Java team at Apple&lt;br /&gt;
| browser and eyeballs, [[MozillaQualityAssurance:Test_JavaApplets|wiki]]&lt;br /&gt;
| Just a list. No automation is currently in process.&lt;br /&gt;
| Info is current. See [mailto:rkiddy@mozilla.com ray].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| I18N&lt;br /&gt;
| &lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| &lt;br /&gt;
| Info is current, but not sure of approach to automation plans.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| Graphics&lt;br /&gt;
| &lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| &lt;br /&gt;
| Info is current, but tests will need to be made current. Match to external Cairo testing for relevance.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| HTML Parsing&lt;br /&gt;
| Will need to deal with WHATWG/html5lib tests {{bug|366936}}. The htmlparser/tests/html test vs a baseline, but a baseline has not been stored.&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]] &lt;br /&gt;
|&lt;br /&gt;
| Info is in source. Other source of info is unclear (perhaps [mailto:mrbkap@mozilla.com mrbkap]?)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Acid2&lt;br /&gt;
| compliance tests from outside standards &amp;quot;watcher&amp;quot;&lt;br /&gt;
| manually executed, [http://www.webstandards.org/action/acid2/ Acid2 Browser Test]&lt;br /&gt;
| currently passing&lt;br /&gt;
| Info is current. See [mailto:timr@mozilla.com timr].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| XPConnect&lt;br /&gt;
| TestXPC -&amp;gt; &amp;quot;FAILED to get a JSRuntime&amp;quot;&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| &lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Layout/HTML&lt;br /&gt;
| 1800+ files. These can be transitioned, probably to reftest. HTML file groups: CellMapTest, FrameSetNav, SlideShow, attributes, block, css, formctls, frameset, printer, style, table, tags, xbl.&lt;br /&gt;
| &amp;quot;the old regression test suite&amp;quot; and reftest. Older tests will go to reftest.&lt;br /&gt;
| &lt;br /&gt;
| Info is current, but a lot of tests need TLC, automation.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| MathML&lt;br /&gt;
| Do mathematical glyphs display correctly on all platforms?&lt;br /&gt;
| &amp;quot;browsers and eyeballs&amp;quot;&lt;br /&gt;
| also using w3c.org site content&lt;br /&gt;
| Info is current, May be able to automate with reftest.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| Plugins&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Not known&lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| Java Plugin&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| not current, dev may feel out of loop&lt;br /&gt;
| Info is current, but not sure of approach to automation plans.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Networking&lt;br /&gt;
| 25 test executables, but all must be given parameters&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| &lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| NSPR&lt;br /&gt;
| approx 150 test executables, most pass.&lt;br /&gt;
| custom executable/c&lt;br /&gt;
| &lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| RDF&lt;br /&gt;
| &lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| dsds (not being built), rdfcat, rdfpoll, triplescat (doc for invoke?)&lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| Security/NSS&lt;br /&gt;
| 26 tests, but not runnable without info&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]] and &amp;quot;make check&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| Info is current. NSS tests run externally. Need tests relevant to MoCo.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#00ff00&amp;quot; |&lt;br /&gt;
| XPCOM&lt;br /&gt;
| 28 custom executables, most pass, can be better documented, xpcom/tests/unit/test_pipe.js (xpcshell)&lt;br /&gt;
| [[Custom Test Executables|custom executable/C++]]&lt;br /&gt;
| &lt;br /&gt;
| Info is current, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| XPFE&lt;br /&gt;
| winopen.xul, runs but does not show final results&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#ffff00&amp;quot; |&lt;br /&gt;
| XPInstall&lt;br /&gt;
| pre_checkin_trigger.html, runs in browser, passes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Info is in source, but not sure of source for more info.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Test Infrastructures =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;fullwidth-table&amp;quot;&lt;br /&gt;
!Test Infrastructure Name&lt;br /&gt;
!Brief Description&lt;br /&gt;
!Harnesses and Test Suites in the Infrastructure&lt;br /&gt;
!Status of the Instructure&lt;br /&gt;
!Notes&lt;br /&gt;
|- &lt;br /&gt;
| tinderboxen&lt;br /&gt;
| Continuous build engine for Mozilla source, much chronicled in song and fable.&lt;br /&gt;
| &amp;quot;make check&amp;quot;, the results of which may not be verified&lt;br /&gt;
| see dynamic [http://tinderbox.mozilla.org/showbuilds.cgi Tinderbox] display&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| buildbots&lt;br /&gt;
| Continuous build engines, written in Python, cycling rapidly based on Bonsai checkins.&lt;br /&gt;
| &amp;quot;make check&amp;quot;, reftest and MochiTest&lt;br /&gt;
| reported via [http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox Firefox] tinderbox&lt;br /&gt;
|-&lt;br /&gt;
| QA Farm&lt;br /&gt;
| some number of Windows, Linux and Macs. Details are not important. They should be a black box resource for developers to say &amp;quot;test this&amp;quot;.&lt;br /&gt;
| &amp;quot;make check&amp;quot;, reftest and MochiTest&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Community:MUGs&amp;diff=53379</id>
		<title>Community:MUGs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Community:MUGs&amp;diff=53379"/>
		<updated>2007-03-29T04:36:01Z</updated>

		<summary type="html">&lt;p&gt;Taken: use bug template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a discussion page for the idea of supporting Mozilla User Groups, that could be similar to groups like the Perl Mongers and such.&lt;br /&gt;
&lt;br /&gt;
See related mozilla.org bug {{bug|327774}}&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Commmunity:MUGs_Mozilla_User_Groups&amp;diff=53378</id>
		<title>Commmunity:MUGs Mozilla User Groups</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Commmunity:MUGs_Mozilla_User_Groups&amp;diff=53378"/>
		<updated>2007-03-29T04:34:40Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Delete|This page is not neede}}&lt;br /&gt;
&lt;br /&gt;
 #REDIRECT [[Commmunity:MUGs]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Commmunity:MUGs&amp;diff=53377</id>
		<title>Commmunity:MUGs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Commmunity:MUGs&amp;diff=53377"/>
		<updated>2007-03-29T04:33:48Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Delete|This page is not needed}}&lt;br /&gt;
&lt;br /&gt;
 #REDIRECT [[Community:MUGs]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox:3.0_Mac_Performance&amp;diff=53375</id>
		<title>Firefox:3.0 Mac Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox:3.0_Mac_Performance&amp;diff=53375"/>
		<updated>2007-03-29T04:30:34Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Items =&lt;br /&gt;
&lt;br /&gt;
* Fast [[JS Components]] (~10% mac startup? per shark)&lt;br /&gt;
* Incorporate [[Quartz]] (using work done by [[camino]])&lt;br /&gt;
* Fix the silly processor spike bug when a click is held&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Comments [[User:Bugmenot]] ===&lt;br /&gt;
&lt;br /&gt;
* Support for CoreImage&lt;br /&gt;
* Quartz through [http://cairograhics.org cairo], which will free us from maintaining ugly platform specific code and allows acceleration on [[linux]] with glitz as well as acceleration on windows with GDI+. Cairo is also LGPL/MPL licensed.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Mozilla2:GFXEvolution&amp;diff=53374</id>
		<title>Mozilla2:GFXEvolution</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Mozilla2:GFXEvolution&amp;diff=53374"/>
		<updated>2007-03-29T04:28:54Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This was the plan in 2005&#039;&#039;; see [[Mozilla2:GraphicsPlan]] for actual development in 2006.&lt;br /&gt;
&lt;br /&gt;
Some can be done in parallel.&lt;br /&gt;
&lt;br /&gt;
# Wrap [http://cairographics.org cairo] in &amp;quot;Thebes&amp;quot;, thin [[Mozilla2:NewGFXAPIs|C++ wrappers]] over cairo APIs which can be used by advanced rendering customers --- [[SVG]], view manager --- when gfx/cairo is in use.&lt;br /&gt;
# Get gfx/cairo (an implementation of our current gfx interfaces based on Thebes) into working order.&lt;br /&gt;
# Work on gfx/cairo performance until it performs as well as gfx/win, gfx/mac and gfx/gtk on our normal Web workloads on modest machines (e.g., without GPUs). Will require significant work on cairo itself.&lt;br /&gt;
# Wherever possible, drop platform gfx implementations in favor of using gfx/cairo on the platform. Ideally we&#039;ll end up with just gfx/cairo and possibly some gfx implementation for embedded devices.&lt;br /&gt;
# With only one or two gfx implementations to deal with, clean up the legacy gfx interfaces, either by moving functionality to the new API wrappers, or by modifying the legacy interfaces in place.&lt;br /&gt;
&lt;br /&gt;
The goal here is to be incremental but also tackle the riskiest, most questionable issues as early as possible (IMHO getting cairo to perform well on our platforms and workloads). Also as soon as we complete step 2 we can work on rich [[SVG]]/HTML/XUL integration with a unified rendering pipeline. Getting super-cool demos working soon is very important.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Bugs&amp;diff=53373</id>
		<title>Bugs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Bugs&amp;diff=53373"/>
		<updated>2007-03-29T04:23:04Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Delete|Inappropriate for this wiki}}&lt;br /&gt;
Bugs should be reported via https://bugzilla.mozilla.org, a system which also will publish your email address and make it available to spammers.&lt;br /&gt;
&lt;br /&gt;
==Possible bugs==&lt;br /&gt;
Below there are some possible bugs that users where unwilling to reported via bugzilla.&lt;br /&gt;
&lt;br /&gt;
*firefox javascript [[mdc:Core_JavaScript_1.5_Reference:Global_Objects:Date:UTC]]&lt;br /&gt;
 alert ( Date.UTC(2006, 5, 31) - Date.UTC(2006, 6, 01));&lt;br /&gt;
 FF1.5.0.3 returns 0;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Bugzilla]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox:Development_Integration&amp;diff=53370</id>
		<title>Firefox:Development Integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox:Development_Integration&amp;diff=53370"/>
		<updated>2007-03-29T04:16:57Z</updated>

		<summary type="html">&lt;p&gt;Taken: link to XUL Planet directly instead of via a mozilla wiki article.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Using Mozilla&#039;s JVM Development Platform to integrate XUL script support ==&lt;br /&gt;
&lt;br /&gt;
*For those who have not been reading the Mozilla developers news, they want their end-users to be able to learn how and to create their own themes/extensions themselves for Mozilla products.  Of course you can&#039;t do this without knowing basic Java and Mozilla&#039;s own XUL language based for the T-Bird Inbox, Mozilla, and Firefox web browsers.  If we created it either internally to the application itself or as an XPI plugin extension creating a text based WYSIWYG editor for those who want to be able to create there own extensions/themes (although I would suggest making this an extension seeing not everyone is going to use this).  We need to develope in the package itself (for those developing extensions), a pre-made template that will already load a blank app so that the user doesn&#039;t have to develope from scratch, currently what I&#039;m already doing (as suggested by Mozilla) is to download an existing extension and/or theme and just recreate the XUL &amp;amp; JS files, then just re-package the XPI/JAR.&lt;br /&gt;
&lt;br /&gt;
*Obviously the integration of this development package would not be for everyone, those who would want to create their own theme would need a program such as Photoshop, some basic knowledge of CSS, and even a little XUL for the .rdf/.xul files with those extensions.&lt;br /&gt;
&lt;br /&gt;
*For those just beginning in XUL or who want to further their knowledge and know how, this is the best site I have found covering all and I mean ALL documentation on the XUL language.  [http://www.xulplanet.com/references/elemref/ XUL Planet]&lt;br /&gt;
&lt;br /&gt;
*So where does the JVM Development Platform (JavaScript Console Tool) come in??  Using a similar app like the one that we already have in the Mozilla and Firefox web browsers for editing JavaScript files is a great example what we could use for our XUL file creation tool.  Sense we would be using Java and XUL we could even possibly integrate the two somehow.&lt;br /&gt;
 &lt;br /&gt;
*I will create diagrams and post them up here or something, as this may sound confusing being a text edit.&lt;br /&gt;
&lt;br /&gt;
(This is just a brain storming idea, I don&#039;t have everything rock solid.  I will start the architecture and development layout as for anyone who would like to help please feel free posting more replies.  Again, this is just brain storming.  Ideas of course are greatly accepted! I would be happy to work with anyone on this project!!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Mclark|Mclark]] 16:35, 22 Aug 2005 (PDT)Mike Clark  mailto:mr_snazypants2006@hotmail.com&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox_Development_Integration&amp;diff=53369</id>
		<title>Firefox Development Integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox_Development_Integration&amp;diff=53369"/>
		<updated>2007-03-29T04:15:02Z</updated>

		<summary type="html">&lt;p&gt;Taken: redirect to Firefox:Development Integration&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Firefox:Development Integration]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Template:Delete&amp;diff=53363</id>
		<title>Template:Delete</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Template:Delete&amp;diff=53363"/>
		<updated>2007-03-29T04:09:52Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border:1px solid orange;background-color:#FFFACD;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
This page is proposed for [[MozillaWiki:Requests for deletion|deletion]]: {{{1}}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Delete]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Template:Delete&amp;diff=53362</id>
		<title>Template:Delete</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Template:Delete&amp;diff=53362"/>
		<updated>2007-03-29T04:08:51Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border:1px solid orange;background-color:#FFFACD;padding:7px;&amp;quot;&amp;gt;&lt;br /&gt;
This page is proposed for [[MozillaWiki:Requests for deletion|deletion]]: {{{$1}}}.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Delete]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Same_Site_Multiple_Logins&amp;diff=53359</id>
		<title>Same Site Multiple Logins</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Same_Site_Multiple_Logins&amp;diff=53359"/>
		<updated>2007-03-29T03:53:18Z</updated>

		<summary type="html">&lt;p&gt;Taken: not suitable for wiki.mozilla.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Several accounts with different logins for the same site eg banks, share trading etc. With Firefox have to log out from one account the log in with another. Can&#039;t log in a second time either in a new tab or a new instance of Firefox. Different instances of IE allow different logins.&lt;br /&gt;
&lt;br /&gt;
[[Category:Junk]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Feature_request_for_Mozilla_3&amp;diff=53355</id>
		<title>Feature request for Mozilla 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Feature_request_for_Mozilla_3&amp;diff=53355"/>
		<updated>2007-03-29T03:47:47Z</updated>

		<summary type="html">&lt;p&gt;Taken: wrong page/place&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Feature request for Mozilla 3 ==&lt;br /&gt;
&lt;br /&gt;
I would like Mozilla 3 to support user-controlled alternative style sheets.&lt;br /&gt;
&lt;br /&gt;
Let us assume that there is some site that offer alternative style sheets for the WWW pages it serves to the public. Let us further assume the styles to be named &#039;default&#039;, &#039;alt1&#039; and &#039;alt2&#039;. It might happen that when a user visits the site, he/she/it (further on referred to as &#039;she&#039;) finds that the default style does not fit her needs, but that the style &#039;alt1&#039; does. &lt;br /&gt;
&lt;br /&gt;
In her Firefox (1.5.0.7) she picks the alternate style from &#039;View -&amp;gt; Page Style -&amp;gt; alt1&#039; and all is well. Then, she follows a link to another WWW page on the site, and she once again gets the &#039;default style&#039;.&lt;br /&gt;
&lt;br /&gt;
This is very irritating. When she has picked an alternative style for the top level, she of course wants that to be in effect until she changes that - for example, for some sub-tree of the site, she wants alternative style &#039;alt2&#039;. As it is today, she can&#039;t get that. Even worse, if she returns to the first page, she will get (you guessed it) the default style. &lt;br /&gt;
&lt;br /&gt;
Below the request is written in coorporate project:&lt;br /&gt;
&lt;br /&gt;
* Mozilla 3 shall support user controlled WWW page styles.&lt;br /&gt;
* The control shall be based on existing styles for a WWW page.&lt;br /&gt;
* It shall be possible to associate a WWW page address with a specific style.&lt;br /&gt;
* The association shall be done using regular expression.&lt;br /&gt;
* The regular expression shall be the extended perl-like regexps.&lt;br /&gt;
* In the case of multiple matches, the most specific (longest) match shall be used.&lt;br /&gt;
* A dialogue to set this up for a page shall be available from a page menu.&lt;br /&gt;
* The page menu shall be available from a sight-click using a three-button mouse.&lt;br /&gt;
&lt;br /&gt;
[[Category:Junk]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Toolkit:Platform_Specific_Extension_Components&amp;diff=53353</id>
		<title>Toolkit:Platform Specific Extension Components</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Toolkit:Platform_Specific_Extension_Components&amp;diff=53353"/>
		<updated>2007-03-29T03:44:01Z</updated>

		<summary type="html">&lt;p&gt;Taken: redirect to MDC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MDC:Bundles]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; font-style:italic; color: green;&amp;quot;&amp;gt;Support for platform directories was checked in and is now documented at http://developer-test.mozilla.org/en/docs/Bundles .&amp;lt;/span&amp;gt;&lt;br /&gt;
--[[User:Jens.b|Jens.b]] 14:09, 8 Jun 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Some extensions are only intended for one platform, either because it uses things other platforms don&#039;t have (e.g. the Windows registry, like Linky does), or because they have binary components. Both the extension manager and services like http://addons.mozilla.org/ would benefit if extensions had some sort of [https://bugzilla.mozilla.org/show_bug.cgi?id=255619 platform-compatibility information as part of their metadata]. Note that themes are handled like extensions in some places, so they could include use such platform-compatibility information, too.&lt;br /&gt;
&lt;br /&gt;
However, solving this issue is not enough, as two problems remain:&lt;br /&gt;
&lt;br /&gt;
== Problem 1 ==&lt;br /&gt;
&lt;br /&gt;
A growing number of Firefox and Thunderbird extensions use compiled, binary components. To keep the cross-platform nature Extensions usually have, you have to provide these binaries for each supported platform. Currently, all these are stuffed into the components/ directory. If you put binaries for several platforms into this components/ directory, you encounter the problem that Win32 loads not only .dll files, but also tries to load linux .so ones and fails with an error message.&lt;br /&gt;
&lt;br /&gt;
The effect is that most extensions either&lt;br /&gt;
# are available in separate XPIs for each platform, posing problems for updating and http://addons.mozilla.org/ &lt;br /&gt;
# include all platform binaries in one package and employ hacks to work around the problem&lt;br /&gt;
&lt;br /&gt;
Needless to say, both alternatives aren&#039;t very appealing for extension authors.&lt;br /&gt;
&lt;br /&gt;
Another problem is that binary components have to use the same [http://en.wikipedia.org/wiki/Application_binary_interface ABI] as the host application, or they won&#039;t work. Currently, there is no way to check or enforce this - when you install a linux-gcc2-built extension into a linux-gcc3-built application, things just break.&lt;br /&gt;
&lt;br /&gt;
== Problem 2 ==&lt;br /&gt;
&lt;br /&gt;
Some themes currently need a separate Macintosh version. While platform compatibility info as part of the metadata would make it impossible for a user to accidently install the wrong package, it would certainly be nice to be able to have one multi-platform theme package that includes some generic &amp;quot;base&amp;quot; files and some platform-specific ones.&lt;br /&gt;
&lt;br /&gt;
== Conclusions ==&lt;br /&gt;
&lt;br /&gt;
We need...&lt;br /&gt;
# components that are only loaded if they were compiled for the same platform AND using the same ABI as the host application (Firefox, Thunderbird)&lt;br /&gt;
# platform-specific theme jar files, default preferences, window icons and whatever (&amp;quot;this fileset for windows, that one for mac&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== The Solution ==&lt;br /&gt;
&lt;br /&gt;
The notion of &amp;quot;platform file sets&amp;quot; is added by introducing a new subdirectory inside extension and theme packages: the &#039;&#039;&#039;platform&#039;&#039;&#039; directory. For each set of files that somehow depend on the target environment, it contains a directory named in one of the following ways:&lt;br /&gt;
&lt;br /&gt;
* [OS_TARGET]&lt;br /&gt;
* [OS_TARGET]_[ABI]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OS_TARGET&#039;&#039;&#039;&lt;br /&gt;
: The platform the host application was compiled for, e.g. WINNT, Linux, Darwin (meaning Mac OS X)...&lt;br /&gt;
&#039;&#039;&#039;ABI&#039;&#039;&#039;&lt;br /&gt;
: The application binary interface the component was built with - e.g. gcc2, gcc3, mingw, msvc.&lt;br /&gt;
&lt;br /&gt;
In each of these directories, the regular directory structure of the package (chrome, components, defaults for extensions, or the package dirs for themes) is repeated as needed.&lt;br /&gt;
&lt;br /&gt;
The Extension Manager will install the package as usual - i.e. it extracts all files in the archive. The toolkit&#039;s nsXREDirProvider is enhanced so it automatically considers not only the extension&#039;s base directory, but also the matching platform directories.&lt;br /&gt;
&lt;br /&gt;
A Firefox version built with MSVC for Windows would therefore try to load components and default preferences from directories listed below (if existing), and totally ignore any other subdirectories of platform/.&lt;br /&gt;
* components/&lt;br /&gt;
* defaults/preferences/&lt;br /&gt;
* platform/WINNT/components/&lt;br /&gt;
* platform/WINNT/defaults/preferences/&lt;br /&gt;
* platform/WINNT_msvc/components/&lt;br /&gt;
* platform/WINNT_msvc/defaults/preferences/&lt;br /&gt;
&lt;br /&gt;
Older Firefox releases would also ignore everything in platform/.&lt;br /&gt;
&lt;br /&gt;
== Example Extension Structure ==&lt;br /&gt;
 myExt.xpi:&lt;br /&gt;
    install.rdf&lt;br /&gt;
    chrome/:&lt;br /&gt;
       myExt.jar&lt;br /&gt;
    defaults/:&lt;br /&gt;
       preferences/:&lt;br /&gt;
          myExt.js&lt;br /&gt;
    platform/:&lt;br /&gt;
       Linux_gcc2/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.so&lt;br /&gt;
       Linux_gcc3/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.so&lt;br /&gt;
       WINNT/:&lt;br /&gt;
          defaults/:&lt;br /&gt;
             preferences/:&lt;br /&gt;
                myExt-win.js&lt;br /&gt;
       WINNT_msvc/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.dll&lt;br /&gt;
       WINNT_mingw/:&lt;br /&gt;
          components/:&lt;br /&gt;
             mycomponent.dll&lt;br /&gt;
&lt;br /&gt;
== Resolved Issues ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;What happens when we put chrome jar files in the platform directories - do they have to be listed in the main chrome.manifest? What if the current platform doesn&#039;t have that file, is it just ignored?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt; Each platform directory may have its own chrome.manifest:&lt;br /&gt;
&amp;lt;pre&amp;gt;chrome.manifest&lt;br /&gt;
platform/WINNT/chrome.manifest&lt;br /&gt;
platform/WINNT_msvc/chrome.manifest&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;What happens to preference files - what happens if two have the same name, in which sequence are they loaded, are prefs overwritten if specified in both the base prefs file and a platform-specific one?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dd&amp;gt; Yes, we should read the &amp;quot;base&amp;quot; preferences first, then the platform-specific ones, and the pref system will automatically override any duplicate prefs.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bug References ==&lt;br /&gt;
&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=253742&amp;lt;br&amp;gt;No way of installing platform specific XPCOM components (dll/so) based on user OS.&lt;br /&gt;
* https://bugzilla.mozilla.org/show_bug.cgi?id=294835&amp;lt;br&amp;gt;Need way of determining ABI in makefiles&lt;br /&gt;
&lt;br /&gt;
[[Category:Junk]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Toolbar_customization&amp;diff=53346</id>
		<title>Toolbar customization</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Toolbar_customization&amp;diff=53346"/>
		<updated>2007-03-29T03:30:09Z</updated>

		<summary type="html">&lt;p&gt;Taken: wron&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;m really new to all this. I&#039;ve just discovered Firefox. But already I&#039;ve hit a big snag. There is no provision for rearranging tool bars, as in IE. After some reading, I found that there used to be &amp;quot;grippies&amp;quot; as they call them, for moving the tool bars around....and this feature was removed?? That baffles me....why would this most basic of features be removed?&lt;br /&gt;
Some more searching and I found an extension which claimed to be able to put this function back, but it&#039;s only compatible up to FF 1.5. &lt;br /&gt;
Well, I hope I put this suggestion in the right place. Please put this functionality back.&lt;br /&gt;
[[Category:Junk]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=E4X&amp;diff=53329</id>
		<title>E4X</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=E4X&amp;diff=53329"/>
		<updated>2007-03-29T03:06:32Z</updated>

		<summary type="html">&lt;p&gt;Taken: correct a link to mdc and its description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for material helpful to implementors of the E4X specification.  As such, it is not intended to be a tutorial on E4X.  For more information intended for users of E4X, see the Mozilla Developer Center [[MDC:E4X|E4X page]].&lt;br /&gt;
&lt;br /&gt;
ECMA-357 2nd edition, the current version of the standard, can be downloaded from [http://www.ecma-international.org/publications/standards/Ecma-357.htm ECMA&#039;s site].&lt;br /&gt;
&lt;br /&gt;
= Whitespace in literals =&lt;br /&gt;
&lt;br /&gt;
I had a question about the handling of whitespace in E4X code, when XML.ignoreWhitespace is false.  This came up when attempting to pass the Mozilla conformance test relating to the normalize() method [http://lxr.mozilla.org/mozilla/source/js/tests/e4x/XML/13.4.4.26.js (LXR version of test)].&lt;br /&gt;
&lt;br /&gt;
: The testcase is buggy -- see {{bug|368459}}.&lt;br /&gt;
&lt;br /&gt;
The conformance test constructs an XML object (which is specified by ECMA357 11.1.4).  According to 11.1.4, we&#039;re using the production XMLElement, which contains XMLElementContent, which contains { Expression }, XMLMarkup, XMLText, and/or XMLElement.  Now, XMLText contains (back to 8.3) SourceCharacters (minus { and &amp;lt; characters).  SourceCharacters is defined to be a 1+ string of SourceCharacter, which refers back to ECMA262 5.1, which defines it as &amp;quot;any Unicode character.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
According to 13.4.3.4, &amp;quot;If ignoreWhitespace is true, insignificant whitespace characters are ignored when processing constructing new XML objects.&amp;quot;  Nothing is said about false, but presumably those characters are &#039;&#039;not&#039;&#039; ignored in that case.&lt;br /&gt;
&lt;br /&gt;
: Do note that even if it&#039;s not explicitly stated (might be, but I don&#039;t feel like rereading the E4X spec intro), the prose here is more intended to be informative than normative.  (In other words, the numbered steps are the better guide here.)  The only place XML.ignoreWhitespace is mentioned is in MapInfoItemToXML, which is pretty clear about its effects.&lt;br /&gt;
&lt;br /&gt;
Since XMLText can contain whitespace (any Unicode character), I&#039;d say this means that an XML literal initialized when XML.ignoreWhitespace = false can contain whitespace and therefore will contain text nodes consisting of only whitespace characters.&lt;br /&gt;
&lt;br /&gt;
: Correct.&lt;br /&gt;
&lt;br /&gt;
If that&#039;s right, the conformance test is wrong as I see it, because it deletes any nodes consisting solely of whitespace (which, as far as I can tell, means that they did not exist after the initializer executed).  And as I see it, when ignoreWhitespace is false, those text nodes exist in the resulting document.&lt;br /&gt;
&lt;br /&gt;
One thing I don&#039;t like about my interpretation is that it means that platform effects come into play.  Because, as I understand it, ECMAScript allows theoretically any combination of CR/LF to signal the end of a line (along with some more obscure terminators with which I am not familiar; see ECMA262 7.3), it means that our XML document would contain CR/LF in JavaScript composed on a DOS platform, CR if composed on a Mac OS 9, and LF if composed on *nix.&lt;br /&gt;
&lt;br /&gt;
: Normal linebreak processing doesn&#039;t occur in E4X literals -- a CR is a CR, an LF is an LF, etc.  Yes, tho, the platform on which a script is written thus does affect the script&#039;s semantics when using E4X literals containing line breaks -- those who care often might not need to adapt (you might want CRLF endings precisely because you&#039;re on Windows), and since white space isn&#039;t a typical task to be attacked by XML-using programmers, it probably wasn&#039;t worth the effort to invent some hack to make whitespace not affect semantics.&lt;br /&gt;
&lt;br /&gt;
As LF is the most XML-ish, my implementation currently converts the underlying terminators to LF (I think; I should check).  I think most XML parsers do this as well, but I should check that as well.&lt;br /&gt;
&lt;br /&gt;
: I seem to recall something about LF never appearing in an XML document unless inserted with an entity, but I could be wrong.&lt;br /&gt;
&lt;br /&gt;
So what&#039;s the right answer here? --[[User:Inonit|Inonit]] 11:58, 23 October 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
: Anyway, the problem you describe is with the testcase and is being handled in {{bug|368459}}. --[[User:Waldo|Waldo]] 22:02, 27 January 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Accessibility/Firefox3&amp;diff=53326</id>
		<title>Accessibility/Firefox3</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Accessibility/Firefox3&amp;diff=53326"/>
		<updated>2007-03-29T03:02:11Z</updated>

		<summary type="html">&lt;p&gt;Taken: add backlink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;amp;lt; [[Accessibility]]&lt;br /&gt;
&lt;br /&gt;
Meta bugs we (very ambitiously) want to address for [[Firefox3]].&lt;br /&gt;
&lt;br /&gt;
To use these meta bugs, you have several choices:&lt;br /&gt;
# Go to http://bugzilla.mozilla.org and use the meta bug alias instead of a number when you search for a bug. The aliases are listed below and are much easier to remember.&lt;br /&gt;
# Just use the supplied link on this chart&lt;br /&gt;
# Use the Firefox 3 meta bug ([https://bugzilla.mozilla.org/showdependencytree.cgi?id=fox3access&amp;amp;hide_resolved=1 fox3access]) and you will see the other meta bugs (HTML, XUL, ATK, etc.) listed under that.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standard-table&amp;quot;&lt;br /&gt;
! Alias&lt;br /&gt;
! Descirption&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=fox3access&amp;amp;hide_resolved=1 fox3access]&lt;br /&gt;
| Firefox 3 accessibility bugs (contains all the other meta bugs listed below)&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=atk&amp;amp;hide_resolved=1 atk]&lt;br /&gt;
| ATK specific bugs&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=ia2&amp;amp;hide_resolved=1 ia2]&lt;br /&gt;
| IAccessible2 bugs&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=htmla11y&amp;amp;hide_resolved=1 htmla11y]&lt;br /&gt;
| HTML accessibility bugs&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=texta11y&amp;amp;hide_resolved=1 texta11y]&lt;br /&gt;
| Accessible text, hypertext and editable text  bugs&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=dhtmla11y&amp;amp;hide_resolved=1 dhtmla11y]&lt;br /&gt;
| DHTML accessibility (ARIA support)&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=xula11y&amp;amp;hide_resolved=1 xula11y]&lt;br /&gt;
| XUL accessibility bugs &lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=chromea11y&amp;amp;hide_resolved=1 chromea11y]&lt;br /&gt;
| Firefox UI accessibility bugs&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=themea11y&amp;amp;hide_resolved=1 themea11y]&lt;br /&gt;
| High contrast theme bugs&lt;br /&gt;
|-&lt;br /&gt;
| [https://bugzilla.mozilla.org/showdependencytree.cgi?id=fox3key&amp;amp;hide_resolved=1 fox3key]&lt;br /&gt;
| Key navigation and focus bugs&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Accessibility&amp;diff=53325</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Accessibility&amp;diff=53325"/>
		<updated>2007-03-29T03:01:50Z</updated>

		<summary type="html">&lt;p&gt;Taken: /* Mozilla Accessibility Wiki */ add link to Accessibility/Firefox3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Mozilla Accessibility Wiki =&lt;br /&gt;
&lt;br /&gt;
*[[Accessibility/Attributes|AT-SPI Attributes]] -  proposed AT-SPI attribute support.&lt;br /&gt;
*[[Accessibility/Datatypes|ARIA Type Attributes]] -- proposed ARIA data type attributes to object attribute mapping&lt;br /&gt;
*[[Accessibility/AT-Windows-API|Gecko Info for Windows Accessibility Vendors]] - this FAQ explains how makers of Windows screen readers, voice dictation packages and magnification software can support Gecko-based software.&lt;br /&gt;
*[[Accessibility/IA2ToGecko|Mapping IAccessible2 to Gecko]]&lt;br /&gt;
*[[Accessibility/XForms|XForms Accessibility]] - AT API support for XForms elements.&lt;br /&gt;
*[[Accessibility/csun2007|CSUN 2007]] - Mozilla CSUN 2007 Activities&lt;br /&gt;
*[[Testing Mozilla applications for Accessibility]] - Specification for mozilla Accessibility Testing&lt;br /&gt;
*[[Accessibility/Firefox3|Firefox3]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Deployment:Deploying_Firefox&amp;diff=53323</id>
		<title>Deployment:Deploying Firefox</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Deployment:Deploying_Firefox&amp;diff=53323"/>
		<updated>2007-03-29T02:54:01Z</updated>

		<summary type="html">&lt;p&gt;Taken: add backlink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;amp;lt; [[Deployment]]&lt;br /&gt;
&lt;br /&gt;
== Deploying Firefox ==&lt;br /&gt;
&lt;br /&gt;
Many people are using Firefox at home, and many also want to use it at work or see it on public computers such as at libraries or Internet Cafes.  This article provides links and references to issues that might come up when considering or executing a Firefox deployment plan.  It describes a wide variety of tools and features available that can be to deploy Firefox and centrally manage and control the use of Firefox in enterprise, business, education, and a variety of large and small organizational settings.&lt;br /&gt;
&lt;br /&gt;
== The Rational for Deploying Firefox inside Organizations and Institutions ==&lt;br /&gt;
&lt;br /&gt;
*It is interesting to note that Firefox market share in corporate environments appears to be pretty closely tracking with the increased use of Firefox in the general internet population.  Firefox use inside many organization often starts with IT, web development teams, and engineering departments and then spreads to other departments and individual users.  &lt;br /&gt;
*Concerns about security is a strategic reason some organizations move to Firefox exclusively, or set up support support for multiple browsers.  &lt;br /&gt;
* Many users choose Firefox when it is offered inside their organization, or go around IT policies because it makes them more efficient and more productive in accessing information on the web.  They take advantage of firefox features such as tab browsing, rss feeds, and integrated search to get more done, faster.&lt;br /&gt;
* Some organization also chose Firefox as a tool to assist in ensuring development of internal applications and documents comply with web standards, and that the organizations do not get locked into proprietarty document formats that could become difficult or costly to support.  If your applications and content works in Firefox its highly likely they will work in other browsers, and  open up possibilities that ensure your internal organizational content is searchable and useful with other applications that support standards.&lt;br /&gt;
* Firefox can also be customized and extended to meet specific needs of your organization by creating addon extensions or building on the Firefox platform.&lt;br /&gt;
&lt;br /&gt;
== Marketshare in the Enterprise and Business ==&lt;br /&gt;
&lt;br /&gt;
July 06 Marketshare among IT workers visiting Janco&lt;br /&gt;
http://www.e-janco.com/browser.htm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;October 30, 2006 - The New Browser Wars: Firefox vs. Internet Explorer&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.newsfactor.com/story.xhtml?story_id=13200C4PLUMO &lt;br /&gt;
&amp;quot;Jupiter survey showed that 26 percent of companies with more than 250 employees allowed their employees to install Firefox in 2005. By 2006, that number had jumped to 44 percent.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
February 13, 2006  - Deployments at IBM, Boeing and Fidelity Investments&lt;br /&gt;
http://www.computerworld.com/softwaretopics/software/story/0,10801,108622p3,00.html&lt;br /&gt;
http://www.computerworld.com.au/index.php/id;453717301;fp;2;fpid;2&lt;br /&gt;
14% of Surveyed IT Managers had multi browser deployments going on in there companies.  &lt;br /&gt;
&lt;br /&gt;
March 22, 2005 Firefox explorers&lt;br /&gt;
This expansive article covers the advantages of using open source and Firefox software for business. When Bill Robertson decided last year to switch 450 workers and 100 desktops at De Bortoli Wines to the open source Firefox web browser, he had the company&#039;s future in mind.&lt;br /&gt;
http://www.theage.com.au/articles/2005/03/21/1111253920087.html?oneclick=true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Independent Security Research teams such as US-CERT (US Dept. of Homeland Security) have for several years suggested supporting and using Firefox and other browsers as protection measure and response to critical problems with Internet Explorer.  Here are a variety of references:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;June 2004 https://www.kb.cert.org/vuls/id/713878&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.cert.org/tech_tips/securing_browser/&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.cbsnews.com/stories/2004/07/05/scitech/pcanswer/main627500.shtml&lt;br /&gt;
&amp;lt;br&amp;gt;http://news.zdnet.com/2100-1009_22-5250697.html&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.washingtonpost.com/wp-dyn/articles/A6746-2004Jun25.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.sans.org/top20/?portal=1563ee22b1a8bd138f0f420caec8d02c -- &amp;quot;...Exploit code for many of the critical Internet Explorer flaws are publicly available. In addition, Internet Explorer has been leveraged to exploit vulnerabilities in other core Windows components such as HTML Help and Graphics Rendering Engine. Vulnerabilities in ActiveX controls installed by Microsoft or other vendor software are also being exploited via Internet Explorer... &amp;quot;How to Protect against These Vulnerabilities?... Consider using other browsers such as Mozilla Firefox that do not support ActiveX technology....&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;November 6, 2006 - Attackers dig into [IE] zero-day flaw&lt;br /&gt;
&amp;lt;br&amp;gt;http://news.com.com/Attackers+dig+into+zero-day+flaw/2100-1002_3-6133028.html&lt;br /&gt;
 &lt;br /&gt;
03 Jan 2006 Open source&#039;s speed, Firefox&#039;s security wows Fidelity&lt;br /&gt;
http://searchopensource.techtarget.com/originalContent/0,289142,sid39_gci1155599,00.html&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;quot;The Mozilla Firefox browser was an eye-opener, added Mike Askew, who also works in the technology center. A head-to-head comparison of Firefox and Internet Explorer showed that both had about the same level of security vulnerability, but &#039;&#039;the time needed to fix vulnerabilities in Firefox was much less,&#039;&#039; Askew said. That experience led Fidelity to look at open source more intently.&amp;quot;&lt;br /&gt;
--also prediction of Open Source used in 25% of business software investments by 2010 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Evaluating days of Vulnerability as the best metric for assessing risk in browsers.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Several independent studies have shown that Firefox keeps users at risk of serious browser exploits a smaller amount of time than with Internet Explorer. For more than 3 years Mozilla and Firefox have a consistent track record for delivering security fixes faster than other browser vendors and reducing the risk to users.&lt;br /&gt;
&lt;br /&gt;
2004&lt;br /&gt;
&lt;br /&gt;
A Year Of Bugs http://bcheck.scanit.be/bcheck/page.php?name=STATS2004&amp;amp;page=1&lt;br /&gt;
&lt;br /&gt;
Executive Summary&lt;br /&gt;
http://bcheck.scanit.be/bcheck/page.php?name=STATS2004&amp;amp;page=5&lt;br /&gt;
004 was pretty hard for Internet Explorer users. The domination of Internet Explorer made it a preferred target for both malware writers and security researchers, creating a steady stream of vulnerabilities. Windows XP Service Pack 2 released on August 9, 2004 did not seem to alter this trend.&lt;br /&gt;
&lt;br /&gt;
In 2004 Mozilla had the shortest &amp;quot;exposure period&amp;quot; of the three browsers compared. The growing popularity of Mozilla and Firefox was at least to some extent due to better security it currently provides to its users. However as Mozilla browsers become more common they are bound to attract attention of malware writers. It would be interesting to see how well Mozilla will do security-wise when its user base approaches that of Internet Explorer.&lt;br /&gt;
&lt;br /&gt;
http://bcheck.scanit.be/bcheck/page.php?name=stats2004&lt;br /&gt;
http://bcheck.scanit.be/bcheck/page.php?name=STATS2004&amp;amp;page=3&lt;br /&gt;
http://bcheck.scanit.be/bcheck/page.php?name=STATS2004&amp;amp;page=4&lt;br /&gt;
&lt;br /&gt;
2005&lt;br /&gt;
&lt;br /&gt;
Mozilla averaged about 21 days before it issued fixes for flaws in Firefox, compared with the 135 days it took for Microsoft to address problems in Internet Explorer.&lt;br /&gt;
Web Browser Vulnerabilities Calendar&lt;br /&gt;
Click the image for a look at the length of time Firefox and IE were vulnerable to known flaws in 2005.&lt;br /&gt;
&lt;br /&gt;
For at least 38 days in 2005, IE was vulnerable to unpatched critical security flaws that were being exploited actively by viruses, worms and spyware. For at least 256 days last year, Internet Explorer contained unpatched vulnerabilities where the exploit method had been publicly disclosed but was not necessarily being used.&lt;br /&gt;
http://blog.washingtonpost.com/securityfix/2006/02/2005_patch_times_for_firefox_a.html&lt;br /&gt;
http://www.washingtonpost.com/wp-srv/technology/interactives/browsers/&lt;br /&gt;
&lt;br /&gt;
2006&lt;br /&gt;
&lt;br /&gt;
For a total 284 days in 2006 (or more than nine months out of the year), exploit code for known, unpatched critical flaws in pre-IE7 versions of the browser was publicly available on the Internet. Likewise, there were at least 98 days last year in which no software fixes from Microsoft were available to fix IE flaws that criminals were actively using to steal personal and financial data from users.&lt;br /&gt;
&lt;br /&gt;
In contrast, Internet Explorer&#039;s closest competitor in terms of market share -- Mozilla&#039;s Firefox browser -- experienced a single period lasting just nine days last year in which exploit code for a serious security hole was posted online before Mozilla shipped a patch to remedy the problem.&lt;br /&gt;
&lt;br /&gt;
http://blog.washingtonpost.com/securityfix/2007/01/internet_explorer_unsafe_for_2.html&lt;br /&gt;
http://www.washingtonpost.com/wp-srv/technology/daily/graphics/index20070104.html&lt;br /&gt;
Mozilla&#039;s Firefox browser -- experienced a single period lasting just nine days last year in which exploit code for a serious security hole was posted online before Mozilla shipped a patch to remedy the problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Security Features&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Datamation’s readers have taken notice, choosing Firefox – narrowly – to win its Product of the Year award in the Anti-Spam category.&lt;br /&gt;
&lt;br /&gt;
http://itmanagement.earthweb.com/article.php/3662741&lt;br /&gt;
&lt;br /&gt;
== Extending Firefox for Enhanced Productivity ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;The Very Best Firefox Extensions for Entrepreneurs&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.greatbigpodcast.com/2006/10/05/very-best-firefox-extensions-for-entrepreneurs/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Firefox Customization (CCK and Repackaging Tools) ==&lt;br /&gt;
&lt;br /&gt;
The Firefox Client Customization Kit (CCK) was designed as a successor to two Netscape products, CCK, and Mission Control Desktop (MCD). These two products were used to customize Netscape browsers for deployment for ISPs (CCK) and enterprises (MCD).&lt;br /&gt;
&lt;br /&gt;
The goal of the Firefox CCK is to provide an extension that can be deployed with Firefox that does most basic customizations.&lt;br /&gt;
&lt;br /&gt;
More information is available at http://www.mozilla.org/projects/cck/firefox.&lt;br /&gt;
&lt;br /&gt;
Information on the release repackaging tool is available here  http://benjamin.smedbergs.us/release-repackager/&lt;br /&gt;
&lt;br /&gt;
== Centralized Settings Management and Control==&lt;br /&gt;
&lt;br /&gt;
The core technology in Firefox and Thunderbird contains a feature called &amp;quot;Mission Control Desktop/Auto Config&amp;quot; that can be used to centrally manage Browser and Mail  configuation settings for the client software that is deployed across and organization.  More documenation on this feature can be found at: http://developer.mozilla.org/en/docs/MCD%2C_Mission_Control_Desktop_AKA_AutoConfig and http://developer.mozilla.org/en/docs/Automatic_Mozilla_Configurator:Locked_config_settings&lt;br /&gt;
&lt;br /&gt;
Most of the controls are carried out via the preference system.  An overview of the this system can be found at http://www.mozilla.org/catalog/end-user/customizing/briefprefs.html&lt;br /&gt;
http://www.xulplanet.com/tutorials/xulqa/q_prefs.html&lt;br /&gt;
&lt;br /&gt;
Extensive lists of preferences can be found at: &lt;br /&gt;
http://preferential.mozdev.org/preferences.html&lt;br /&gt;
&lt;br /&gt;
Some customization ideas can be found here&lt;br /&gt;
http://www.mozilla.org/support/firefox/tips&lt;br /&gt;
&lt;br /&gt;
This article also talks about controlling other features such as bookmarks and history and an approach to &amp;quot;Securing Mozilla in the Public Library&amp;quot;: http://tln.lib.mi.us/~amutch/pro/mozilla/&lt;br /&gt;
&lt;br /&gt;
== Installer Options ==&lt;br /&gt;
&lt;br /&gt;
Large Oranizations have a variety of software deployment systems.  In most cases the Firefox installation package can be wrapped inside these deployment systems.&lt;br /&gt;
Some groups have packaged the firefox installer inside a MSI package to do their deployments. The firefox installation program can be wrapped inside these deployment systems.  Two installer options are valuable in these set ups.&lt;br /&gt;
&lt;br /&gt;
FirefoxSetup.exe  /ms    (for mode-silent)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
FirefoxSetup.exe  /ma  (auto-mode, hands-free but visible)&lt;br /&gt;
&lt;br /&gt;
Another installation option ( /ira ) might be useful in these scenarios as it keeps the program from running after the install has completed.&lt;br /&gt;
&lt;br /&gt;
Some changes were made in Firefox 2 to modify installer command line options.  Information on those changes is here: http://wiki.mozilla.org/Installer:Command_Line_Arguments&lt;br /&gt;
&lt;br /&gt;
== Deployment Tools ==&lt;br /&gt;
Automated deployment of Firefox with extensions, themes, and pre-configuration&lt;br /&gt;
http://firefox.dbltree.com/&lt;br /&gt;
&lt;br /&gt;
Firefox ADM (Active Directory deployment)&lt;br /&gt;
Manage Firefox settings through Group Policy and Active Directory.&lt;br /&gt;
http://homepages.ed.ac.uk/mcs/FirefoxADM/Readme.htm&lt;br /&gt;
&lt;br /&gt;
== Software Update ==&lt;br /&gt;
&lt;br /&gt;
Mozilla offers automated updates of  security patches and bug fixes for Firefox and Thunderbird though its software update system.  You can choose to use this system or modify the firefox configuration to turn software updates off and gain more control over the update process.  An overview of the software update system can be found at http://wiki.mozilla.org/Software_Update&lt;br /&gt;
&lt;br /&gt;
== Companies ==&lt;br /&gt;
List of companies and contacts who can help with your evaluation, pilot projects, and deployment of Firefox or Thunderbird across your organization is provided below.&lt;br /&gt;
&lt;br /&gt;
[http://www.wayforth.co.uk Wayforth] - London, UK&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.browsergarage.com Browser Garage] - Mountain View, CA&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ibm.com IBM] - Austin, TX - contact [mailto:mkaply@us.ibm.com Michael Kaply]&lt;br /&gt;
&lt;br /&gt;
We are also interested in hearing about your success stories or problems at partners@mozilla.org&lt;br /&gt;
&lt;br /&gt;
== Licensing/Distribution Terms and Conditions ==&lt;br /&gt;
&lt;br /&gt;
The Firefox End User License can be found here:&lt;br /&gt;
http://www.mozilla.com/en-US/legal/eula/&lt;br /&gt;
&lt;br /&gt;
and more information about logo and trademark use can be found here: http://www.mozilla.org/foundation/trademarks/&lt;br /&gt;
&lt;br /&gt;
== Export Control Information ==&lt;br /&gt;
&lt;br /&gt;
Companies looking to provide Mozilla Software outside the United States often ask about Export Control provisions.  &lt;br /&gt;
&lt;br /&gt;
The Export Notice can be found at&lt;br /&gt;
http://ftp.mozilla.org/pub/mozilla.org/security/export-notice&lt;br /&gt;
&lt;br /&gt;
In addition, the CCATS number makes it easier for companies to file when they included NSS or Mozilla Applications like Firefox, which use NSS. This CCATS filing covers all the crypto operations used in the Mozilla code base, including SSL and S/MIME.  &lt;br /&gt;
&lt;br /&gt;
The reference number for export filings is CCATS G023895. Strictly speaking, we did not have to file for a CCATS number because the NSS crypto code is &amp;quot;publicly available&amp;quot; and the binaries are built from purely open source software.  More information on exporting products made from Open Source can be found here https://www.bis.doc.gov/encryption/enc.htm and here http://www.access.gpo.gov/bis/ear/ear_data.html - Part 740. Section §740.13(e) is on page 30 of the PDF. &lt;br /&gt;
&lt;br /&gt;
We strongly caution you not to act on your personal reading of export regulations.  They are complex and loaded with history, precedent, and context which often require interpretation from a qualified attorney.&lt;br /&gt;
&lt;br /&gt;
Most questions about features provided by Mozilla&#039;s security library are contained in this document&lt;br /&gt;
http://www.mozilla.org/projects/security/pki/nss/nss-3.9/nss-3.9-algorithms.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Links ==&lt;br /&gt;
&lt;br /&gt;
Collection of other random thoughts, press, and other articles on Firefox Deployments in Enterprise and Large Organizations&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;http://del.icio.us/chofmann/enterprise&lt;br /&gt;
&amp;lt;br&amp;gt;http://del.icio.us/chofmann/firefox-deployments&lt;br /&gt;
&amp;lt;br&amp;gt;http://mozillaenterprise.mozdev.org/information.html&lt;br /&gt;
&amp;lt;br&amp;gt;http://wiki.mozilla.org/Firefox:1.5_Institutional_Deployment&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.sanduskycomputers.com/downloads/fxcorp/&lt;br /&gt;
&amp;lt;br&amp;gt;http://fxcorp.sanduskycomputers.com/&lt;br /&gt;
&amp;lt;br&amp;gt;http://corporatefirefox.blogspot.com/&lt;br /&gt;
&amp;lt;br&amp;gt;http://firefox.dbltree.com/&lt;br /&gt;
&amp;lt;br&amp;gt;http://varun21.blogspot.com/&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.frontmotion.com/Firefox/&lt;br /&gt;
&lt;br /&gt;
[[Category:Firefox]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Download_Size&amp;diff=53322</id>
		<title>Download Size</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Download_Size&amp;diff=53322"/>
		<updated>2007-03-29T02:50:24Z</updated>

		<summary type="html">&lt;p&gt;Taken: add backlink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;amp;lt; [[Firefox#Firefox 2.0 (Bon Echo) Plan|Firefox]]&lt;br /&gt;
&lt;br /&gt;
= Download Size =&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
Download size is an important factor in adoption. Keeping the download size small, especially below a mental barrier like 5.0 MB keeps Firefox in the class as &amp;quot;simple utility applications&amp;quot; and is downloaded without as much hesitation by users. It also allows clever marketing ala Asa&#039;s &amp;quot;It&#039;s like downloading an MP3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To maintain a trim download size as new features and compiler requirements arrive, we must develop strategies to make our existing code better and cleaner. &lt;br /&gt;
&lt;br /&gt;
Keeping a compact download size should be on the mind of every engineer on the Firefox project, just like accessibility and internationalization.&lt;br /&gt;
&lt;br /&gt;
== Studies ==&lt;br /&gt;
&lt;br /&gt;
== Strategies ==&lt;br /&gt;
&lt;br /&gt;
* trim down InternetSearchService&lt;br /&gt;
* remove unnecessary developer-only components (DOM inspector, JS console)&lt;br /&gt;
* remove unnecessary xpinstall components&lt;br /&gt;
* better 7zip tuning&lt;br /&gt;
* trim the installer (currently rather bloated)&lt;br /&gt;
* xulrunner installer that downloads firefox.xap&lt;br /&gt;
* remove more unnecessary chrome and xpfe cruft (e.g. browserinstance)&lt;br /&gt;
* etc.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Debugging_a_hang_on_Mac_OS_X&amp;diff=53321</id>
		<title>Debugging a hang on Mac OS X</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Debugging_a_hang_on_Mac_OS_X&amp;diff=53321"/>
		<updated>2007-03-29T02:43:59Z</updated>

		<summary type="html">&lt;p&gt;Taken: redirect to MDC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MDC:Debugging_a_hang_on_OS_X]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Junk]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Mozilla_2:Obsolete_APIs&amp;diff=53314</id>
		<title>Mozilla 2:Obsolete APIs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Mozilla_2:Obsolete_APIs&amp;diff=53314"/>
		<updated>2007-03-29T02:28:06Z</updated>

		<summary type="html">&lt;p&gt;Taken: + Category:Mozilla 2, Mozilla 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;amp;lt; [[Mozilla 2]]&lt;br /&gt;
&lt;br /&gt;
See [[Gecko:Obsolete API]], for APIs that are already considered obsolete.  We should aspire to remove these from [[Mozilla 2]].&lt;br /&gt;
&lt;br /&gt;
==== Process Goals ====&lt;br /&gt;
&lt;br /&gt;
A lightweight [http://en.wikipedia.org/wiki/Request_for_Comments Request For Comments] protocol seems appropriate given the wide audience of Mozilla platform developers.  We need to reach out to hackers whose work is hosted at [http://addons.mozilla.org AMO], [http://mozdev.org mozdev.org], and other such sites.  We should try to reach the [http://weblogs.mozillazine.org/roc/archives/2006/12/xul_dark_matter.html XUL Dark Matter] bodies out there on the galactic rim. The goal should be to propose and discuss with plenty of time for two-way communication leading to consensus on which APIs go away, what their replacements are, and what new APIs are needed that we haven&#039;t already planned.&lt;br /&gt;
&lt;br /&gt;
Comments and contributions welcome.&lt;br /&gt;
&lt;br /&gt;
[[User:Brendan|/be]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mozilla 2]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Mozilla_2:Embedding_APIs&amp;diff=53313</id>
		<title>Mozilla 2:Embedding APIs</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Mozilla_2:Embedding_APIs&amp;diff=53313"/>
		<updated>2007-03-29T02:26:42Z</updated>

		<summary type="html">&lt;p&gt;Taken: + Category:Mozilla 2, + link Mozilla 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;amp;lt; [[Mozilla 2]]&lt;br /&gt;
&lt;br /&gt;
==== Choices ====&lt;br /&gt;
&lt;br /&gt;
# Use OS-default or otherwise dominant embedding APIs&lt;br /&gt;
## Epiphany&#039;s Gecko GTK widget for Gnome&lt;br /&gt;
## WebKit/WebCore APIs for Mac OS X&lt;br /&gt;
## MSHTML COM APIs for Windows, or .NET equivalents if necessary (we should strive to maintain, and even to extend, [http://www.iol.ie/~locka/mozilla/mozilla.htm Adam Lock&#039;s work]).&lt;br /&gt;
&lt;br /&gt;
# Use a cross-platform embedding API&lt;br /&gt;
## Our own XPCOM-based API set&lt;br /&gt;
## WebKit/WebCore APIs&lt;br /&gt;
## MSHTML?  Non-starter on non-Windows, I think&lt;br /&gt;
&lt;br /&gt;
# Hybrid approaches, e.g.&lt;br /&gt;
## Use MSHTML COM APIs for embedding, navigation, etc. but use standard DOM (XP)COM APIs for the DOM.&lt;br /&gt;
&lt;br /&gt;
Contributions welcome here, please start and cite (with Google Groups links) newsgroup threads as needed.&lt;br /&gt;
&lt;br /&gt;
[[User:Brendan|/be]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
Using the OS-Default may also have the benefit of easier development for embedders. For example, on Windows, C++ APIs are not the easiest to work with anymore. C# and .NET languages would favor .NET wrapper or COM wrapper.&lt;br /&gt;
[[User:MarkFinkle|MarkFinkle]] 22:19, 9 March 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
[[Category:Mozilla 2]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Mozilla_2&amp;diff=53312</id>
		<title>Mozilla 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Mozilla_2&amp;diff=53312"/>
		<updated>2007-03-29T02:21:21Z</updated>

		<summary type="html">&lt;p&gt;Taken: + Category:Mozilla 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(See [[Mozilla2:Home_Page | the 2004-era Mozilla 2 pages]] for older ideas.)&lt;br /&gt;
&lt;br /&gt;
=== Ends ===&lt;br /&gt;
&lt;br /&gt;
Current thinking on goals, initially pitched in [[User:Brendan | Brendan]]&#039;s [http://weblogs.mozillazine.org/roadmap/archives/2006/10/mozilla_2.html Mozilla 2 blog item], consists of these major bullet items:&lt;br /&gt;
&lt;br /&gt;
* Clean up our APIs to be fewer, better, and &amp;quot;on the outside&amp;quot; of Gecko, with symbol visibility strictly limited to public APIs.&lt;br /&gt;
* Based on these APIs and supported embedding scenarios, support intentional Gecko embedding in a first-class way.&lt;br /&gt;
* Simplify the Mozilla codebase to make it smaller, faster, and easier to approach and maintain.&lt;br /&gt;
* Take advantage of standard C++ features and fast paths instead of XPCOM and ad hoc code.&lt;br /&gt;
* Develop [http://developer.mozilla.org/es4/ JS2] with Adobe folks on top of [http://weblogs.mozillazine.org/roadmap/archives/2006/11/project_tamarin.html Tamarin].&lt;br /&gt;
* Optimization including JIT compilation for JS2 with very fast DOM access and low memory costs.&lt;br /&gt;
* Tool-time and runtime enforcement of important safety properties including memory safety and confidentiality properties for both XUL and the Web.&lt;br /&gt;
&lt;br /&gt;
What these mean in detail is mostly &amp;quot;to be decided&amp;quot;, but we should try to say what we don&#039;t mean:&lt;br /&gt;
&lt;br /&gt;
* We won&#039;t rewrite the Mozilla codebase by hand.&lt;br /&gt;
* We won&#039;t gratuitously break API compatibility (&amp;quot;some of our APIs are fine, thank you&amp;quot;).&lt;br /&gt;
* We won&#039;t drop XPCOM completely; we may even have configurable Mozilla 1 XPCOM compatibility.&lt;br /&gt;
* We won&#039;t bring up Mozilla 2 on mobile devices (but volunteers are welcome to port early and often; Mozilla 2 will fit on such devices much more easily than Mozilla 1 code does).&lt;br /&gt;
&lt;br /&gt;
The goals boil down to competing more effectively with ourselves, with [http://webkit.org Webkit], and even with IE and Opera, for all three of the Web, XUL (or equivalent &amp;quot;widget&amp;quot; or &amp;quot;rich client platform&amp;quot; comparable), and C++ embeddable HTML rendering engine platforms. We should aspire to beat the competition on major time, space, and ease-of-use axes, not just show or place.&lt;br /&gt;
&lt;br /&gt;
=== Means ===&lt;br /&gt;
&lt;br /&gt;
The goals are ambitious, and unrealistic without new tools and approaches to the code.  Here are some of the major levers we will use to move mountains.&lt;br /&gt;
&lt;br /&gt;
==== Tasklist ====&lt;br /&gt;
&lt;br /&gt;
* Import final dirlist into Hg (Q107)&lt;br /&gt;
** Benjamin/Brendan&lt;br /&gt;
* Begin refactoring work/DeCOM/API work (Q107)&lt;br /&gt;
** Get tools good enough for broad use (Taras)&lt;br /&gt;
** Develop hitlist of areas to refactor (Taras/Brendan)&lt;br /&gt;
** Plan for refactoring DOM APIs (JST)&lt;br /&gt;
* Complete ES4 spec and ref impl (Q207):&lt;br /&gt;
** Graydon+Brendan&lt;br /&gt;
* Begin Tamarin/SM integration (Q307)&lt;br /&gt;
** Extract GC from Tamarin (e.g. remove all fp dependencies) (??)&lt;br /&gt;
** Ensure GC/Taramin compiles/runs on all platforms&lt;br /&gt;
* Rich Graphics Plan (Q207)&lt;br /&gt;
** Video Prototypes (Chris D)&lt;br /&gt;
** SVG/Canvas Plan (??)&lt;br /&gt;
** Accelerated Graphics Plan (??)&lt;br /&gt;
** OpenText Improvements Plan (Pav)&lt;br /&gt;
* Security Plan (Q207)&lt;br /&gt;
* Layout Plan (Q207)&lt;br /&gt;
* &amp;lt;del&amp;gt;Finalize choice of VCS and implement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Timeline ====&lt;br /&gt;
&lt;br /&gt;
* Q107 - Kickoff of project&lt;br /&gt;
** VCS up and ready for checkins&lt;br /&gt;
** Major areas of focus identified&lt;br /&gt;
** Owners for each area identified&lt;br /&gt;
* Q207&lt;br /&gt;
** ES4 Spec and Ref Impl Complete&lt;br /&gt;
** Plans flushed out for each major task area&lt;br /&gt;
** Refactoring checked in &lt;br /&gt;
* Q307 &lt;br /&gt;
** Tamarin GC Building on all major platforms&lt;br /&gt;
** First prototype of Tamarin &lt;br /&gt;
** Design/Prototypes done for each major area&lt;br /&gt;
* Q407&lt;br /&gt;
** First Alpha of Moz2/Gecko2/Fx4 released&lt;br /&gt;
* Q108&lt;br /&gt;
** Fx4 Alphas &lt;br /&gt;
** All Major design work done&lt;br /&gt;
* Q208&lt;br /&gt;
** First Fx4/Moz2 Beta&lt;br /&gt;
* Q308&lt;br /&gt;
** Betas&lt;br /&gt;
* Q408&lt;br /&gt;
** Moz2/Fx4 Ship&lt;br /&gt;
&lt;br /&gt;
==== A Better VCS (Brendan/Preed) ====&lt;br /&gt;
&lt;br /&gt;
See [[VersionControlSummit2006|the great Version Control System shoot-out]]. We need a better VCS because Mozilla 2 will require more sweeping changes, and more experiments which must be run in parallel, than anything we&#039;ve done so far. So we need at least&lt;br /&gt;
&lt;br /&gt;
* better, cheaper branching&lt;br /&gt;
* better merge algorithms for updating and landing branches&lt;br /&gt;
* decentralized operation (no master repository with slave workareas)&lt;br /&gt;
* good merge-from-CVS capability to track the Mozilla 1.9 trunk where possible&lt;br /&gt;
* great performance on Windows (this rules out cygwin-ported Linux VCSes)&lt;br /&gt;
&lt;br /&gt;
See [http://weblogs.mozillazine.org/preed/2006/11/version_control_system_shootou.html preed&#039;s Mortal Kombat] salute and look for news on his blog.&lt;br /&gt;
&lt;br /&gt;
An important aspect to get straight is the branching topology. We will have many unstable branches running concurrently during Moz2 development. Generally for each task you want sub-task branches (possibly per-author or per-feature) plus a task-integration branch that your group tries to keep building and working most of the time. The ability to chain a new branch to a new buildbot, with a minimum of fuss, is very helpful.&lt;br /&gt;
&lt;br /&gt;
==== ES4 ====&lt;br /&gt;
&lt;br /&gt;
* Ref implementation complete June 07&lt;br /&gt;
* Merge Tamarin in existing JS APIs &lt;br /&gt;
* Tamarin Performance Improvements (see above)&lt;br /&gt;
* JS Trust labels&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By combining APIs, code, and ideas from [http://lxr.mozilla.org/mozilla/source/js/src SpiderMonkey] and [http://lxr.mozilla.org/mozilla/source/js/tamarin Tamarin], we will build a [http://developer.mozilla.org/es4 JS2] virtual machine as part of Mozilla 2.  The Tamarin code contribution is a big boost to this effort, and we intend to extend it, not copy code from it. But we need more that today&#039;s Tamarin in order to avoid certain pitfalls.  We will probably need all of these:&lt;br /&gt;
&lt;br /&gt;
* Dynamic optimizations for untyped JS (both Web and XUL JS -- we won&#039;t require all XUL JS to be annotated with types).&lt;br /&gt;
* Profile-directed Ahead Of Time compilation for critical methods (in lieu of XUL FastLoad, to avoid taking a startup performance hit).&lt;br /&gt;
* Fresh thinking and hacking for VM-based security, learning from [[Security:Bibliography|recent security research]].&lt;br /&gt;
&lt;br /&gt;
We hope to self-host a JS2 compiler on the VM, but if performance can&#039;t match or beat the competition (including today&#039;s SpiderMonkey), we will have to consider:&lt;br /&gt;
&lt;br /&gt;
* Native compiler front end.&lt;br /&gt;
&lt;br /&gt;
While &amp;quot;it would be nice&amp;quot; (sincerely; but also, these are famous last words) to optimize the VM such that the self-hosted compiler beats a C or C++ hand-crafted compiler, we cannot put purity ahead of performance. The trade-off for Tamarin&#039;s embedding in the Flash Player is different: offline compilation via the Flex SDK is the rule there, and the self-hosted compiler need only be fast enough for &amp;lt;code&amp;gt;eval&amp;lt;/code&amp;gt; requirements (which will be novel to Flash in a future release).&lt;br /&gt;
&lt;br /&gt;
Current DOM security checks use the [[Security:Scattered Security Checks]] model. For Mozilla 2, in order to JIT DOM calls efficiently, we need either [[Security:Security Checks In Glue]] or [[Security:Wrapper-based Checks]]. To support &amp;quot;mashups in the browser&amp;quot; and [http://www.w3.org/TR/XBL XBL2], we may need to support data-tainting with static flow analysis as well as dynamic taint propagation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Semi-automated refactoring work/Oink ====&lt;br /&gt;
&lt;br /&gt;
[[Static Analysis]] via [[FirefoxSummit/2006/ProposedSessions/Oink|Oink]] will play an important role, we think, in partially or fully automating&lt;br /&gt;
&lt;br /&gt;
* deCOMtamination, including getting XPCOM completely out of the middle of Gecko&lt;br /&gt;
* static data-tainting checks to uphold confidentiality properties&lt;br /&gt;
* conversion to exception-safe code, and holding the line on exception safety&lt;br /&gt;
* conversion to C++ exceptions, possibly including a new XPCOM C++ binding&lt;br /&gt;
* identification of C++ ripe for conversion to JS2.&lt;br /&gt;
* conversion from ad-hoc or Mozilla-private APIs to standard C++ APIs&lt;br /&gt;
* simple metrics of code complexity, to be regularly compared to other open source projects&lt;br /&gt;
&lt;br /&gt;
Other good ideas for Oink-based tools should be noted on [[Static Analysis]].  The &amp;quot;conversion&amp;quot; items above will use the to-be-written (but proven-in-concept) pattern-matching patch-generating tool discussed at [http://weblogs.mozillazine.org/roadmap/archives/2006/11/oinkbased_patch_generation.html another this blog post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Embedding API Design ====&lt;br /&gt;
&lt;br /&gt;
* [[Mozilla 2:Embedding APIs]]&lt;br /&gt;
* [[Mozilla 2:Obsolete APIs]]&lt;br /&gt;
&lt;br /&gt;
==== Rendering Performance ====&lt;br /&gt;
&lt;br /&gt;
==== Graphics/Advanced Rendering ====&lt;br /&gt;
&lt;br /&gt;
* Get rid of remnants of old gfx&lt;br /&gt;
** convert all paint methods to take gfxContext instead of nsIRenderingContext&lt;br /&gt;
** optimize API usage, e.g. take advantage of new clipping/transform capabilities&lt;br /&gt;
* Add optional acceleration using OpenGL (or Direct3D)&lt;br /&gt;
** Involves work to make widget layer 3D-aware&lt;br /&gt;
* Add video capabilities to platform, combined with hw accel and complex transform capability&lt;br /&gt;
* Make 3D a first-class citizen of platform&lt;br /&gt;
** any 2D element should render correctly under an arbitrary 2D transform&lt;br /&gt;
* Tighter integration between image decoding and rendering&lt;br /&gt;
** decode-on-render&lt;br /&gt;
** SVG as image&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
&lt;br /&gt;
[[Category:Mozilla 2]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Mozilla_2&amp;diff=53311</id>
		<title>Mozilla 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Mozilla_2&amp;diff=53311"/>
		<updated>2007-03-29T02:16:09Z</updated>

		<summary type="html">&lt;p&gt;Taken: markup improvment, no content change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(See [[Mozilla2:Home_Page | the 2004-era Mozilla 2 pages]] for older ideas.)&lt;br /&gt;
&lt;br /&gt;
=== Ends ===&lt;br /&gt;
&lt;br /&gt;
Current thinking on goals, initially pitched in [[User:Brendan | Brendan]]&#039;s [http://weblogs.mozillazine.org/roadmap/archives/2006/10/mozilla_2.html Mozilla 2 blog item], consists of these major bullet items:&lt;br /&gt;
&lt;br /&gt;
* Clean up our APIs to be fewer, better, and &amp;quot;on the outside&amp;quot; of Gecko, with symbol visibility strictly limited to public APIs.&lt;br /&gt;
* Based on these APIs and supported embedding scenarios, support intentional Gecko embedding in a first-class way.&lt;br /&gt;
* Simplify the Mozilla codebase to make it smaller, faster, and easier to approach and maintain.&lt;br /&gt;
* Take advantage of standard C++ features and fast paths instead of XPCOM and ad hoc code.&lt;br /&gt;
* Develop [http://developer.mozilla.org/es4/ JS2] with Adobe folks on top of [http://weblogs.mozillazine.org/roadmap/archives/2006/11/project_tamarin.html Tamarin].&lt;br /&gt;
* Optimization including JIT compilation for JS2 with very fast DOM access and low memory costs.&lt;br /&gt;
* Tool-time and runtime enforcement of important safety properties including memory safety and confidentiality properties for both XUL and the Web.&lt;br /&gt;
&lt;br /&gt;
What these mean in detail is mostly &amp;quot;to be decided&amp;quot;, but we should try to say what we don&#039;t mean:&lt;br /&gt;
&lt;br /&gt;
* We won&#039;t rewrite the Mozilla codebase by hand.&lt;br /&gt;
* We won&#039;t gratuitously break API compatibility (&amp;quot;some of our APIs are fine, thank you&amp;quot;).&lt;br /&gt;
* We won&#039;t drop XPCOM completely; we may even have configurable Mozilla 1 XPCOM compatibility.&lt;br /&gt;
* We won&#039;t bring up Mozilla 2 on mobile devices (but volunteers are welcome to port early and often; Mozilla 2 will fit on such devices much more easily than Mozilla 1 code does).&lt;br /&gt;
&lt;br /&gt;
The goals boil down to competing more effectively with ourselves, with [http://webkit.org Webkit], and even with IE and Opera, for all three of the Web, XUL (or equivalent &amp;quot;widget&amp;quot; or &amp;quot;rich client platform&amp;quot; comparable), and C++ embeddable HTML rendering engine platforms. We should aspire to beat the competition on major time, space, and ease-of-use axes, not just show or place.&lt;br /&gt;
&lt;br /&gt;
=== Means ===&lt;br /&gt;
&lt;br /&gt;
The goals are ambitious, and unrealistic without new tools and approaches to the code.  Here are some of the major levers we will use to move mountains.&lt;br /&gt;
&lt;br /&gt;
==== Tasklist ====&lt;br /&gt;
&lt;br /&gt;
* Import final dirlist into Hg (Q107)&lt;br /&gt;
** Benjamin/Brendan&lt;br /&gt;
* Begin refactoring work/DeCOM/API work (Q107)&lt;br /&gt;
** Get tools good enough for broad use (Taras)&lt;br /&gt;
** Develop hitlist of areas to refactor (Taras/Brendan)&lt;br /&gt;
** Plan for refactoring DOM APIs (JST)&lt;br /&gt;
* Complete ES4 spec and ref impl (Q207):&lt;br /&gt;
** Graydon+Brendan&lt;br /&gt;
* Begin Tamarin/SM integration (Q307)&lt;br /&gt;
** Extract GC from Tamarin (e.g. remove all fp dependencies) (??)&lt;br /&gt;
** Ensure GC/Taramin compiles/runs on all platforms&lt;br /&gt;
* Rich Graphics Plan (Q207)&lt;br /&gt;
** Video Prototypes (Chris D)&lt;br /&gt;
** SVG/Canvas Plan (??)&lt;br /&gt;
** Accelerated Graphics Plan (??)&lt;br /&gt;
** OpenText Improvements Plan (Pav)&lt;br /&gt;
* Security Plan (Q207)&lt;br /&gt;
* Layout Plan (Q207)&lt;br /&gt;
* &amp;lt;del&amp;gt;Finalize choice of VCS and implement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Timeline ====&lt;br /&gt;
&lt;br /&gt;
* Q107 - Kickoff of project&lt;br /&gt;
** VCS up and ready for checkins&lt;br /&gt;
** Major areas of focus identified&lt;br /&gt;
** Owners for each area identified&lt;br /&gt;
* Q207&lt;br /&gt;
** ES4 Spec and Ref Impl Complete&lt;br /&gt;
** Plans flushed out for each major task area&lt;br /&gt;
** Refactoring checked in &lt;br /&gt;
* Q307 &lt;br /&gt;
** Tamarin GC Building on all major platforms&lt;br /&gt;
** First prototype of Tamarin &lt;br /&gt;
** Design/Prototypes done for each major area&lt;br /&gt;
* Q407&lt;br /&gt;
** First Alpha of Moz2/Gecko2/Fx4 released&lt;br /&gt;
* Q108&lt;br /&gt;
** Fx4 Alphas &lt;br /&gt;
** All Major design work done&lt;br /&gt;
* Q208&lt;br /&gt;
** First Fx4/Moz2 Beta&lt;br /&gt;
* Q308&lt;br /&gt;
** Betas&lt;br /&gt;
* Q408&lt;br /&gt;
** Moz2/Fx4 Ship&lt;br /&gt;
&lt;br /&gt;
==== A Better VCS (Brendan/Preed) ====&lt;br /&gt;
&lt;br /&gt;
See [[VersionControlSummit2006|the great Version Control System shoot-out]]. We need a better VCS because Mozilla 2 will require more sweeping changes, and more experiments which must be run in parallel, than anything we&#039;ve done so far. So we need at least&lt;br /&gt;
&lt;br /&gt;
* better, cheaper branching&lt;br /&gt;
* better merge algorithms for updating and landing branches&lt;br /&gt;
* decentralized operation (no master repository with slave workareas)&lt;br /&gt;
* good merge-from-CVS capability to track the Mozilla 1.9 trunk where possible&lt;br /&gt;
* great performance on Windows (this rules out cygwin-ported Linux VCSes)&lt;br /&gt;
&lt;br /&gt;
See [http://weblogs.mozillazine.org/preed/2006/11/version_control_system_shootou.html preed&#039;s Mortal Kombat] salute and look for news on his blog.&lt;br /&gt;
&lt;br /&gt;
An important aspect to get straight is the branching topology. We will have many unstable branches running concurrently during Moz2 development. Generally for each task you want sub-task branches (possibly per-author or per-feature) plus a task-integration branch that your group tries to keep building and working most of the time. The ability to chain a new branch to a new buildbot, with a minimum of fuss, is very helpful.&lt;br /&gt;
&lt;br /&gt;
==== ES4 ====&lt;br /&gt;
&lt;br /&gt;
* Ref implementation complete June 07&lt;br /&gt;
* Merge Tamarin in existing JS APIs &lt;br /&gt;
* Tamarin Performance Improvements (see above)&lt;br /&gt;
* JS Trust labels&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By combining APIs, code, and ideas from [http://lxr.mozilla.org/mozilla/source/js/src SpiderMonkey] and [http://lxr.mozilla.org/mozilla/source/js/tamarin Tamarin], we will build a [http://developer.mozilla.org/es4 JS2] virtual machine as part of Mozilla 2.  The Tamarin code contribution is a big boost to this effort, and we intend to extend it, not copy code from it. But we need more that today&#039;s Tamarin in order to avoid certain pitfalls.  We will probably need all of these:&lt;br /&gt;
&lt;br /&gt;
* Dynamic optimizations for untyped JS (both Web and XUL JS -- we won&#039;t require all XUL JS to be annotated with types).&lt;br /&gt;
* Profile-directed Ahead Of Time compilation for critical methods (in lieu of XUL FastLoad, to avoid taking a startup performance hit).&lt;br /&gt;
* Fresh thinking and hacking for VM-based security, learning from [[Security:Bibliography|recent security research]].&lt;br /&gt;
&lt;br /&gt;
We hope to self-host a JS2 compiler on the VM, but if performance can&#039;t match or beat the competition (including today&#039;s SpiderMonkey), we will have to consider:&lt;br /&gt;
&lt;br /&gt;
* Native compiler front end.&lt;br /&gt;
&lt;br /&gt;
While &amp;quot;it would be nice&amp;quot; (sincerely; but also, these are famous last words) to optimize the VM such that the self-hosted compiler beats a C or C++ hand-crafted compiler, we cannot put purity ahead of performance. The trade-off for Tamarin&#039;s embedding in the Flash Player is different: offline compilation via the Flex SDK is the rule there, and the self-hosted compiler need only be fast enough for &amp;lt;code&amp;gt;eval&amp;lt;/code&amp;gt; requirements (which will be novel to Flash in a future release).&lt;br /&gt;
&lt;br /&gt;
Current DOM security checks use the [[Security:Scattered Security Checks]] model. For Mozilla 2, in order to JIT DOM calls efficiently, we need either [[Security:Security Checks In Glue]] or [[Security:Wrapper-based Checks]]. To support &amp;quot;mashups in the browser&amp;quot; and [http://www.w3.org/TR/XBL XBL2], we may need to support data-tainting with static flow analysis as well as dynamic taint propagation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Semi-automated refactoring work/Oink ====&lt;br /&gt;
&lt;br /&gt;
[[Static Analysis]] via [[FirefoxSummit/2006/ProposedSessions/Oink|Oink]] will play an important role, we think, in partially or fully automating&lt;br /&gt;
&lt;br /&gt;
* deCOMtamination, including getting XPCOM completely out of the middle of Gecko&lt;br /&gt;
* static data-tainting checks to uphold confidentiality properties&lt;br /&gt;
* conversion to exception-safe code, and holding the line on exception safety&lt;br /&gt;
* conversion to C++ exceptions, possibly including a new XPCOM C++ binding&lt;br /&gt;
* identification of C++ ripe for conversion to JS2.&lt;br /&gt;
* conversion from ad-hoc or Mozilla-private APIs to standard C++ APIs&lt;br /&gt;
* simple metrics of code complexity, to be regularly compared to other open source projects&lt;br /&gt;
&lt;br /&gt;
Other good ideas for Oink-based tools should be noted on [[Static Analysis]].  The &amp;quot;conversion&amp;quot; items above will use the to-be-written (but proven-in-concept) pattern-matching patch-generating tool discussed at [http://weblogs.mozillazine.org/roadmap/archives/2006/11/oinkbased_patch_generation.html another this blog post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Embedding API Design ====&lt;br /&gt;
&lt;br /&gt;
* [[Mozilla 2:Embedding APIs]]&lt;br /&gt;
* [[Mozilla 2:Obsolete APIs]]&lt;br /&gt;
&lt;br /&gt;
==== Rendering Performance ====&lt;br /&gt;
&lt;br /&gt;
==== Graphics/Advanced Rendering ====&lt;br /&gt;
&lt;br /&gt;
* Get rid of remnants of old gfx&lt;br /&gt;
** convert all paint methods to take gfxContext instead of nsIRenderingContext&lt;br /&gt;
** optimize API usage, e.g. take advantage of new clipping/transform capabilities&lt;br /&gt;
* Add optional acceleration using OpenGL (or Direct3D)&lt;br /&gt;
** Involves work to make widget layer 3D-aware&lt;br /&gt;
* Add video capabilities to platform, combined with hw accel and complex transform capability&lt;br /&gt;
* Make 3D a first-class citizen of platform&lt;br /&gt;
** any 2D element should render correctly under an arbitrary 2D transform&lt;br /&gt;
* Tighter integration between image decoding and rendering&lt;br /&gt;
** decode-on-render&lt;br /&gt;
** SVG as image&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-16&amp;diff=52957</id>
		<title>CycleCollector/CCStatus-2007-03-16</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-16&amp;diff=52957"/>
		<updated>2007-03-26T12:26:45Z</updated>

		<summary type="html">&lt;p&gt;Taken: correct navigation link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[CycleCollector/CCStatus-2007-03-07|&amp;amp;laquo; previous meeting]] | [[CycleCollector/Status_Meetings|index]] | [[CycleCollector/CCStatus-2007-03-23|next meeting &amp;amp;raquo;]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agenda ===&lt;br /&gt;
* Update from most recent discovery and patch to reduce leas by peterv.&lt;br /&gt;
* Update from graydon on landing {{bug|368869}}.&lt;br /&gt;
* Update from jst on CC timing code.&lt;br /&gt;
* Update from dbaron on debugging tools.&lt;br /&gt;
&lt;br /&gt;
* Discuss next steps.&lt;br /&gt;
&lt;br /&gt;
=== Leak Numbers ===&lt;br /&gt;
&lt;br /&gt;
peterv:  Patch ({{bug|374096}} ) was landed today.  Leaks dropped from 700k to 6k.   Catches most of it, but there&#039;s some tuning to due.&lt;br /&gt;
&lt;br /&gt;
jst:  Has a patch for CC timing.  Will create a bug and attach patch for review.  No update on the XPConnect stuff yet.&lt;br /&gt;
&lt;br /&gt;
dbaron:  Nothing of interest.  Going to do some lower level leak tests.  Seeing the usual mess of font config junk.&lt;br /&gt;
&lt;br /&gt;
=== Status of Pending CC Code in Bugzilla ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372713 Add cycle collection to RDF datasources]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372960 Make XPConnect traverse more JS edges]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368774 Support cycle collection of refcounted non-xpcom objects (aka, the XBL patch)]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368869 Make cycle collection suspect all native wrapper roots]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372766 cycle collector shutdown dump based on known should-have-been-freed objects]&lt;br /&gt;
&lt;br /&gt;
=== Next Steps ===&lt;br /&gt;
&lt;br /&gt;
* Performance:  Boris has filed two bugs ({{bug|373693}} (addref) and {{bug|373694}} (release) ) because of address/release.  Need to look at these items.  David has been doing some analysis of collection of why he&#039;s seeing slow down.&lt;br /&gt;
* Collectively look for performance enhancements.  &lt;br /&gt;
* The tinderbox doesn&#039;t show major leaks, but maybe we should go through all the leaks tests.&lt;br /&gt;
* Peterv will look at both of the bugs above for next week.&lt;br /&gt;
* jst will land the CC timing code ({{bug|374239}}).&lt;br /&gt;
&lt;br /&gt;
=== Audio of This Meeting ===&lt;br /&gt;
&lt;br /&gt;
* [http://shotoku.sicore.org:8080/file-access/default/mozilla/podcasts/Cycle_Collector_Meeting_2007-03-16_11_30am_PST.mp3 MP3 Format 10.6 MB]&lt;br /&gt;
* You can subscribe to these meetings as a podcast using [http://shotoku.sicore.org:8080/feeds/mozilla/podcasts/rss2  this RSS2 link].  (Accountability Disclaimer:  I didn&#039;t test this podcast to make sure it is compatible with anything other than iTunes.  Sorry. :] )&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-23&amp;diff=52956</id>
		<title>CycleCollector/CCStatus-2007-03-23</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-23&amp;diff=52956"/>
		<updated>2007-03-26T12:25:41Z</updated>

		<summary type="html">&lt;p&gt;Taken: using templates, adding navigation links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[CycleCollector/CCStatus-2007-03-16|&amp;amp;laquo; previous meeting]] | [[CycleCollector/Status_Meetings|index]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agenda ===&lt;br /&gt;
* Discuss performance:  Boris has filed two bugs ({{bug|373693}} (addref) and {{bug|373694}} (release).  Status?&lt;br /&gt;
* dbaron on slow down he was encountering.&lt;br /&gt;
* Performance in general.  &lt;br /&gt;
* Outcome of leaks tests?&lt;br /&gt;
* jst on status of landing the CC timing code ({{bug|374239}}).&lt;br /&gt;
* Discuss next steps.&lt;br /&gt;
&lt;br /&gt;
=== Leak Numbers ===&lt;br /&gt;
Peterv:&lt;br /&gt;
Not much changed from last week. Found one JS edge that was keeping XBL global objects alive. Also wrote a patch to make the cycle collector itself not leak on shutdown. These should drop shutdown leaks a little bit.&lt;br /&gt;
* {{bug|375063}} (Leaking nsJSContexts and nsXBLDocGlobalObjects at shutdown)&lt;br /&gt;
* {{bug|375075}} (Stop leaking the cycle collector on shutdown)&lt;br /&gt;
&lt;br /&gt;
Tried to reland patch for {{bug|372960}} (Make XPConnect traverse more JS edges), but Tinderbox is still going orange. Will probably back out again, seems related to CC performance issue. Tried to turn on jst&#039;s timing code, but that made Tinderbox go green so can&#039;t debug the issue then.&lt;br /&gt;
&lt;br /&gt;
Made new patch for {{bug|372713}} (Add cycle collection to RDF datasources) to address r- comments.&lt;br /&gt;
&lt;br /&gt;
Worked a little bit on {{bug|373693}} (Cycle collector makes AddRef about 6x slower) and {{bug|373694}} (Cycle collector makes Release about 11x slower), not done yet.&lt;br /&gt;
&lt;br /&gt;
=== Status of Pending CC Code in Bugzilla ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372713 Add cycle collection to RDF datasources]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372960 Make XPConnect traverse more JS edges]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368774 Support cycle collection of refcounted non-xpcom objects (aka, the XBL patch)]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368869 Make cycle collection suspect all native wrapper roots]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372766 cycle collector shutdown dump based on known should-have-been-freed objects]&lt;br /&gt;
&lt;br /&gt;
=== Next Steps ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Audio of This Meeting ===&lt;br /&gt;
&lt;br /&gt;
* [http://shotoku.sicore.org:8080/file-access/default/mozilla/podcasts/Cycle_Collector_Meeting_2007-03-16_11_30am_PST.mp3 *NOT YET AVAILABLE* MP3 Format 10.6 MB]&lt;br /&gt;
* You can subscribe to these meetings as a podcast using [http://shotoku.sicore.org:8080/feeds/mozilla/podcasts/rss2  this RSS2 link].  (Accountability Disclaimer:  I didn&#039;t test this podcast to make sure it is compatible with anything other than iTunes.  Sorry. :] )&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-16&amp;diff=52955</id>
		<title>CycleCollector/CCStatus-2007-03-16</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-16&amp;diff=52955"/>
		<updated>2007-03-26T12:23:29Z</updated>

		<summary type="html">&lt;p&gt;Taken: adding navigation links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[CycleCollector/CCStatus-2007-03-16|&amp;amp;laquo; previous meeting]] | [[CycleCollector/Status_Meetings|index]] | [[CycleCollector/CCStatus-2007-03-23|next meeting &amp;amp;raquo;]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agenda ===&lt;br /&gt;
* Update from most recent discovery and patch to reduce leas by peterv.&lt;br /&gt;
* Update from graydon on landing {{bug|368869}}.&lt;br /&gt;
* Update from jst on CC timing code.&lt;br /&gt;
* Update from dbaron on debugging tools.&lt;br /&gt;
&lt;br /&gt;
* Discuss next steps.&lt;br /&gt;
&lt;br /&gt;
=== Leak Numbers ===&lt;br /&gt;
&lt;br /&gt;
peterv:  Patch ({{bug|374096}} ) was landed today.  Leaks dropped from 700k to 6k.   Catches most of it, but there&#039;s some tuning to due.&lt;br /&gt;
&lt;br /&gt;
jst:  Has a patch for CC timing.  Will create a bug and attach patch for review.  No update on the XPConnect stuff yet.&lt;br /&gt;
&lt;br /&gt;
dbaron:  Nothing of interest.  Going to do some lower level leak tests.  Seeing the usual mess of font config junk.&lt;br /&gt;
&lt;br /&gt;
=== Status of Pending CC Code in Bugzilla ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372713 Add cycle collection to RDF datasources]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372960 Make XPConnect traverse more JS edges]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368774 Support cycle collection of refcounted non-xpcom objects (aka, the XBL patch)]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368869 Make cycle collection suspect all native wrapper roots]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372766 cycle collector shutdown dump based on known should-have-been-freed objects]&lt;br /&gt;
&lt;br /&gt;
=== Next Steps ===&lt;br /&gt;
&lt;br /&gt;
* Performance:  Boris has filed two bugs ({{bug|373693}} (addref) and {{bug|373694}} (release) ) because of address/release.  Need to look at these items.  David has been doing some analysis of collection of why he&#039;s seeing slow down.&lt;br /&gt;
* Collectively look for performance enhancements.  &lt;br /&gt;
* The tinderbox doesn&#039;t show major leaks, but maybe we should go through all the leaks tests.&lt;br /&gt;
* Peterv will look at both of the bugs above for next week.&lt;br /&gt;
* jst will land the CC timing code ({{bug|374239}}).&lt;br /&gt;
&lt;br /&gt;
=== Audio of This Meeting ===&lt;br /&gt;
&lt;br /&gt;
* [http://shotoku.sicore.org:8080/file-access/default/mozilla/podcasts/Cycle_Collector_Meeting_2007-03-16_11_30am_PST.mp3 MP3 Format 10.6 MB]&lt;br /&gt;
* You can subscribe to these meetings as a podcast using [http://shotoku.sicore.org:8080/feeds/mozilla/podcasts/rss2  this RSS2 link].  (Accountability Disclaimer:  I didn&#039;t test this podcast to make sure it is compatible with anything other than iTunes.  Sorry. :] )&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-07&amp;diff=52954</id>
		<title>CycleCollector/CCStatus-2007-03-07</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-07&amp;diff=52954"/>
		<updated>2007-03-26T12:19:09Z</updated>

		<summary type="html">&lt;p&gt;Taken: use bug template, add navigation link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[CycleCollector/Status_Meetings|index]] | [[CycleCollector/CCStatus-2007-03-16|next meeting &amp;amp;raquo;]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Agenda ===&lt;br /&gt;
* Update on current leakage numbers.&lt;br /&gt;
* Update from peterv.&lt;br /&gt;
* Status of pending CC code in Bugzilla.&lt;br /&gt;
* Status update from sicking regarding review of peterv&#039;s patch.&lt;br /&gt;
* Update from dbaron on debugging tools.&lt;br /&gt;
* Update from jst on xpconnect mysteries.&lt;br /&gt;
* Discuss next steps.&lt;br /&gt;
&lt;br /&gt;
=== Leak Numbers ===&lt;br /&gt;
&lt;br /&gt;
* Tinderbox didn&#039;t show that much of an improvement; however, our builds are showing improvements.&lt;br /&gt;
* There are conflicting numbers.&lt;br /&gt;
* SeaMonkey shows a drop, peterv&#039;s local shows a drop, but the Firefox build doesn&#039;t show improvements.&lt;br /&gt;
&lt;br /&gt;
Jonas:  I will take the XBL patch and see if that has an impact.&lt;br /&gt;
&lt;br /&gt;
dbaron:  Worried about a situation with the current code base where he [http://groups.google.com/group/mozilla.dev.performance/msg/7b2b326d0ed08889 sees his CPU pegged for several seconds] before responsiveness returns.  It was suggested that we start recording CC times.&lt;br /&gt;
&lt;br /&gt;
=== Status of Pending CC Code in Bugzilla ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372713 Add cycle collection to RDF datasources]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372960 Make XPConnect traverse more JS edges]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368774 Support cycle collection of refcounted non-xpcom objects (aka, the XBL patch)]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368869 Make cycle collection suspect all native wrapper roots]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372766 cycle collector shutdown dump based on known should-have-been-freed objects]&lt;br /&gt;
&lt;br /&gt;
=== Next Steps ===&lt;br /&gt;
&lt;br /&gt;
* Johnny will add CC timing printfs:&lt;br /&gt;
**  Cycle collection graph call times.&lt;br /&gt;
**  JS GC times.&lt;br /&gt;
* dbaron is going to land a patch related to debugging ({{bug|372766}} above).&lt;br /&gt;
* Sicking is going to drive the XML patch in as well as the patch from peterv (adding more content objects).&lt;br /&gt;
* jst will continue with xpconnect.&lt;br /&gt;
* Graydon will land {{bug|368869}}.&lt;br /&gt;
&lt;br /&gt;
peterv suggestion:  We should try to get to a point were we can start and stop without leaking.&lt;br /&gt;
&lt;br /&gt;
=== Audio of This Meeting ===&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cycle_Collector_Meeting_2007-03-09_11_30am_PST.mp3|MP3 Format 33 MB]] &lt;br /&gt;
* [[Media:Cycle_Collector_Meeting_2007-03-09_11_30am_PST.ogg|Ogg Vorbis 11.4 MB]]&lt;br /&gt;
* You can subscribe to these meetings as a podcast using [http://shotoku.sicore.org:8080/feeds/mozilla/podcasts/rss2  this RSS2 link].  (Accountability Disclaimer:  I didn&#039;t test this podcast to make sure it is compatible with anything other than iTunes.  Sorry. :] )&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-16&amp;diff=52953</id>
		<title>CycleCollector/CCStatus-2007-03-16</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=CycleCollector/CCStatus-2007-03-16&amp;diff=52953"/>
		<updated>2007-03-26T12:13:22Z</updated>

		<summary type="html">&lt;p&gt;Taken: use bug template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Agenda ===&lt;br /&gt;
* Update from most recent discovery and patch to reduce leaks by peterv.&lt;br /&gt;
* Update from graydon on landing {{bug|368869}}.&lt;br /&gt;
* Update from jst on CC timing code.&lt;br /&gt;
* Update from dbaron on debugging tools.&lt;br /&gt;
&lt;br /&gt;
* Discuss next steps.&lt;br /&gt;
&lt;br /&gt;
=== Leak Numbers ===&lt;br /&gt;
&lt;br /&gt;
peterv:  Patch ({{bug|374096}} ) was landed today.  Leaks dropped from 700k to 6k.   Catches most of it, but there&#039;s some tuning to due.&lt;br /&gt;
&lt;br /&gt;
jst:  Has a patch for CC timing.  Will create a bug and attach patch for review.  No update on the XPConnect stuff yet.&lt;br /&gt;
&lt;br /&gt;
dbaron:  Nothing of interest.  Going to do some lower level leak tests.  Seeing the usual mess of font config junk.&lt;br /&gt;
&lt;br /&gt;
=== Status of Pending CC Code in Bugzilla ===&lt;br /&gt;
&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372713 Add cycle collection to RDF datasources]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372960 Make XPConnect traverse more JS edges]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368774 Support cycle collection of refcounted non-xpcom objects (aka, the XBL patch)]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=368869 Make cycle collection suspect all native wrapper roots]&lt;br /&gt;
* [https://bugzilla.mozilla.org/show_bug.cgi?id=372766 cycle collector shutdown dump based on known should-have-been-freed objects]&lt;br /&gt;
&lt;br /&gt;
=== Next Steps ===&lt;br /&gt;
&lt;br /&gt;
* Performance:  Boris has filed two bugs ({{bug|373693}} (addref) and {{bug|373694}} (release) ) because of address/release.  Need to look at these items.  David has been doing some analysis of collection of why he&#039;s seeing slow down.&lt;br /&gt;
* Collectively look for performance enhancements.  &lt;br /&gt;
* The tinderbox doesn&#039;t show major leaks, but maybe we should go through all the leaks tests.&lt;br /&gt;
* Peterv will look at both of the bugs above for next week.&lt;br /&gt;
* jst will land the CC timing code ({{bug|374239}}).&lt;br /&gt;
&lt;br /&gt;
=== Audio of This Meeting ===&lt;br /&gt;
&lt;br /&gt;
* [http://shotoku.sicore.org:8080/file-access/default/mozilla/podcasts/Cycle_Collector_Meeting_2007-03-16_11_30am_PST.mp3 MP3 Format 10.6 MB]&lt;br /&gt;
* You can subscribe to these meetings as a podcast using [http://shotoku.sicore.org:8080/feeds/mozilla/podcasts/rss2  this RSS2 link].  (Accountability Disclaimer:  I didn&#039;t test this podcast to make sure it is compatible with anything other than iTunes.  Sorry. :] )&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Community:SummerOfCode07&amp;diff=52949</id>
		<title>Community:SummerOfCode07</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Community:SummerOfCode07&amp;diff=52949"/>
		<updated>2007-03-26T11:19:34Z</updated>

		<summary type="html">&lt;p&gt;Taken: use standard table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the Google Summer of Code 2007 projects with confirmed mentors, and which have been approved by the SoC administrator. Please do not edit this page; new suggestions can be made on [[Community:SummerOfCode07:Brainstorming|the Brainstorming page]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Potential students&#039;&#039;&#039;: you may choose from the list below, from [[Community:SummerOfCode07:Brainstorming|the Brainstorming page]], or submit your own proposal. Be wary when choosing from the Brainstorming page; there is often a good reason why the ideas haven&#039;t made it to this page.&lt;br /&gt;
&lt;br /&gt;
If the idea has no mentor (or the person who has volunteered is unsuitable) then we would need to find a mentor; you will increase your chances of success if you find one for yourself and submit their name with your application. A mentor should generally be a respected Mozilla project contributor with expertise in the relevant field; projects involving integration with other code could be mentored by someone with expertise in the other codebase. However, lack of a mentor should not be a deterrent - please, still apply even if you don&#039;t have one.&lt;br /&gt;
&lt;br /&gt;
You may wish to consider [http://weblogs.mozillazine.org/gerv/archives/2006/05/how_not_to_apply_for_summer_of.html How Not To Apply For Summer Of Code] before making your application. Then [http://code.google.com/soc/student_step1.html apply here] (you&#039;ll need a Google Account).&lt;br /&gt;
&lt;br /&gt;
==Firefox/Gecko==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standard-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Title&lt;br /&gt;
!Abstract - links to details/bugs/etc&lt;br /&gt;
!Reporter&lt;br /&gt;
!Mentor(s)&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Implement link fingerprints&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Link fingerprints are a method of making an HTTP or HTTPS URL reference not only a particular resource, but a particular version of that resource, in a way that the fetching client can validate. This would make it harder (not impossible) for crackers to change downloadable software packages without any user (and the site owner) noticing it. Further details can be found in [http://www.gerv.net/security/link-fingerprints/ the proposal by Gervase Markham], Gerv&#039;s [http://weblogs.mozillazine.org/gerv/archives/2007/03/wordpress_download_tarball_com.html blog post about the recent Wordpress tarball attack] and [https://bugzilla.mozilla.org/show_bug.cgi?id=292481 bug 292481]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:Jens.b|Jens.b]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Gerv&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | This is similar to Heikki&#039;s proposal above and could be done as part of that larger activity, but I think it deserves separate mention as its scope is specified more precisely, and it might be faster to implement. - Jens&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;There is already an extension which does some of this; a proper patch for the trunk would be required, and then the writing up of the idea as an RFC - Gerv&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Firefox automation &amp;amp; Tinderbox integration&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Firefox 3 automated smoke-testing using Linux Desktop Testing Project; Tinderbox integration of LDTP results.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:NagappanAlagappan|Nagappan]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:NagappanAlagappan|Nagappan]] and Emily Chen&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Once the system is integrated with Tinderbox, then we can extend it to use for Thunderbird automation testing too.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | SMIL Animation&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Work on extending and polishing the [https://bugzilla.mozilla.org/show_bug.cgi?id=216462 existing patch] by [http://brian.sol1.net/svg/ Brian Birtles] which adds a SMIL animation to mozilla and hosts it in SVG.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | tor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | tor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | SVG Fonts&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Add the ability to [http://www.w3.org/TR/SVG11/fonts.html define a font with SVG] to mozilla&#039;s SVG implementation.  Doing the &amp;quot;basic&amp;quot; style fonts that handle the &amp;quot;d&amp;quot; attribute, as used by SVG Tiny, should be fairly straightforward once [http://lists.freedesktop.org/archives/cairo/2007-February/009539.html cairo adds a user font API].&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | tor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | tor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | rich content microsummaries&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [https://bugzilla.mozilla.org/show_bug.cgi?id=341347 bug 341347]&amp;lt;br&amp;gt;[http://blog.mozilla.com/faaborg/2006/12/06/tufte-and-graphical-microsummaries/ Tufte and Graphical Live Titles]&amp;lt;br&amp;gt;[http://wiki.mozilla.org/GraphicalMicrosummaries Graphical Microsummaries]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | MykMelez&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | MykMelez&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | As Tufte notes, it can be very useful to pack a lot of information in a small space.  Microsummaries are targeted at that kind of information presentation.  But microsummaries can only display characters at the moment, which severely limits how much information they can display and how well they can display it.&lt;br /&gt;
&lt;br /&gt;
In fact, the most dramatically informative microsummaries (like a graph of the day&#039;s activity for a stock, or a graphical depiction of the next five day&#039;s weather) are currently impossible to implement.  But if sites could provide rich content (i.e. HTML or image) microsummaries, then these would be possible.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | microsummary builder&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [https://addons.mozilla.org/firefox/3741/ Microsummary Generator Builder extension]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | MykMelez&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | MykMelez&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | For sites that don&#039;t provide microsummaries, it&#039;s useful to be able to extract your own.  But building one from scratch requires knowledge of XSLT, XPath, and other technologies that even computer-savvy users and software engineers may lack.  And even for folks who do have that knowledge, it&#039;s much harder than it should be to extract a microsummary from a web page.&lt;br /&gt;
&lt;br /&gt;
Tools could significant improve this situation, and [https://addons.mozilla.org/firefox/3741/ one such tool] is already available, but there&#039;s still a lot more that can be done in two directions: for regular users, we could have a tool that made extracting a microsummary super-simple.  In fact, it could start as simple as clicking an element on a web page and dragging it to the bookmarks toolbar.  We could then build on that basic functionality with additional simple mechanisms for massaging the information to be summarized.&lt;br /&gt;
&lt;br /&gt;
For developers, we could have a tool that couples those simple mechanisms for average users with more sophisticated functions for inspecting and manipulating the microsummary generator.  For example, we might provide an editable &amp;quot;source&amp;quot; view of the generator.  And we might enable more complicated UI gestures for things like anchoring an XPath that retrieves some informatino to a non-root node (f.e. to the node that labels that information, whose relationship to the information is less likely to change over time than the relationship of that information node to the root node).&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | microsummary generator web service&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [http://userstyles.org/livetitle User Styles&#039; Live Titles repository]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | MykMelez&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | MykMelez&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | userstyles.org has set up a repository for microsummary generators, which is a great first step in distributing the generators, but it would be much more useful if users didn&#039;t have to browse the repository and install a generator to use it on a site.&lt;br /&gt;
&lt;br /&gt;
Imagine an extension (or an enhancement to an extension like [https://addons.mozilla.org/firefox/3639/ Microsummary Buddy] or [https://addons.mozilla.org/firefox/4248/ Microsummary Manager]) that automatically notifies users when a generator is available for a page they&#039;re browsing and shows them the microsummary it generates.  Then, if users decide they want to use the microrsummary, the extension installs the generator automatically and creates the microsummary-enabled bookmark for the user.  And all the user has to do is something simple like clicking on the &amp;quot;microsummary available&amp;quot; notification icon or dragging it to the bookmarks toolbar.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | JPEG 2000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [https://bugzilla.mozilla.org/show_bug.cgi?id=36351 Add JPEG 2000 support to Mozilla]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | schapel&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | pavlov (maybe)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | This would be done as an extension, perhaps as described in [https://bugzilla.mozilla.org/show_bug.cgi?id=18574#c672 this Bugzilla comment]&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | SVG as an image format&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | One of the possibilities that having a native SVG implementation in the browser provides is being able to use SVG in contexts where normally a raster image would be used, such as &amp;amp;lt;html:img&amp;amp;gt; and CSS properties that accept images.&lt;br /&gt;
&lt;br /&gt;
Someone interested in taking this on as a SoC project would need to be pretty familiar with the Mozilla codebase, as this involves getting bits of code that weren&#039;t originally planned to work with one another to play nicely together.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | tor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | tor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Thunderbird==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standard-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Title&lt;br /&gt;
!Abstract - links to details/bugs/etc&lt;br /&gt;
!Reporter&lt;br /&gt;
!Mentor(s)&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Add tabbed messages support for Thunderbird&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Tabbed message reading is a highly demanded feature for Thunderbird and was on the planned feature list for version 2, but missed the bus and currently there is nobody working on it. Having to change the selected folder and/or message or opening a new window decreases productivity (increases waste of time). The new message pane should also be available for the tabbed view. See [https://bugzilla.mozilla.org/show_bug.cgi?id=297379 Bug 297379] and [https://bugzilla.mozilla.org/show_bug.cgi?id=218999 Bug 218999]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Archaeopteryx&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | mscott&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | There had been experimental builds by Myk in the past, so there are already some concepts.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Thunderbird: Vista Desktop Search Integration&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Implement Vista Desktop Search for Thunderbird mail messages as described in [https://bugzilla.mozilla.org/show_bug.cgi?id=369283 bug 369283]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:Bienvenu|Bienvenu]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:Bienvenu|Bienvenu]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | There is a lot of code in the Spotlight integration code that could be re-used for the Vista search integration.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Thunderbird and Firefox Integration Points&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Make using Thunderbird and Firefox together a better user experience.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:mscott|mscott]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:mscott|mscott]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Add some integration hooks between Firefox and Thunderbird such as: adding a url to Thunderbird could autocomplete against Firefox bookmark and history urls. Filling out an address form in Firefox could extract the address data from your Thunderbird address book. I&#039;m sure there are other ideas that could be explored here too.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Improve Thunderbird mail filters&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Thunderbird&#039;s (and SeaMonkey&#039;s) mail filter system lacks features present in other clients. Implementing some of them (and new, unique features) would make it much more useful to advanced users, and could increase the user base.&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Allow to define filters for outgoing messages (e.g. file messages to folders based on found keywords), [https://bugzilla.mozilla.org/show_bug.cgi?id=11039 bug 11039]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Allow filtering on whether sender is in certain addressbook groups, [https://bugzilla.mozilla.org/show_bug.cgi?id=180013 bug 180013]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Add ability to filter by attachment presence or file names (e.g. file extension), [https://bugzilla.mozilla.org/show_bug.cgi?id=224392 bug 224392], [https://bugzilla.mozilla.org/show_bug.cgi?id=105169 bug 105169]&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;Allow extensions to tie in to filters (filter actions implemented in JS / XPCOM), [https://bugzilla.mozilla.org/show_bug.cgi?id=366094 bug 366094]&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;The exact set of bugs fixed as part of SoC activity would be determined by the mentor and the participant. More ideas can be found in [https://bugzilla.mozilla.org/showdependencytree.cgi?id=66425&amp;amp;hide_resolved=1 meta bug 66425]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:Jens.b|Jens.b]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | bienvenu&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Camino==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standard-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Title&lt;br /&gt;
!Abstract - links to details/bugs/etc&lt;br /&gt;
!Reporter&lt;br /&gt;
!Mentor(s)&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Camino: Tabspose&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Expose for tabs, but in the browser window ({{bug|312007}})&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | pinkerton&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | pinkerton&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | I&#039;ve wanted to do this for years...&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Camino AppleScript Support&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Camino currently has very little AppleScript support.  One of the most useful commands for a browser, &amp;quot;do javascript&amp;quot;, remains unimplemented.  Several other bugs separate Camino from parity with Safari&#039;s and OmniWeb&#039;s scripting support.  Filed bugs include {{bug|178917}}, {{bug|160106}}, {{bug|314061}}, {{bug|253486}}, and {{bug|156078}}.  Those bugs cover a lot of ground, including the ability to refer to tabs.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Peter Jaros ([[User:Peeja|Peeja]], Bard College)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:Pinkerton|Mike Pinkerton]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SeaMonkey==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standard-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Title&lt;br /&gt;
!Abstract - links to details/bugs/etc&lt;br /&gt;
!Reporter&lt;br /&gt;
!Mentor(s)&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Make SeaMonkey Not Suck As A News Reader&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Basically, get some traction on some of the highlights of {{bug|176238}}/{{bug|12699}} , in particular: &amp;quot;clickable references&amp;quot; ({{bug|62033}}) and headers in general ({{bug|23114}}), a more usable subscribe dialog ({{bug|40260}}), reordering of the folder pane ({{bug|150274}}, maybe even hierarchical?). For bonus points, a correct implementation of the nntp/news protocols ({{bug|89939}}) would be really cool!&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Mnyromyr&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Mnyromyr&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | UI stuff would be for SeaMonkey, but should be portable to Thunderbird easily. Both would profit from backend fixes.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Real Mail Templates&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Currently, mail templates are too static, their interaction with mails you respond to etc. is almost zero ({{bug|21210}}, {{bug|107876}} and others). It would be an enourmous progress if we could have variables like $$EMailAddress$$, $$QuotedBody$$, $$Date$$, $$CustomVariable(with Parameter)$$ in a template which get filled in when replying or composing.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Mnyromyr&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Mnyromyr&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | UI stuff would be for SeaMonkey, but should be portable to Thunderbird easily. Both would profit from backend fixes.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Score Filter&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | A score filter ({{bug|151622}}) would associate an integer with every message. This integer could then be changed by filter actions like &amp;quot;Increase by x&amp;quot;, &amp;quot;Set to Y&amp;quot;, etc. and have itself filter criteria like &amp;quot;If score is lower than A&amp;quot;, &amp;quot;If score has value B&amp;quot;, etc. Several other message properties alterable by filter actions (like isJunk or isThread) would need to be made usable as filter criteria for that for full points. In toto, this would allow for very fine-grained message control.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Mnyromyr&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Mnyromyr&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | UI stuff would be for SeaMonkey, but should be portable to Thunderbird easily. Both would profit from backend fixes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Bugzilla==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standard-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Title&lt;br /&gt;
!Abstract - links to details/bugs/etc&lt;br /&gt;
!Reporter&lt;br /&gt;
!Mentor(s)&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Bugzilla: Plugin System&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [https://bugzilla.mozilla.org/show_bug.cgi?id=371333 bug 371333]: Bugzilla has many methods for being extended, but they are not always clearly documented or coordinated. There is also no central repository for downloading plugins, or a standard way to install them. This task would be to make it easy for developers to write plugins, make it easy for administrators to install them, and write a useful sample plugin that demonstrates all of this. &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:MaxKanatAlexander|mkanat]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:MaxKanatAlexander|mkanat]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Bugzilla: Overhaul Charting System&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Bugzilla currently has two charting systems, the Old Charts and the New Charts. Old Charts are very simple, and work. New Charts are very complex, and the code has been abandoned for several years. However, charting is a feature that many users want in a bug-tracking system.&lt;br /&gt;
&lt;br /&gt;
This task would be to implement a charting system that is simple to use, respects Bugzilla&#039;s built-in security, and provides the flexibility that administrators want. In particular, the ability to go &amp;quot;back in time&amp;quot; and chart data about the past would be very welcome. (Our current system only starts charting data as soon as you set up a chart, so you can&#039;t find out anything about last month, or even yesterday.)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:MaxKanatAlexander|mkanat]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Gerv&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | There may be some questions about importing data from the old systems. I think that New Charts are not in much use, since they aren&#039;t complete. The system would have to be able to import Old Charts, but the New Charts system could be entirely replaced by the system built in this project. (However, any left-over New Charts would have to be exported as CSV so that users wouldn&#039;t lose their data.)&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Bugzilla: Duplicate Bug Detection&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Implement a system in Bugzilla that detects automatically that the user has likely entered a bug that is a duplicate of another bug, and display a list of bugs that this bug might be a duplicate of.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [[User:MaxKanatAlexander|mkanat]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | vladd&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | [https://launchpad.net/malone Malone] can do this now, although  I&#039;m not certain its code is actually open source. (Anyhow, GPL&#039;ed code can&#039;t be included in Bugzilla, which uses the MPL.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==L10n==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standard-table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Title&lt;br /&gt;
!Abstract - links to details/bugs/etc&lt;br /&gt;
!Reporter&lt;br /&gt;
!Mentor(s)&lt;br /&gt;
!Comments&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Easing the way for localizers&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
* fixing .label/.accesskey combination in the whole codebase, so that automatic tools have a chance to catch them all.&lt;br /&gt;
* Step by step documentations for new localizers.&lt;br /&gt;
* A script to align Mozilla Translator files to en-US files.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Abdulkadir Topal&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | pike&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Merge the two existing French spelling dictionaries&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | There are currently [https://addons.mozilla.org/thunderbird/dictionaries/?lang=fr two French spelling dictionaries] for MySpell. The first was made available from a former ISpell dictionary, and it was later &amp;quot;enhanced&amp;quot; by another group wanting to support new spellings only (1990 reform), although those are not mandatory. As a result, we have two dictionaries, but none of practical use (the first is outdated, the other is underlining perfectly valid words).&lt;br /&gt;
&lt;br /&gt;
A possible implementation of this project would be to take the new dictionary, re-add the hundreds of words that were removed from the old one, and enhance it in other ways (for example, HunSpell allows you to remove some words from the spelling suggestions without underlining them). It might looks like a trivial task, but it is not the case. There were structural changes in the affix dictionary file which can&#039;t be resolved by a simple diff. &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Benoit / [http://frenchmozilla.sourceforge.net/ The FrenchMozilla team]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Create a new French dictionary (HunSpell) from scratch&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | No matter how good the French spelling dictionary may become, it can&#039;t be shipped with Firefox or Thunderbird because of licensing issues (It&#039;s GPL only, Mozilla products are tri-licensed)[http://frenchmozilla.sourceforge.net/blog/index.php/2006/02/02/21-correction-orthographique-et-logiciels-mozilla explanation in French].&lt;br /&gt;
This proposal is to build a new French dictionary from scratch, taking advantage of the new features in [http://sourceforge.net/docman/display_doc.php?docid=29374&amp;amp;group_id=143754 HunSpell] &lt;br /&gt;
&lt;br /&gt;
Someone interested in taking this on as a SoC project would probably need to have a strong background in linguistics or a similar field.&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Benoit / [http://frenchmozilla.sourceforge.net/ The FrenchMozilla team]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Firefox3/StatusMeetings/2007-01-03&amp;diff=45582</id>
		<title>Firefox3/StatusMeetings/2007-01-03</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Firefox3/StatusMeetings/2007-01-03&amp;diff=45582"/>
		<updated>2007-01-05T08:43:44Z</updated>

		<summary type="html">&lt;p&gt;Taken: wiki markup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[Firefox3/StatusMeetings/2006-12-13|&amp;amp;laquo; previous week]] | [[Firefox3/StatusMeetings|index]] | [[Firefox3/StatusMeetings/2007-01-10|next week &amp;amp;raquo;]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meeting Details&#039;&#039;&#039;&lt;br /&gt;
* 11:00am PST (19:00 UTC)&lt;br /&gt;
* Mozilla HQ, 1st floor conference table&lt;br /&gt;
* 650-903-0800 x91 Conf# 217 (US/INTL)&lt;br /&gt;
* 1-866-879-4799 (pin 369) Conf# 217 (US)&lt;br /&gt;
* join irc.mozilla.org #granparadiso for backchannel&lt;br /&gt;
&lt;br /&gt;
= Agenda =&lt;br /&gt;
* Action items&lt;br /&gt;
* Firefox 3&lt;br /&gt;
* Gecko 1.9 Alpha 2 Planning&lt;br /&gt;
* Gecko 1.9 Roundtable&lt;br /&gt;
* Any other business&lt;br /&gt;
&lt;br /&gt;
= Firefox 3 =&lt;br /&gt;
&lt;br /&gt;
* Documents and status next week.  For real this time.&lt;br /&gt;
&lt;br /&gt;
= Gecko 1.9 Alpha 2 Planning =&lt;br /&gt;
&lt;br /&gt;
* Linux ref platform&lt;br /&gt;
** needs build/release to do tinderbox setup&lt;br /&gt;
&lt;br /&gt;
* view manager linking ({{bug|130078}})&lt;br /&gt;
** bad interaction with view mgr update batching&lt;br /&gt;
** won&#039;t happen for a2&lt;br /&gt;
** still need to evaluate if it can happen for 1.9&lt;br /&gt;
&lt;br /&gt;
* units unification ({{bug|177805}})&lt;br /&gt;
** needs testing builds, Martijn already doing some testing&lt;br /&gt;
** roc will review&lt;br /&gt;
** will try to land for a2&lt;br /&gt;
&lt;br /&gt;
* cycle collector&lt;br /&gt;
** updated to trunk, fixed some glaring performance problems&lt;br /&gt;
** should be within 10% speed penalty on Tp2 for win32&lt;br /&gt;
** will land for a2, reevaluate after a2&lt;br /&gt;
** graydon to work with jst to try to find a better place to trigger collection other than main event loop&lt;br /&gt;
&lt;br /&gt;
* new textframe code ({{bug|333659}})&lt;br /&gt;
** partial landing will happen for 1.9a2 (new textrun, just not new textframe)&lt;br /&gt;
&lt;br /&gt;
= Gecko 1.9 Roundtable =&lt;br /&gt;
&lt;br /&gt;
* color management - [http://www.littlecms.com/ lcms] inclusion (footprint, security, {{bug|16769}})&lt;br /&gt;
** main issues&lt;br /&gt;
*** printing (no worse than before, just different)&lt;br /&gt;
*** color matching with CSS content (Safari already does color correction, and it seems to work ok)&lt;br /&gt;
** need to talk to library author&lt;br /&gt;
** will try to get external help to do fuzztesting and add code for input validation as necessary&lt;br /&gt;
&lt;br /&gt;
= Any other business =&lt;br /&gt;
&lt;br /&gt;
* EV certs discussion&lt;br /&gt;
** Friday 11am&lt;br /&gt;
&lt;br /&gt;
* Testing/Perf Infrastructure&lt;br /&gt;
** should be able to add new tests within a week&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Places/StatusMeetings&amp;diff=44206</id>
		<title>Places/StatusMeetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Places/StatusMeetings&amp;diff=44206"/>
		<updated>2006-12-10T05:28:29Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Places|&amp;amp;laquo; Back to Places]]&lt;br /&gt;
&lt;br /&gt;
Status meetings for the Places effort on Firefox 3 are held every Thursday at 4pm Pacific time in [http://irc.mozilla.org/ #places].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IRC Logs&#039;&#039;&#039;&lt;br /&gt;
* [[Places/StatusMeetings/2006-10-05|October 5th, 2006]]&lt;br /&gt;
* [[Places/StatusMeetings/2006-10-12|October 12th, 2006]]&lt;br /&gt;
* [[Places/StatusMeetings/2006-10-19|October 19th, 2006]]&lt;br /&gt;
* [[Places/StatusMeetings/2006-10-26 and 2006-10-27|October 26th and 27th, 2006]]&lt;br /&gt;
* [[Places/StatusMeetings/2006-11-09|November 9th, 2006]]&lt;br /&gt;
* No meeting on November 16th, 2006, due to [[FirefoxSummit/2006/Schedule|Firefox Summit]], but see the [[Places/2006SummitNotes|notes]] from the Places meeting at the summit&lt;br /&gt;
* No meeting on November 23th, 2006, due to Thanksgiving&lt;br /&gt;
* [[Places/StatusMeetings/2006-11-29|November 29th, 2006]]&lt;br /&gt;
* [[Places/StatusMeetings/2006-12-07|December 7th, 2006]]&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Places/StatusMeetings/2006-10-19&amp;diff=44204</id>
		<title>Places/StatusMeetings/2006-10-19</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Places/StatusMeetings/2006-10-19&amp;diff=44204"/>
		<updated>2006-12-10T05:20:20Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[Places/StatusMeetings/2006-10-12| « previous week]] | [[Places/StatusMeetings|index]] | [[Places/StatusMeetings/2006-10-26 and 2006-10-27|next week »]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Places meeting: 2006-10-19 4pm PST ==&lt;br /&gt;
 dietrich       i put up some bookmarks recommendations here: http://wiki.mozilla.org/Places:BookmarksComments&lt;br /&gt;
 thunder        I skimmed it last night&lt;br /&gt;
 dietrich       if anyone has had a chance to look through it, it&#039;d be great to get feedback&lt;br /&gt;
 thunder        it looked pretty good overall&lt;br /&gt;
 *              thunder opens it up now&lt;br /&gt;
 sspitzer       dietrich:  I haven&#039;t had a chance to read it yet, my apologies.  I&#039;ll do some reading today and put comment on the discussion page.&lt;br /&gt;
 dietrich       some of the changes are sync-related, but stuff like unique IDs for bookmarks seem like a must-have&lt;br /&gt;
 dietrich       sspitzer: cool, thx&lt;br /&gt;
 sspitzer       I&#039;m also behind on reading dan&#039;s perf results&lt;br /&gt;
 thunder        dietrich: one thing that did come to mind, though&lt;br /&gt;
 thunder        is that &amp;quot;singleton model&amp;quot; doesn&#039;t necessarily exclude us from having *non-special-cased* metadata such as titles or anything else&lt;br /&gt;
 thunder        that was just one proposal&lt;br /&gt;
 thunder        ne could work out a data model in which URIs are unique, but there are multiple other bits of data (e.g., bookmarks) which point to each URI&lt;br /&gt;
 thunder        s/^/O/&lt;br /&gt;
 dietrich       hm, that sound like what i said. maybe i&#039;m not understanding :)&lt;br /&gt;
 thunder        dietrich: not sure if I&#039;m making sense?&lt;br /&gt;
 dietrich       s/sound/sounds/&lt;br /&gt;
 dietrich       so, in the framework i proposed, you&#039;d have this:&lt;br /&gt;
 thunder        well, it sounded like, to provide for multiple bookmarks, we&#039;d do away with &amp;quot;the singleton model&amp;quot; entirely&lt;br /&gt;
 sayrer         thunder: that makes sense, but then the URI is a JOIN (by reference). not sure that is good for sync&lt;br /&gt;
 dietrich       URI1 -&amp;gt; BookmarkURI1 -&amp;gt; title&lt;br /&gt;
 thunder        but we&#039;d realistically *want* that, for history&lt;br /&gt;
 dietrich       and URI1 -&amp;gt; BookmarkURI2 -&amp;gt; title&lt;br /&gt;
 thunder        sayrer: a bookmark URI, you mean?&lt;br /&gt;
 thunder        (if so, yes)&lt;br /&gt;
 sayrer         yeah, if the bookmarked link over in a history table, that could be bad for sync&lt;br /&gt;
 thunder        though it could be made reasonably speedy, perhaps - I don&#039;t know&lt;br /&gt;
 thunder        oh, not speed concerns. sync. hm&lt;br /&gt;
 sspitzer       sayrer:  what do you mean by:  &amp;quot;if the bookmarked link over in a history table&amp;quot;&lt;br /&gt;
 thunder        I don&#039;t think I understand&lt;br /&gt;
 thunder        the bookmark would be a unique object, but not unique-by-url&lt;br /&gt;
 dietrich       thunder: all i proposed really, was another level of indirection between the singletone URI in history, and bookmark properties&lt;br /&gt;
 thunder        ah!&lt;br /&gt;
 thunder        okay&lt;br /&gt;
 dietrich       not to gut the existing places history arch&lt;br /&gt;
 sayrer         if the string is somewhere not in the bookmark table, and multiple bookmarks can join on it, that could get hairy I think. that&#039;s all&lt;br /&gt;
 thunder        then we are pretty much in full agreement&lt;br /&gt;
 thunder        sayrer: for e.g. deletion?&lt;br /&gt;
 sayrer         yeah. I think people who want to JOIN on bookmarks should do &amp;quot;WHERE bmks.URI == history.URI&amp;quot;&lt;br /&gt;
 thunder        (addition is pretty easy)&lt;br /&gt;
 sayrer         that is all from me :)&lt;br /&gt;
 thunder        right.&lt;br /&gt;
 sspitzer       dietrich:  so you want to add another level of indirection to solve this problem, what&#039;s the new singleton?&lt;br /&gt;
 sspitzer       can you give an example that I can wrap my head around?&lt;br /&gt;
 thunder        sspitzer: history rows are stil unique by url&lt;br /&gt;
 thunder        sspitzer: there is a new bookmarks table where multiple rows can reuse the same history row&lt;br /&gt;
 dietrich       sspitzer: a URI for each bookmark&lt;br /&gt;
 dietrich       sspitzer: like the example in scrollback&lt;br /&gt;
 thunder        well, rather, have their own uri&lt;br /&gt;
 thunder        but I think we&#039;d want to also link to the history table where possible&lt;br /&gt;
 dietrich       HistURI1 -&amp;gt; BookmkURI1 -&amp;gt; title&lt;br /&gt;
 sayrer         someone willing to take an action to draw a strawman table?&lt;br /&gt;
 thunder        I can write what I&#039;m thinking more or less in the discussion tab of that page&lt;br /&gt;
 dietrich       thunder: yeah, each bookmark would likely have a FK back to the history table&lt;br /&gt;
 thunder        I don&#039;t know if it&#039;s really what dietrich had in mind&lt;br /&gt;
 thunder        dietrich: well, not every boomkmark, unfortunately&lt;br /&gt;
 dietrich       thunder: yeah please expand on what i have, or explain another approach&lt;br /&gt;
 thunder        since it&#039;s possible (and I think should continue to be possible) to have a bookmark that points to a place you&#039;ve never been to&lt;br /&gt;
 thunder        which is unfortunate for the data model&lt;br /&gt;
 dietrich       thunder: so, the moz_history table is ill-named&lt;br /&gt;
 brettw         it should probably be moz_urls or something&lt;br /&gt;
 dietrich       yep&lt;br /&gt;
 thunder        yeah&lt;br /&gt;
 dietrich       sayrer: yes, i&#039;ll create a new schema for what i proposed&lt;br /&gt;
 dietrich       and put it on the wiki&lt;br /&gt;
 thunder        so basically a bookmark has a moz_url_id field, which can be null&lt;br /&gt;
 sayrer         sounds good. (I don&#039;t like discussion pages, fwiw. people should add and edit each other&#039;s text)&lt;br /&gt;
 dietrich       sayrer: i&#039;m fine w/ that&lt;br /&gt;
 thunder        where null == user has never (as far as history goes) been to that uri&lt;br /&gt;
 brettw         why bother with that&lt;br /&gt;
 brettw         why not just join on the URI?&lt;br /&gt;
 brettw         that sounds like too much extra bookkeeping&lt;br /&gt;
 thunder        hm. true.  is it as fast?&lt;br /&gt;
 brettw         and it makes expiration slower&lt;br /&gt;
 brettw         should be fast enough&lt;br /&gt;
 brettw         especially since you don&#039;t usually do thousands of bookmark operations&lt;br /&gt;
 dietrich       thunder: no, a bookmark has a moz_url_id field which can&#039;t be null, and there are no entries in moz_historyvisits table for that id&lt;br /&gt;
 sayrer         I think we could write pretty naive code and not notice perf on bookmarks stuff&lt;br /&gt;
 dietrich       brettw: what sounds like extra bookkeeping?&lt;br /&gt;
 brettw         keeping track of the bookmark URL and a separate link to history&lt;br /&gt;
 brettw         wait, I changed my mind&lt;br /&gt;
 brettw         I agree with dietrich, why not keep it the way it is now&lt;br /&gt;
 brettw         ?&lt;br /&gt;
 thunder        dietrich: er, which can&#039;t be null? what would it be set to when the url is not visited?&lt;br /&gt;
 brettw         thunder: currently, it always refers to the history table&lt;br /&gt;
 brettw         if it isn&#039;t visited, it&#039;s still in the history table&lt;br /&gt;
 brettw         but has no visit records&lt;br /&gt;
 brettw         this way URL storage is centralized&lt;br /&gt;
 thunder        okay, sure.&lt;br /&gt;
 thunder        hence the rename&lt;br /&gt;
 sspitzer       history table == moz_history, which we agree should be renamed to moz_urls?&lt;br /&gt;
 thunder        of the table&lt;br /&gt;
 thunder        it&#039;s really &amp;quot;urls we know about&amp;quot;&lt;br /&gt;
 dietrich       sspitzer: yes, i 2nd that&lt;br /&gt;
 sspitzer       (I&#039;m just trying to make sure I understand brettw&#039;s comment)&lt;br /&gt;
 brettw         sspitzer: right&lt;br /&gt;
 brettw         even fake URLs like place: URIs&lt;br /&gt;
 thunder        er, maybe moz_uris then :)&lt;br /&gt;
 brettw         speaking of which, those cause problems&lt;br /&gt;
 dietrich       brettw: like what?&lt;br /&gt;
 brettw         dietrich: you can set a bookmark folder&#039;s favicon using it&#039;s canonical place: URI&lt;br /&gt;
 brettw         this is great&lt;br /&gt;
 brettw         the problem is with expiration&lt;br /&gt;
 brettw         there needs to be special logic to link this URI to the bookmark folder&lt;br /&gt;
 brettw         so when you delete the folder, the history row is unlocked&lt;br /&gt;
 brettw         I guess the bookmarks system should just do this&lt;br /&gt;
 brettw         not really a big problem, just a minor bug&lt;br /&gt;
 brettw         currently place: URIs never get deleted&lt;br /&gt;
 dietrich       brettw: yeah that sounds like bkmk service bookeeping&lt;br /&gt;
 dietrich       ah that&#039;s good to know about&lt;br /&gt;
 sspitzer       brettw:  never deleted from moz_history (aka moz_urls)?&lt;br /&gt;
 brettw         sspitzer: right&lt;br /&gt;
 brettw         there&#039;s a bug on that somwehere&lt;br /&gt;
 thunder        so, with the current model, deleting history seems like it would be rather slow&lt;br /&gt;
 thunder        is it?&lt;br /&gt;
 brettw         it&#039;s highly optimized&lt;br /&gt;
 brettw         so no :)&lt;br /&gt;
 thunder        okay :)&lt;br /&gt;
 brettw         we do a little at a time, so it never ends up being too much work&lt;br /&gt;
 dietrich       anyone else have items to discuss?&lt;br /&gt;
 thunder        anyone have any comments on the perf stuff?&lt;br /&gt;
 dietrich       thunder: at the fx3 meeting today, someone mentioned a canonical page set for Tp tests&lt;br /&gt;
 dietrich       might be useful for testing places perf&lt;br /&gt;
 thunder        yeah&lt;br /&gt;
 thunder        definitely&lt;br /&gt;
 dietrich       i didn&#039;t catch the name of who was making it tho&lt;br /&gt;
 thunder        I used a zip file that vlad gave me&lt;br /&gt;
 thunder        which has stuff like cnn.com, apple.com, slashdot, etc -- from like 6 years ago ;)&lt;br /&gt;
 dietrich       haha i think that&#039;s the page set we use now&lt;br /&gt;
 thunder        yeah&lt;br /&gt;
 sspitzer       on my end:  I have to do some cleanup, per dietrich, on my patch&lt;br /&gt;
 brettw         it&#039;s not necessary to worry about the exact contents of pages&lt;br /&gt;
 brettw         only the number of links&lt;br /&gt;
 brettw         and the number of iframes&lt;br /&gt;
 brettw         places doesn&#039;t care about anything else&lt;br /&gt;
 thunder        brettw: what about the relative percentage of visited/not visited links?&lt;br /&gt;
 brettw         thunder: yes, that&#039;s true too, but the testing set doesn&#039;t affect that&lt;br /&gt;
 brettw         and in the general case, only like 2 links are ever visited&lt;br /&gt;
 brettw         on average&lt;br /&gt;
 thunder        right, we were discussing having multiple testing sets&lt;br /&gt;
 thunder        I thought about writing a little script to pull all the urls from the testing set and add them all to the history table&lt;br /&gt;
 sspitzer       brettw:  where does that general case come from?  &lt;br /&gt;
 brettw         my ass&lt;br /&gt;
 sspitzer       :)&lt;br /&gt;
 thunder        a fine location for urls&lt;br /&gt;
 thunder        I&#039;m sure&lt;br /&gt;
 sspitzer       moz_brettw_ass&lt;br /&gt;
 dietrich       places:folder=brett&#039;s_ass&lt;br /&gt;
 brettw         I believe there are 200 links per page in the PLT on average&lt;br /&gt;
 brettw         and for my history the average URL length is 100 bytes&lt;br /&gt;
 brettw         but that&#039;s because I use gmail :/&lt;br /&gt;
 brettw         for normal people it will be smaller&lt;br /&gt;
 brettw         gmail accounts for like 75% of my historyu&lt;br /&gt;
 thunder        so, to clarify, you think that the number of history rows more or less eclipses anything else?&lt;br /&gt;
 thunder        I guess I&#039;m asking, is it worth spending time creating different test cases where we have a lot of visited links, etc&lt;br /&gt;
 brettw         not sure&lt;br /&gt;
 thunder        ok&lt;br /&gt;
 thunder        I guess it might be worth doing at least once, then&lt;br /&gt;
 brettw         I&#039;d look at the numbers I posted on that bug&lt;br /&gt;
 thunder        nod&lt;br /&gt;
 sspitzer       on my end:  I have made some progress with the history sidebar, but I want to finish that MOZ_PLACES_BOOKMARKS patch first, to unblock jminta and others.&lt;br /&gt;
 thunder        sspitzer: sounds good&lt;br /&gt;
 sspitzer       about the bookmarks UI, I think everyone is ok with starting to re-implement the Fx 2.0 UI on top of what we have now (the places backend) and adjusting as needed.&lt;br /&gt;
 dietrich       i have to go afk, back in 5&lt;br /&gt;
 sspitzer       jminta was asking around for 3 - 5 day tasks.&lt;br /&gt;
 sspitzer       s/for/for a&lt;br /&gt;
 thunder        I have nothing else.  half of my time this week has been on something else :-/&lt;br /&gt;
 sspitzer       I&#039;m out of updates as well, as I&#039;ve been chasing some 1.5.0.8 / Fx20 gremilns for part of the week.&lt;br /&gt;
 sspitzer       sayrer has a big patch for livemarks&lt;br /&gt;
 thunder        woo gremlins&lt;br /&gt;
 thunder        I haven&#039;t seen that in ages&lt;br /&gt;
 thunder        so, are we done-ish?&lt;br /&gt;
 sayrer         sspitzer has a big review for livemarks ;)&lt;br /&gt;
 thunder        ha :)&lt;br /&gt;
 sspitzer       your patch is in, but needs a second pair of eyeballs, right?&lt;br /&gt;
 sspitzer       (sorry for the delay!)&lt;br /&gt;
 sayrer         yeah, mconnor and bsmedberg want more eyes&lt;br /&gt;
 sspitzer       https://bugzilla.mozilla.org/show_bug.cgi?id=353434 for those playing at home&lt;br /&gt;
 sayrer         not that they should be crying for the loss of the old feed parser&lt;br /&gt;
 sayrer         the places stuff is a pretty straight port&lt;br /&gt;
 sspitzer       so one take away from today was:&lt;br /&gt;
 sspitzer       dietrich proposal&lt;br /&gt;
 sspitzer       robert asked:  someone willing to take an action to draw a strawman table&lt;br /&gt;
 sspitzer       I&#039;ll ping dietrich to see if he doesn&#039;t mind adding that to http://wiki.mozilla.org/Places:BookmarksComments&lt;br /&gt;
 sspitzer       the other take away is I owe sayrer a review&lt;br /&gt;
 sspitzer       and I need to finish my patch to get some r= from dietrich.&lt;br /&gt;
 sspitzer       I&#039;m all out for today.  same bat time, same bat channel next week?&lt;br /&gt;
 sspitzer       thanks again to brettw (and sayrer) for showing up to these meetings.&lt;br /&gt;
 dietrich       yeah thanks everybody&lt;br /&gt;
 dietrich       my one request is for people to take a look at my bookmarks recommendations to see if they make sense&lt;br /&gt;
 sspitzer       dietrich: will do, sorry for lagging.&lt;br /&gt;
 dietrich       so we can make decisions and move forward&lt;br /&gt;
 thunder        nod&lt;br /&gt;
 thunder        dietrich: will do&lt;br /&gt;
 dietrich       feel free to comment in the discussion page, or just edit the page itself&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Places/StatusMeetings/2006-10-12&amp;diff=44203</id>
		<title>Places/StatusMeetings/2006-10-12</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Places/StatusMeetings/2006-10-12&amp;diff=44203"/>
		<updated>2006-12-10T05:19:56Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[Places/StatusMeetings/2006-10-05| « previous week]] | [[Places/StatusMeetings|index]] | [[Places/StatusMeetings/2006-10-19|next week »]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Places meeting: 2006-10-12 4pm PST ==&lt;br /&gt;
 sspitzer       dietrich / v_thunder:  should we start?&lt;br /&gt;
 dietrich       yep!&lt;br /&gt;
 dietrich       i don&#039;t have anything tangible to report yet&lt;br /&gt;
 dietrich       i&#039;ve been working on fleshing out the requirements and scenarios for sync&lt;br /&gt;
 dietrich       and other integration methods&lt;br /&gt;
 dietrich       i&#039;ll try to blog w/ more details soon&lt;br /&gt;
 sspitzer       I have been going through the code, figuring out what pieces of MOZ_PLACES are bookmarks related, and turning them off with MOZ_PLACES_BOOKMARKS and keeping the history stuff as MOZ_PLACES&lt;br /&gt;
 sspitzer       so that if you build with MOZ_PLACES you&#039;d get history only.&lt;br /&gt;
 sspitzer       I&#039;m still working on that.&lt;br /&gt;
 sspitzer       about blogging, I think it would be good to blog about what we&#039;re doing, just so interested observers can find out.&lt;br /&gt;
 sspitzer       mconnor has suggested this, and so I&#039;ve set up a blog for myself at blogs.mozilla.com.  will you be blogging there, or on your personal blog?&lt;br /&gt;
 dietrich       http://dietrich.ganx4.com/&lt;br /&gt;
 sherman        That would be good.&lt;br /&gt;
 sspitzer       ok, cool.  any objection to me linking that off the places wiki page, for under the &amp;quot;Team&amp;quot; section?&lt;br /&gt;
 dietrich       nope&lt;br /&gt;
 sherman        nope&lt;br /&gt;
 dietrich       sspitzer: is there a bug for the build-fu parts you&#039;re working on?&lt;br /&gt;
 sherman        speaking of places wiki...&lt;br /&gt;
 sherman        should it be cleaned up?&lt;br /&gt;
 sspitzer       sherman: probably, are you thinking of something in particular?&lt;br /&gt;
 sspitzer       dietrich:  I&#039;ll log a bug, and make it block the meta history bug.&lt;br /&gt;
 dietrich       sherman: yes, i made a few minor updates to the main page, but we&#039;ll need to update it as we make design/api changes&lt;br /&gt;
 sspitzer       dietrich: and attach my patch there, when it is ready for primetime.&lt;br /&gt;
 dietrich       sherman: afaict, the only major problem with the current wiki docs is that some of the pages are not yet written&lt;br /&gt;
 dietrich       but the docs there *seem* to correspond w/ the current state of the code&lt;br /&gt;
 dietrich       sherman: one thing i would like to do at some point, and maybe you can help with it:&lt;br /&gt;
 dietrich       as we develop the Fx3 feature list, figure out which items are places related&lt;br /&gt;
 dietrich       so we can take those into account in our design discussions&lt;br /&gt;
 dietrich       sspitzer: once the build options are in place, i&#039;ll be glad to go in and turn off bookmarks code&lt;br /&gt;
 dietrich       if you have a WIP patch, feel free to send it over&lt;br /&gt;
 sspitzer       dietrich:  my patch, once completed, should mean that when you build with --enable-places, you&#039;ll get 2.0 bookmarks ui and places history UI.  &lt;br /&gt;
 dietrich       ah ok&lt;br /&gt;
 sspitzer       when I have a WIP patch, I&#039;ll attach to the bug&lt;br /&gt;
 sspitzer       what were you thinking?&lt;br /&gt;
 sspitzer       turning of BM code within places backend?&lt;br /&gt;
 sspitzer       or did I misunderstand?&lt;br /&gt;
 dietrich       if turning off BM code was a grueling task, that if you had the build options set up, i&#039;d help out there&lt;br /&gt;
 dietrich       but it sounds like that&#039;s not the case?&lt;br /&gt;
 sspitzer       so far not the case.  (what is slowing me down is some 1.5.0.8 distractions.)&lt;br /&gt;
 sspitzer       but that is out of the way now.&lt;br /&gt;
 sspitzer       dietrich:  is now an OK time to chat about the &amp;quot;moz_anno&amp;quot; thing?&lt;br /&gt;
 sspitzer       or should that be in a blog or newsgroup?&lt;br /&gt;
 dietrich       sure&lt;br /&gt;
 sspitzer       actually, before we start that, I had another topic, which was:  the big picture goal for places.&lt;br /&gt;
 dietrich       i think here is fine, the log goes on the wiki, which is probably enough&lt;br /&gt;
 dietrich       sspitzer: i.e. beyond getting 2.0 front-end on places backend?&lt;br /&gt;
 sspitzer       exactly&lt;br /&gt;
 sspitzer       is that our Fx 3 goal?  or the first milestone for Fx 3?&lt;br /&gt;
 sspitzer       from http://groups.google.com/group/mozilla.dev.apps.firefox/browse_thread/thread/bc2c4214179d651e/c55ad92dec30e195#c55ad92dec30e195&lt;br /&gt;
 sspitzer       I listed our initial goals as:&lt;br /&gt;
 sspitzer       * ensure that we have the right APIs, data model, and architecture to&lt;br /&gt;
 sspitzer       allow for synchronization, remote bookmarks and future work in both core&lt;br /&gt;
 sspitzer       Firefox and add-ons (such as Google&#039;s Browser Sync, Foxmarks as well as&lt;br /&gt;
 sspitzer       add-ons that integrate with social bookmarking services, such as&lt;br /&gt;
 sspitzer       del.icio.us)&lt;br /&gt;
 sspitzer       * implement the FF2 UI on top the Places backend, starting with the&lt;br /&gt;
 sspitzer       History UI [1]&lt;br /&gt;
 sspitzer       * write some functional and performance tests that can be integrated&lt;br /&gt;
 sspitzer       into &amp;quot;make check&amp;quot; and into Tinderbox &lt;br /&gt;
 sherman        Should we be making an distinction between *initial* goals and *release* goals?&lt;br /&gt;
 dietrich       sherman: yes definitely&lt;br /&gt;
 dietrich       sspitzer: yeah, those sound like good first milestone (whenever that is)&lt;br /&gt;
 sherman        Also looking at the goals outlined on the wiki page... http://wiki.mozilla.org/Places&lt;br /&gt;
 sspitzer       release goals, for Fx3, and beyond. &lt;br /&gt;
 sspitzer       I think those are good starting points, but what about our ultimate goal?  Sort of a places (bookmarks/history/more = tags) roadmap is what I was thinking.&lt;br /&gt;
 dietrich       but the release goals will likely be guided by the results of the fx3 product dev thats ramping up&lt;br /&gt;
 dietrich       eg: http://wiki.mozilla.org/Firefox/Feature_Brainstorming&lt;br /&gt;
 dietrich       We should make sure that whatever goals we have, outside of that list, get added&lt;br /&gt;
 sherman        An interesting discussion might center around whether or not the places backend could be repurposed for different types of content.&lt;br /&gt;
 sherman        i.e. hCards, hCalendars, hReviews, etc.&lt;br /&gt;
 dietrich       then we&#039;d have to rename &amp;quot;places&amp;quot; to &amp;quot;places n&#039; stuff&amp;quot;&lt;br /&gt;
 dietrich       ;)&lt;br /&gt;
 sherman        Perhaps!&lt;br /&gt;
 dietrich       i&#039;d like to have an extensible data model so that moving forward we don&#039;t have to keep creating silo code for each &amp;quot;next big thing&amp;quot;&lt;br /&gt;
 dietrich       however, that&#039;s the trap of RDF&lt;br /&gt;
 dietrich       the kitchen sink&lt;br /&gt;
 dietrich       i&#039;m sure i can convert any of those formats into sets of triples ;)&lt;br /&gt;
 sspitzer       triplets!&lt;br /&gt;
 sspitzer       about the extesible data model, this is what I was getting at with moz_anno.  as we discussed privately, I&#039;d like there to be an easy way to add arbitrary data (and then search on it.)&lt;br /&gt;
 dietrich       sspitzer: per bookmark?&lt;br /&gt;
 dietrich       right now, annotations are URI-centric IIRC&lt;br /&gt;
 sherman        Batch anno would be cool.&lt;br /&gt;
 sherman        Don&#039;t know how mainstream it would be however... sorry, thinking aloud.&lt;br /&gt;
 dietrich       sherman: what do you mean by batch?&lt;br /&gt;
 dietrich       sspitzer: i mention that because the scenarios you brought up were about bookmarks, IIRC&lt;br /&gt;
 sherman        In bookmarks manager, I don&#039;t have the ability to select multiple bookmarks and attach a keyword to them.&lt;br /&gt;
 dietrich       but i guess the places data model does blur the distinction :)&lt;br /&gt;
 dietrich       sherman: ah, right&lt;br /&gt;
 sherman        I guess the place where I make the most annotations is in iTunes.&lt;br /&gt;
 dietrich       like the any music metadata editor can do&lt;br /&gt;
 dietrich       right&lt;br /&gt;
 sherman        I download a lot of live music which forces me to do batch annos, the UI is pretty good.&lt;br /&gt;
 dietrich       sherman: yeah, i totally agree, it&#039;s a required feature for music&lt;br /&gt;
 dietrich       do any of the web 2.0 social bookmarking services have that feature?&lt;br /&gt;
 sherman        I think what&#039;s cool about the social bookmarking services is tag suggest.&lt;br /&gt;
 sherman        So based upon the URL that I&#039;m bookmarking, what did everyone else use as a tag?&lt;br /&gt;
 sspitzer       what I was getting at was the ability, for add on developers and ourselves, to annotate items.  I&#039;m not limiting it to just a bookmark.  I&#039;m waving my hand here, but I could see a history add on that would want to annotate history items, and not with a limited set of annotations, but with arbitrary annotations.&lt;br /&gt;
 sherman        Don&#039;t know about batch tag... let me check del.icio.us...&lt;br /&gt;
 sherman        I agree.&lt;br /&gt;
 dietrich       sspitzer: right - arbitrary annotations provide a level extensibility that add-on developers could *really* take to the next level&lt;br /&gt;
 dietrich       however, to some extent, RDF provides that same level of flexibility&lt;br /&gt;
 dietrich       but falls down flat on ease-of-use for developers&lt;br /&gt;
 sspitzer       right, but does our current (places) data model / api provide it?&lt;br /&gt;
 sspitzer       yes, exactly:  ease-of-use!&lt;br /&gt;
 sherman        Hey, cool... del.icio.us deleted all of my bookmarks and tags!  Nice!&lt;br /&gt;
 sherman        There&#039;s a feature for you... data loss.&lt;br /&gt;
 dietrich       regarding the annotations data model - it&#039;s designed for a limited set of annotation &amp;quot;types&amp;quot; or &amp;quot;names&amp;quot;&lt;br /&gt;
 myk            sspitzer: i think it does&lt;br /&gt;
 myk            sspitzer: specifically, i think moz_anno annotates history items, whether those items are bookmarked or not&lt;br /&gt;
 myk            sspitzer: but you should check with others (or the code) to be sure, since i&#039;m basing this on what it looked like was happening the last time i looked at the database schema, which was a while ago&lt;br /&gt;
 myk            two specific limitations of the annotation service that i ran into while building support for microsummaries in Places:&lt;br /&gt;
 myk            1. you can&#039;t specify that an annotation should expire when a bookmark is deleted&lt;br /&gt;
 myk            2. you can&#039;t store arbitrary binary data in an annotation, only images&lt;br /&gt;
 brettw         sspitzer: what you described is what the annotation service does&lt;br /&gt;
 brettw         myk: what do you mean about point 2?&lt;br /&gt;
 brettw         There is no special code to handle images&lt;br /&gt;
 brettw         it supports arbitrary binary data&lt;br /&gt;
 myk            brettw: perhaps i misunderstood then&lt;br /&gt;
 brettw         WRT point 1: expiration was not implemented, bookmark level deletion is probably a requirement&lt;br /&gt;
 brettw         but we never got around to that&lt;br /&gt;
 myk            brettw: at one point, when i looked at it, it looked like i could only store binary data if it was an image&lt;br /&gt;
 brettw         nope&lt;br /&gt;
 brettw         that&#039;s probably what the examples were of, but you can put anything in there&lt;br /&gt;
 brettw         including text/html&lt;br /&gt;
 brettw         You can put a hole web page in there and load it in a content area&lt;br /&gt;
 brettw         s/hole/whole&lt;br /&gt;
 sspitzer       very cool&lt;br /&gt;
 brettw         sspitzer: to clarify, the annotation service annotations any URI, not just bookmarks&lt;br /&gt;
 brettw         we have special URIs for bookmark folders so random crap can be attached to those&lt;br /&gt;
 brettw         the annotation service was originally designed for thumbnails and favicons&lt;br /&gt;
 brettw         and spellcheck state&lt;br /&gt;
 brettw         but it was too slow an not specific enough for the favicons, so that had to go in a separate service&lt;br /&gt;
 myk            brettw: hmm, not sure what i was looking at; i thought it was API, not examples, but it was a while ago, so i don&#039;t remember&lt;br /&gt;
 brettw         it&#039;s possible the first version was like this&lt;br /&gt;
 sspitzer       I need to play around with the annotation service, clearly.&lt;br /&gt;
 sspitzer       thanks for the info, brettw.&lt;br /&gt;
 brettw         the only significant problem with it is the lack of expiration&lt;br /&gt;
 brettw         that &amp;amp; the favicon service are my favorites :)&lt;br /&gt;
 dietrich       it seems like some expiration should be handled external to the anno service though&lt;br /&gt;
 dietrich       like bookmark deletion&lt;br /&gt;
 myk            dietrich: yeah, bookmark deletion itself shouldn&#039;t go through the annotation service, but the annotation service should observe bookmark changes and delete annotations that were added with the stipulation that they should only live as long as the bookmark&lt;br /&gt;
 brettw         Expiration in places is complicated because there are various dependencies&lt;br /&gt;
 brettw         for example, the favicon needs to stay in if there is a history page that refers to it, and the history page needs to stay in if a bookmark refers to it&lt;br /&gt;
 brettw         All places expiration is handled in nsNavHistoryExpire&lt;br /&gt;
 brettw         (.cpp)&lt;br /&gt;
 brettw         The bookmark observer thingy sounds good for a certain class of items&lt;br /&gt;
 brettw         Otherwise, search for &amp;quot;FIXME bug 319455&amp;quot; :)&lt;br /&gt;
 sspitzer       brettw:  thanks for all those FIXME comments, as I go through the code, they have been helping me out.&lt;br /&gt;
 brettw         it only takes 644 lines to expire things!&lt;br /&gt;
 brettw         places history expiration happens incrementally as you browse (instead of delaying shutdown)&lt;br /&gt;
 brettw         and is highly optimized not to delay things, hence the lots o&#039; code&lt;br /&gt;
 sspitzer       here&#039;s are my take away / todo items from our second meeting:&lt;br /&gt;
 sspitzer       post this irc log&lt;br /&gt;
 sspitzer       link to blogs from the team list (brettw, myk, sherman, do you guys have blogs and/or want to be listed?)&lt;br /&gt;
 brettw         not I&lt;br /&gt;
 sherman        Not yet.&lt;br /&gt;
 sspitzer       start a thread about the long term goals of places n stuff, starting from the goals listed on the :Places page.&lt;br /&gt;
 sspitzer       I&#039;m using place n stuff, per sherman / dietrich&#039;s comments above.&lt;br /&gt;
 myk            sspitzer: probably i shouldn&#039;t, either, as i&#039;m not on the places team (although i&#039;m interested in places generally and its integration points with microsummaries specifically, hence my lurking in this channel)&lt;br /&gt;
 sspitzer       myk:  ok&lt;br /&gt;
 sspitzer       sherman asked about cleaning up of the wiki in general, but are there specifc pages?&lt;br /&gt;
 sspitzer       the bug where I&#039;ll be putting the build patch (per my comment above) is https://bugzilla.mozilla.org/show_bug.cgi?id=356487&lt;br /&gt;
 sspitzer       thanks again to brettw for providing answers and info about moz_anno&lt;br /&gt;
 sspitzer       and the rest of places.&lt;br /&gt;
 sherman        http://wiki.mozilla.org/Bookmarks_Use_Cases&lt;br /&gt;
 sherman        Seems to be a brainstorming list... perhaps a few other pages.&lt;br /&gt;
 sherman        I could take a look.&lt;br /&gt;
 brettw         I&#039;m scared of that page&lt;br /&gt;
 sspitzer       I&#039;m all out of topics today, anyone else?&lt;br /&gt;
 dietrich       i think we&#039;re done for today&lt;br /&gt;
 dietrich       thanks again brettw for hanging out and clarifying stuff as we get deeper into places&lt;br /&gt;
 sspitzer       fwiw, v_thunder was unable to attend due to his machine is dead.&lt;br /&gt;
 sspitzer       yes, thanks again brettw&lt;br /&gt;
 sspitzer       I&#039;ll go post the log, thanks guys&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=Places/StatusMeetings/2006-10-05&amp;diff=44202</id>
		<title>Places/StatusMeetings/2006-10-05</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=Places/StatusMeetings/2006-10-05&amp;diff=44202"/>
		<updated>2006-12-10T05:19:10Z</updated>

		<summary type="html">&lt;p&gt;Taken: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;small&amp;gt;[[Places/StatusMeetings|index]] | [[Places/StatusMeetings/2006-10-12|next week »]]&amp;lt;/small&amp;gt;&lt;br /&gt;
== Places meeting: 2006-10-05 4pm PST ==&lt;br /&gt;
 sspitzer	ok, so looking at http://wiki.mozilla.org/Places:Task_List&lt;br /&gt;
 sspitzer	should we just run down that list, assign some names, and figure out what me might be missing?&lt;br /&gt;
 sspitzer	I&#039;m sure we will think of lots more as soon as we start doing more work.&lt;br /&gt;
 dietrich	sure, sounds fine&lt;br /&gt;
 sspitzer	ok, starting from the top:&lt;br /&gt;
 sspitzer	for:  will be posting to and discussing places in ff3 on [http://groups.google.com/group/mozilla.dev.apps.firefox mozilla.dev.apps.firefox]&lt;br /&gt;
 sspitzer	I&#039;d like to clean up and repost what I sent to brettw (hi brett, if you are there!) and the google guys and send to the newsgroup&lt;br /&gt;
 sspitzer	any objection?&lt;br /&gt;
 dietrich	nope&lt;br /&gt;
 brettw		hi&lt;br /&gt;
 sspitzer	sort of &amp;quot;we&#039;re here, where in #places and m.d.a.f&amp;quot;&lt;br /&gt;
 dietrich	howdy brettw &lt;br /&gt;
 sspitzer	for the next two items, I&#039;ll list all three of our names&lt;br /&gt;
 sspitzer	will be posting to and discussing places...&lt;br /&gt;
 sspitzer	developers hanging out in #places&lt;br /&gt;
 sspitzer	for &amp;quot;* fix trunk regressions caused by disabling places&amp;quot;&lt;br /&gt;
 sspitzer	I haven&#039;t seen lots of regressions, so I&#039;ll slap my name down there.  ok?&lt;br /&gt;
 dietrich	ok. we should put something in status whiteboard for those&lt;br /&gt;
 dietrich	non-places-regression or something&lt;br /&gt;
 sspitzer	good idea.  I&#039;ll add that info to this task wiki&lt;br /&gt;
 sspitzer	for review patch from Myk...and finish backporting non-places changes to trunk , I&#039;ve got a patch started (waiting review) for one such backport.  in addition to reviewing myk&#039;s patch, I&#039;d like to go through the tree and look at all MOZ_PLACES ifdef and see what might need some love.&lt;br /&gt;
 sspitzer	his patch only covers the bookmarks code, and not the whole tree.&lt;br /&gt;
 dietrich	i can help w/ that also&lt;br /&gt;
 dietrich	what&#039;s the bug# for you patch?&lt;br /&gt;
 sspitzer	cool, I&#039;ll list us both for that.&lt;br /&gt;
 dietrich	s/you/your&lt;br /&gt;
 sspitzer	I&#039;ll start a new bug with the list of places we need to review to be sure that nothing fell through the crack.  I&#039;ll do that after our meeting and cc you.&lt;br /&gt;
 sspitzer	or I may add my patch / info to myks bug&lt;br /&gt;
 dietrich	k&lt;br /&gt;
 sspitzer	https://bugzilla.mozilla.org/show_bug.cgi?id=353571&lt;br /&gt;
 dietrich	ah, ok, i thought your patch was in a diff bug, was why i asked&lt;br /&gt;
 sspitzer	I think his patch only covered mozilla/browser/components/bookmarks/&lt;br /&gt;
 sspitzer	no, not in a bug yet.  &lt;br /&gt;
 sspitzer	the only patch I have is the one in https://bugzilla.mozilla.org/show_bug.cgi?id=342930&lt;br /&gt;
 dietrich	right. i&#039;ll review that RSN :)&lt;br /&gt;
 sspitzer	(no rush, it is not critical)&lt;br /&gt;
 sspitzer	on to the list...&lt;br /&gt;
 sspitzer	are microsummaries broken?&lt;br /&gt;
 sspitzer	no, they are not&lt;br /&gt;
 sspitzer	dao reported an issue&lt;br /&gt;
 dietrich	yeah saw that&lt;br /&gt;
 sspitzer	but it was just pilot error&lt;br /&gt;
 sspitzer	removing it...&lt;br /&gt;
 dietrich	cool&lt;br /&gt;
 sspitzer	per brettw&#039;s suggestion, start by implementing the Firefox 2.0 &amp;quot;History&amp;quot; UI on top of Places backend&lt;br /&gt;
 sspitzer	I&#039;ll keep that, if you are cool with that.&lt;br /&gt;
 dietrich	sure, and if that creeps, please break it out into different bugs, and i can jump in&lt;br /&gt;
 sspitzer	I&#039;ll do that.  I&#039;ll update you on monday letting you know where I am.  (been sidetracked with a software update back port for 1.5.0.x!)&lt;br /&gt;
 dietrich	sspitzer: so&lt;br /&gt;
 dietrich	actually, before any work starts on that, we should break it out into bugs&lt;br /&gt;
 dietrich	and maybe put swags on it&lt;br /&gt;
 dietrich	so we can figure out just how much of a job it is &lt;br /&gt;
 sspitzer	ok, I&#039;ll start by logging a meta bug and then bugs for each piece that we can swag.&lt;br /&gt;
 dietrich	and same for bookmarks (once we figure out where we&#039;re going it)&lt;br /&gt;
 dietrich	awesome&lt;br /&gt;
 dietrich	i think doing that from the beginning will help us track, and report progress&lt;br /&gt;
 sspitzer	I agree.&lt;br /&gt;
 dietrich	which will help out when we explain our plan to mconnor :)&lt;br /&gt;
 sspitzer	good point.&lt;br /&gt;
 sspitzer	I&#039;ve got:&lt;br /&gt;
 sspitzer	* [dietrich sspitzer] per brettw&#039;s suggestion, start by implementing the Firefox 2.0 &amp;quot;History&amp;quot; UI on top of Places backend.  Start by logging a meta bug and then log bugs for each part, add swag.&lt;br /&gt;
 sspitzer	I&#039;ll log the bugs today.&lt;br /&gt;
 dietrich	cool, i&#039;ll keep refreshing the wiki&lt;br /&gt;
 dietrich	or are you doing a big batch edit?&lt;br /&gt;
 sspitzer	refresh&lt;br /&gt;
 sspitzer	I just saved&lt;br /&gt;
 dietrich	k&lt;br /&gt;
 dietrich	so, the next item is the bookmarks ui&lt;br /&gt;
 sspitzer	for the bookmarks UI work, I think that all depends on what we do.  for starters, we want to keep the existing UI and service&lt;br /&gt;
 sspitzer	what do you think about MOZ_PLACES_HISTORY and MOZ_PLACES_BOOKMARKS&lt;br /&gt;
 sspitzer	using them, I mean.&lt;br /&gt;
 dietrich	are u talking about the schemas?&lt;br /&gt;
 sspitzer	at the start, while we work on the history ui, we want to keep bookmarks alone.&lt;br /&gt;
 dietrich	exactly&lt;br /&gt;
 sspitzer	so when I build with --enable-places&lt;br /&gt;
 brettw		I wouldn&#039;t think you&#039;d need to change the backend&lt;br /&gt;
 sspitzer	I really just mean MOZ_PLACES_HISTORY for now.  But I&#039;d like to keep all the MOZ_PLACES in the tree.&lt;br /&gt;
 brettw		but you may want those flags for the UI&lt;br /&gt;
 sspitzer	brettw:  I was going to leave the backend alone for this first step.&lt;br /&gt;
 sspitzer	how about for the bookmark items, we don&#039;t list an owner (yet) but we do put a name by figuring out the hard part:  &amp;quot;the plan for bookmarks for fx 3&amp;quot;&lt;br /&gt;
 dietrich	sspitzer: to clarify, you intend that MOZ_PLACES_HISTORY would use places history backend, but the old skool UI, and bookmarks untouched&lt;br /&gt;
 dietrich	?&lt;br /&gt;
 dietrich	sspitzer: yeah, i can jump on the bookmarks plan&lt;br /&gt;
 sspitzer	how about this:&lt;br /&gt;
 sspitzer	when you do --enable-places, it means (at the start), MOZ_PLACES_HISTORY, and the usages that are bookmarks-on-top-of-places, we make it MOZ_PLACES_BOOKMARKS&lt;br /&gt;
 sspitzer	which won&#039;t be defined&lt;br /&gt;
 sspitzer	thereby giving us what we want (to start)&lt;br /&gt;
 sspitzer	this is for the stuff in the UI&lt;br /&gt;
 sspitzer	so the MOZ_PLACES that disables the old bookmarks service will now be MOZ_PLACES_BOOKMARKS&lt;br /&gt;
 sspitzer	dietrch:  I have you by the bookmarks plan&lt;br /&gt;
 dietrich	ok&lt;br /&gt;
 sspitzer	for the bookmark ui issues, I will put [blocked by dietrich]&lt;br /&gt;
 dietrich	cool&lt;br /&gt;
 sspitzer	on to perf / testing&lt;br /&gt;
 sspitzer	can I give v_thunder the first one?&lt;br /&gt;
 dietrich	sure&lt;br /&gt;
 sspitzer	fix the Tp test&lt;br /&gt;
 dietrich	also, &lt;br /&gt;
 dietrich	add &amp;quot;history unit tests&amp;quot;&lt;br /&gt;
 dietrich	and change mine to &amp;quot;bookmarks unit tests&amp;quot;&lt;br /&gt;
 sspitzer	got it&lt;br /&gt;
 dietrich	those should be separate test suites&lt;br /&gt;
 sspitzer	I gave dmills:&lt;br /&gt;
 sspitzer	get some performance benchmarks with various history sizes (places vs non-places)&lt;br /&gt;
 sspitzer	also&lt;br /&gt;
 sspitzer	I&#039;ll take history unit tests.&lt;br /&gt;
 dietrich	k&lt;br /&gt;
 sspitzer	unless you&#039;ve started that&lt;br /&gt;
 dietrich	nope&lt;br /&gt;
 sspitzer	(or have you been doing bookmarks with davel?)&lt;br /&gt;
 dietrich	i just did the bookmarks ones, and had davel review&lt;br /&gt;
 sspitzer	excellent&lt;br /&gt;
 dietrich	he helped figure out how to get it to work w/ the build infra&lt;br /&gt;
 sspitzer	on top of the places api, or the existing 2.0 bookmarks api?&lt;br /&gt;
 dietrich	so you can do a global &amp;quot;make check&amp;quot;&lt;br /&gt;
 sspitzer	very cool.&lt;br /&gt;
 sspitzer	on to &amp;quot;&lt;br /&gt;
 sspitzer	Synchronization / Remote Bookmarks&amp;quot;&lt;br /&gt;
 dietrich	the ones i did were on top of places api&lt;br /&gt;
 dietrich	so, this is where there&#039;s overlap w/ the data model changes&lt;br /&gt;
 sspitzer	right&lt;br /&gt;
 dietrich	i think a P1 is to give unique identifiers to each object (bookmark, folder, sep, etc)&lt;br /&gt;
 dietrich	i think &amp;quot;named separators&amp;quot; is kinda weird&lt;br /&gt;
 dietrich	i&#039;d rather have an extensibility mechanism for bookmarks&lt;br /&gt;
 sspitzer	but as long as there is a guid for a separators, sync (of seps) should work.&lt;br /&gt;
 dietrich	right&lt;br /&gt;
 sspitzer	is the named thing just something fx 2 had, that is no longer in places, and that broke foxmarks?&lt;br /&gt;
 dietrich	i think it&#039;s that seps can have labels, and they sometimes show up in the UI&lt;br /&gt;
 dietrich	and foxmarks may have been using them for identification&lt;br /&gt;
 sspitzer	I think we&#039;d want to support that, if the current places back end does not.&lt;br /&gt;
 sspitzer	for &amp;quot;reference implementation of sync client (P2)&amp;quot;&lt;br /&gt;
 sspitzer	I&#039;m not sure about that one.&lt;br /&gt;
 dietrich	do you mean support the &#039;named&#039; part? or just unique identifiers?&lt;br /&gt;
 sspitzer	I mean:  seps should get guids, and if the could have labels in fx2, but can&#039;t in the current backend in places, I think we need to add that.&lt;br /&gt;
 sspitzer	so that nothing that gets lost when importing up from fx2&lt;br /&gt;
 dietrich	sspitzer: ok, lets leave it on there, and i&#039;ll address it w/ the data model changes&lt;br /&gt;
 sspitzer	ok.  I&#039;ve got yor name by lots of hard problems:&lt;br /&gt;
 sspitzer	all the ones in Sync / remote&lt;br /&gt;
 dietrich	haha rad&lt;br /&gt;
 sspitzer	and same with API / Data Model / Arch, but I&#039;m sure dmills and I will get in on the action.&lt;br /&gt;
 sspitzer	I&#039;m not sure what to do Tags and Livemarks yet.&lt;br /&gt;
 dietrich	we can discuss that more at the summit&lt;br /&gt;
 sspitzer	another time for the top of the list:  schedule meetings for the summit&lt;br /&gt;
 dietrich	yes&lt;br /&gt;
 dietrich	i think they&#039;re going to do the open sessions again&lt;br /&gt;
 dietrich	we should have a places session&lt;br /&gt;
 dietrich	and possibly another breakout session for us to talk tasks, status, whatever arch issues are still open&lt;br /&gt;
 sspitzer	sounds good.&lt;br /&gt;
 dietrich	is that it for the list?&lt;br /&gt;
 sspitzer	yes.  here&#039;s the overall picture, I think:&lt;br /&gt;
 sspitzer	at the start, you have lots of hard API / data model problems and decisions and I am going to be doing some history UI stuff, and dmills (who also has some non places work on his plate) will be starting on some perf / tinderbox related stuff.&lt;br /&gt;
 sspitzer	does the task list sort of reflect that?&lt;br /&gt;
 dietrich	yeah&lt;br /&gt;
 sspitzer	are you cool with that, for a starting point?  everything can change, of course!&lt;br /&gt;
 dietrich	yes, that&#039;s fine to get us moving&lt;br /&gt;
 dietrich	i&#039;ll post the data model evaluation stuff so we can get public comment on it&lt;br /&gt;
 sspitzer	cool, and I&#039;ll go log the history UI meta bug and the dependent bugs (so we can SWAG / divide it up)&lt;br /&gt;
 dietrich	k&lt;br /&gt;
 sspitzer	any objection to me posting this chat log (or a link to it) into the newsgroup (m.d.a.firefox) after I post the &amp;quot;kickoff&amp;quot; post?&lt;br /&gt;
 dietrich	sure, or just post it to the wiki as meeting notes, and point people to the wiki in your post&lt;br /&gt;
 dietrich	we might want to set up weekly irc meetings like this, and then just post the log to the wiki each week&lt;br /&gt;
 sspitzer	good idea.  how about mentioning in my kick off post that we will be meeting in #places at 4pm thursdays PST?&lt;br /&gt;
 sspitzer	(or is that not a good time for you?)&lt;br /&gt;
 dietrich	sounds good :)&lt;br /&gt;
 dietrich	wfm&lt;br /&gt;
 sspitzer	(worldwide, is that an ok time?)&lt;br /&gt;
 sspitzer	(east coast?)&lt;br /&gt;
 dietrich	uh, yeah we might want to do it in the AM, if we think east coasters and euros want to be there&lt;br /&gt;
 dietrich	well, but this is more team meeting than a progress report&lt;br /&gt;
 dietrich	let&#039;s just keep it at 4 for now&lt;br /&gt;
 dietrich	if people want a different time, they&#039;ll ask :)&lt;br /&gt;
 sspitzer	ok, will do.  I&#039;ll say our team meeting is 4pm thur PST.&lt;/div&gt;</summary>
		<author><name>Taken</name></author>
	</entry>
</feed>