Reviewed by Kevin.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 9 Oct 2004 21:22:43 +0000 (21:22 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 9 Oct 2004 21:22:43 +0000 (21:22 +0000)
        - fixed <rdar://problem/3822618> REGRESSION (164-165): expedia.com's popup help doesn't work

        * kjs/reference.cpp: (Reference::putValue): Change so that references not found in any object
        work with the window object of the page the function is in, not the page of the caller. This
        is what all other browsers do. This code was hidden before by the "everything is defined on
        window object" hack in WebCore.

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

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/reference.cpp

index c4d371481014019d22d7fb39a063c46ba66d2eee..db099d66660fb593f4da8014e57ba63a722638a3 100644 (file)
@@ -1,3 +1,14 @@
+2004-10-09  Darin Adler  <darin@apple.com>
+
+        Reviewed by Kevin.
+
+        - fixed <rdar://problem/3822618> REGRESSION (164-165): expedia.com's popup help doesn't work
+
+        * kjs/reference.cpp: (Reference::putValue): Change so that references not found in any object
+        work with the window object of the page the function is in, not the page of the caller. This
+        is what all other browsers do. This code was hidden before by the "everything is defined on
+        window object" hack in WebCore.
+
 2004-10-07  Richard Williamson   <rjw@apple.com>
 
        Added simple JavaScript call tracing.  Very useful for
index 862a4577e92386e57e6957d5b8249de00896e59b..9eed1b65d84e7ae63a3facdd20d2f07b9c7d3d1c 100644 (file)
@@ -1,7 +1,7 @@
 // -*- c-basic-offset: 2 -*-
 /*
  *  This file is part of the KDE libraries
- *  Copyright (C) 2003 Apple Computer, Inc
+ *  Copyright (C) 2004 Apple Computer, Inc
  *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
@@ -152,7 +152,7 @@ void Reference::putValue(ExecState *exec, const Value &w)
 #endif
   Value o = getBase(exec);
   if (o.type() == NullType)
-    o = exec->dynamicInterpreter()->globalObject();
+    o = exec->lexicalInterpreter()->globalObject();
 
   if (propertyNameIsNumber)
     return static_cast<ObjectImp*>(o.imp())->put(exec,propertyNameAsNumber, w);