OLD | NEW |
(Empty) | |
| 1 WebInspector.ConsoleViewMessage=function(target,consoleMessage,linkifier) |
| 2 {this._message=consoleMessage;this._linkifier=linkifier;this._target=target;this
._repeatCount=1;this._dataGrids=[];this._dataGridParents=new Map();this._customF
ormatters={"object":this._formatParameterAsObject,"array":this._formatParameterA
sArray,"node":this._formatParameterAsNode,"string":this._formatParameterAsString
};} |
| 3 WebInspector.ConsoleViewMessage.prototype={wasShown:function() |
| 4 {for(var i=0;this._dataGrids&&i<this._dataGrids.length;++i){var dataGrid=this._d
ataGrids[i];var parentElement=this._dataGridParents.get(dataGrid)||null;dataGrid
.show(parentElement);dataGrid.updateWidths();}},willHide:function() |
| 5 {for(var i=0;this._dataGrids&&i<this._dataGrids.length;++i){var dataGrid=this._d
ataGrids[i];this._dataGridParents.put(dataGrid,dataGrid.element.parentElement);d
ataGrid.detach();}},consoleMessage:function() |
| 6 {return this._message;},_formatMessage:function() |
| 7 {this._formattedMessage=document.createElement("span");this._formattedMessage.cl
assName="console-message-text source-code";function linkifyRequest(title) |
| 8 {return WebInspector.Linkifier.linkifyUsingRevealer((this.request),title,this.ur
l);} |
| 9 var consoleMessage=this._message;if(!this._messageElement){if(consoleMessage.sou
rce===WebInspector.ConsoleMessage.MessageSource.ConsoleAPI){switch(consoleMessag
e.type){case WebInspector.ConsoleMessage.MessageType.Trace:this._messageElement=
this._format(consoleMessage.parameters||["console.trace()"]);break;case WebInspe
ctor.ConsoleMessage.MessageType.Clear:this._messageElement=document.createTextNo
de(WebInspector.UIString("Console was cleared"));this._formattedMessage.classLis
t.add("console-info");break;case WebInspector.ConsoleMessage.MessageType.Assert:
var args=[WebInspector.UIString("Assertion failed:")];if(consoleMessage.paramete
rs) |
| 10 args=args.concat(consoleMessage.parameters);this._messageElement=this._format(ar
gs);break;case WebInspector.ConsoleMessage.MessageType.Dir:var obj=consoleMessag
e.parameters?consoleMessage.parameters[0]:undefined;var args=["%O",obj];this._me
ssageElement=this._format(args);break;case WebInspector.ConsoleMessage.MessageTy
pe.Profile:case WebInspector.ConsoleMessage.MessageType.ProfileEnd:this._message
Element=this._format([consoleMessage.messageText]);break;default:var args=consol
eMessage.parameters||[consoleMessage.messageText];this._messageElement=this._for
mat(args);}}else if(consoleMessage.source===WebInspector.ConsoleMessage.MessageS
ource.Network){if(consoleMessage.request){consoleMessage.stackTrace=consoleMessa
ge.request.initiator.stackTrace;if(consoleMessage.request.initiator&&consoleMess
age.request.initiator.url){consoleMessage.url=consoleMessage.request.initiator.u
rl;consoleMessage.line=consoleMessage.request.initiator.lineNumber;} |
| 11 this._messageElement=document.createElement("span");if(consoleMessage.level===We
bInspector.ConsoleMessage.MessageLevel.Error){this._messageElement.appendChild(d
ocument.createTextNode(consoleMessage.request.requestMethod+" "));this._messageE
lement.appendChild(WebInspector.Linkifier.linkifyUsingRevealer(consoleMessage.re
quest,consoleMessage.request.url,consoleMessage.request.url));if(consoleMessage.
request.failed) |
| 12 this._messageElement.appendChild(document.createTextNode(" "+consoleMessage.requ
est.localizedFailDescription));else |
| 13 this._messageElement.appendChild(document.createTextNode(" "+consoleMessage.requ
est.statusCode+" ("+consoleMessage.request.statusText+")"));}else{var fragment=W
ebInspector.linkifyStringAsFragmentWithCustomLinkifier(consoleMessage.messageTex
t,linkifyRequest.bind(consoleMessage));this._messageElement.appendChild(fragment
);}}else{var url=consoleMessage.url;if(url){var isExternal=!WebInspector.resourc
eForURL(url)&&!WebInspector.workspace.uiSourceCodeForURL(url);this._anchorElemen
t=WebInspector.linkifyURLAsNode(url,url,"console-message-url",isExternal);} |
| 14 this._messageElement=this._format([consoleMessage.messageText]);}}else{var args=
consoleMessage.parameters||[consoleMessage.messageText];this._messageElement=thi
s._format(args);}} |
| 15 if(consoleMessage.source!==WebInspector.ConsoleMessage.MessageSource.Network||co
nsoleMessage.request){var callFrame=this._callFrameAnchorFromStackTrace(consoleM
essage.stackTrace);if(callFrame) |
| 16 this._anchorElement=this._linkifyCallFrame(callFrame);else if(consoleMessage.url
&&consoleMessage.url!=="undefined") |
| 17 this._anchorElement=this._linkifyLocation(consoleMessage.url,consoleMessage.line
,consoleMessage.column);} |
| 18 this._formattedMessage.appendChild(this._messageElement);if(this._anchorElement)
{this._formattedMessage.appendChild(document.createTextNode(" "));this._formatte
dMessage.appendChild(this._anchorElement);} |
| 19 var dumpStackTrace=!!consoleMessage.stackTrace&&consoleMessage.stackTrace.length
&&(consoleMessage.source===WebInspector.ConsoleMessage.MessageSource.Network||co
nsoleMessage.level===WebInspector.ConsoleMessage.MessageLevel.Error||consoleMess
age.type===WebInspector.ConsoleMessage.MessageType.Trace);if(dumpStackTrace){var
ol=document.createElement("ol");ol.className="outline-disclosure";var treeOutli
ne=new TreeOutline(ol);var content=this._formattedMessage;var root=new TreeEleme
nt(content,null,true);content.treeElementForTest=root;treeOutline.appendChild(ro
ot);if(consoleMessage.type===WebInspector.ConsoleMessage.MessageType.Trace) |
| 20 root.expand();this._populateStackTraceTreeElement(root);this._formattedMessage=o
l;}},_formattedMessageText:function() |
| 21 {this.formattedMessage();return this._messageElement.textContent;},formattedMess
age:function() |
| 22 {if(!this._formattedMessage) |
| 23 this._formatMessage();return this._formattedMessage;},_linkifyLocation:function(
url,lineNumber,columnNumber) |
| 24 {console.assert(this._linkifier);if(!this._linkifier) |
| 25 return null;lineNumber=lineNumber?lineNumber-1:0;columnNumber=columnNumber?colum
nNumber-1:0;if(this._message.source===WebInspector.ConsoleMessage.MessageSource.
CSS){var headerIds=WebInspector.cssModel.styleSheetIdsForURL(url);var cssLocatio
n=new WebInspector.CSSLocation(url,lineNumber,columnNumber);return this._linkifi
er.linkifyCSSLocation(headerIds[0]||null,cssLocation,"console-message-url");} |
| 26 return this._linkifier.linkifyLocation(url,lineNumber,columnNumber,"console-mess
age-url");},_linkifyCallFrame:function(callFrame) |
| 27 {console.assert(this._linkifier);if(!this._linkifier) |
| 28 return null;var lineNumber=callFrame.lineNumber?callFrame.lineNumber-1:0;var col
umnNumber=callFrame.columnNumber?callFrame.columnNumber-1:0;var rawLocation=new
WebInspector.DebuggerModel.Location(callFrame.scriptId,lineNumber,columnNumber);
return this._linkifier.linkifyRawLocation(rawLocation,"console-message-url");},_
callFrameAnchorFromStackTrace:function(stackTrace) |
| 29 {if(!stackTrace||!stackTrace.length) |
| 30 return null;var callFrame=stackTrace[0].scriptId?stackTrace[0]:null;if(!WebInspe
ctor.experimentsSettings.frameworksDebuggingSupport.isEnabled()) |
| 31 return callFrame;if(!WebInspector.settings.skipStackFramesSwitch.get()) |
| 32 return callFrame;var regex=WebInspector.settings.skipStackFramesPattern.asRegExp
();if(!regex) |
| 33 return callFrame;for(var i=0;i<stackTrace.length;++i){var script=this._target.de
buggerModel.scriptForId(stackTrace[i].scriptId);if(!script||!regex.test(script.s
ourceURL)) |
| 34 return stackTrace[i].scriptId?stackTrace[i]:null;} |
| 35 return callFrame;},isErrorOrWarning:function() |
| 36 {return(this._message.level===WebInspector.ConsoleMessage.MessageLevel.Warning||
this._message.level===WebInspector.ConsoleMessage.MessageLevel.Error);},_format:
function(parameters) |
| 37 {var formattedResult=document.createElement("span");if(!parameters.length) |
| 38 return formattedResult;for(var i=0;i<parameters.length;++i){if(parameters[i]inst
anceof WebInspector.RemoteObject) |
| 39 continue;if(typeof parameters[i]==="object") |
| 40 parameters[i]=WebInspector.RemoteObject.fromPayload(parameters[i],this._target);
else |
| 41 parameters[i]=WebInspector.RemoteObject.fromPrimitiveValue(parameters[i],this._t
arget);} |
| 42 var shouldFormatMessage=WebInspector.RemoteObject.type(parameters[0])==="string"
&&this._message.type!==WebInspector.ConsoleMessage.MessageType.Result;if(shouldF
ormatMessage){var result=this._formatWithSubstitutionString(parameters[0].descri
ption,parameters.slice(1),formattedResult);parameters=result.unusedSubstitutions
;if(parameters.length) |
| 43 formattedResult.appendChild(document.createTextNode(" "));} |
| 44 if(this._message.type===WebInspector.ConsoleMessage.MessageType.Table){formatted
Result.appendChild(this._formatParameterAsTable(parameters));return formattedRes
ult;} |
| 45 for(var i=0;i<parameters.length;++i){if(shouldFormatMessage&¶meters[i].type=
=="string") |
| 46 formattedResult.appendChild(WebInspector.linkifyStringAsFragment(parameters[i].d
escription));else |
| 47 formattedResult.appendChild(this._formatParameter(parameters[i],false,true));if(
i<parameters.length-1) |
| 48 formattedResult.appendChild(document.createTextNode(" "));} |
| 49 return formattedResult;},_formatParameter:function(output,forceObjectFormat,incl
udePreview) |
| 50 {var type;if(forceObjectFormat) |
| 51 type="object";else if(output instanceof WebInspector.RemoteObject) |
| 52 type=output.subtype||output.type;else |
| 53 type=typeof output;var formatter=this._customFormatters[type];if(!formatter){for
matter=this._formatParameterAsValue;output=output.description;} |
| 54 var span=document.createElement("span");span.className="console-formatted-"+type
+" source-code";formatter.call(this,output,span,includePreview);return span;},_f
ormatParameterAsValue:function(val,elem) |
| 55 {elem.appendChild(document.createTextNode(val));},_formatParameterAsObject:funct
ion(obj,elem,includePreview) |
| 56 {this._formatParameterAsArrayOrObject(obj,obj.description||"",elem,includePrevie
w);},_formatParameterAsArrayOrObject:function(obj,description,elem,includePrevie
w) |
| 57 {var titleElement=document.createElement("span");if(description) |
| 58 titleElement.createTextChild(description);if(includePreview&&obj.preview){titleE
lement.classList.add("console-object-preview");var lossless=this._appendObjectPr
eview(obj,description,titleElement);if(lossless){elem.appendChild(titleElement);
return;}} |
| 59 var section=new WebInspector.ObjectPropertiesSection(obj,titleElement);section.e
nableContextMenu();elem.appendChild(section.element);var note=section.titleEleme
nt.createChild("span","object-info-state-note");note.title=WebInspector.UIString
("Object state below is captured upon first expansion");},_appendObjectPreview:f
unction(obj,description,titleElement) |
| 60 {var preview=obj.preview;var isArray=obj.subtype==="array";if(description) |
| 61 titleElement.createTextChild(" ");titleElement.createTextChild(isArray?"[":"{");
for(var i=0;i<preview.properties.length;++i){if(i>0) |
| 62 titleElement.createTextChild(", ");var property=preview.properties[i];var name=p
roperty.name;if(!isArray||name!=i){if(/^\s|\s$|^$|\n/.test(name)) |
| 63 name="\""+name.replace(/\n/g,"\u21B5")+"\"";titleElement.createChild("span","nam
e").textContent=name;titleElement.createTextChild(": ");} |
| 64 titleElement.appendChild(this._renderPropertyPreviewOrAccessor(obj,[property]));
} |
| 65 if(preview.overflow) |
| 66 titleElement.createChild("span").textContent="\u2026";titleElement.createTextChi
ld(isArray?"]":"}");return preview.lossless;},_renderPropertyPreviewOrAccessor:f
unction(object,propertyPath) |
| 67 {var property=propertyPath.peekLast();if(property.type==="accessor") |
| 68 return this._formatAsAccessorProperty(object,propertyPath.select("name"),false);
return this._renderPropertyPreview(property.type,(property.subtype),property.val
ue);},_renderPropertyPreview:function(type,subtype,description) |
| 69 {var span=document.createElement("span");span.className="console-formatted-"+typ
e;if(type==="function"){span.textContent="function";return span;} |
| 70 if(type==="object"&&subtype==="regexp"){span.classList.add("console-formatted-st
ring");span.textContent=description;return span;} |
| 71 if(type==="object"&&subtype==="node"&&description){span.classList.add("console-f
ormatted-preview-node");WebInspector.DOMPresentationUtils.createSpansForNodeTitl
e(span,description);return span;} |
| 72 if(type==="string"){span.textContent="\""+description.replace(/\n/g,"\u21B5")+"\
"";return span;} |
| 73 span.textContent=description;return span;},_formatParameterAsNode:function(objec
t,elem) |
| 74 {function printNode(nodeId) |
| 75 {if(!nodeId){this._formatParameterAsObject(object,elem,false);return;} |
| 76 var node=WebInspector.domModel.nodeForId(nodeId);var renderer=WebInspector.modul
eManager.instance(WebInspector.Renderer,node);if(renderer) |
| 77 elem.appendChild(renderer.render(node));else |
| 78 console.error("No renderer for node found");} |
| 79 object.pushNodeToFrontend(printNode.bind(this));},useArrayPreviewInFormatter:fun
ction(array) |
| 80 {return this._message.type!==WebInspector.ConsoleMessage.MessageType.DirXML&&!!a
rray.preview;},_formatParameterAsArray:function(array,elem) |
| 81 {if(this.useArrayPreviewInFormatter(array)){this._formatParameterAsArrayOrObject
(array,"",elem,true);return;} |
| 82 const maxFlatArrayLength=100;if(this._message.isOutdated||array.arrayLength()>ma
xFlatArrayLength) |
| 83 this._formatParameterAsObject(array,elem,false);else |
| 84 array.getOwnProperties(this._printArray.bind(this,array,elem));},_formatParamete
rAsTable:function(parameters) |
| 85 {var element=document.createElement("span");var table=parameters[0];if(!table||!
table.preview) |
| 86 return element;var columnNames=[];var preview=table.preview;var rows=[];for(var
i=0;i<preview.properties.length;++i){var rowProperty=preview.properties[i];var r
owPreview=rowProperty.valuePreview;if(!rowPreview) |
| 87 continue;var rowValue={};const maxColumnsToRender=20;for(var j=0;j<rowPreview.pr
operties.length;++j){var cellProperty=rowPreview.properties[j];var columnRendere
d=columnNames.indexOf(cellProperty.name)!=-1;if(!columnRendered){if(columnNames.
length===maxColumnsToRender) |
| 88 continue;columnRendered=true;columnNames.push(cellProperty.name);} |
| 89 if(columnRendered){var cellElement=this._renderPropertyPreviewOrAccessor(table,[
rowProperty,cellProperty]);cellElement.classList.add("nowrap-below");rowValue[ce
llProperty.name]=cellElement;}} |
| 90 rows.push([rowProperty.name,rowValue]);} |
| 91 var flatValues=[];for(var i=0;i<rows.length;++i){var rowName=rows[i][0];var rowV
alue=rows[i][1];flatValues.push(rowName);for(var j=0;j<columnNames.length;++j) |
| 92 flatValues.push(rowValue[columnNames[j]]);} |
| 93 if(!flatValues.length) |
| 94 return element;columnNames.unshift(WebInspector.UIString("(index)"));var dataGri
d=WebInspector.DataGrid.createSortableDataGrid(columnNames,flatValues);dataGrid.
renderInline();this._dataGrids.push(dataGrid);this._dataGridParents.put(dataGrid
,element);return element;},_formatParameterAsString:function(output,elem) |
| 95 {var span=document.createElement("span");span.className="console-formatted-strin
g source-code";span.appendChild(WebInspector.linkifyStringAsFragment(output.desc
ription));elem.classList.remove("console-formatted-string");elem.appendChild(doc
ument.createTextNode("\""));elem.appendChild(span);elem.appendChild(document.cre
ateTextNode("\""));},_printArray:function(array,elem,properties) |
| 96 {if(!properties) |
| 97 return;var elements=[];for(var i=0;i<properties.length;++i){var property=propert
ies[i];var name=property.name;if(isNaN(name)) |
| 98 continue;if(property.getter) |
| 99 elements[name]=this._formatAsAccessorProperty(array,[name],true);else if(propert
y.value) |
| 100 elements[name]=this._formatAsArrayEntry(property.value);} |
| 101 elem.appendChild(document.createTextNode("["));var lastNonEmptyIndex=-1;function
appendUndefined(elem,index) |
| 102 {if(index-lastNonEmptyIndex<=1) |
| 103 return;var span=elem.createChild("span","console-formatted-undefined");span.text
Content=WebInspector.UIString("undefined × %d",index-lastNonEmptyIndex-1);} |
| 104 var length=array.arrayLength();for(var i=0;i<length;++i){var element=elements[i]
;if(!element) |
| 105 continue;if(i-lastNonEmptyIndex>1){appendUndefined(elem,i);elem.appendChild(docu
ment.createTextNode(", "));} |
| 106 elem.appendChild(element);lastNonEmptyIndex=i;if(i<length-1) |
| 107 elem.appendChild(document.createTextNode(", "));} |
| 108 appendUndefined(elem,length);elem.appendChild(document.createTextNode("]"));},_f
ormatAsArrayEntry:function(output) |
| 109 {return this._formatParameter(output,output.subtype==="array",false);},_formatAs
AccessorProperty:function(object,propertyPath,isArrayEntry) |
| 110 {var rootElement=WebInspector.ObjectPropertyTreeElement.createRemoteObjectAccess
orPropertySpan(object,propertyPath,onInvokeGetterClick.bind(this));function onIn
vokeGetterClick(result,wasThrown) |
| 111 {if(!result) |
| 112 return;rootElement.removeChildren();if(wasThrown){var element=rootElement.create
Child("span","error-message");element.textContent=WebInspector.UIString("<except
ion>");element.title=result.description;}else if(isArrayEntry){rootElement.appen
dChild(this._formatAsArrayEntry(result));}else{const maxLength=100;var type=resu
lt.type;var subtype=result.subtype;var description="";if(type!=="function"&&resu
lt.description){if(type==="string"||subtype==="regexp") |
| 113 description=result.description.trimMiddle(maxLength);else |
| 114 description=result.description.trimEnd(maxLength);} |
| 115 rootElement.appendChild(this._renderPropertyPreview(type,subtype,description));}
} |
| 116 return rootElement;},_formatWithSubstitutionString:function(format,parameters,fo
rmattedResult) |
| 117 {var formatters={};function parameterFormatter(force,obj) |
| 118 {return this._formatParameter(obj,force,false);} |
| 119 function stringFormatter(obj) |
| 120 {return obj.description;} |
| 121 function floatFormatter(obj) |
| 122 {if(typeof obj.value!=="number") |
| 123 return"NaN";return obj.value;} |
| 124 function integerFormatter(obj) |
| 125 {if(typeof obj.value!=="number") |
| 126 return"NaN";return Math.floor(obj.value);} |
| 127 function bypassFormatter(obj) |
| 128 {return(obj instanceof Node)?obj:"";} |
| 129 var currentStyle=null;function styleFormatter(obj) |
| 130 {currentStyle={};var buffer=document.createElement("span");buffer.setAttribute("
style",obj.description);for(var i=0;i<buffer.style.length;i++){var property=buff
er.style[i];if(isWhitelistedProperty(property)) |
| 131 currentStyle[property]=buffer.style[property];}} |
| 132 function isWhitelistedProperty(property) |
| 133 {var prefixes=["background","border","color","font","line","margin","padding","t
ext","-webkit-background","-webkit-border","-webkit-font","-webkit-margin","-web
kit-padding","-webkit-text"];for(var i=0;i<prefixes.length;i++){if(property.star
tsWith(prefixes[i])) |
| 134 return true;} |
| 135 return false;} |
| 136 formatters.o=parameterFormatter.bind(this,false);formatters.s=stringFormatter;fo
rmatters.f=floatFormatter;formatters.i=integerFormatter;formatters.d=integerForm
atter;formatters.c=styleFormatter;formatters.O=parameterFormatter.bind(this,true
);formatters._=bypassFormatter;function append(a,b) |
| 137 {if(b instanceof Node) |
| 138 a.appendChild(b);else if(typeof b!=="undefined"){var toAppend=WebInspector.linki
fyStringAsFragment(String(b));if(currentStyle){var wrapper=document.createElemen
t('span');for(var key in currentStyle) |
| 139 wrapper.style[key]=currentStyle[key];wrapper.appendChild(toAppend);toAppend=wrap
per;} |
| 140 a.appendChild(toAppend);} |
| 141 return a;} |
| 142 return String.format(format,parameters,formatters,formattedResult,append);},clea
rHighlight:function() |
| 143 {if(!this._formattedMessage) |
| 144 return;var highlightedMessage=this._formattedMessage;delete this._formattedMessa
ge;delete this._anchorElement;delete this._messageElement;this._formatMessage();
this._element.replaceChild(this._formattedMessage,highlightedMessage);},highligh
tSearchResults:function(regexObject) |
| 145 {if(!this._formattedMessage) |
| 146 return;this._highlightSearchResultsInElement(regexObject,this._messageElement);i
f(this._anchorElement) |
| 147 this._highlightSearchResultsInElement(regexObject,this._anchorElement);this._ele
ment.scrollIntoViewIfNeeded();},_highlightSearchResultsInElement:function(regexO
bject,element) |
| 148 {regexObject.lastIndex=0;var text=element.textContent;var match=regexObject.exec
(text);var matchRanges=[];while(match){matchRanges.push(new WebInspector.SourceR
ange(match.index,match[0].length));match=regexObject.exec(text);} |
| 149 WebInspector.highlightSearchResults(element,matchRanges);},matchesRegex:function
(regexObject) |
| 150 {regexObject.lastIndex=0;return regexObject.test(this._formattedMessageText())||
(!!this._anchorElement&®exObject.test(this._anchorElement.textContent));},upd
ateTimestamp:function(show) |
| 151 {if(!this._element) |
| 152 return;if(show&&!this.timestampElement){this.timestampElement=this._element.crea
teChild("span","console-timestamp");this.timestampElement.textContent=(new Date(
this._message.timestamp)).toConsoleTime();var afterRepeatCountChild=this.repeatC
ountElement&&this.repeatCountElement.nextSibling;this._element.insertBefore(this
.timestampElement,afterRepeatCountChild||this._element.firstChild);return;} |
| 153 if(!show&&this.timestampElement){this.timestampElement.remove();delete this.time
stampElement;}},toMessageElement:function() |
| 154 {if(this._element) |
| 155 return this._element;var element=document.createElement("div");element.message=t
his;element.className="console-message";this._element=element;switch(this._messa
ge.level){case WebInspector.ConsoleMessage.MessageLevel.Log:element.classList.ad
d("console-log-level");break;case WebInspector.ConsoleMessage.MessageLevel.Debug
:element.classList.add("console-debug-level");break;case WebInspector.ConsoleMes
sage.MessageLevel.Warning:element.classList.add("console-warning-level");break;c
ase WebInspector.ConsoleMessage.MessageLevel.Error:element.classList.add("consol
e-error-level");break;case WebInspector.ConsoleMessage.MessageLevel.Info:element
.classList.add("console-info-level");break;} |
| 156 if(this._message.type===WebInspector.ConsoleMessage.MessageType.StartGroup||this
._message.type===WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed) |
| 157 element.classList.add("console-group-title");element.appendChild(this.formattedM
essage());if(this._repeatCount>1) |
| 158 this._showRepeatCountElement();this.updateTimestamp(WebInspector.settings.consol
eTimestampsEnabled.get());return element;},_populateStackTraceTreeElement:functi
on(parentTreeElement) |
| 159 {for(var i=0;i<this._message.stackTrace.length;i++){var frame=this._message.stac
kTrace[i];var content=document.createElementWithClass("div","stacktrace-entry");
var messageTextElement=document.createElement("span");messageTextElement.classNa
me="console-message-text source-code";var functionName=frame.functionName||WebIn
spector.UIString("(anonymous function)");messageTextElement.appendChild(document
.createTextNode(functionName));content.appendChild(messageTextElement);if(frame.
scriptId){content.appendChild(document.createTextNode(" "));var urlElement=this.
_linkifyCallFrame(frame);if(!urlElement) |
| 160 continue;content.appendChild(urlElement);} |
| 161 var treeElement=new TreeElement(content);parentTreeElement.appendChild(treeEleme
nt);}},incrementRepeatCount:function() |
| 162 {this._repeatCount++;this._showRepeatCountElement();},_showRepeatCountElement:fu
nction() |
| 163 {if(!this._element) |
| 164 return;if(!this.repeatCountElement){this.repeatCountElement=document.createEleme
nt("span");this.repeatCountElement.className="bubble";this._element.insertBefore
(this.repeatCountElement,this._element.firstChild);this._element.classList.add("
repeated-message");} |
| 165 this.repeatCountElement.textContent=this._repeatCount;},toString:function() |
| 166 {var sourceString;switch(this._message.source){case WebInspector.ConsoleMessage.
MessageSource.XML:sourceString="XML";break;case WebInspector.ConsoleMessage.Mess
ageSource.JS:sourceString="JavaScript";break;case WebInspector.ConsoleMessage.Me
ssageSource.Network:sourceString="Network";break;case WebInspector.ConsoleMessag
e.MessageSource.ConsoleAPI:sourceString="ConsoleAPI";break;case WebInspector.Con
soleMessage.MessageSource.Storage:sourceString="Storage";break;case WebInspector
.ConsoleMessage.MessageSource.AppCache:sourceString="AppCache";break;case WebIns
pector.ConsoleMessage.MessageSource.Rendering:sourceString="Rendering";break;cas
e WebInspector.ConsoleMessage.MessageSource.CSS:sourceString="CSS";break;case We
bInspector.ConsoleMessage.MessageSource.Security:sourceString="Security";break;c
ase WebInspector.ConsoleMessage.MessageSource.Other:sourceString="Other";break;} |
| 167 var typeString;switch(this._message.type){case WebInspector.ConsoleMessage.Messa
geType.Log:typeString="Log";break;case WebInspector.ConsoleMessage.MessageType.D
ir:typeString="Dir";break;case WebInspector.ConsoleMessage.MessageType.DirXML:ty
peString="Dir XML";break;case WebInspector.ConsoleMessage.MessageType.Trace:type
String="Trace";break;case WebInspector.ConsoleMessage.MessageType.StartGroupColl
apsed:case WebInspector.ConsoleMessage.MessageType.StartGroup:typeString="Start
Group";break;case WebInspector.ConsoleMessage.MessageType.EndGroup:typeString="E
nd Group";break;case WebInspector.ConsoleMessage.MessageType.Assert:typeString="
Assert";break;case WebInspector.ConsoleMessage.MessageType.Result:typeString="Re
sult";break;case WebInspector.ConsoleMessage.MessageType.Profile:case WebInspect
or.ConsoleMessage.MessageType.ProfileEnd:typeString="Profiling";break;} |
| 168 var levelString;switch(this._message.level){case WebInspector.ConsoleMessage.Mes
sageLevel.Log:levelString="Log";break;case WebInspector.ConsoleMessage.MessageLe
vel.Warning:levelString="Warning";break;case WebInspector.ConsoleMessage.Message
Level.Debug:levelString="Debug";break;case WebInspector.ConsoleMessage.MessageLe
vel.Error:levelString="Error";break;case WebInspector.ConsoleMessage.MessageLeve
l.Info:levelString="Info";break;} |
| 169 return sourceString+" "+typeString+" "+levelString+": "+this.formattedMessage().
textContent+"\n"+this._message.url+" line "+this._message.line;},get text() |
| 170 {return this._message.messageText;}};WebInspector.ConsoleView=function(hideConte
xtSelector) |
| 171 {WebInspector.VBox.call(this);this.registerRequiredCSS("filter.css");this._searc
hableView=new WebInspector.SearchableView(this);this._searchableView.setMinimalS
earchQuerySize(0);this._searchableView.show(this.element);this._contentsElement=
this._searchableView.element;this._contentsElement.classList.add("console-view")
;this._visibleViewMessages=[];this._urlToMessageCount={};this._clearConsoleButto
n=new WebInspector.StatusBarButton(WebInspector.UIString("Clear console log."),"
clear-status-bar-item");this._clearConsoleButton.addEventListener("click",this._
requestClearMessages,this);this._executionContextSelector=new WebInspector.Statu
sBarComboBox(this._executionContextChanged.bind(this),"console-context");this._t
opLevelOptionByContextListId={};this._subOptionsByContextListId={};this._filter=
new WebInspector.ConsoleViewFilter(this);this._filter.addEventListener(WebInspec
tor.ConsoleViewFilter.Events.FilterChanged,this._updateMessageList.bind(this));i
f(hideContextSelector) |
| 172 this._executionContextSelector.element.classList.add("hidden");this._filterBar=n
ew WebInspector.FilterBar();var statusBarElement=this._contentsElement.createChi
ld("div","console-status-bar");statusBarElement.appendChild(this._clearConsoleBu
tton.element);statusBarElement.appendChild(this._filterBar.filterButton().elemen
t);statusBarElement.appendChild(this._executionContextSelector.element);this._fi
ltersContainer=this._contentsElement.createChild("div","console-filters-header h
idden");this._filtersContainer.appendChild(this._filterBar.filtersElement());thi
s._filterBar.addEventListener(WebInspector.FilterBar.Events.FiltersToggled,this.
_onFiltersToggled,this);this._filterBar.setName("consoleView");this._filter.addF
ilters(this._filterBar);this.messagesElement=document.createElement("div");this.
messagesElement.id="console-messages";this.messagesElement.className="monospace"
;this.messagesElement.addEventListener("click",this._messagesClicked.bind(this),
true);this._contentsElement.appendChild(this.messagesElement);this._scrolledToBo
ttom=true;this.promptElement=document.createElement("div");this.promptElement.id
="console-prompt";this.promptElement.className="source-code";this.promptElement.
spellcheck=false;this.messagesElement.appendChild(this.promptElement);this.messa
gesElement.appendChild(document.createElement("br"));this.topGroup=new WebInspec
tor.ConsoleGroup(null);this.messagesElement.insertBefore(this.topGroup.element,t
his.promptElement);this.currentGroup=this.topGroup;this._registerShortcuts();thi
s.registerRequiredCSS("textPrompt.css");this.messagesElement.addEventListener("c
ontextmenu",this._handleContextMenuEvent.bind(this),false);WebInspector.settings
.monitoringXHREnabled.addChangeListener(this._monitoringXHREnabledSettingChanged
.bind(this));this._linkifier=new WebInspector.Linkifier();this._messageToViewMes
sage=new Map();this._consoleMessages=[];this.prompt=new WebInspector.TextPromptW
ithHistory(this._completionsForTextPrompt.bind(this));this.prompt.setSuggestBoxE
nabled("generic-suggest");this.prompt.renderAsBlock();this.prompt.attach(this.pr
omptElement);this.prompt.proxyElement.addEventListener("keydown",this._promptKey
Down.bind(this),false);this.prompt.setHistoryData(WebInspector.settings.consoleH
istory.get());this._filterStatusMessageElement=document.createElement("div");thi
s._filterStatusMessageElement.classList.add("console-message");this._filterStatu
sTextElement=this._filterStatusMessageElement.createChild("span","console-info")
;this._filterStatusMessageElement.createTextChild(" ");var resetFiltersLink=this
._filterStatusMessageElement.createChild("span","console-info node-link");resetF
iltersLink.textContent=WebInspector.UIString("Show all messages.");resetFiltersL
ink.addEventListener("click",this._filter.reset.bind(this._filter),true);this.me
ssagesElement.insertBefore(this._filterStatusMessageElement,this.topGroup.elemen
t);this._updateFilterStatus();WebInspector.targetManager.targets().forEach(this.
_targetAdded,this);WebInspector.targetManager.addEventListener(WebInspector.Targ
etManager.Events.TargetAdded,this._onTargetAdded,this);WebInspector.settings.con
soleTimestampsEnabled.addChangeListener(this._consoleTimestampsSettingChanged,th
is);} |
| 173 WebInspector.ConsoleView.prototype={_onTargetAdded:function(event) |
| 174 {this._targetAdded((event.data));},_targetAdded:function(target) |
| 175 {target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.MessageAd
ded,this._onConsoleMessageAdded.bind(this,target),this);target.consoleModel.addE
ventListener(WebInspector.ConsoleModel.Events.ConsoleCleared,this._consoleCleare
d,this);target.consoleModel.addEventListener(WebInspector.ConsoleModel.Events.Co
mmandEvaluated,this._commandEvaluated,this);target.consoleModel.messages.forEach
(this._consoleMessageAdded.bind(this,target));function loadContextList(contextLi
st) |
| 176 {this._addExecutionContextList(target,contextList);this._contextListChanged(targ
et,contextList);} |
| 177 target.runtimeModel.contextLists().forEach(loadContextList,this);target.runtimeM
odel.addEventListener(WebInspector.RuntimeModel.Events.ExecutionContextListAdded
,this._executionContextListAdded.bind(this,target));target.runtimeModel.addEvent
Listener(WebInspector.RuntimeModel.Events.ExecutionContextListRemoved,this._exec
utionContextListRemoved,this);},_consoleTimestampsSettingChanged:function(event) |
| 178 {var enabled=(event.data);this._messageToViewMessage.values().forEach(function(v
iewMessage){viewMessage.updateTimestamp(enabled);})},defaultFocusedElement:funct
ion() |
| 179 {return this.promptElement},_onFiltersToggled:function(event) |
| 180 {var toggled=(event.data);this._filtersContainer.classList.toggle("hidden",!togg
led);},_executionContextListAdded:function(target,event) |
| 181 {var contextList=(event.data);this._addExecutionContextList(target,contextList);
},_addExecutionContextList:function(target,contextList) |
| 182 {var maxLength=50;var topLevelOption=this._executionContextSelector.createOption
(contextList.displayName().trimMiddle(maxLength),contextList.url());topLevelOpti
on._executionContext=null;topLevelOption._target=target;this._topLevelOptionByCo
ntextListId[contextList.id()]=topLevelOption;this._subOptionsByContextListId[con
textList.id()]=[];contextList.addEventListener(WebInspector.ExecutionContextList
.EventTypes.Reset,this._contextListReset,this);contextList.addEventListener(WebI
nspector.ExecutionContextList.EventTypes.ContextAdded,this._contextListChanged.b
ind(this,target,contextList));},_executionContextListRemoved:function(event) |
| 183 {var contextList=(event.data);this._removeSubOptions(contextList.id());var topLe
velOption=this._topLevelOptionByContextListId[contextList.id()];this._executionC
ontextSelector.removeOption(topLevelOption);delete this._topLevelOptionByContext
ListId[contextList.id()];delete this._subOptionsByContextListId[contextList.id()
];this._executionContextChanged();},_removeSubOptions:function(contextListId) |
| 184 {var selectedOptionRemoved=false;var subOptions=this._subOptionsByContextListId[
contextListId];for(var i=0;i<subOptions.length;++i){selectedOptionRemoved|=this.
_executionContextSelector.selectedOption()===subOptions[i];this._executionContex
tSelector.removeOption(subOptions[i]);} |
| 185 this._subOptionsByContextListId[contextListId]=[];return selectedOptionRemoved;}
,_executionContextChanged:function() |
| 186 {var runtimeModel=this._currentTarget().runtimeModel;var runtimeContext=runtimeM
odel.currentExecutionContext();if(this._currentExecutionContext()!==runtimeConte
xt) |
| 187 runtimeModel.setCurrentExecutionContext(this._currentExecutionContext());this.pr
ompt.clearAutoComplete(true);},_currentExecutionContext:function() |
| 188 {var option=this._executionContextSelector.selectedOption();return option?option
._executionContext:null;},_currentTarget:function() |
| 189 {var option=this._executionContextSelector.selectedOption();return option?option
._target:WebInspector.targetManager.mainTarget();},_completionsForTextPrompt:fun
ction(proxyElement,wordRange,force,completionsReadyCallback) |
| 190 {this._currentTarget().runtimeModel.completionsForTextPrompt(proxyElement,wordRa
nge,force,completionsReadyCallback);},_contextListReset:function(event) |
| 191 {var contextList=(event.data);var option=this._topLevelOptionByContextListId[con
textList.id()];var maxLength=50;option.text=contextList.displayName().trimMiddle
(maxLength);option.title=contextList.url();var selectedRemoved=this._removeSubOp
tions(contextList.id());if(selectedRemoved){this._executionContextSelector.selec
t(option);this._executionContextChanged();}},_contextListChanged:function(target
,contextList) |
| 192 {var currentExecutionContext=this._currentExecutionContext();var shouldSelectOpt
ion=this._removeSubOptions(contextList.id());var topLevelOption=this._topLevelOp
tionByContextListId[contextList.id()];var nextTopLevelOption=topLevelOption.next
Sibling;var subOptions=this._subOptionsByContextListId[contextList.id()];var exe
cutionContexts=contextList.executionContexts();for(var i=0;i<executionContexts.l
ength;++i){if(executionContexts[i].isMainWorldContext){topLevelOption._execution
Context=executionContexts[i];continue;} |
| 193 var subOption=document.createElement("option");subOption.text="\u00a0\u00a0\u00a
0\u00a0"+executionContexts[i].name;subOption._executionContext=executionContexts
[i];subOption._target=target;this._executionContextSelector.selectElement().inse
rtBefore(subOption,nextTopLevelOption);subOptions.push(subOption);if(shouldSelec
tOption&&executionContexts[i]===currentExecutionContext){this._executionContextS
elector.select(subOption);shouldSelectOption=false;}} |
| 194 if(shouldSelectOption) |
| 195 this._executionContextSelector.select(topLevelOption);this._executionContextChan
ged();},willHide:function() |
| 196 {this.prompt.hideSuggestBox();this.prompt.clearAutoComplete(true);},wasShown:fun
ction() |
| 197 {if(!this.prompt.isCaretInsidePrompt()) |
| 198 this.prompt.moveCaretToEndOfPrompt();},focus:function() |
| 199 {if(this.promptElement===WebInspector.currentFocusElement()) |
| 200 return;WebInspector.setCurrentFocusElement(this.promptElement);this.prompt.moveC
aretToEndOfPrompt();},storeScrollPositions:function() |
| 201 {WebInspector.View.prototype.storeScrollPositions.call(this);this._scrolledToBot
tom=this.messagesElement.isScrolledToBottom();},restoreScrollPositions:function(
) |
| 202 {if(this._scrolledToBottom) |
| 203 this._immediatelyScrollIntoView();else |
| 204 WebInspector.View.prototype.restoreScrollPositions.call(this);},onResize:functio
n() |
| 205 {this.prompt.hideSuggestBox();this.restoreScrollPositions();},_isScrollIntoViewS
cheduled:function() |
| 206 {return!!this._scrollIntoViewTimer;},_scheduleScrollIntoView:function() |
| 207 {if(this._scrollIntoViewTimer) |
| 208 return;function scrollIntoView() |
| 209 {delete this._scrollIntoViewTimer;this.messagesElement.scrollTop=this.messagesEl
ement.scrollHeight;} |
| 210 this._scrollIntoViewTimer=setTimeout(scrollIntoView.bind(this),20);},_immediatel
yScrollIntoView:function() |
| 211 {this.promptElement.scrollIntoView(true);this._cancelScheduledScrollIntoView();}
,_cancelScheduledScrollIntoView:function() |
| 212 {if(!this._isScrollIntoViewScheduled()) |
| 213 return;clearTimeout(this._scrollIntoViewTimer);delete this._scrollIntoViewTimer;
},_updateFilterStatus:function(count){count=(typeof count==="undefined")?(this._
consoleMessages.length-this._visibleViewMessages.length):count;this._filterStatu
sTextElement.textContent=WebInspector.UIString(count==1?"%d message is hidden by
filters.":"%d messages are hidden by filters.",count);this._filterStatusMessage
Element.style.display=count?"":"none";},_consoleMessageAdded:function(target,mes
sage) |
| 214 {if(this._urlToMessageCount[message.url]) |
| 215 this._urlToMessageCount[message.url]++;else |
| 216 this._urlToMessageCount[message.url]=1;var previousMessage=this._consoleMessages
.peekLast();if(previousMessage&&!message.isGroupMessage()&&message.isEqual(previ
ousMessage)){previousMessage.timestamp=message.timestamp;this._messageToViewMess
age.get(previousMessage).incrementRepeatCount();return;} |
| 217 this._consoleMessages.push(message);var viewMessage=this._createViewMessage(targ
et,message);if(this._filter.shouldBeVisible(viewMessage)) |
| 218 this._showConsoleMessage(viewMessage);else |
| 219 this._updateFilterStatus();},_onConsoleMessageAdded:function(target,event) |
| 220 {var message=(event.data);this._consoleMessageAdded(target,message);},_showConso
leMessage:function(viewMessage) |
| 221 {var message=viewMessage.consoleMessage();if(!this._isScrollIntoViewScheduled()&
&((viewMessage instanceof WebInspector.ConsoleCommandResult)||this.messagesEleme
nt.isScrolledToBottom())) |
| 222 this._scheduleScrollIntoView();this._visibleViewMessages.push(viewMessage);if(me
ssage.type===WebInspector.ConsoleMessage.MessageType.EndGroup){var parentGroup=t
his.currentGroup.parentGroup;if(parentGroup) |
| 223 this.currentGroup=parentGroup;}else{if(message.type===WebInspector.ConsoleMessag
e.MessageType.StartGroup||message.type===WebInspector.ConsoleMessage.MessageType
.StartGroupCollapsed){var group=new WebInspector.ConsoleGroup(this.currentGroup)
;this.currentGroup.messagesElement.appendChild(group.element);this.currentGroup=
group;viewMessage.group=group;} |
| 224 this.currentGroup.addMessage(viewMessage);} |
| 225 if(this._searchRegex&&viewMessage.matchesRegex(this._searchRegex)){this._searchR
esults.push(viewMessage);this._searchableView.updateSearchMatchesCount(this._sea
rchResults.length);}},_createViewMessage:function(target,message) |
| 226 {var viewMessage=this._messageToViewMessage.get(message);if(viewMessage) |
| 227 return viewMessage;if(message.type===WebInspector.ConsoleMessage.MessageType.Com
mand) |
| 228 viewMessage=new WebInspector.ConsoleCommand(target,message);else |
| 229 viewMessage=new WebInspector.ConsoleViewMessage(target,message,this._linkifier);
this._messageToViewMessage.put(message,viewMessage);return viewMessage;},_consol
eCleared:function() |
| 230 {this._scrolledToBottom=true;this._clearCurrentSearchResultHighlight();this._upd
ateFilterStatus(0);for(var i=0;i<this._visibleViewMessages.length;++i) |
| 231 this._visibleViewMessages[i].willHide();this._visibleViewMessages=[];this._searc
hResults=[];this._messageToViewMessage.clear();this._consoleMessages=[];if(this.
_searchRegex) |
| 232 this._searchableView.updateSearchMatchesCount(0);this.currentGroup=this.topGroup
;this.topGroup.messagesElement.removeChildren();this._linkifier.reset();},_handl
eContextMenuEvent:function(event) |
| 233 {if(event.target.enclosingNodeOrSelfWithNodeName("a")) |
| 234 return;var contextMenu=new WebInspector.ContextMenu(event);function monitoringXH
RItemAction() |
| 235 {WebInspector.settings.monitoringXHREnabled.set(!WebInspector.settings.monitorin
gXHREnabled.get());} |
| 236 contextMenu.appendCheckboxItem(WebInspector.UIString("Log XMLHttpRequests"),moni
toringXHRItemAction,WebInspector.settings.monitoringXHREnabled.get());function p
reserveLogItemAction() |
| 237 {WebInspector.settings.preserveConsoleLog.set(!WebInspector.settings.preserveCon
soleLog.get());} |
| 238 contextMenu.appendCheckboxItem(WebInspector.UIString(WebInspector.useLowerCaseMe
nuTitles()?"Preserve log upon navigation":"Preserve Log upon Navigation"),preser
veLogItemAction,WebInspector.settings.preserveConsoleLog.get());var sourceElemen
t=event.target.enclosingNodeOrSelfWithClass("console-message");var filterSubMenu
=contextMenu.appendSubMenuItem(WebInspector.UIString("Filter"));if(sourceElement
&&sourceElement.message.url){var menuTitle=WebInspector.UIString(WebInspector.us
eLowerCaseMenuTitles()?"Hide messages from %s":"Hide Messages from %s",new WebIn
spector.ParsedURL(sourceElement.message.url).displayName);filterSubMenu.appendIt
em(menuTitle,this._filter.addMessageURLFilter.bind(this._filter,sourceElement.me
ssage.url));} |
| 239 filterSubMenu.appendSeparator();var unhideAll=filterSubMenu.appendItem(WebInspec
tor.UIString(WebInspector.useLowerCaseMenuTitles()?"Unhide all":"Unhide All"),th
is._filter.removeMessageURLFilter.bind(this._filter));filterSubMenu.appendSepara
tor();var hasFilters=false;for(var url in this._filter.messageURLFilters){filter
SubMenu.appendCheckboxItem(String.sprintf("%s (%d)",new WebInspector.ParsedURL(u
rl).displayName,this._urlToMessageCount[url]),this._filter.removeMessageURLFilte
r.bind(this._filter,url),true);hasFilters=true;} |
| 240 filterSubMenu.setEnabled(hasFilters||(sourceElement&&sourceElement.message.url))
;unhideAll.setEnabled(hasFilters);contextMenu.appendSeparator();contextMenu.appe
ndItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Clear consol
e":"Clear Console"),this._requestClearMessages.bind(this));var request=(sourceEl
ement&&sourceElement.message)?sourceElement.message.request:null;if(request&&req
uest.type===WebInspector.resourceTypes.XHR){contextMenu.appendSeparator();contex
tMenu.appendItem(WebInspector.UIString("Replay XHR"),NetworkAgent.replayXHR.bind
(null,request.requestId));} |
| 241 contextMenu.show();},_updateMessageList:function() |
| 242 {var group=this.topGroup;var visibleMessageIndex=0;var newVisibleMessages=[];if(
this._searchRegex) |
| 243 this._searchResults=[];var anchor=null;for(var i=0;i<this._consoleMessages.lengt
h;++i){var sourceMessage=this._consoleMessages[i];var sourceViewMessage=this._me
ssageToViewMessage.get(sourceMessage);var visibleViewMessage=this._visibleViewMe
ssages[visibleMessageIndex];if(visibleViewMessage===sourceViewMessage){if(this._
filter.shouldBeVisible(sourceViewMessage)){newVisibleMessages.push(this._visible
ViewMessages[visibleMessageIndex]);if(this._searchRegex&&sourceViewMessage.match
esRegex(this._searchRegex)) |
| 244 this._searchResults.push(sourceViewMessage);if(sourceMessage.type===WebInspector
.ConsoleMessage.MessageType.EndGroup){anchor=group.element;group=group.parentGro
up||group;}else if(sourceMessage.type===WebInspector.ConsoleMessage.MessageType.
StartGroup||sourceMessage.type===WebInspector.ConsoleMessage.MessageType.StartGr
oupCollapsed){group=sourceViewMessage.group;anchor=group.messagesElement.firstCh
ild;}else |
| 245 anchor=sourceViewMessage.toMessageElement();}else{sourceViewMessage.willHide();s
ourceViewMessage.toMessageElement().remove();} |
| 246 ++visibleMessageIndex;}else{if(this._filter.shouldBeVisible(sourceViewMessage)){
if(this._searchRegex&&sourceViewMessage.matchesRegex(this._searchRegex)) |
| 247 this._searchResults.push(sourceViewMessage);group.addMessage(sourceViewMessage,a
nchor?anchor.nextSibling:group.messagesElement.firstChild);newVisibleMessages.pu
sh(sourceViewMessage);anchor=sourceViewMessage.toMessageElement();}}} |
| 248 if(this._searchRegex) |
| 249 this._searchableView.updateSearchMatchesCount(this._searchResults.length);this._
visibleViewMessages=newVisibleMessages;this._updateFilterStatus();},_monitoringX
HREnabledSettingChanged:function(event) |
| 250 {ConsoleAgent.setMonitoringXHREnabled(event.data);},_messagesClicked:function() |
| 251 {if(!this.prompt.isCaretInsidePrompt()&&window.getSelection().isCollapsed) |
| 252 this.prompt.moveCaretToEndOfPrompt();},_registerShortcuts:function() |
| 253 {this._shortcuts={};var shortcut=WebInspector.KeyboardShortcut;var section=WebIn
spector.shortcutsScreen.section(WebInspector.UIString("Console"));var shortcutL=
shortcut.makeDescriptor("l",WebInspector.KeyboardShortcut.Modifiers.Ctrl);this._
shortcuts[shortcutL.key]=this._requestClearMessages.bind(this);var keys=[shortcu
tL];if(WebInspector.isMac()){var shortcutK=shortcut.makeDescriptor("k",WebInspec
tor.KeyboardShortcut.Modifiers.Meta);this._shortcuts[shortcutK.key]=this._reques
tClearMessages.bind(this);keys.unshift(shortcutK);} |
| 254 section.addAlternateKeys(keys,WebInspector.UIString("Clear console"));section.ad
dKey(shortcut.makeDescriptor(shortcut.Keys.Tab),WebInspector.UIString("Autocompl
ete common prefix"));section.addKey(shortcut.makeDescriptor(shortcut.Keys.Right)
,WebInspector.UIString("Accept suggestion"));keys=[shortcut.makeDescriptor(short
cut.Keys.Down),shortcut.makeDescriptor(shortcut.Keys.Up)];section.addRelatedKeys
(keys,WebInspector.UIString("Next/previous line"));if(WebInspector.isMac()){keys
=[shortcut.makeDescriptor("N",shortcut.Modifiers.Alt),shortcut.makeDescriptor("P
",shortcut.Modifiers.Alt)];section.addRelatedKeys(keys,WebInspector.UIString("Ne
xt/previous command"));} |
| 255 section.addKey(shortcut.makeDescriptor(shortcut.Keys.Enter),WebInspector.UIStrin
g("Execute command"));},_requestClearMessages:function() |
| 256 {WebInspector.console.requestClearMessages();},_promptKeyDown:function(event) |
| 257 {if(isEnterKey(event)){this._enterKeyPressed(event);return;} |
| 258 var shortcut=WebInspector.KeyboardShortcut.makeKeyFromEvent(event);var handler=t
his._shortcuts[shortcut];if(handler){handler();event.preventDefault();}},_enterK
eyPressed:function(event) |
| 259 {if(event.altKey||event.ctrlKey||event.shiftKey) |
| 260 return;event.consume(true);this.prompt.clearAutoComplete(true);var str=this.prom
pt.text;if(!str.length) |
| 261 return;this._appendCommand(str,true);},_printResult:function(result,wasThrown,or
iginatingCommand) |
| 262 {if(!result) |
| 263 return;var target=result.target();function addMessage(url,lineNumber,columnNumbe
r) |
| 264 {var resultMessage=new WebInspector.ConsoleCommandResult((result),wasThrown,orig
inatingCommand,this._linkifier,url,lineNumber,columnNumber);this._messageToViewM
essage.put(resultMessage.consoleMessage(),resultMessage);target.consoleModel.add
Message(resultMessage.consoleMessage());} |
| 265 if(result.type!=="function"){addMessage.call(this);return;} |
| 266 target.debuggerAgent().getFunctionDetails(result.objectId,didGetDetails.bind(thi
s));function didGetDetails(error,response) |
| 267 {if(error){console.error(error);addMessage.call(this);return;} |
| 268 var url;var lineNumber;var columnNumber;var script=WebInspector.debuggerModel.sc
riptForId(response.location.scriptId);if(script&&script.sourceURL){url=script.so
urceURL;lineNumber=response.location.lineNumber+1;columnNumber=response.location
.columnNumber+1;} |
| 269 addMessage.call(this,url,lineNumber,columnNumber);}},_appendCommand:function(tex
t,useCommandLineAPI) |
| 270 {this.prompt.text="";this._currentTarget().consoleModel.evaluateCommand(text,use
CommandLineAPI);},_commandEvaluated:function(event) |
| 271 {var data=(event.data);this.prompt.pushHistoryItem(data.text);WebInspector.setti
ngs.consoleHistory.set(this.prompt.historyData.slice(-30));this._printResult(dat
a.result,data.wasThrown,(this._messageToViewMessage.get(data.commandMessage)));}
,elementsToRestoreScrollPositionsFor:function() |
| 272 {return[this.messagesElement];},searchCanceled:function() |
| 273 {this._clearCurrentSearchResultHighlight();delete this._searchResults;delete thi
s._searchRegex;},performSearch:function(query,shouldJump) |
| 274 {this.searchCanceled();this._searchableView.updateSearchMatchesCount(0);this._se
archRegex=createPlainTextSearchRegex(query,"gi");this._searchResults=[];for(var
i=0;i<this._visibleViewMessages.length;i++){if(this._visibleViewMessages[i].matc
hesRegex(this._searchRegex)) |
| 275 this._searchResults.push(this._visibleViewMessages[i]);} |
| 276 this._searchableView.updateSearchMatchesCount(this._searchResults.length);this._
currentSearchResultIndex=-1;if(shouldJump&&this._searchResults.length) |
| 277 this._jumpToSearchResult(0);},jumpToNextSearchResult:function() |
| 278 {if(!this._searchResults||!this._searchResults.length) |
| 279 return;this._jumpToSearchResult((this._currentSearchResultIndex+1)%this._searchR
esults.length);},jumpToPreviousSearchResult:function() |
| 280 {if(!this._searchResults||!this._searchResults.length) |
| 281 return;var index=this._currentSearchResultIndex-1;if(index===-1) |
| 282 index=this._searchResults.length-1;this._jumpToSearchResult(index);},_clearCurre
ntSearchResultHighlight:function() |
| 283 {if(!this._searchResults) |
| 284 return;var highlightedViewMessage=this._searchResults[this._currentSearchResultI
ndex];if(highlightedViewMessage) |
| 285 highlightedViewMessage.clearHighlight();this._currentSearchResultIndex=-1;},_jum
pToSearchResult:function(index) |
| 286 {this._clearCurrentSearchResultHighlight();this._currentSearchResultIndex=index;
this._searchableView.updateCurrentMatchIndex(this._currentSearchResultIndex);thi
s._searchResults[index].highlightSearchResults(this._searchRegex);},__proto__:We
bInspector.VBox.prototype} |
| 287 WebInspector.ConsoleViewFilter=function(view) |
| 288 {this._view=view;this._messageURLFilters=WebInspector.settings.messageURLFilters
.get();this._filterChanged=this.dispatchEventToListeners.bind(this,WebInspector.
ConsoleViewFilter.Events.FilterChanged);};WebInspector.ConsoleViewFilter.Events=
{FilterChanged:"FilterChanged"};WebInspector.ConsoleViewFilter.prototype={addFil
ters:function(filterBar) |
| 289 {this._textFilterUI=new WebInspector.TextFilterUI(true);this._textFilterUI.addEv
entListener(WebInspector.FilterUI.Events.FilterChanged,this._textFilterChanged,t
his);filterBar.addFilter(this._textFilterUI);var levels=[{name:"error",label:Web
Inspector.UIString("Errors")},{name:"warning",label:WebInspector.UIString("Warni
ngs")},{name:"info",label:WebInspector.UIString("Info")},{name:"log",label:WebIn
spector.UIString("Logs")},{name:"debug",label:WebInspector.UIString("Debug")}];t
his._levelFilterUI=new WebInspector.NamedBitSetFilterUI(levels,WebInspector.sett
ings.messageLevelFilters);this._levelFilterUI.addEventListener(WebInspector.Filt
erUI.Events.FilterChanged,this._filterChanged,this);filterBar.addFilter(this._le
velFilterUI);},_textFilterChanged:function(event) |
| 290 {this._filterRegex=this._textFilterUI.regex();this._filterChanged();},addMessage
URLFilter:function(url) |
| 291 {this._messageURLFilters[url]=true;WebInspector.settings.messageURLFilters.set(t
his._messageURLFilters);this._filterChanged();},removeMessageURLFilter:function(
url) |
| 292 {if(!url) |
| 293 this._messageURLFilters={};else |
| 294 delete this._messageURLFilters[url];WebInspector.settings.messageURLFilters.set(
this._messageURLFilters);this._filterChanged();},get messageURLFilters() |
| 295 {return this._messageURLFilters;},shouldBeVisible:function(viewMessage) |
| 296 {if(!viewMessage) |
| 297 return false;var message=viewMessage.consoleMessage();if((message.type===WebInsp
ector.ConsoleMessage.MessageType.StartGroup||message.type===WebInspector.Console
Message.MessageType.StartGroupCollapsed||message.type===WebInspector.ConsoleMess
age.MessageType.EndGroup)) |
| 298 return true;if(message.type===WebInspector.ConsoleMessage.MessageType.Result||me
ssage.type===WebInspector.ConsoleMessage.MessageType.Command) |
| 299 return true;if(message.url&&this._messageURLFilters[message.url]) |
| 300 return false;if(message.level&&!this._levelFilterUI.accept(message.level)) |
| 301 return false;if(this._filterRegex){this._filterRegex.lastIndex=0;if(!viewMessage
.matchesRegex(this._filterRegex)) |
| 302 return false;} |
| 303 return true;},reset:function() |
| 304 {this._messageURLFilters={};WebInspector.settings.messageURLFilters.set(this._me
ssageURLFilters);WebInspector.settings.messageLevelFilters.set({});this._filterC
hanged();},__proto__:WebInspector.Object.prototype};WebInspector.ConsoleCommand=
function(target,message) |
| 305 {WebInspector.ConsoleViewMessage.call(this,target,message,null);} |
| 306 WebInspector.ConsoleCommand.prototype={wasShown:function() |
| 307 {},willHide:function() |
| 308 {},clearHighlight:function() |
| 309 {var highlightedMessage=this._formattedCommand;delete this._formattedCommand;thi
s._formatCommand();this._element.replaceChild(this._formattedCommand,highlighted
Message);},highlightSearchResults:function(regexObject) |
| 310 {regexObject.lastIndex=0;var match=regexObject.exec(this.text);var matchRanges=[
];while(match){matchRanges.push(new WebInspector.SourceRange(match.index,match[0
].length));match=regexObject.exec(this.text);} |
| 311 WebInspector.highlightSearchResults(this._formattedCommand,matchRanges);this._el
ement.scrollIntoViewIfNeeded();},matchesRegex:function(regexObject) |
| 312 {regexObject.lastIndex=0;return regexObject.test(this.text);},toMessageElement:f
unction() |
| 313 {if(!this._element){this._element=document.createElement("div");this._element.co
mmand=this;this._element.className="console-user-command";this._formatCommand();
this._element.appendChild(this._formattedCommand);} |
| 314 return this._element;},_formatCommand:function() |
| 315 {this._formattedCommand=document.createElement("span");this._formattedCommand.cl
assName="console-message-text source-code";this._formattedCommand.textContent=th
is.text;},__proto__:WebInspector.ConsoleViewMessage.prototype} |
| 316 WebInspector.ConsoleCommandResult=function(result,wasThrown,originatingCommand,l
inkifier,url,lineNumber,columnNumber) |
| 317 {this.originatingCommand=originatingCommand;var level=wasThrown?WebInspector.Con
soleMessage.MessageLevel.Error:WebInspector.ConsoleMessage.MessageLevel.Log;var
message=new WebInspector.ConsoleMessage(WebInspector.ConsoleMessage.MessageSourc
e.JS,level,"",WebInspector.ConsoleMessage.MessageType.Result,url,lineNumber,colu
mnNumber,undefined,[result]);WebInspector.ConsoleViewMessage.call(this,result.ta
rget(),message,linkifier);} |
| 318 WebInspector.ConsoleCommandResult.prototype={useArrayPreviewInFormatter:function
(array) |
| 319 {return false;},toMessageElement:function() |
| 320 {var element=WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(thi
s);element.classList.add("console-user-command-result");return element;},__proto
__:WebInspector.ConsoleViewMessage.prototype} |
| 321 WebInspector.ConsoleGroup=function(parentGroup) |
| 322 {this.parentGroup=parentGroup;var element=document.createElement("div");element.
className="console-group";element.group=this;this.element=element;if(parentGroup
){var bracketElement=document.createElement("div");bracketElement.className="con
sole-group-bracket";element.appendChild(bracketElement);} |
| 323 var messagesElement=document.createElement("div");messagesElement.className="con
sole-group-messages";element.appendChild(messagesElement);this.messagesElement=m
essagesElement;} |
| 324 WebInspector.ConsoleGroup.prototype={addMessage:function(viewMessage,node) |
| 325 {var message=viewMessage.consoleMessage();var element=viewMessage.toMessageEleme
nt();if(message.type===WebInspector.ConsoleMessage.MessageType.StartGroup||messa
ge.type===WebInspector.ConsoleMessage.MessageType.StartGroupCollapsed){this.mess
agesElement.parentNode.insertBefore(element,this.messagesElement);element.addEve
ntListener("click",this._titleClicked.bind(this),false);var groupElement=element
.enclosingNodeOrSelfWithClass("console-group");if(groupElement&&message.type===W
ebInspector.ConsoleMessage.MessageType.StartGroupCollapsed) |
| 326 groupElement.classList.add("collapsed");}else{this.messagesElement.insertBefore(
element,node||null);viewMessage.wasShown();} |
| 327 if(element.previousSibling&&viewMessage.originatingCommand&&element.previousSibl
ing.command===viewMessage.originatingCommand) |
| 328 element.previousSibling.classList.add("console-adjacent-user-command-result");},
_titleClicked:function(event) |
| 329 {var groupTitleElement=event.target.enclosingNodeOrSelfWithClass("console-group-
title");if(groupTitleElement){var groupElement=groupTitleElement.enclosingNodeOr
SelfWithClass("console-group");if(groupElement&&!groupElement.classList.toggle("
collapsed")){if(groupElement.group){groupElement.group.wasShown();}} |
| 330 groupTitleElement.scrollIntoViewIfNeeded(true);} |
| 331 event.consume(true);},wasShown:function() |
| 332 {if(this.element.classList.contains("collapsed")) |
| 333 return;var node=this.messagesElement.firstChild;while(node){if(node.classList.co
ntains("console-message")&&node.message) |
| 334 node.message.wasShown();if(node.classList.contains("console-group")&&node.group) |
| 335 node.group.wasShown();node=node.nextSibling;}}} |
| 336 WebInspector.ConsoleView.ShowConsoleActionDelegate=function() |
| 337 {} |
| 338 WebInspector.ConsoleView.ShowConsoleActionDelegate.prototype={handleAction:funct
ion() |
| 339 {WebInspector.console.show();return true;}};WebInspector.ConsolePanel=function() |
| 340 {WebInspector.Panel.call(this,"console");this._view=WebInspector.ConsolePanel._v
iew();} |
| 341 WebInspector.ConsolePanel._view=function() |
| 342 {if(!WebInspector.ConsolePanel._consoleView) |
| 343 WebInspector.ConsolePanel._consoleView=new WebInspector.ConsoleView(!Capabilitie
s.isMainFrontend);return WebInspector.ConsolePanel._consoleView;} |
| 344 WebInspector.ConsolePanel.prototype={defaultFocusedElement:function() |
| 345 {return this._view.defaultFocusedElement();},wasShown:function() |
| 346 {WebInspector.Panel.prototype.wasShown.call(this);this._view.show(this.element);
},willHide:function() |
| 347 {WebInspector.Panel.prototype.willHide.call(this);if(WebInspector.ConsolePanel.W
rapperView._instance) |
| 348 WebInspector.ConsolePanel.WrapperView._instance._showViewInWrapper();},__proto__
:WebInspector.Panel.prototype} |
| 349 WebInspector.ConsolePanel.WrapperView=function() |
| 350 {WebInspector.VBox.call(this);this.element.classList.add("console-view-wrapper")
;WebInspector.ConsolePanel.WrapperView._instance=this;this._view=WebInspector.Co
nsolePanel._view();this.wasShown();} |
| 351 WebInspector.ConsolePanel.WrapperView.prototype={wasShown:function() |
| 352 {if(!WebInspector.inspectorView.currentPanel()||WebInspector.inspectorView.curre
ntPanel().name!=="console") |
| 353 this._showViewInWrapper();},defaultFocusedElement:function() |
| 354 {return this._view.defaultFocusedElement();},focus:function() |
| 355 {this._view.focus();},_showViewInWrapper:function() |
| 356 {this._view.show(this.element);},__proto__:WebInspector.VBox.prototype} |
| 357 WebInspector.ConsolePanel.ConsoleRevealer=function() |
| 358 {} |
| 359 WebInspector.ConsolePanel.ConsoleRevealer.prototype={reveal:function(object) |
| 360 {if(!(object instanceof WebInspector.ConsoleModel)) |
| 361 return;var consoleView=WebInspector.ConsolePanel._view();if(consoleView.isShowin
g()){consoleView.focus();return;} |
| 362 WebInspector.inspectorView.showViewInDrawer("console");}} |
OLD | NEW |