Center the word "Filters" better in its hover bubble.
Remove more dead CSS.
Give '.hpp' files a '.h' icon.
Do nav panel hiding (and showing) server-side. Speed up the transitions as well. Refs bug 968020. Bump format version.

There's no reason to bring JS into this. Now we shouldn't have to wait for the whole, long page of source code to display before we can see the nav.

Also remove a hard-coded-true test and an unused block from the file template and a useless test for 0 length.

Bump the format version. Otherwise, the discloser on the nav pane is always in the wrong state.
Make ARIA attrs actually update.
Remove brittle, duplicate declaration of panelContent.
Fix bug wherein nav panel couldn't be fully collapsed.

Fix some whitespace.
Now you can copy and paste code out of file views without skipped lines creeping in.

This removes the hack wherein we scrunched up our line height to make up for extra lines inserted in the <pre>.
Make alignment of line numbers and lines of code more elegant. Tighten up line height in file views a little, too.

Stop screwing around with padding and margins, wishing things would line up. Both line numbers and lines of code now get no padding or margin, and we explicitly align the baselines. (MDN says that's the default for vertical-align, but really it's "middle" according to the computed style pane.)

Remove pointless styling of th elements which are hidden anyway.

Search results still have slightly looser leading than file views. That's intentional, since snippet lines have nothing to do with each other: snuggling them up to reveal structure as in file views doesn't make sense.
Don't let long query text get hidden behind the Filters menu or the spinner.

When the spinner shows, increase the padding to account for it.
Upgrade Jinja to get the filesizeformat fix. Fix bug 965773.

Jinja now depends on MarkupSafe as well.

Add python-dev headers to the VM so we can compile the optional MarkupSafe speedups.
Change .panel's position from absolute to fixed.

It will be more usable with long files.

Here's two test cases:

* http://dxr.mozilla.org/mozilla-central/source/js/src/jsdate.h
* http://dxr.mozilla.org/mozilla-central/source/js/src/jsdate.cpp
Limit the nav panel to just short of the height of the viewport, and give it a scrollbar when it needs one.
Make the search bar prettier.

Add a highlight on the top, a gradient, and a shadow on the bottom. Mostly, it's just pretty, but the dark border on the bottom makes it a tiny bit less surprising when the scrolled content goes behind the bar: it's easier to see the boundary.
Factor out caseFromUrl().
Add some missing semicolons.
Move error messages to a bubble between the search field and the content area. Fix bug 972947.

The bubble solves the problem of where to put a message without expanding the search pane, either permanently (which would waste vertical space, which our users are sensitive to) or on demand (which would distractingly kick down anything in the content area and then bring it up again when the message clears).

Also...
* Add an advisory message when you enter a query of < 3 chars.
* Fix the multi-error appends.
* Move the generic error message out of the template for now. We aren't yet internationalized, and it trims down the size of a zillion generated files.
* Bump format version, since we need the new bubble div in the template.
Move "direct result" message to a bubble. Fix bug 970489.

The "simple" class is no longer used.

Make "from" querystring param test better (but still not great).
Put the query into the query field after loading direct-result pages. Make "from" querystring param detection good.

If the bubble's going to point at the field, the field ought to contain something relevant.

Worthy test case: "main" (with quotes, to test URL decoding)
Don't complain about the empty field after you've typed 2 chars, caused the bubble to show, and then deleted them.