[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/khtml
From: Harri Porten <porten () kde ! org>
Date: 2005-05-31 23:11:39
Message-ID: 1117581099.406594.10965.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 420390 by porten:
fixed prototype property lookup order of global window object.
Fixes endless loop on maps.google.com.
BUGS:98979
M +6 -0 ChangeLog
M +16 -3 ecma/kjs_window.cpp
--- trunk/KDE/kdelibs/khtml/ChangeLog #420389:420390
@@ -1,3 +1,9 @@
+2005-06-01 Harri Porten <porten@kde.org>
+
+ * ecma/kjs_window.cpp: fixed prototype property lookup order of
+ global window object. Fixes endless loop on maps.google.com
+ (bug #98979).
+
2005-05-28 Allan Sandfeld Jensen <kde@carewolf.com>
Implement ideographic enumeration including the CSS 2.1 cjk-ideographic and \
several from CSS 3 List (working draft).
--- trunk/KDE/kdelibs/khtml/ecma/kjs_window.cpp #420389:420390
@@ -487,10 +487,10 @@
}
// Look for overrides first
- Value val = ObjectImp::get(exec, p);
- if (!val.isA(UndefinedType)) {
+ ValueImp *val = getDirect(p);
+ if (val) {
//kdDebug(6070) << "Window::get found dynamic property '" << p.ascii() << "'" << \
endl;
- return isSafeScript(exec) ? val : Undefined();
+ return isSafeScript(exec) ? Value(val) : Undefined();
}
const HashEntry* entry = Lookup::findEntry(&WindowTable, p);
@@ -764,6 +764,19 @@
return getListener(exec,DOM::EventImpl::UNLOAD_EVENT);
}
}
+
+ // doing the remainder of ObjectImp::get() that is not covered by
+ // the getDirect() call above.
+ // #### guessed position. move further up or down?
+ Object proto = Object::dynamicCast(prototype());
+ assert(proto.isValid());
+ if (p == specialPrototypePropertyName)
+ return isSafeScript(exec) ? Value(proto) : Undefined();
+ Value val2 = proto.get(exec, p);
+ if (!val2.isA(UndefinedType)) {
+ return isSafeScript(exec) ? val2 : Undefined();
+ }
+
KParts::ReadOnlyPart *rop = part->findFramePart( p.qstring() );
if (rop)
return retrieve(rop);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic