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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js

Issue 2472183002: DevTools: Fix wrapping bugs in console (Closed)
Patch Set: fix tests, remove unnecessary consoleView class Created 4 years, 1 month 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) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 3 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 return this._message; 113 return this._message;
114 } 114 }
115 115
116 /** 116 /**
117 * @param {!WebInspector.ConsoleMessage} consoleMessage 117 * @param {!WebInspector.ConsoleMessage} consoleMessage
118 * @return {!Element} 118 * @return {!Element}
119 */ 119 */
120 _buildTableMessage(consoleMessage) { 120 _buildTableMessage(consoleMessage) {
121 var formattedMessage = createElement('span'); 121 var formattedMessage = createElement('span');
122 WebInspector.appendStyle(formattedMessage, 'components/objectValue.css'); 122 WebInspector.appendStyle(formattedMessage, 'components/objectValue.css');
123 formattedMessage.className = 'console-message-text source-code'; 123 formattedMessage.className = 'source-code';
124 var anchorElement = this._buildMessageAnchor(consoleMessage); 124 var anchorElement = this._buildMessageAnchor(consoleMessage);
125 if (anchorElement) 125 if (anchorElement)
126 formattedMessage.appendChild(anchorElement); 126 formattedMessage.appendChild(anchorElement);
127 127
128 var table = consoleMessage.parameters && consoleMessage.parameters.length ? consoleMessage.parameters[0] : null; 128 var table = consoleMessage.parameters && consoleMessage.parameters.length ? consoleMessage.parameters[0] : null;
129 if (table) 129 if (table)
130 table = this._parameterToRemoteObject(table, this._target()); 130 table = this._parameterToRemoteObject(table, this._target());
131 if (!table || !table.preview) 131 if (!table || !table.preview)
132 return formattedMessage; 132 return formattedMessage;
133 133
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 var rowValue = rows[i][1]; 167 var rowValue = rows[i][1];
168 flatValues.push(rowName); 168 flatValues.push(rowName);
169 for (var j = 0; j < columnNames.length; ++j) 169 for (var j = 0; j < columnNames.length; ++j)
170 flatValues.push(rowValue[columnNames[j]]); 170 flatValues.push(rowValue[columnNames[j]]);
171 } 171 }
172 columnNames.unshift(WebInspector.UIString('(index)')); 172 columnNames.unshift(WebInspector.UIString('(index)'));
173 173
174 if (flatValues.length) { 174 if (flatValues.length) {
175 this._dataGrid = WebInspector.SortableDataGrid.create(columnNames, flatVal ues); 175 this._dataGrid = WebInspector.SortableDataGrid.create(columnNames, flatVal ues);
176 176
177 var formattedResult = createElement('span'); 177 var formattedResult = createElementWithClass('span', 'console-message-text ');
178 var tableElement = formattedResult.createChild('div', 'console-message-for matted-table'); 178 var tableElement = formattedResult.createChild('div', 'console-message-for matted-table');
179 var dataGridContainer = tableElement.createChild('span'); 179 var dataGridContainer = tableElement.createChild('span');
180 tableElement.appendChild(this._formatParameter(table, true, false)); 180 tableElement.appendChild(this._formatParameter(table, true, false));
181 dataGridContainer.appendChild(this._dataGrid.element); 181 dataGridContainer.appendChild(this._dataGrid.element);
182 formattedMessage.appendChild(formattedResult); 182 formattedMessage.appendChild(formattedResult);
183 this._dataGrid.renderInline(); 183 this._dataGrid.renderInline();
184 } 184 }
185 return formattedMessage; 185 return formattedMessage;
186 } 186 }
187 187
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 consoleMessage.parameters[0].type === 'string') 220 consoleMessage.parameters[0].type === 'string')
221 messageElement = this._tryFormatAsError(/** @type {string} */ (conso leMessage.parameters[0].value)); 221 messageElement = this._tryFormatAsError(/** @type {string} */ (conso leMessage.parameters[0].value));
222 var args = consoleMessage.parameters || [consoleMessage.messageText]; 222 var args = consoleMessage.parameters || [consoleMessage.messageText];
223 messageElement = messageElement || this._format(args); 223 messageElement = messageElement || this._format(args);
224 } 224 }
225 } else if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSour ce.Network) { 225 } else if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSour ce.Network) {
226 if (consoleMessage.request) { 226 if (consoleMessage.request) {
227 messageElement = createElement('span'); 227 messageElement = createElement('span');
228 if (consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Er ror || 228 if (consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Er ror ||
229 consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Re vokedError) { 229 consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Re vokedError) {
230 messageElement.createTextChildren(consoleMessage.request.requestMethod , ' '); 230 messageElement.createTextChild(consoleMessage.request.requestMethod + ' ');
231 messageElement.appendChild(WebInspector.Linkifier.linkifyUsingRevealer ( 231 messageElement.appendChild(WebInspector.Linkifier.linkifyUsingRevealer (
232 consoleMessage.request, consoleMessage.request.url, consoleMessage .request.url)); 232 consoleMessage.request, consoleMessage.request.url, consoleMessage .request.url));
233 if (consoleMessage.request.failed) 233 if (consoleMessage.request.failed)
234 messageElement.createTextChildren(' ', consoleMessage.request.locali zedFailDescription); 234 messageElement.createTextChildren(' ', consoleMessage.request.locali zedFailDescription);
235 else 235 else
236 messageElement.createTextChildren( 236 messageElement.createTextChildren(
237 ' ', String(consoleMessage.request.statusCode), ' (', consoleMes sage.request.statusText, ')'); 237 ' ', String(consoleMessage.request.statusCode), ' (', consoleMes sage.request.statusText, ')');
238 } else { 238 } else {
239 var fragment = WebInspector.linkifyStringAsFragmentWithCustomLinkifier ( 239 var fragment = WebInspector.linkifyStringAsFragmentWithCustomLinkifier (
240 consoleMessage.messageText, linkifyRequest.bind(consoleMessage)); 240 consoleMessage.messageText, linkifyRequest.bind(consoleMessage));
241 messageElement.appendChild(fragment); 241 messageElement.appendChild(fragment);
242 } 242 }
243 } else { 243 } else {
244 messageElement = this._format([consoleMessage.messageText]); 244 messageElement = this._format([consoleMessage.messageText]);
245 } 245 }
246 } else { 246 } else {
247 var args = consoleMessage.parameters || [consoleMessage.messageText]; 247 var args = consoleMessage.parameters || [consoleMessage.messageText];
248 messageElement = this._format(args); 248 messageElement = this._format(args);
249 } 249 }
250 messageElement.classList.add('console-message-text');
250 251
251 var formattedMessage = createElement('span'); 252 var formattedMessage = createElement('span');
252 WebInspector.appendStyle(formattedMessage, 'components/objectValue.css'); 253 WebInspector.appendStyle(formattedMessage, 'components/objectValue.css');
253 formattedMessage.className = 'console-message-text source-code'; 254 formattedMessage.className = 'source-code';
254 255
255 var anchorElement = this._buildMessageAnchor(consoleMessage); 256 var anchorElement = this._buildMessageAnchor(consoleMessage);
256 if (anchorElement) 257 if (anchorElement)
257 formattedMessage.appendChild(anchorElement); 258 formattedMessage.appendChild(anchorElement);
258 formattedMessage.appendChild(messageElement); 259 formattedMessage.appendChild(messageElement);
259 return formattedMessage; 260 return formattedMessage;
260 261
261 /** 262 /**
262 * @param {string} title 263 * @param {string} title
263 * @return {!Element} 264 * @return {!Element}
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 } 298 }
298 299
299 /** 300 /**
300 * @param {!WebInspector.ConsoleMessage} consoleMessage 301 * @param {!WebInspector.ConsoleMessage} consoleMessage
301 * @param {!WebInspector.Target} target 302 * @param {!WebInspector.Target} target
302 * @param {!WebInspector.Linkifier} linkifier 303 * @param {!WebInspector.Linkifier} linkifier
303 * @return {!Element} 304 * @return {!Element}
304 */ 305 */
305 _buildMessageWithStackTrace(consoleMessage, target, linkifier) { 306 _buildMessageWithStackTrace(consoleMessage, target, linkifier) {
306 var toggleElement = createElementWithClass('div', 'console-message-stack-tra ce-toggle'); 307 var toggleElement = createElementWithClass('div', 'console-message-stack-tra ce-toggle');
307 var triangleElement = toggleElement.createChild('div', 'console-message-stac k-trace-triangle');
308 var contentElement = toggleElement.createChild('div', 'console-message-stack -trace-wrapper'); 308 var contentElement = toggleElement.createChild('div', 'console-message-stack -trace-wrapper');
309 309
310 var messageElement = this._buildMessage(consoleMessage); 310 var messageElement = this._buildMessage(consoleMessage);
311 var clickableElement = contentElement.createChild('div'); 311 var clickableElement = contentElement.createChild('div');
312 clickableElement.appendChild(messageElement); 312 clickableElement.appendChild(messageElement);
313 var stackTraceElement = contentElement.createChild('div'); 313 var stackTraceElement = contentElement.createChild('div');
314 var stackTracePreview = 314 var stackTracePreview =
315 WebInspector.DOMPresentationUtils.buildStackTracePreviewContents(target, linkifier, consoleMessage.stackTrace); 315 WebInspector.DOMPresentationUtils.buildStackTracePreviewContents(target, linkifier, consoleMessage.stackTrace);
316 stackTraceElement.appendChild(stackTracePreview); 316 stackTraceElement.appendChild(stackTracePreview);
317 stackTraceElement.classList.add('hidden'); 317 stackTraceElement.classList.add('hidden');
(...skipping 10 matching lines...) Expand all
328 * @param {?Event} event 328 * @param {?Event} event
329 */ 329 */
330 function toggleStackTrace(event) { 330 function toggleStackTrace(event) {
331 if (event.target.hasSelection()) 331 if (event.target.hasSelection())
332 return; 332 return;
333 expandStackTrace(stackTraceElement.classList.contains('hidden')); 333 expandStackTrace(stackTraceElement.classList.contains('hidden'));
334 event.consume(); 334 event.consume();
335 } 335 }
336 336
337 clickableElement.addEventListener('click', toggleStackTrace, false); 337 clickableElement.addEventListener('click', toggleStackTrace, false);
338 triangleElement.addEventListener('click', toggleStackTrace, false);
339 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Trace) 338 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Trace)
340 expandStackTrace(true); 339 expandStackTrace(true);
341 340
342 toggleElement._expandStackTraceForTest = expandStackTrace.bind(null, true); 341 toggleElement._expandStackTraceForTest = expandStackTrace.bind(null, true);
343 return toggleElement; 342 return toggleElement;
344 } 343 }
345 344
346 /** 345 /**
347 * @param {string} url 346 * @param {string} url
348 * @param {number} lineNumber 347 * @param {number} lineNumber
(...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 * @return {!Element} 1230 * @return {!Element}
1232 */ 1231 */
1233 toMessageElement() { 1232 toMessageElement() {
1234 if (!this._element) { 1233 if (!this._element) {
1235 super.toMessageElement(); 1234 super.toMessageElement();
1236 this._element.classList.toggle('collapsed', this._collapsed); 1235 this._element.classList.toggle('collapsed', this._collapsed);
1237 } 1236 }
1238 return this._element; 1237 return this._element;
1239 } 1238 }
1240 }; 1239 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698