Clean up QualifiedName-as-hash-key scenario.
<http://webkit.org/b/99394>

Reviewed by Anders Carlsson.

Cache the hash on QualifiedNameImpl after the first time it's computed.
This grows QualifiedNameImpl by 4 bytes on 32-bit (no change on 64-bit due to base class padding)
which I believe is fine, since QualifiedName is a shared object.

Add a global nullQName() function that returns a QualifiedName(nullAtom, nullAtom, nullAtom)
and use this to implement HashTraits<QualifiedName>::emptyValue(). The old implementation would
create a new QualifiedName(nullAtom, nullAtom, nullAtom) each time, which had to be hashed,
added to  the global QualifiedName cache, etc.

Finally, don't have SVGAttributeHashTranslator create a temporary QualifiedName just to compute
the hash of a (namespace, prefix, localName) tuple, use QualifiedNameComponents and hashComponents()
directly instead.

Altogether this shaves ~100ms off of the RoboHornet svgresize.html benchmark on my MBP.

* dom/QualifiedName.cpp:
(WebCore::nullQName):
(WebCore::QualifiedName::QualifiedNameImpl::computeHash):
* dom/QualifiedName.h:
(QualifiedNameImpl):
(WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
(WebCore::QualifiedNameHash::hash):
* svg/SVGElement.h:
(WebCore::SVGAttributeHashTranslator::hash):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed rebaselines after http://trac.webkit.org/changeset/131974, take two.

* platform/chromium-linux-x86/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt.
* platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt.
* platform/chromium-mac-lion/svg/custom/pattern-scaling-expected.txt: Added.
* platform/chromium-mac-snowleopard/svg/custom/pattern-scaling-expected.txt: Added.
* platform/chromium-mac/svg/custom/pattern-scaling-expected.txt: Added.
* platform/chromium-win-xp/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png: Removed.
* platform/chromium-win-xp/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: Copied from LayoutTests/platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt.
* platform/chromium-win-xp/svg/custom/js-late-pattern-creation-expected.png: Removed.
* platform/chromium-win-xp/svg/custom/pattern-scaling-expected.txt: Added.
* platform/chromium-win-xp/svg/custom/pattern-with-transformation-expected.png: Removed.
* platform/chromium-win-xp/svg/transforms/text-with-pattern-inside-transformed-html-expected.png: Removed.
* platform/chromium-win-xp/svg/transforms/text-with-pattern-with-svg-transform-expected.png: Removed.
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
* platform/chromium-win/svg/custom/js-late-pattern-creation-expected.png:
* platform/chromium-win/svg/custom/pattern-with-transformation-expected.png:
* platform/chromium-win/svg/transforms/text-with-pattern-inside-transformed-html-expected.png:
* platform/chromium-win/svg/transforms/text-with-pattern-with-svg-transform-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/12512710> [mac] Text with zero font size renders as 12px sometimes
https://bugs.webkit.org/show_bug.cgi?id=99918

Reviewed by Geoff Garen.

Source/WebCore: 

-[NSFont fontWithName:size:] returns an NSFont of size 12 (the default User Font size) when
asked for size 0, and this is what Font::drawGlyphs uses to draw the text.

Test: fast/text/zero-font-size-2.html

* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs): Added an early return if the size is zero.

LayoutTests: 

* fast/text/zero-font-size-2-expected.html: Added.
* fast/text/zero-font-size-2.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@131995 268f45cc-cd09-0410-ab3c-d52691b4dbfc