<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>soledad penadés &#187; firefox</title>
	<atom:link href="http://soledadpenades.com/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://soledadpenades.com</link>
	<description>repeat 4[fd 100 rt 90]</description>
	<lastBuildDate>Sun, 29 Jan 2012 23:03:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>C:\fakepath\</title>
		<link>http://soledadpenades.com/2011/10/10/cfakepath/</link>
		<comments>http://soledadpenades.com/2011/10/10/cfakepath/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 19:01:00 +0000</pubDate>
		<dc:creator>sole</dc:creator>
				<category><![CDATA[Silly stuff]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[glitches]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[whatwg]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://soledadpenades.com/?p=3730</guid>
		<description><![CDATA[The things one finds while reading the specs: For historical reasons, the value IDL attribute prefixes the filename with the string &#8220;C:\fakepath\&#8221;. Some legacy user agents actually included the full path (which was a security vulnerability). As a result of this, obtaining the filename from the value IDL attribute in a backwards-compatible way is non-trivial. [...]]]></description>
			<content:encoded><![CDATA[<p>The things one finds while reading the specs:</p>
<blockquote><p>For historical reasons, the value IDL attribute prefixes the filename with the string &#8220;C:\fakepath\&#8221;. Some legacy user agents actually included the full path (which was a security vulnerability). As a result of this, obtaining the filename from the value IDL attribute in a backwards-compatible way is non-trivial. The following function extracts the filename in a suitably compatible manner:</p>
<div class="syhi_block"><code><span style="color: #003366; font-weight: bold;">function</span> extractFilename<span style="color: #009900;">&#40;</span>path<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>path.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">12</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;C:<span style="color: #000099; font-weight: bold;">\\</span>fakepath<span style="color: #000099; font-weight: bold;">\\</span>&quot;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> path.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// modern browser</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> x<span style="color: #339933;">;</span><br />
&nbsp; x <span style="color: #339933;">=</span> path.<span style="color: #660066;">lastIndexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">&gt;=</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// Unix-based path</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> path.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; x <span style="color: #339933;">=</span> path.<span style="color: #660066;">lastIndexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">&gt;=</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #006600; font-style: italic;">// Windows-based path</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> path.<span style="color: #660066;">substr</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000066; font-weight: bold;">return</span> path<span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// just the filename</span><br />
<span style="color: #009900;">&#125;</span></code></div>
</blockquote>
<p><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/number-state.html#fakepath-srsly">(source, please look at the URL)</a></p>
<p><strong>WHAT We Guck!!?</strong></p>
<p>At the same time, Firefox seems to be interpreting the title of this post <em>literally</em>, and instead of <q>C:\fakepath\</q>, I see <q>C:akepath</q> in the tab title&#8211;because it is showing the escaped f (i.e. \f). A nifty square with (0 0 0 C) shows in the browser window title area instead of the \f&#8230;</p>
<p><ins datetime="2011-10-10T19:01:23+00:00">Update, later</ins>: Chrome does it too, as well as Chromium, and Opera.</p>
<p><ins datetime="2011-10-10T19:19:55+00:00">Another update</ins>: maybe it&#8217;s a WordPress thing? I just wrote a test html file with backslash on its title and it&#8217;s shown properly on the tab title. Hum ho.</p>
<p>Glitches, glitches&#8211;they are everywhere!</p>
 <p><a href="http://soledadpenades.com/?flattrss_redirect&amp;id=3730&amp;md5=6f8304617f5bc7a4e05215b13374a247" title="Flattr" target="_blank"><img src="http://soledadpenades.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://soledadpenades.com/2011/10/10/cfakepath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Line spacing inconsistencies when pasting to Firefox from gedit</title>
		<link>http://soledadpenades.com/2011/08/19/line-spacing-inconsistencies-when-pasting-to-firefox-from-gedit/</link>
		<comments>http://soledadpenades.com/2011/08/19/line-spacing-inconsistencies-when-pasting-to-firefox-from-gedit/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 17:09:46 +0000</pubDate>
		<dc:creator>sole</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[clipboard]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gedit]]></category>

		<guid isPermaLink="false">http://soledadpenades.com/?p=3624</guid>
		<description><![CDATA[I was adding some productions to escena.org when I noticed something strange about the way the info section of the latest productions was looking. I was slightly distracted by the excitement of watching all those intros and demos that I hadn&#8217;t heard before about, so it took me a while to notice what it was [...]]]></description>
			<content:encoded><![CDATA[<p>I was adding some <a href="http://escena.org/productions/1">productions</a> to escena.org when I noticed something strange about the way the info section of the latest productions was looking. I was slightly distracted by the excitement of watching all those intros and demos that I hadn&#8217;t heard before about, so it took me a while to notice what it was exactly that &#8220;didn&#8217;t quite look right&#8221;. It was <strong>the spacing</strong>!</p>
<p>Or more exactly, <strong>the double spacing</strong> that I was <a href="http://escena.org/productions/id/114/">seeing</a>, instead of just a single line as in the original!</p>
<p>Initially willing (or expecting) to put the blame on me, I examined my back-end code first, but there is nothing dealing with double spacing or &#8220;Windows spacing&#8221; correction, such as automatically replacing <em>\r\n</em> with <em>\n</em> only.<br />
<span id="more-3624"></span><br />
I then remembered that when I developed this section a year ago I was using Chrome as my main browser, so I wondered if it was a Firefox-only error that had slipped thru back then. Therefore, I repeated my test with Chrome: opened a FILE_ID.DIZ with <a href="http://projects.gnome.org/gedit/">gedit</a>, copied the text and pasted it to the corresponding textarea. Clicked on save&#8230; and the result came out OK! Simple single line-endings were received by PHP, as one would expect.</p>
<p><q>So it&#8217;s a Firefox thing then</q>, I thought. Not so fast, it can still get more bizarre. But before I get to that, let me show you a little piece of test code I wrote to ensure nothing else was interfering in the process:</p>
<div class="syhi_block"><code><span style="color: #000000; font-weight: bold;">&lt;?php</span> <br />
<br />
<span style="color: #000088;">$txt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$pasted_text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_METHOD'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'POST'</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pasted_text</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'text'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;span class=&quot;n&quot;&gt;&lt;/span&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pasted_text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;span class=&quot;r&quot;&gt;&lt;/span&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$txt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'You pasted this:&lt;br /&gt;&lt;pre&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$text</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;/pre&gt;&lt;br /&gt;(end of your paste)'</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;!DOCTYPE HTML&gt;<br />
&lt;html&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;head&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;/head&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;body&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$txt</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;form action=&quot;&quot; method=&quot;post&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;textarea name=&quot;text&quot; placeholder=&quot;PASTE SOMETHING HERE, press submit&quot; rows=&quot;20&quot; cols=&quot;80&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$pasted_text</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/textarea&gt;&lt;br /&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input type=&quot;submit&quot; value=&quot;submit&quot; /&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/form&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;style&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pre {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; background: #eee;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; font-family: Monaco,&quot;Andale Mono&quot;,&quot;Bitstream Mono&quot;,Courier,terminal;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; font-size: 12px;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; height: auto;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; line-height: 1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; padding: 10px;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; width: auto;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; max-width: 99%;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .n {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; padding: 0 10px;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; background: #f00;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .r {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; padding: 0 10px;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; background: #0f0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/style&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;/body&gt;<br />
&lt;/html&gt;</code></div>
<p><small>(you can download it <a href="https://gist.github.com/1156911">from here</a>, in case you want to test it too)</small></p>
<p>What the test code does is simply highlight <strong>&#8216;\n&#8217;</strong> characters with <strong>red</strong>, and <strong>&#8216;\r&#8217;</strong> characters with <strong>green</strong>, so I can visually see what has been added. It&#8217;s not exactly like a full-grown hex editor, but it&#8217;s more practical for testing in the browser.</p>
<p>Then, if I use the following test text <small>(please ignore the fact that some characters are garbled because of the encoding&#8211;though if you don&#8217;t understand Spanish it should all look fine to you!)</small>:</p>
<div class="syhi_block"><code>Esta es una peque€a rutina realizada en Turbo Pascal 6.0.<br />
Est  programada por motivo de una mini-competici¢n que hicimos en el area<br />
SUR.DEMOS de SurNet.<br />
Espero que os guste ;-)</code></div>
<p>When run with Firefox, I get this:</p>
<p><img src="/imgs/2011/paste_firefox.png" alt="pasting to firefox" /></p>
<p>(notice the double spacing: there are double sequences of <em>\n\r</em>s)</p>
<p>And with Chrome it&#8217;s fine:</p>
<p><img src="/imgs/2011/paste_chrome.png" alt="pasting to chrome" /></p>
<p>And here comes the fun: when I copy the text <em>from Chrome</em> and paste it in Firefox. What do you think will happen? Will it double the space when I press Submit?</p>
<p><img src="/imgs/2011/paste_firefox2.png" alt="pasting to firefox, again" /></p>
<p>No! This time it works properly! Crazy! Or what? Well, I have made more tests to try to pinpoint what&#8217;s happening.</p>
<p><strong>Test one:</strong> copy from a txt file that I created on this computer (so it&#8217;s all Linux line endings), paste into Firefox: WORKS. Paste into Chrome: WORKS.</p>
<p>Some guy reported (for <a href="http://code.google.com/p/synergy-plus/issues/detail?id=443">another</a> product) that copying <strong>from Gnome terminal</strong> or <strong>gedit</strong> to Firefox got him strange results, so I tested the Gnome terminal bit too. Works on Firefox and Chrome: no extra line endings.</p>
<p><strong>Test two:</strong> I converted the original text file from <a href="http://en.wikipedia.org/wiki/Code_page_437">Code Page 437</a> (the old MSDOS encoding) to UTF-8, and opened it with gedit, and pasted it into Firefox: DOESN&#8217;T WORK! Double line spacing again! I guess a \r is a \r is a \r, no matter what the encoding! (fortunately).</p>
<p><strong>Test three:</strong> Opened the file with GVim. Copied everything and pasted into Firefox: WORKS. Single line spacing as expected.</p>
<h3>Conclusion?</h3>
<p>Before drawing up a conclusion, I&#8217;ll summarise the facts:</p>
<ol>
<li>In all the tests that &#8220;fail&#8221;, the copy-paste <em>source</em> is gedit, and the content is a file with MS-Dos line endings.</li>
<li>It only fails with Firefox</li>
</ol>
<p>So this is what I think is happening: gedit is getting confused by the MS-Dos line endings, and &#8220;something is wrong&#8221; in the data it puts in the clipboard when I press CTRL+C. Then Firefox gets sort of crazy when it gets those &#8220;wrong&#8221; characters or whatever gedit is storing in the clipboard, and tries to correct it&#8230; but ends up adding double the required line spacing.</p>
<p>On the other hand, Chrome seems to be able to &#8220;recover&#8221; from possibly malformed data, and proceeds in the normal way we expect: <em>not</em> duplicating content.</p>
<p>However I&#8217;m not too sure about this theory. I&#8217;d like to <em>see</em> the raw clipboard contents (this time, with a proper hex editor), to find out what is in there, but I haven&#8217;t been able to find any program which does it. And I&#8217;m not sure I want to start digging X-Clipboard protocol RFC&#8217;s or whatever it is that they use for their specs in order to find out how to communicate with the daemon which is listening to CTRL+C/CTRL+V key presses.</p>
<p>Do any of you have any pointer? Any idea? (other than telling people to not to use gedit!). A server-side solution is not exactly the best idea, since although I can detect whether the user is using Firefox, I don&#8217;t have any way to detect if a text was pasted from gedit! And blindly replacing groups of \r\n\r\n with just \r\n won&#8217;t work either: what if the text file indeed contains two carriage returns?</p>
<p>Decisions, decisions!</p>
<p>Update: found a gedit <a href="https://bugzilla.gnome.org/show_bug.cgi?id=640439">bug</a> which might be related to this issue!</p>
 <p><a href="http://soledadpenades.com/?flattrss_redirect&amp;id=3624&amp;md5=0f6f6bbc68b312d97cf32175241ce6be" title="Flattr" target="_blank"><img src="http://soledadpenades.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://soledadpenades.com/2011/08/19/line-spacing-inconsistencies-when-pasting-to-firefox-from-gedit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Misclinklanea</title>
		<link>http://soledadpenades.com/2010/09/09/misclinklanea/</link>
		<comments>http://soledadpenades.com/2010/09/09/misclinklanea/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 21:56:17 +0000</pubDate>
		<dc:creator>sole</dc:creator>
				<category><![CDATA[Misclinklanea]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[realtime]]></category>
		<category><![CDATA[silverlink]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://soledadpenades.com/?p=2851</guid>
		<description><![CDATA[Mozilla Labs Gaming looks interesting &#8211; specially the fact that they don&#8217;t seem to be focusing on desktop platforms only (see the reference to touch events). Having good references is always a good thing. I&#8217;m not sure about the horse power of current mobile platforms for running browser applications, though&#8230; And what&#8217;s with the pixelated, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mozillalabs.com/gaming">Mozilla Labs Gaming</a> looks interesting &#8211; specially the fact that they don&#8217;t seem to be focusing on desktop platforms only (see the reference to touch events). Having good references is always a good thing.</p>
<p>I&#8217;m not sure about the horse power of current mobile platforms for running browser applications, though&#8230; And what&#8217;s with the pixelated, blocky icons? Is it because games are assumed to be <em>blocky</em> by design? Is no antialias the new antialias?</p>
<p>~</p>
<p><a href="http://www.theregister.co.uk/2010/09/09/microsoft_html_5/">Silverlight vs HTML5</a> &#8211; was a fight to be fought rather sooner than later. Microsoft seems to me like they&#8217;re piloting a giant ship which takes ages to change direction. Only they don&#8217;t know which direction should they head to: with native applications being less relevant nowadays (at least desktop wise) it seems silly to keep working on new GUI layers and systems in Visual Studio and etc.</p>
<p>~</p>
<p><a href="http://blog.mozilla.com/blog/2010/09/07/firefox-4-beta-with-faster-graphics-and-new-audio-capabilities-for-the-web/">HTML5 Audio data exposed with Firefox 4</a> &#8211; more Mozilla good news. There was some support for FFT data reading a few Firefox beta builds ago, but they weren&#8217;t officially sanctioned until now, so experimenting with that was a bit risky. The video shows also audio data being manipulated too (not only read) with real time filtering&#8230; this has huge potential for projects such as <a href="http://5013.es/p/4">jranular</a> :)</p>
<p>I also find of capital interest that all these new audio features have been developed entirely outside Mozilla, as the main author details <a href="http://vocamus.net/dave/?p=1148">in his blog</a>. +1 for open source ;)</p>
<p>Oh, and in mrdoob&#8217;s <a href="http://twitter.com/mrdoob/status/24007392158">words</a>:</p>
<blockquote><p>
Really hope Chrome implements Mozilla&#8217;s Audio Data API. Other browsers won&#8217;t have other choice then :D <a href="http://audioscene.org/">http://audioscene.org/</a>
</p></blockquote>
<p>~</p>
<p><a href="http://ochook.org/">Zhook</a>, a simple HTML5 based ebook format. Very sensible idea &#8212; specially <a href="http://ipadtest.wordpress.com/2010/08/03/get-over-it-epub-is-dead-and-html5-wins/">if you&#8217;re reminded</a> that most of the platforms at which ebooks are targeted use the very capable WebKit as their core component for dealing with HTML:</p>
<blockquote><p>iOs, Android, webOS, Symbian — all use the WebKit rendering engine. That’s four broad global mobile operating systems that basically define the walk-around go-anywhere Internet today.</p></blockquote>
<p>I looked at the ePub format a few months ago and well&#8230; let&#8217;s just say it discouraged me :-P</p>
<p>~</p>
<p>Finally, more Mozilla goodness! It seems Firefox&#8217;s nightly builds using the superawesome JägerMonkey javascript engine are already <a href="http://nightly.mozilla.org/js-preview.html">available</a>. I&#8217;ve tested one of the builds they provide and the latest version from Firefox repository (compiled in my computer), and I&#8217;ve seen <em>huge</em> performance increases with mrdoob&#8217;s <a href="http://mrdoob.com/lab/javascript/effects/plane_deformations/">plane deformations</a> experiment.</p>
<p>It still can&#8217;t beat Chrome and some of the other experiments run horribly slow, but it&#8217;s getting dangerously close, as testified by their <a href="http://arewefastyet.com/">are we fast yet?</a> website. Well done, Mozilla people!</p>
 <p><a href="http://soledadpenades.com/?flattrss_redirect&amp;id=2851&amp;md5=b7f39cf1ac8aeda5e2f15511b56ad505" title="Flattr" target="_blank"><img src="http://soledadpenades.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://soledadpenades.com/2010/09/09/misclinklanea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using jQuery&#8217;s inline Datepicker within a form</title>
		<link>http://soledadpenades.com/2010/06/12/using-jquerys-inline-datepicker-within-a-form/</link>
		<comments>http://soledadpenades.com/2010/06/12/using-jquerys-inline-datepicker-within-a-form/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 23:59:49 +0000</pubDate>
		<dc:creator>sole</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Usability, Accessibility & User experience]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[datepicker]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[inline]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://soledadpenades.com/?p=2653</guid>
		<description><![CDATA[When you use the inline version of jQuery UI&#8217;s Datepicker within a form, it doesn&#8217;t submit its value back to the server, since there&#8217;s no form element in it. And that&#8217;s a pity, because I find the inline mode way more comfortable for users: rather than having to click a button in order to open [...]]]></description>
			<content:encoded><![CDATA[<p>When you use the <a href="http://jqueryui.com/demos/datepicker/#inline">inline</a> version of jQuery UI&#8217;s Datepicker within a form, it doesn&#8217;t submit its value back to the server, since there&#8217;s no form element in it. </p>
<p>And that&#8217;s a pity, because I find the inline mode way more comfortable for users: rather than having to click a button in order to open an overlay with the calendar and then finally select the date, they can simply select the date in the calendar, without worrying about anything else.</p>
<p>So I devised this simple function that when run over DIV elements attaches the corresponding inline d date picker to them, and also creates a hidden input element for each DIV, which will hold the selected associated date. </p>
<p>This value will be updated automatically whenever a new date is selected in the calendar (because we bind to the <em>select</em> event). When the form is submitted, the value for the inline date picker is submitted too, thanks to the hidden input element :)</p>
<div class="syhi_block"><code><span style="color: #003366; font-weight: bold;">function</span> htmlDatePickerize<span style="color: #009900;">&#40;</span>selector<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<span style="color: #009900;">&#40;</span>selector<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> dateValue <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'value'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> formName <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'name'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> hiddenInput <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenInput.<span style="color: #000066;">name</span> <span style="color: #339933;">=</span> formName<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenInput.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> dateValue<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenInput.<span style="color: #660066;">type</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'hidden'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">after</span><span style="color: #009900;">&#40;</span>hiddenInput<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">datepicker</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; onSelect <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>dateText<span style="color: #339933;">,</span> inst<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hiddenInput.<span style="color: #660066;">value</span> <span style="color: #339933;">=</span> dateText<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">datepicker</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;setDate&quot;</span><span style="color: #339933;">,</span> dateValue<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></code></div>
<p>You would use it like this:</p>
<div class="syhi_block"><code>$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; htmlDatePickerize<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.calendar'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></code></div>
<p>It then would use &#8216;.calendar&#8217; as the selector, and jQuery to look for matching elements, creating the inputs and binding to the select events.</p>
<p>For this to work properly, you need to specify two attributes in each DIV element:</p>
<ul>
<li>name</li>
<li>value</li>
</ul>
<p>Therefore, a <em>proper</em> DIV, apt for being <em>datePickerized</em>, would be the following one:</p>
<div class="syhi_block"><code><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;calendar&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;startDate&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2006-03-02&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></code></div>
<p>and the form field would obviously be <em>startDate</em>.</p>
<p>I&#8217;m uncertain about the validity of these two &#8216;new&#8217; attributes in DIV elements. The <a href="http://validator.w3.org">W3 validator</a> is definitely <em>not happy</em> about them, and spits two unmerciful <em>there is no attribute &#8220;name&#8221;</em> and <em>there is no attribute &#8220;value&#8221;</em> errors, yet it works with Firefox and Chrome, both allowing me to manipulate object attributes at will.</p>
<p>HTML5 makes room for <a href="http://ejohn.org/blog/html-5-data-attributes/">custom attributes</a>, but their names should be prefixed with &#8220;data&#8221;. So these attributes should be renamed to &#8220;data-name&#8221; and &#8220;data-value&#8221; respectively if I wanted them to be valid HTML5 (although I&#8217;m still using a transitional XHTML doctype for this project).</p>
<p>All in all, a tremendous hack, but very practical. Hopefully HTML5 support for time/month/datetime/date inputs will get better in the future (currently only Opera supports them, as Mark Pilgrim dutifully <a href="http://diveintohtml5.org/forms.html#type-date">points out</a>). </p>
<p>Meanwhile, transgression is <em>a must</em>.</p>
 <p><a href="http://soledadpenades.com/?flattrss_redirect&amp;id=2653&amp;md5=1fd8fa8016448c03a1495bb9e84e2ffb" title="Flattr" target="_blank"><img src="http://soledadpenades.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://soledadpenades.com/2010/06/12/using-jquerys-inline-datepicker-within-a-form/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Firefox 64 bit (Ubuntu)</title>
		<link>http://soledadpenades.com/2010/06/03/firefox-64-bit-ubuntu/</link>
		<comments>http://soledadpenades.com/2010/06/03/firefox-64-bit-ubuntu/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 11:15:59 +0000</pubDate>
		<dc:creator>sole</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tests]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://soledadpenades.com/?p=2630</guid>
		<description><![CDATA[I wanted to test the latest Firefox but for the love of whoever you want, I wasn&#8217;t able to find a 64bit build in Mozilla&#8217;s site. I could choose between lots of languages, but I couldn&#8217;t choose between 32 and 64 bits&#8211; their detection system insisted in providing the 32 bits builds. Bad, bad UI [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to test the latest Firefox but for the love of whoever you want, I wasn&#8217;t able to find a 64bit build in Mozilla&#8217;s site. I could choose between lots of languages, but I couldn&#8217;t choose between 32 and 64 bits&#8211; their detection system insisted in providing the 32 bits builds. Bad, bad UI design!</p>
<p>But I managed to find how to build it from source. It turned out to be quite simple,<a href="https://developer.mozilla.org/En/Simple_Firefox_build"> it&#8217;s all in one page</a>. With the Ubuntu instructions only, it gets reduced to this:</p>
<div class="syhi_block"><code><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> build-dep firefox<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13<br />
<br />
hg clone http:<span style="color: #000000; font-weight: bold;">//</span>hg.mozilla.org<span style="color: #000000; font-weight: bold;">/</span>mozilla-central<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #666666; font-style: italic;"># this step might take quite a while</span><br />
<span style="color: #7a0874; font-weight: bold;">cd</span> mozilla-central<br />
<br />
<span style="color: #666666; font-style: italic;"># Setup a basic mozconfig file</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'. $topsrcdir/browser/config/mozconfig'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> mozconfig &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #666666; font-style: italic;"># let's build Firefox...</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-release'</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> mozconfig &nbsp; <span style="color: #666666; font-style: italic;"># ...in this directory...</span><br />
<span style="color: #666666; font-style: italic;"># Parallel compilation is a nice speedup.</span><br />
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">'mk_add_options MOZ_MAKE_FLAGS=&quot;-j4&quot;'</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> mozconfig<br />
<br />
<span style="color: #666666; font-style: italic;"># Build</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-f</span> client.mk</code></div>
<p>And to update:</p>
<div class="syhi_block"><code><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>mozilla-central<br />
<br />
<span style="color: #666666; font-style: italic;"># Get the latest source</span><br />
hg pull <span style="color: #660033;">-r</span> default<br />
hg update<br />
<br />
<span style="color: #666666; font-style: italic;"># Build</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-f</span> client.mk</code></div>
<p>It didn&#8217;t take <em>much</em> time to build (less than 20 minutes). I can&#8217;t remember how much time did Chrome take the last time I tried, I should repeat it if only for curiosity sake.</p>
<p>And now I have a custom build, aptly named Minefield!</p>
<p><img src="/imgs/minefield.png" alt="Firefox 3.7" /></p>
<p>Still, it&#8217;s slower than Chrome in the tests I have ran (Javascript intensive tests, mostly <a href="http://mrdoob.com/">Mr.doob</a>&#8216;s javascript experiments). What a pity, the promised speed improvements made me want to go back to Firefox :-(</p>
<p>In their defence, it built without complaining about any missing and/or almost impossible to fulfill dependency. Which is something you can&#8217;t say about every open source project, unfortunately.</p>
<p>I&#8217;ll keep an eye on it, now that I know how to get my own builds&#8230;</p>
<p>UPDATE: if the build breaks for whatever the reason and you get errors such as these:</p>
<div class="syhi_block"><code>nsFileChannel.cpp:(.text+0xaa3): undefined reference to `nsBaseContentStream::AsyncWait(nsIInputStreamCallback*, unsigned int, unsigned int, nsIEventTarget*)'<br />
../../netwerk/protocol/file/libnkfile_s.a(nsFileChannel.o): In function `nsFileUploadContentStream::Release()':<br />
nsFileChannel.cpp:(.text+0x9d1): undefined reference to `nsBaseContentStream::Release()'<br />
../../netwerk/protocol/file/libnkfile_s.a(nsFileChannel.o): In function `nsFileUploadContentStream::AddRef()':<br />
nsFileChannel.cpp:(.text+0x9d7): undefined reference to `nsBaseContentStream::AddRef()'<br />
../../netwerk/protocol/file/libnkfile_s.a(nsFileChannel.o): In function `nsFileUploadContentStream::QueryInterface(nsID const&amp;, void**)':<br />
nsFileChannel.cpp:(.text+0x9dd): undefined reference to `nsBaseContentStream::QueryInterface(nsID const&amp;, void**)'<br />
../../netwerk/protocol/file/libnkfile_s.a(nsFileChannel.o): In function `nsBaseContentStream::~nsBaseContentStream()':<br />
nsFileChannel.cpp:(.text._ZN19nsBaseContentStreamD2Ev[nsBaseContentStream::~nsBaseContentStream()]+0x3): undefined reference to `vtable for nsBaseContentStream'<br />
/usr/bin/ld.bfd.real: ../../netwerk/protocol/file/libnkfile_s.a(nsFileChannel.o): relocation R_X86_64_PC32 against undefined hidden symbol `vtable for nsBaseContentStream' can not be used when making a shared object<br />
/usr/bin/ld.bfd.real: final link failed: Bad value<br />
collect2: ld returned 1 exit status<br />
make[5]: *** [libxul.so] Error 1<br />
make[5]: Leaving directory `/home/sole/Applications/mozilla/mozilla-central/objdir-ff-release/toolkit/library'<br />
make[4]: *** [libs_tier_platform] Error 2<br />
make[4]: Leaving directory `/home/sole/Applications/mozilla/mozilla-central/objdir-ff-release'<br />
make[3]: *** [tier_platform] Error 2<br />
make[3]: Leaving directory `/home/sole/Applications/mozilla/mozilla-central/objdir-ff-release'<br />
make[2]: *** [default] Error 2<br />
make[2]: Leaving directory `/home/sole/Applications/mozilla/mozilla-central/objdir-ff-release'<br />
make[1]: *** [realbuild] Error 2<br />
make[1]: Leaving directory `/home/sole/Applications/mozilla/mozilla-central'<br />
make: *** [build] Error 2</code></div>
<p>just delete the objdir-mozilla directory and try with make again.</p>
<p>Another solution is to delete .a files from the build directory:</p>
<div class="syhi_block"><code><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-name</span> <span style="color: #ff0000;">&quot;*.a&quot;</span> <span style="color: #660033;">--delete</span></code></div>
 <p><a href="http://soledadpenades.com/?flattrss_redirect&amp;id=2630&amp;md5=0419ed743fc377ff6d62a5129d43ddf1" title="Flattr" target="_blank"><img src="http://soledadpenades.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://soledadpenades.com/2010/06/03/firefox-64-bit-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

