Skip to content

Commit 47be2d5

Browse files
committed
squash 'resources/unpacked/devtools' changes from 61e53c7..ea1001a
ea1001a [DevTools] Support broken UMA metric from M49 frontend. e42e78a Revert of [DevTools] Added keyboard search while in sources (patchset #7 id:120001 of https://codereview.chromium.org/1831903002/ ) b3fb203 DevTools: teach SourceMapNamesResolver to resolve "this" object c0fed8a Revert of DevTools: extract CPU profile independent part of CPUProfileNode. (patchset #3 id:40001 of https://codereview.chromium.org/1873973002/ ) decf4d4 DevTools: improve identifier extraction in SourceMapNamesResolver e2ca0ad Rename Heap to ThreadHeap 8228bda Revert of Rename Heap to ThreadHeap (patchset #13 id:240001 of https://codereview.chromium.org/1845543002/ ) 2a81c34 DevTools: extract CPU profile independent part of CPUProfileNode. 53d311c Rename Heap to ThreadHeap b095eff [DevTools] Fix autocomplete for iframe in top context 81abc28 DevTools: add -webkit-user-select and -webkit-user-modify completions 93a9291 DevTools: cleanup occurences of selection.getRangeAt to avoid NPE bb4305f [DevTools] Fix console history for evaluated object literals 18c6c34 [DevTools] Fix condition in ElementsTreeElement.js 4264bde DevTools: workaround bug in Blink selection API 81e05cb DevTools: deprecate InspectorTest.runAfterPendingDispatches 2dda9ca [DevTools] Added keyboard search while in sources git-subtree-dir: resources/unpacked/devtools git-subtree-split: ea1001a
1 parent e99292e commit 47be2d5

20 files changed

+280
-85
lines changed

front_end/Tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ TestSuite.prototype.testPauseInSharedWorkerInitialization1 = function()
578578
function callback()
579579
{
580580
var target = WebInspector.targetManager.targetsWithJSContext()[0];
581-
target._connection.runAfterPendingDispatches(this.releaseControl.bind(this));
581+
target._connection.deprecatedRunAfterPendingDispatches(this.releaseControl.bind(this));
582582
}
583583
};
584584

front_end/common/Text.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,16 @@ WebInspector.TextCursor.prototype = {
128128
return this._offset;
129129
},
130130

131+
/**
132+
* @param {number} offset
133+
*/
134+
resetTo: function(offset)
135+
{
136+
this._offset = offset;
137+
this._lineNumber = this._lineEndings.lowerBound(offset);
138+
this._columnNumber = this._lineNumber ? this._offset - this._lineEndings[this._lineNumber - 1] - 1 : this._offset;
139+
},
140+
131141
/**
132142
* @return {number}
133143
*/

