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

Side by Side Diff: chrome_linux/resources/inspector/ConsolePanel.js

Issue 310483004: Roll reference builds to 35.0.1916.114. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/reference_builds/
Patch Set: Created 6 years, 6 months 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 | Annotate | Revision Log
Property Changes:
Added: svn:mime-type
+ text/javascript
Added: svn:eol-style
+ LF
OLDNEW
(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&&parameters[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&&regexObject.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");}}
OLDNEW
« no previous file with comments | « chrome_linux/resources/inspector/CodeMirrorTextEditor.js ('k') | chrome_linux/resources/inspector/ElementsPanel.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698