2006-12-21 Mark Rowe <bdash@webkit.org>
[WebKit-https.git] / WebKitTools / Drosera / DebuggerDocument.m
index b8443662aeee9695f4d3a9e6c5a15f142c2c0243..d8a9806731fb0a35424228a25694c11b156c638d 100644 (file)
@@ -113,19 +113,16 @@ static NSString *DebuggerStepOutToolbarItem = @"DebuggerStepOutToolbarItem";
 
 - (NSArray *)webScriptAttributeKeysForScriptObject:(WebScriptObject *)object
 {
-    [object evaluateWebScript:@"this.__drosera_introspection = function () { var result = new Array(); for (var x in this) { result.push(x); } return result; }"];
+    WebScriptObject *enumerateAttributes = [object evaluateWebScript:@"(function () { var result = new Array(); for (var x in this) { result.push(x); } return result; })"];
 
     NSMutableArray *result = [[NSMutableArray alloc] init];
-    WebScriptObject *variables = [object callWebScriptMethod:@"__drosera_introspection" withArguments:nil];
+    WebScriptObject *variables = [enumerateAttributes callWebScriptMethod:@"call" withArguments:[NSArray arrayWithObject:object]];
     unsigned length = [variables count];
     for (unsigned i = 0; i < length; i++) {
         NSString *key = [variables webScriptValueAtIndex:i];
-        if (![key isEqualToString:@"__drosera_introspection"])
-            [result addObject:key];
+        [result addObject:key];
     }
 
-    [object removeWebScriptKey:@"__drosera_introspection"];
-
     [result sortUsingSelector:@selector(compare:)];
     return [result autorelease];
 }