front_end/devtools.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,9 @@ InspectorFrontendHostImpl.prototype = {
525525
*/
526526
recordEnumeratedHistogram: function(actionName, actionCode, bucketSize)
527527
{
528+
// Support for M49 frontend.
529+
if (actionName === "DevTools.DrawerShown")
530+
return;
528531
DevToolsAPI.sendMessageToEmbedder("recordEnumeratedHistogram", [actionName, actionCode, bucketSize], null);
529532
},
530533

front_end/elements/ElementsTreeElement.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1281,7 +1281,7 @@ WebInspector.ElementsTreeElement.prototype = {
12811281
return anchor;
12821282
}
12831283

1284-
if (node && name === "src" || name === "href") {
1284+
if (node && (name === "src" || name === "href")) {
12851285
attrValueElement.appendChild(linkifyValue.call(this, value));
12861286
} else if (node && node.nodeName().toLowerCase() === "img" && name === "srcset") {
12871287
var sources = value.split(",");

front_end/es_tree/ESTreeWalker.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,16 @@
55
/**
66
* @constructor
77
* @param {function(!ESTree.Node)} beforeVisit
8-
* @param {function(!ESTree.Node)} afterVisit
8+
* @param {function(!ESTree.Node)=} afterVisit
99
*/
1010
WebInspector.ESTreeWalker = function(beforeVisit, afterVisit)
1111
{
1212
this._beforeVisit = beforeVisit;
13-
this._afterVisit = afterVisit;
13+
this._afterVisit = afterVisit || new Function();
1414
}
1515

16+
WebInspector.ESTreeWalker.SkipSubtree = {};
17+
1618
WebInspector.ESTreeWalker.prototype = {
1719
/**
1820
* @param {!ESTree.Node} ast
@@ -32,7 +34,10 @@ WebInspector.ESTreeWalker.prototype = {
3234
return;
3335
node.parent = parent;
3436

35-
this._beforeVisit.call(null, node);
37+
if (this._beforeVisit.call(null, node) === WebInspector.ESTreeWalker.SkipSubtree) {
38+
this._afterVisit.call(null, node);
39+
return;
40+
}
3641

3742
var walkOrder = WebInspector.ESTreeWalker._walkOrder[node.type];
3843
if (!walkOrder) {

front_end/externs.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -683,6 +683,8 @@ ESTree.Node = function()
683683
this.name;
684684
/** @type {(?ESTree.Node|undefined)} */
685685
this.id;
686+
/** @type {(number|undefined)} */
687+
this.length;
686688
}
687689

688690
/**

front_end/formatter_worker/FormatterWorker.js

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -131,49 +131,49 @@ WebInspector.evaluatableJavaScriptSubstring = function(content)
131131
*/
132132
WebInspector.javaScriptIdentifiers = function(content)
133133
{
134-
var root = acorn.parse(content, {});
134+
var root = acorn.parse(content, { ranges: false, ecmaVersion: 6 });
135+
135136
/** @type {!Array<!ESTree.Node>} */
136137
var identifiers = [];
137-
var functionDeclarationCounter = 0;
138-
var walker = new WebInspector.ESTreeWalker(beforeVisit, afterVisit);
138+
var walker = new WebInspector.ESTreeWalker(beforeVisit);
139139

140140
/**
141141
* @param {!ESTree.Node} node
142142
* @return {boolean}
143143
*/
144144
function isFunction(node)
145145
{
146-
return node.type === "FunctionDeclaration" || node.type === "FunctionExpression";
146+
return node.type === "FunctionDeclaration" || node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression";
147147
}
148148

149149
/**
150150
* @param {!ESTree.Node} node
151151
*/
152152
function beforeVisit(node)
153153
{
154-
if (isFunction(node))
155-
functionDeclarationCounter++;
154+
if (isFunction(node)) {
155+
if (node.id)
156+
identifiers.push(node.id);
157+
return WebInspector.ESTreeWalker.SkipSubtree;
158+
}
156159

157-
if (functionDeclarationCounter > 1)
160+
if (node.type !== "Identifier")
158161
return;
159162

160-
if (isFunction(node) && node.params)
161-
identifiers.pushAll(node.params);
162-
163-
if (node.type === "VariableDeclarator")
164-
identifiers.push(/** @type {!ESTree.Node} */(node.id));
163+
if (node.parent && node.parent.type === "MemberExpression" && node.parent.property === node && !node.parent.computed)
164+
return;
165+
identifiers.push(node);
165166
}
166167

167-
/**
168-
* @param {!ESTree.Node} node
169-
*/
170-
function afterVisit(node)
171-
{
172-
if (isFunction(node))
173-
functionDeclarationCounter--;
168+
if (!root || root.type !== "Program" || root.body.length !== 1 || !isFunction(root.body[0])) {
169+
postMessage([]);
170+
return;
174171
}
175172

176-
walker.walk(root);
173+
var functionNode = root.body[0];
174+
for (var param of functionNode.params)
175+
walker.walk(param);
176+
walker.walk(functionNode.body);
177177
var reduced = identifiers.map(id => ({name: id.name, offset: id.start}));
178178
postMessage(reduced);
179179
}

front_end/main/Main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,7 @@ WebInspector.Main.prototype = {
592592
}
593593
}
594594

595-
this._mainConnection.runAfterPendingDispatches(invokeMethod);
595+
this._mainConnection.deprecatedRunAfterPendingDispatches(invokeMethod);
596596
}
597597
}
598598

front_end/platform/DOMExtension.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,8 @@ Node.prototype.isComponentSelectionCollapsed = function()
301301
{
302302
// FIXME: crbug.com/447523, use selection.isCollapsed when it is fixed for shadow dom.
303303
var selection = this.getComponentSelection();
304-
return selection && selection.rangeCount ? selection.getRangeAt(0).collapsed : true;
304+
var range = selection && selection.rangeCount ? selection.getRangeAt(0) : null;
305+
return range ? range.collapsed : true;
305306
}
306307

307308
/**
@@ -348,9 +349,10 @@ Element.prototype.removeChildren = function()
348349
Element.prototype.isInsertionCaretInside = function()
349350
{
350351
var selection = this.getComponentSelection();
351-
if (!selection.rangeCount || !selection.isCollapsed)
352+
// @see crbug.com/602541
353+
var selectionRange = selection && selection.rangeCount ? selection.getRangeAt(0) : null;
354+
if (!selectionRange || !selection.isCollapsed)
352355
return false;
353-
var selectionRange = selection.getRangeAt(0);
354356
return selectionRange.startContainer.isSelfOrDescendant(this);
355357
}
356358

front_end/platform/utilities.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,6 +1280,19 @@ Map.prototype.keysArray = function()
12801280
return Array.from(this.keys());
12811281
}
12821282

1283+
/**
1284+
* @return {!Multimap<!KEY, !VALUE>}
1285+
*/
1286+
Map.prototype.inverse = function()
1287+
{
1288+
var result = new Multimap();
1289+
for (var key of this.keys()) {
1290+
var value = this.get(key);
1291+
result.set(value, key);
1292+
}
1293+
return result;
1294+
}
1295+
12831296
/**
12841297
* @constructor
12851298
* @template K, V

0 commit comments

Comments
 (0)