Title: [190342] trunk/Source/WebInspectorUI
- Revision
- 190342
- Author
- commit-qu...@webkit.org
- Date
- 2015-09-29 22:58:38 -0700 (Tue, 29 Sep 2015)
Log Message
Web Inspector: Console completion suggestions should include properties on Object (hasOwnProperty, toString, etc)
https://bugs.webkit.org/show_bug.cgi?id=149649
Patch by Joseph Pecoraro <pecor...@apple.com> on 2015-09-29
Reviewed by Darin Adler.
* UserInterface/Base/Utilities.js:
(value):
Since keySets in this instance are often used as hash maps with the
`in` operator, create a blank object that won't have Object.prototype
functions that would be seen by `in`.
* UserInterface/Controllers/_javascript_RuntimeCompletionProvider.js:
(WebInspector._javascript_RuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
Sort __defineGetter__ and __lookupGetter__ and friends last, since they
are rarely used properties.
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (190341 => 190342)
--- trunk/Source/WebInspectorUI/ChangeLog 2015-09-30 05:57:41 UTC (rev 190341)
+++ trunk/Source/WebInspectorUI/ChangeLog 2015-09-30 05:58:38 UTC (rev 190342)
@@ -1,5 +1,23 @@
2015-09-29 Joseph Pecoraro <pecor...@apple.com>
+ Web Inspector: Console completion suggestions should include properties on Object (hasOwnProperty, toString, etc)
+ https://bugs.webkit.org/show_bug.cgi?id=149649
+
+ Reviewed by Darin Adler.
+
+ * UserInterface/Base/Utilities.js:
+ (value):
+ Since keySets in this instance are often used as hash maps with the
+ `in` operator, create a blank object that won't have Object.prototype
+ functions that would be seen by `in`.
+
+ * UserInterface/Controllers/_javascript_RuntimeCompletionProvider.js:
+ (WebInspector._javascript_RuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
+ Sort __defineGetter__ and __lookupGetter__ and friends last, since they
+ are rarely used properties.
+
+2015-09-29 Joseph Pecoraro <pecor...@apple.com>
+
Web Inspector: Missing completions for Symbol objects, console.error warning
https://bugs.webkit.org/show_bug.cgi?id=149641
Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js (190341 => 190342)
--- trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js 2015-09-30 05:57:41 UTC (rev 190341)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Utilities.js 2015-09-30 05:58:38 UTC (rev 190342)
@@ -445,7 +445,7 @@
{
value: function()
{
- var keys = {};
+ let keys = Object.create(null);
for (var i = 0; i < this.length; ++i)
keys[this[i]] = true;
return keys;
Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/_javascript_RuntimeCompletionProvider.js (190341 => 190342)
--- trunk/Source/WebInspectorUI/UserInterface/Controllers/_javascript_RuntimeCompletionProvider.js 2015-09-30 05:57:41 UTC (rev 190341)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/_javascript_RuntimeCompletionProvider.js 2015-09-30 05:58:38 UTC (rev 190342)
@@ -263,10 +263,18 @@
function compare(a, b)
{
// Try to sort in numerical order first.
- var numericCompareResult = a - b;
+ let numericCompareResult = a - b;
if (!isNaN(numericCompareResult))
return numericCompareResult;
+ // Sort __defineGetter__, __lookupGetter__, and friends last.
+ let aRareProperty = a.startsWith("__") && a.endsWith("__");
+ let bRareProperty = b.startsWith("__") && b.endsWith("__");
+ if (aRareProperty && !bRareProperty)
+ return 1;
+ if (!aRareProperty && bRareProperty)
+ return -1;
+
// Not numbers, sort as strings.
return a.localeCompare(b);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes