Commit 9f3f2c8a authored by luoe's avatar luoe Committed by Commit bot

DevTools: untruncate links on console export

BUG=505177

Review-Url: https://codereview.chromium.org/2571713005
Cr-Commit-Position: refs/heads/master@{#443411}
parent 5db4d106
...@@ -29,7 +29,7 @@ function test() ...@@ -29,7 +29,7 @@ function test()
InspectorTest.addResult("script was added"); InspectorTest.addResult("script was added");
var message = Console.ConsoleView.instance()._visibleViewMessages[0]; var message = Console.ConsoleView.instance()._visibleViewMessages[0];
var anchorElement = message.element().querySelector(".console-message-url"); var anchorElement = message.element().querySelector(".devtools-link");
anchorElement.click(); anchorElement.click();
} }
......
...@@ -8,7 +8,7 @@ Running: testConsoleMessagesForFormattedScripts ...@@ -8,7 +8,7 @@ Running: testConsoleMessagesForFormattedScripts
script-formatter-console.html:12 script-formatter-console.html:12
Pre-format row message list: Pre-format row message list:
[11] [11]
script-formatter-console.html:formatted:15 script-formatter-console.html:formatted:15
Post-format row message list: Post-format row message list:
[14] [14]
...@@ -72,7 +72,7 @@ var test = function() ...@@ -72,7 +72,7 @@ var test = function()
var messages = Console.ConsoleView.instance()._visibleViewMessages; var messages = Console.ConsoleView.instance()._visibleViewMessages;
for (var i = 0; i < messages.length; ++i) { for (var i = 0; i < messages.length; ++i) {
var element = messages[i].toMessageElement(); var element = messages[i].toMessageElement();
var anchor = element.querySelector(".console-message-url"); var anchor = element.querySelector(".console-message-anchor");
InspectorTest.addResult(anchor.textContent); InspectorTest.addResult(anchor.textContent);
} }
} }
......
CONSOLE MESSAGE: line 12: foo
CONSOLE MESSAGE: line 13: www.chromium.org
CONSOLE MESSAGE: line 14: baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar
CONSOLE MESSAGE: line 15: www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com
CONSOLE MESSAGE: line 16: www.chromium.org www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com foo baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar www.chromium.org www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com
CONSOLE MESSAGE: line 17: My important trace
CONSOLE ERROR: line 18: My error
Tests that exporting console messages produces proper output.
Dumping messages
console-export.html:12 foo
console-export.html:13 www.chromium.org
console-export.html:14 baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar
console-export.html:15 www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo…ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com
console-export.html:16 www.chromium.org www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo…ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com foo baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar www.chromium.org www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo…ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com
console-export.html:17 My important trace
log @ console-export.html:17
console-export.html:18 My error
log @ console-export.html:18
Dumping export strings
console-export.html:12 foo
console-export.html:13 www.chromium.org
console-export.html:14 baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar
console-export.html:15 www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com
console-export.html:16 www.chromium.org www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com foo baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar www.chromium.org www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com
console-export.html:17 My important trace
log @ console-export.html:17
console-export.html:18 My error
log @ console-export.html:18
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/console-test.js"></script>
<script>
function log() {
var nonUrl = "foo";
var url = "www.chromium.org";
var longNonUrl = "baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar";
var longUrl = "www.loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooongurl.com";
console.log(nonUrl);
console.log(url);
console.log(longNonUrl);
console.log(longUrl);
console.log(url + " " + longUrl + " " + nonUrl + " " + longNonUrl + " " + url + " " + longUrl);
console.trace("My important trace");
console.error("My error");
}
log();
function test()
{
InspectorTest.addResult("\nDumping messages");
InspectorTest.dumpConsoleMessages();
InspectorTest.addResult("\nDumping export strings");
var consoleView = Console.ConsoleView.instance();
consoleView._visibleViewMessages.forEach(message => InspectorTest.addResult(message.toExportString()));
InspectorTest.completeTest();
}
</script>
</head>
<body onload="runTest()">
<p>
Tests that exporting console messages produces proper output.
</p>
</body>
</html>
...@@ -2,7 +2,7 @@ CONSOLE MESSAGE: line 8: 239 ...@@ -2,7 +2,7 @@ CONSOLE MESSAGE: line 8: 239
Test that console.log() would linkify its location in respect with blackboxing. Test that console.log() would linkify its location in respect with blackboxing.
foo.js:4 foo.js:4
boo.js:4 boo.js:4
VM:1 VM:1
foo.js:4 foo.js:4
...@@ -58,7 +58,7 @@ function test() ...@@ -58,7 +58,7 @@ function test()
var messages = Console.ConsoleView.instance()._visibleViewMessages; var messages = Console.ConsoleView.instance()._visibleViewMessages;
for (var i = 0; i < messages.length; ++i) { for (var i = 0; i < messages.length; ++i) {
var element = messages[i].toMessageElement(); var element = messages[i].toMessageElement();
var anchor = element.querySelector(".console-message-url"); var anchor = element.querySelector(".console-message-anchor");
InspectorTest.addResult(anchor.textContent.replace(/VM\d+/g, "VM")); InspectorTest.addResult(anchor.textContent.replace(/VM\d+/g, "VM"));
} }
} }
......
...@@ -5,11 +5,11 @@ CONSOLE MESSAGE: line 9: 123 ...@@ -5,11 +5,11 @@ CONSOLE MESSAGE: line 9: 123
CONSOLE MESSAGE: line 10: http://www.chromium.org/some?v=114:56:57 CONSOLE MESSAGE: line 10: http://www.chromium.org/some?v=114:56:57
Test that console.log() would linkify the links. Bug 231074. Test that console.log() would linkify the links. Bug 231074.
console-log-linkify-links.html:6 http://www.chromium.org/ console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link console-log-linkify-links.html:6 http://www.chromium.org/ console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link
console-log-linkify-links.html:7 follow http://www.chromium.org/ console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link console-log-linkify-links.html:7 follow http://www.chromium.org/ console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link
console-log-linkify-links.html:8 string http://www.chromium.org/ console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link console-log-linkify-links.html:8 string http://www.chromium.org/ console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link
console-log-linkify-links.html:9 123 "http://www.chromium.org/" console-message > source-code > console-message-url devtools-link > console-message-text > object-value-number source-code > object-value-string source-code > object-value-string-quote > devtools-link > object-value-string-quote console-log-linkify-links.html:9 123 "http://www.chromium.org/" console-message > source-code > console-message-anchor > devtools-link > console-message-text > object-value-number source-code > object-value-string source-code > object-value-string-quote > devtools-link > object-value-string-quote
console-log-linkify-links.html:10 http://www.chromium.org/some?v=114:56:57 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link console-log-linkify-links.html:10 http://www.chromium.org/some?v=114:56:57 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link
Dump urls in messages Dump urls in messages
linked url:null linked url:null
linked url:http://www.chromium.org/ linked url:http://www.chromium.org/
......
...@@ -63,66 +63,66 @@ Test that console.log(new Error().stack) would linkify links in stacks for sourc ...@@ -63,66 +63,66 @@ Test that console.log(new Error().stack) would linkify links in stacks for sourc
foob.js:5 Error: Some test foob.js:5 Error: Some test
at namedFunction (foob.js:5) at namedFunction (foob.js:5)
at foob.js:8 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link at foob.js:8 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:4 Error: line console-log-linkify-stack-in-errors.html:4 Error: line
break break
at forStack (console-log-linkify-stack-in-errors.html:4) at forStack (console-log-linkify-stack-in-errors.html:4)
at console-log-linkify-stack-in-errors.html:7 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:7 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:23 TypeError: Cannot read property 'removeChild' of null console-log-linkify-stack-in-errors.html:23 TypeError: Cannot read property 'removeChild' of null
at domError (console-log-linkify-stack-in-errors.html:21) at domError (console-log-linkify-stack-in-errors.html:21)
at console-log-linkify-stack-in-errors.html:27 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:27 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:34 Error: some error console-log-linkify-stack-in-errors.html:34 Error: some error
at logError (console-log-linkify-stack-in-errors.html:32) at logError (console-log-linkify-stack-in-errors.html:32)
at console-log-linkify-stack-in-errors.html:38 console-message > source-code > console-message-url devtools-link > console-message-text > object-value-error source-code > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:38 console-message > source-code > console-message-anchor > devtools-link > console-message-text > object-value-error source-code > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:40 Error message without stacks http://www.chromium.org/ console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link console-log-linkify-stack-in-errors.html:40 Error message without stacks http://www.chromium.org/ console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link
console-log-linkify-stack-in-errors.html:42 Error valid stack #2 console-log-linkify-stack-in-errors.html:42 Error valid stack #2
at www.chromium.org/boo.js:40 at www.chromium.org/boo.js:40
at foo(www.chromium.org/foo.js:10) console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link at foo(www.chromium.org/foo.js:10) console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:43 Error valid stack #3 console-log-linkify-stack-in-errors.html:43 Error valid stack #3
at www.chromium.org/foo.js:40 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link at www.chromium.org/foo.js:40 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link
console-log-linkify-stack-in-errors.html:44 Error: MyError console-log-linkify-stack-in-errors.html:44 Error: MyError
at throwError (www.chromium.org/foo.js:40) at throwError (www.chromium.org/foo.js:40)
at eval (eval at <anonymous> (www.chromium.org/foo.js:42), <anonymous>:1:1) at eval (eval at <anonymous> (www.chromium.org/foo.js:42), <anonymous>:1:1)
at www.chromium.org/foo.js:239 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link > devtools-link at www.chromium.org/foo.js:239 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:13 ReferenceError: valid stack console-log-linkify-stack-in-errors.html:13 ReferenceError: valid stack
at stack2 (console-log-linkify-stack-in-errors.html:13) at stack2 (console-log-linkify-stack-in-errors.html:13)
at stack1 (console-log-linkify-stack-in-errors.html:15) at stack1 (console-log-linkify-stack-in-errors.html:15)
at console-log-linkify-stack-in-errors.html:46 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:46 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:13 EvalError: valid stack console-log-linkify-stack-in-errors.html:13 EvalError: valid stack
at stack2 (console-log-linkify-stack-in-errors.html:13) at stack2 (console-log-linkify-stack-in-errors.html:13)
at stack1 (console-log-linkify-stack-in-errors.html:15) at stack1 (console-log-linkify-stack-in-errors.html:15)
at console-log-linkify-stack-in-errors.html:47 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:47 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:13 SyntaxError: valid stack console-log-linkify-stack-in-errors.html:13 SyntaxError: valid stack
at stack2 (console-log-linkify-stack-in-errors.html:13) at stack2 (console-log-linkify-stack-in-errors.html:13)
at stack1 (console-log-linkify-stack-in-errors.html:15) at stack1 (console-log-linkify-stack-in-errors.html:15)
at console-log-linkify-stack-in-errors.html:48 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:48 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:13 RangeError: valid stack console-log-linkify-stack-in-errors.html:13 RangeError: valid stack
at stack2 (console-log-linkify-stack-in-errors.html:13) at stack2 (console-log-linkify-stack-in-errors.html:13)
at stack1 (console-log-linkify-stack-in-errors.html:15) at stack1 (console-log-linkify-stack-in-errors.html:15)
at console-log-linkify-stack-in-errors.html:49 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:49 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:13 TypeError: valid stack console-log-linkify-stack-in-errors.html:13 TypeError: valid stack
at stack2 (console-log-linkify-stack-in-errors.html:13) at stack2 (console-log-linkify-stack-in-errors.html:13)
at stack1 (console-log-linkify-stack-in-errors.html:15) at stack1 (console-log-linkify-stack-in-errors.html:15)
at console-log-linkify-stack-in-errors.html:50 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:50 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:13 URIError: valid stack console-log-linkify-stack-in-errors.html:13 URIError: valid stack
at stack2 (console-log-linkify-stack-in-errors.html:13) at stack2 (console-log-linkify-stack-in-errors.html:13)
at stack1 (console-log-linkify-stack-in-errors.html:15) at stack1 (console-log-linkify-stack-in-errors.html:15)
at console-log-linkify-stack-in-errors.html:51 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link > devtools-link at console-log-linkify-stack-in-errors.html:51 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link > devtools-link
console-log-linkify-stack-in-errors.html:53 Error broken stack console-log-linkify-stack-in-errors.html:53 Error broken stack
at function_name(foob.js foob.js:30:1) at function_name(foob.js foob.js:30:1)
at foob.js:40:70 console-message > source-code > console-message-url devtools-link > console-message-text at foob.js:40:70 console-message > source-code > console-message-anchor > devtools-link > console-message-text
console-log-linkify-stack-in-errors.html:54 Error broken stack #2 console-log-linkify-stack-in-errors.html:54 Error broken stack #2
at function_name(foob.js:20:30 console-message > source-code > console-message-url devtools-link > console-message-text at function_name(foob.js:20:30 console-message > source-code > console-message-anchor > devtools-link > console-message-text
console-log-linkify-stack-in-errors.html:55 Error broken stack #3 console-log-linkify-stack-in-errors.html:55 Error broken stack #3
at function_name(foob:20.js:30 bla console-message > source-code > console-message-url devtools-link > console-message-text at function_name(foob:20.js:30 bla console-message > source-code > console-message-anchor > devtools-link > console-message-text
console-log-linkify-stack-in-errors.html:56 Error broken stack #4 console-log-linkify-stack-in-errors.html:56 Error broken stack #4
at function_name)foob.js:20:30( console-message > source-code > console-message-url devtools-link > console-message-text at function_name)foob.js:20:30( console-message > source-code > console-message-anchor > devtools-link > console-message-text
console-log-linkify-stack-in-errors.html:57 Error broken stack #5 console-log-linkify-stack-in-errors.html:57 Error broken stack #5
at function_name foob.js:20:30) console-message > source-code > console-message-url devtools-link > console-message-text at function_name foob.js:20:30) console-message > source-code > console-message-anchor > devtools-link > console-message-text
console-log-linkify-stack-in-errors.html:58 Error broken stack #6 console-log-linkify-stack-in-errors.html:58 Error broken stack #6
at foob.js foob.js:40:70 console-message > source-code > console-message-url devtools-link > console-message-text at foob.js foob.js:40:70 console-message > source-code > console-message-anchor > devtools-link > console-message-text
stack-with-sourceMap.coffee:3 Error stack-with-sourceMap.coffee:3 Error
at Failure.letsFailWithStack (stack-with-sourceMap.coffee:3) at Failure.letsFailWithStack (stack-with-sourceMap.coffee:3)
at window.failure (stack-with-sourceMap.coffee:7) at window.failure (stack-with-sourceMap.coffee:7)
at <anonymous>:1:1 console-message > source-code > console-message-url devtools-link > console-message-text > devtools-link > devtools-link at <anonymous>:1:1 console-message > source-code > console-message-anchor > devtools-link > console-message-text > devtools-link > devtools-link
...@@ -6,7 +6,7 @@ Tests that console logging dumps object values defined by getters and allows to ...@@ -6,7 +6,7 @@ Tests that console logging dumps object values defined by getters and allows to
console-log-object-with-getter.html:25 Object {} console-log-object-with-getter.html:25 Object {}
console-log-object-with-getter.html:26 [(...), undefined × 1] console-log-object-with-getter.html:26 [(...), undefined × 1]
console-log-object-with-getter.html:27 Object {} console-log-object-with-getter.html:27 Object {}
console-log-object-with-getter.html:25 Objectfoo: Objecta: 1b: 2__proto__: Objectget foo: function ()set bar: function (x)__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent expanded > name > object-properties-section-separator > object-value-object value > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-log-object-with-getter.html:25 Objectfoo: Objecta: 1b: 2__proto__: Objectget foo: function ()set bar: function (x)__proto__: Object console-message > source-code > console-message-anchor > devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent expanded > name > object-properties-section-separator > object-value-object value > children expanded > selection fill > name > object-properties-section-separator > object-value-number value > children > selection fill > name > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children
console-log-object-with-getter.html:26 Array(2)0: 1length: 2get 0: function ()set 1: function (x)__proto__: Array(0) console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children console-log-object-with-getter.html:26 Array(2)0: 1length: 2get 0: function ()set 1: function (x)__proto__: Array(0) console-message > source-code > console-message-anchor > devtools-link > console-message-text > console-view-object-properties-section object-value-array source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > name > object-properties-section-separator > object-value-number value > children > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-number value > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-array value > children
console-log-object-with-getter.html:27 Objecterror: [Exception: Error: myError]function: [Exception: function ()]number: [Exception: 123]string: [Exception: "myString"]get error: function error()get function: function function()get number: function number()get string: function string()__proto__: Object console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > name > object-properties-section-separator > error value > object-value-error > children > name > object-properties-section-separator > error value > object-value-function > object-value-function-prefix > children > name > object-properties-section-separator > error value > object-value-number > children > name > object-properties-section-separator > error value > object-value-string > object-value-string-quote > object-value-string-quote > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children console-log-object-with-getter.html:27 Objecterror: [Exception: Error: myError]function: [Exception: function ()]number: [Exception: 123]string: [Exception: "myString"]get error: function error()get function: function function()get number: function number()get string: function string()__proto__: Object console-message > source-code > console-message-anchor > devtools-link > console-message-text > console-view-object-properties-section object-value-object source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > name > object-properties-section-separator > error value > object-value-error > children > name > object-properties-section-separator > error value > object-value-function > object-value-function-prefix > children > name > object-properties-section-separator > error value > object-value-number > children > name > object-properties-section-separator > error value > object-value-string > object-value-string-quote > object-value-string-quote > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-function value > object-value-function-prefix > children > parent > selection fill > name object-properties-section-dimmed > object-properties-section-separator > object-value-object value > children
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -2,11 +2,11 @@ CONSOLE MESSAGE: line 21: [object Proxy] ...@@ -2,11 +2,11 @@ CONSOLE MESSAGE: line 21: [object Proxy]
CONSOLE MESSAGE: line 23: [object Proxy] CONSOLE MESSAGE: line 23: [object Proxy]
Tests that console logging dumps proxy properly. Tests that console logging dumps proxy properly.
console-proxy.html:21 Proxy {boo: 42, foo: 43} console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element > selection fill > console-object-preview > name > object-value-number > name > object-value-number > children console-proxy.html:21 Proxy {boo: 42, foo: 43} console-message > source-code > console-message-anchor > devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element > selection fill > console-object-preview > name > object-value-number > name > object-value-number > children
console-proxy.html:23 Proxy {boo: 42, foo: 43} console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element > selection fill > console-object-preview > name > object-value-number > name > object-value-number > children console-proxy.html:23 Proxy {boo: 42, foo: 43} console-message > source-code > console-message-anchor > devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element > selection fill > console-object-preview > name > object-value-number > name > object-value-number > children
window.accessedGet = false window.accessedGet = false
info-note display: inline-block info-note display: inline-block
console-proxy.html:21 Proxy[[Handler]]: Object[[Target]]: Object[[IsRevoked]]: false console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > selection fill > name > object-properties-section-separator > object-value-boolean value > children console-proxy.html:21 Proxy[[Handler]]: Object[[Target]]: Object[[IsRevoked]]: false console-message > source-code > console-message-anchor > devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > selection fill > name > object-properties-section-separator > object-value-boolean value > children
console-proxy.html:23 Proxy[[Handler]]: Object[[Target]]: Proxy[[IsRevoked]]: false console-message > source-code > console-message-url devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > parent > selection fill > name > object-properties-section-separator > object-value-proxy value > children > selection fill > name > object-properties-section-separator > object-value-boolean value > children console-proxy.html:23 Proxy[[Handler]]: Object[[Target]]: Proxy[[IsRevoked]]: false console-message > source-code > console-message-anchor > devtools-link > console-message-text > console-view-object-properties-section object-value-proxy source-code expanded > tree-outline-disclosure tree-outline-disclosure-hide-overflow > tree-outline source-code object-properties-section > parent object-properties-section-root-element expanded > selection fill > object-state-note info-note > children expanded > parent > selection fill > name > object-properties-section-separator > object-value-object value > children > parent > selection fill > name > object-properties-section-separator > object-value-proxy value > children > selection fill > name > object-properties-section-separator > object-value-boolean value > children
window.accessedGet = false window.accessedGet = false
...@@ -75,7 +75,7 @@ function initialize_extensionsPanelTest() ...@@ -75,7 +75,7 @@ function initialize_extensionsPanelTest()
function clickOnMessage() function clickOnMessage()
{ {
var xpathResult = document.evaluate("//span[starts-with(., 'extensions-panel.html')]", Console.ConsoleView.instance()._viewport.element, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null); var xpathResult = document.evaluate("//span[@class='devtools-link' and starts-with(., 'extensions-panel.html')]", Console.ConsoleView.instance()._viewport.element, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null);
var click = document.createEvent("MouseEvent"); var click = document.createEvent("MouseEvent");
click.initMouseEvent("click", true, true); click.initMouseEvent("click", true, true);
......
...@@ -28,7 +28,7 @@ InspectorTest.clickOnURL = function() ...@@ -28,7 +28,7 @@ InspectorTest.clickOnURL = function()
{ {
UI.viewManager.showView("console").then(() => { UI.viewManager.showView("console").then(() => {
Console.ConsoleView.instance()._updateMessageList(); Console.ConsoleView.instance()._updateMessageList();
var xpathResult = document.evaluate("//span[starts-with(., 'test-script.js')]", var xpathResult = document.evaluate("//span[@class='devtools-link' and starts-with(., 'test-script.js')]",
Console.ConsoleView.instance().element, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null); Console.ConsoleView.instance().element, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null);
var click = document.createEvent("MouseEvent"); var click = document.createEvent("MouseEvent");
......
...@@ -38,7 +38,7 @@ Components.Linkifier = class { ...@@ -38,7 +38,7 @@ Components.Linkifier = class {
* @param {boolean=} useLinkDecorator * @param {boolean=} useLinkDecorator
*/ */
constructor(maxLengthForDisplayedURLs, useLinkDecorator) { constructor(maxLengthForDisplayedURLs, useLinkDecorator) {
this._maxLength = maxLengthForDisplayedURLs || Components.Linkifier.MaxLengthForDisplayedURLs; this._maxLength = maxLengthForDisplayedURLs || UI.MaxLengthForDisplayedURLs;
/** @type {!Map<!SDK.Target, !Array<!Element>>} */ /** @type {!Map<!SDK.Target, !Array<!Element>>} */
this._anchorsByTarget = new Map(); this._anchorsByTarget = new Map();
/** @type {!Map<!SDK.Target, !Bindings.LiveLocationPool>} */ /** @type {!Map<!SDK.Target, !Bindings.LiveLocationPool>} */
...@@ -304,6 +304,8 @@ Components.Linkifier = class { ...@@ -304,6 +304,8 @@ Components.Linkifier = class {
Components.Linkifier._bindUILocation(anchor, uiLocation); Components.Linkifier._bindUILocation(anchor, uiLocation);
var text = uiLocation.linkText(); var text = uiLocation.linkText();
var info = Components.Linkifier._linkInfo(anchor);
info.originalLinkText = text;
text = text.replace(/([a-f0-9]{7})[a-f0-9]{13}[a-f0-9]*/g, '$1\u2026'); text = text.replace(/([a-f0-9]{7})[a-f0-9]{13}[a-f0-9]*/g, '$1\u2026');
if (this._maxLength) if (this._maxLength)
text = text.trimMiddle(this._maxLength); text = text.trimMiddle(this._maxLength);
...@@ -356,7 +358,8 @@ Components.Linkifier = class { ...@@ -356,7 +358,8 @@ Components.Linkifier = class {
if (typeof lineNumber === 'number' && !text) if (typeof lineNumber === 'number' && !text)
linkText += ':' + (lineNumber + 1); linkText += ':' + (lineNumber + 1);
var title = linkText !== url ? url : ''; var title = linkText !== url ? url : '';
var link = Components.Linkifier._createLink(linkText.trimMiddle(150), className || '', title, url, preventClick); var link = Components.Linkifier._createLink(
linkText, className || '', UI.MaxLengthForDisplayedURLs, title, url, preventClick);
var info = Components.Linkifier._linkInfo(link); var info = Components.Linkifier._linkInfo(link);
if (typeof lineNumber === 'number') if (typeof lineNumber === 'number')
info.lineNumber = lineNumber; info.lineNumber = lineNumber;
...@@ -372,8 +375,7 @@ Components.Linkifier = class { ...@@ -372,8 +375,7 @@ Components.Linkifier = class {
* @return {!Element} * @return {!Element}
*/ */
static linkifyRevealable(revealable, text, fallbackHref) { static linkifyRevealable(revealable, text, fallbackHref) {
var link = Components.Linkifier._createLink( var link = Components.Linkifier._createLink(text, '', UI.MaxLengthForDisplayedURLs, undefined, fallbackHref);
text.trimMiddle(Components.Linkifier.MaxLengthForDisplayedURLs), '', undefined, fallbackHref);
Components.Linkifier._linkInfo(link).revealable = revealable; Components.Linkifier._linkInfo(link).revealable = revealable;
return link; return link;
} }
...@@ -381,12 +383,13 @@ Components.Linkifier = class { ...@@ -381,12 +383,13 @@ Components.Linkifier = class {
/** /**
* @param {string} text * @param {string} text
* @param {string} className * @param {string} className
* @param {number=} maxLength
* @param {string=} title * @param {string=} title
* @param {string=} href * @param {string=} href
* @param {boolean=} preventClick * @param {boolean=} preventClick
* @returns{!Element} * @returns{!Element}
*/ */
static _createLink(text, className, title, href, preventClick) { static _createLink(text, className, maxLength, title, href, preventClick) {
var link = createElementWithClass('span', className); var link = createElementWithClass('span', className);
link.classList.add('devtools-link'); link.classList.add('devtools-link');
if (title) if (title)
...@@ -394,6 +397,8 @@ Components.Linkifier = class { ...@@ -394,6 +397,8 @@ Components.Linkifier = class {
if (href) if (href)
link.href = href; link.href = href;
link.textContent = text; link.textContent = text;
if (maxLength)
link.textContent = link.textContent.trimMiddle(maxLength);
link[Components.Linkifier._infoSymbol] = { link[Components.Linkifier._infoSymbol] = {
icon: null, icon: null,
enableDecorator: false, enableDecorator: false,
...@@ -403,7 +408,8 @@ Components.Linkifier = class { ...@@ -403,7 +408,8 @@ Components.Linkifier = class {
lineNumber: null, lineNumber: null,
columnNumber: null, columnNumber: null,
revealable: null, revealable: null,
fallback: null fallback: null,
originalLinkText: text
}; };
if (!preventClick) if (!preventClick)
link.addEventListener('click', Components.Linkifier._handleClick, false); link.addEventListener('click', Components.Linkifier._handleClick, false);
...@@ -412,6 +418,15 @@ Components.Linkifier = class { ...@@ -412,6 +418,15 @@ Components.Linkifier = class {
return link; return link;
} }
/**
* @param {?Element} link
* @return {?string}
*/
static originalLinkText(link) {
var info = this._linkInfo(link);
return info ? info.originalLinkText : null;
}
/** /**
* @param {?Element} link * @param {?Element} link
* @return {?Components._LinkInfo} * @return {?Components._LinkInfo}
...@@ -545,18 +560,12 @@ Components.Linkifier._infoSymbol = Symbol('Linkifier.info'); ...@@ -545,18 +560,12 @@ Components.Linkifier._infoSymbol = Symbol('Linkifier.info');
* lineNumber: ?number, * lineNumber: ?number,
* columnNumber: ?number, * columnNumber: ?number,
* revealable: ?Object, * revealable: ?Object,
* fallback: ?Element * fallback: ?Element,
* originalLinkText: string
* }} * }}
*/ */
Components._LinkInfo; Components._LinkInfo;
/**
* The maximum number of characters to display in a URL.
* @const
* @type {number}
*/
Components.Linkifier.MaxLengthForDisplayedURLs = 150;
/** /**
* The maximum length before strings are considered too long for finding URLs. * The maximum length before strings are considered too long for finding URLs.
* @const * @const
......
...@@ -664,15 +664,13 @@ Console.ConsoleView = class extends UI.VBox { ...@@ -664,15 +664,13 @@ Console.ConsoleView = class extends UI.VBox {
progressIndicator.done(); progressIndicator.done();
return; return;
} }
var lines = []; var messageContents = [];
for (var i = 0; i < chunkSize && i + messageIndex < this.itemCount(); ++i) { for (var i = 0; i < chunkSize && i + messageIndex < this.itemCount(); ++i) {
var message = this.itemElement(messageIndex + i); var message = this.itemElement(messageIndex + i);
var messageContent = message.contentElement().deepTextContent(); messageContents.push(message.toExportString());
for (var j = 0; j < message.repeatCount(); ++j)
lines.push(messageContent);
} }
messageIndex += i; messageIndex += i;
stream.write(lines.join('\n') + '\n', writeNextChunk.bind(this)); stream.write(messageContents.join('\n') + '\n', writeNextChunk.bind(this));
progressIndicator.setWorked(messageIndex); progressIndicator.setWorked(messageIndex);
} }
} }
......
...@@ -292,13 +292,17 @@ Console.ConsoleViewMessage = class { ...@@ -292,13 +292,17 @@ Console.ConsoleViewMessage = class {
anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column); anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column);
} }
} else if (consoleMessage.url) { } else if (consoleMessage.url) {
anchorElement = Components.Linkifier.linkifyURL(consoleMessage.url, undefined, 'console-message-url'); anchorElement = Components.Linkifier.linkifyURL(consoleMessage.url, undefined);
} }
// Append a space to prevent the anchor text from being glued to the console message when the user selects and copies the console messages. // Append a space to prevent the anchor text from being glued to the console message when the user selects and copies the console messages.
if (anchorElement) if (anchorElement) {
anchorElement.appendChild(createTextNode(' ')); var anchorWrapperElement = createElementWithClass('span', 'console-message-anchor');
return anchorElement; anchorWrapperElement.appendChild(anchorElement);
anchorWrapperElement.createTextChild(' ');
return anchorWrapperElement;
}
return null;
} }
/** /**
...@@ -359,7 +363,7 @@ Console.ConsoleViewMessage = class { ...@@ -359,7 +363,7 @@ Console.ConsoleViewMessage = class {
var target = this._target(); var target = this._target();
if (!target) if (!target)
return null; return null;
return this._linkifier.linkifyScriptLocation(target, null, url, lineNumber, columnNumber, 'console-message-url'); return this._linkifier.linkifyScriptLocation(target, null, url, lineNumber, columnNumber);
} }
/** /**
...@@ -370,7 +374,7 @@ Console.ConsoleViewMessage = class { ...@@ -370,7 +374,7 @@ Console.ConsoleViewMessage = class {
var target = this._target(); var target = this._target();
if (!target) if (!target)
return null; return null;
return this._linkifier.linkifyStackTraceTopFrame(target, stackTrace, 'console-message-url'); return this._linkifier.linkifyStackTraceTopFrame(target, stackTrace);
} }
/** /**
...@@ -384,8 +388,7 @@ Console.ConsoleViewMessage = class { ...@@ -384,8 +388,7 @@ Console.ConsoleViewMessage = class {
var target = this._target(); var target = this._target();
if (!target) if (!target)
return null; return null;
return this._linkifier.linkifyScriptLocation( return this._linkifier.linkifyScriptLocation(target, scriptId, url, lineNumber, columnNumber);
target, scriptId, url, lineNumber, columnNumber, 'console-message-url');
} }
/** /**
...@@ -1017,6 +1020,22 @@ Console.ConsoleViewMessage = class { ...@@ -1017,6 +1020,22 @@ Console.ConsoleViewMessage = class {
return this._message.messageText; return this._message.messageText;
} }
/**
* @return {string}
*/
toExportString() {
var lines = [];
var nodes = this.contentElement().childTextNodes();
var messageContent = '';
for (var i = 0; i < nodes.length; ++i) {
var originalLinkText = Components.Linkifier.originalLinkText(nodes[i].parentElement);
messageContent += typeof originalLinkText === 'string' ? originalLinkText : nodes[i].textContent;
}
for (var i = 0; i < this.repeatCount(); ++i)
lines.push(messageContent);
return lines.join('\n');
}
/** /**
* @param {?RegExp} regex * @param {?RegExp} regex
*/ */
......
...@@ -309,7 +309,7 @@ ...@@ -309,7 +309,7 @@
clear: both; clear: both;
} }
.console-message-url { .console-message-anchor {
float: right; float: right;
text-align: right; text-align: right;
max-width: 100%; max-width: 100%;
......
...@@ -1961,7 +1961,7 @@ UI.createExternalLink = function(url, linkText, className, preventClick) { ...@@ -1961,7 +1961,7 @@ UI.createExternalLink = function(url, linkText, className, preventClick) {
} }
if (linkText !== url) if (linkText !== url)
a.title = url; a.title = url;
a.textContent = linkText.trimMiddle(150); a.textContent = linkText.trimMiddle(UI.MaxLengthForDisplayedURLs);
a.setAttribute('target', '_blank'); a.setAttribute('target', '_blank');
return a; return a;
...@@ -2032,3 +2032,9 @@ UI.createFileSelectorElement = function(callback) { ...@@ -2032,3 +2032,9 @@ UI.createFileSelectorElement = function(callback) {
} }
return fileSelectorElement; return fileSelectorElement;
}; };
/**
* @const
* @type {number}
*/
UI.MaxLengthForDisplayedURLs = 150;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment