Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(610)

Side by Side Diff: Source/WebCore/inspector/front-end/ConsoleView.js

Issue 7034027: Merge 86768 - 2011-05-18 Pavel Feldman <pfeldman@google.com> (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/742/
Patch Set: Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2009 Joseph Pecoraro 3 * Copyright (C) 2009 Joseph Pecoraro
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 337
338 delete this.commandSincePreviousMessage; 338 delete this.commandSincePreviousMessage;
339 delete this.previousMessage; 339 delete this.previousMessage;
340 }, 340 },
341 341
342 completions: function(wordRange, bestMatchOnly, completionsReadyCallback) 342 completions: function(wordRange, bestMatchOnly, completionsReadyCallback)
343 { 343 {
344 // Pass less stop characters to rangeOfWord so the range will be a more complete expression. 344 // Pass less stop characters to rangeOfWord so the range will be a more complete expression.
345 var expressionRange = wordRange.startContainer.rangeOfWord(wordRange.sta rtOffset, ExpressionStopCharacters, this.promptElement, "backward"); 345 var expressionRange = wordRange.startContainer.rangeOfWord(wordRange.sta rtOffset, ExpressionStopCharacters, this.promptElement, "backward");
346 var expressionString = expressionRange.toString(); 346 var expressionString = expressionRange.toString();
347 var prefix = wordRange.toString();
348 this._completions(expressionString, prefix, bestMatchOnly, completionsRe adyCallback);
349 },
350
351 _completions: function(expressionString, prefix, bestMatchOnly, completionsR eadyCallback)
352 {
347 var lastIndex = expressionString.length - 1; 353 var lastIndex = expressionString.length - 1;
348 354
349 var dotNotation = (expressionString[lastIndex] === "."); 355 var dotNotation = (expressionString[lastIndex] === ".");
350 var bracketNotation = (expressionString[lastIndex] === "["); 356 var bracketNotation = (expressionString[lastIndex] === "[");
351 357
352 if (dotNotation || bracketNotation) 358 if (dotNotation || bracketNotation)
353 expressionString = expressionString.substr(0, lastIndex); 359 expressionString = expressionString.substr(0, lastIndex);
354 360
355 var prefix = wordRange.toString();
356 if (!expressionString && !prefix) 361 if (!expressionString && !prefix)
357 return; 362 return;
358 363
359 this.evalInInspectedWindow(expressionString, "completion", true, evaluat ed.bind(this)); 364 if (!expressionString && WebInspector.panels.scripts.paused)
365 WebInspector.panels.scripts.getSelectedCallFrameVariables(reportComp letions.bind(this));
366 else
367 this.evalInInspectedWindow(expressionString, "completion", true, eva luated.bind(this));
360 368
361 function evaluated(result) 369 function evaluated(result)
362 { 370 {
363 if (!result) 371 if (!result)
364 return; 372 return;
365 result.getAllProperties(evaluatedProperties.bind(this)); 373 result.getAllProperties(evaluatedProperties.bind(this));
366 } 374 }
367 375
368 function evaluatedProperties(properties) 376 function evaluatedProperties(properties)
369 { 377 {
370 RuntimeAgent.releaseObjectGroup("completion"); 378 RuntimeAgent.releaseObjectGroup("completion");
371 var propertyNames = []; 379 var propertyNames = {};
372 for (var i = 0; properties && i < properties.length; ++i) 380 for (var i = 0; properties && i < properties.length; ++i)
373 propertyNames.push(properties[i].name); 381 propertyNames[properties[i].name] = true;
382 reportCompletions.call(this, propertyNames);
383 }
374 384
385 function reportCompletions(propertyNames)
386 {
375 var includeCommandLineAPI = (!dotNotation && !bracketNotation); 387 var includeCommandLineAPI = (!dotNotation && !bracketNotation);
376 if (includeCommandLineAPI) 388 if (includeCommandLineAPI) {
377 propertyNames.splice(0, 0, "dir", "dirxml", "keys", "values", "p rofile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "c lear"); 389 const commandLineAPI = ["dir", "dirxml", "keys", "values", "prof ile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clea r"];
378 this._reportCompletions(bestMatchOnly, completionsReadyCallback, dot Notation, bracketNotation, prefix, propertyNames); 390 for (var i = 0; i < commandLineAPI.length; ++i)
391 propertyNames[commandLineAPI[i]] = true;
392 }
393
394 this._reportCompletions(bestMatchOnly, completionsReadyCallback, dot Notation, bracketNotation, prefix, Object.keys(propertyNames));
379 } 395 }
380 }, 396 },
381 397
382 _reportCompletions: function(bestMatchOnly, completionsReadyCallback, dotNot ation, bracketNotation, prefix, properties) { 398 _reportCompletions: function(bestMatchOnly, completionsReadyCallback, dotNot ation, bracketNotation, prefix, properties) {
383 if (bracketNotation) { 399 if (bracketNotation) {
384 if (prefix.length && prefix[0] === "'") 400 if (prefix.length && prefix[0] === "'")
385 var quoteUsed = "'"; 401 var quoteUsed = "'";
386 else 402 else
387 var quoteUsed = "\""; 403 var quoteUsed = "\"";
388 } 404 }
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after
1159 else 1175 else
1160 groupElement.addStyleClass("collapsed"); 1176 groupElement.addStyleClass("collapsed");
1161 groupTitleElement.scrollIntoViewIfNeeded(true); 1177 groupTitleElement.scrollIntoViewIfNeeded(true);
1162 } 1178 }
1163 1179
1164 event.stopPropagation(); 1180 event.stopPropagation();
1165 event.preventDefault(); 1181 event.preventDefault();
1166 } 1182 }
1167 } 1183 }
1168 1184
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698