summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-12 15:47:51 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-12 15:47:51 +0000
commit7121fbadd407d4c495429eac82ee538501e22e70 (patch)
tree62dad8aa2d3ac9a20a381936f5022f418da2444e
parent18996fdff00837dc684f5ad010dc5ef4a3d30276 (diff)
downloadchromium_src-7121fbadd407d4c495429eac82ee538501e22e70.zip
chromium_src-7121fbadd407d4c495429eac82ee538501e22e70.tar.gz
chromium_src-7121fbadd407d4c495429eac82ee538501e22e70.tar.bz2
These two layout tests were failing:
LayoutTests/svg/dom/animated-tearoff-equality.xhtml LayoutTests/svg/dom/animated-tearoff-lifespan.xhtml in Release only. The cause was the use of an invalid hash function. Review URL: http://codereview.chromium.org/42094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11539 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--webkit/port/bindings/v8/V8SVGPODTypeWrapper.h5
-rw-r--r--webkit/tools/layout_tests/test_lists/tests_fixable.txt3
2 files changed, 4 insertions, 4 deletions
diff --git a/webkit/port/bindings/v8/V8SVGPODTypeWrapper.h b/webkit/port/bindings/v8/V8SVGPODTypeWrapper.h
index 55e9ee1..79553c2 100644
--- a/webkit/port/bindings/v8/V8SVGPODTypeWrapper.h
+++ b/webkit/port/bindings/v8/V8SVGPODTypeWrapper.h
@@ -262,7 +262,10 @@ template<typename PODType, typename PODTypeCreator>
struct PODTypeWrapperCacheInfoHash {
static unsigned hash(const PODTypeWrapperCacheInfo<PODType, PODTypeCreator>& info)
{
- return StringImpl::computeHash((::UChar*) &info, sizeof(PODTypeWrapperCacheInfo<PODType, PODTypeCreator>) / sizeof(::UChar));
+ unsigned creator = reinterpret_cast<unsigned>(info.creator);
+ unsigned getter = reinterpret_cast<unsigned>(*(void**)&info.getter);
+ unsigned setter = reinterpret_cast<unsigned>(*(void**)&info.setter);
+ return (creator * 13) + getter ^ (setter >> 2);
}
static bool equal(const PODTypeWrapperCacheInfo<PODType, PODTypeCreator>& a, const PODTypeWrapperCacheInfo<PODType, PODTypeCreator>& b)
diff --git a/webkit/tools/layout_tests/test_lists/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
index eefd049..f5125cb 100644
--- a/webkit/tools/layout_tests/test_lists/tests_fixable.txt
+++ b/webkit/tools/layout_tests/test_lists/tests_fixable.txt
@@ -1749,9 +1749,6 @@ SKIP DEFER : LayoutTests/fast/block/float/crash-on-absolute-positioning.html = F
// a revert.
WIN LINUX : LayoutTests/fast/repaint/transform-replaced-shadows.html = FAIL
-DEFER WIN : LayoutTests/svg/dom/animated-tearoff-equality.xhtml = FAIL
-DEFER WIN : LayoutTests/svg/dom/animated-tearoff-lifespan.xhtml = FAIL
-
// Started failing at r11441:11442, which has no code changes!
WIN DEBUG : LayoutTests/editing/execCommand/paste-1.html = FAIL