1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-06 00:54:12 +01:00

Fix some property completion edge cases with wrapped natives.

This commit is contained in:
Kris Maglione
2010-10-03 20:06:45 -04:00
parent 4adf8d8b19
commit 106b9163c2

View File

@@ -181,12 +181,18 @@ function debuggerProperties(obj) {
* @default false
* @returns {Generator}
*/
function prototype(obj)
obj.__proto__ || Object.getPrototypeOf(obj) ||
XPCNativeWrapper.unwrap(obj).__proto__ ||
Object.getPrototypeOf(XPCNativeWrapper.unwrap(obj));
function properties(obj, prototypes, debugger_) {
let orig = obj;
let seen = {};
for (; obj; obj = prototypes && obj.__proto__) {
for (; obj; obj = prototypes && prototype(obj)) {
try {
var iter = (!debugger_ || !services.get("debugger").isOn) && values(Object.getOwnPropertyNames(obj));
if (!debugger_ || !services.get("debugger").isOn)
var iter = values(Object.getOwnPropertyNames(obj));
}
catch (e) {}
if (!iter)