2008-05-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- fixed <rdar://problem/
5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com
* VM/CodeGenerator.cpp:
(KJS::CodeGenerator::CodeGenerator): Delete any existing
properties before creating the function (this should really be
done at execution time not codegen time).
LayoutTests:
2008-05-23 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- test case <rdar://problem/
5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com
* fast/js/function-redefinition-expected.txt: Added.
* fast/js/function-redefinition.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2008-05-23 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver.
+
+ - fixed <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com
+
+ * VM/CodeGenerator.cpp:
+ (KJS::CodeGenerator::CodeGenerator): Delete any existing
+ properties before creating the function (this should really be
+ done at execution time not codegen time).
+
2008-05-16 Alp Toker <alp@nuanti.com>
Build fix for gcc 3. Default constructor required in ExecState,
if (canCreateVariables) {
for (size_t i = 0; i < functionStack.size(); ++i) {
FuncDeclNode* funcDecl = functionStack[i];
+ if (globalObject->hasProperty(exec, funcDecl->m_ident) || symbolTable->contains(funcDecl->m_ident.ustring().rep())) {
+ globalObject->putWithAttributes(exec, funcDecl->m_ident, jsUndefined(), 0);
+ globalObject->deleteProperty(exec, funcDecl->m_ident);
+ }
emitNewFunction(addVar(funcDecl->m_ident, false), funcDecl);
}
+2008-05-23 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Oliver.
+
+ - test case <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com
+
+ * fast/js/function-redefinition-expected.txt: Added.
+ * fast/js/function-redefinition.html: Added.
+
2008-05-23 Mark Rowe <mrowe@apple.com>
Reviewed by Oliver Hunt.
--- /dev/null
+PASS typeof test1 == 'function' is true
+PASS typeof test2 == 'function' is true
+PASS typeof test3 == 'function' is true
+PASS test3() is "SUCCESS"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="resources/js-test-style.css">
+<script src="resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+test1 = "FAIL";
+var test2 = "FAIL"
+function test3() {
+ return "FAIL";
+}
+</script>
+<script>
+function test1() {
+ return "SUCCESS";
+}
+
+function test2() {
+ return "SUCCESS";
+}
+
+function test3() {
+ return "SUCCESS";
+}
+
+shouldBeTrue("typeof test1 == 'function'");
+shouldBeTrue("typeof test2 == 'function'");
+shouldBeTrue("typeof test3 == 'function'");
+shouldBe("test3()", '"SUCCESS"');
+var successfullyParsed = true;
+</script>
+<script src="resources/js-test-post.js"></script>
+</body>
+</html>