| Index: chrome_linux/resources/inspector/ElementsPanel.js
|
| ===================================================================
|
| --- chrome_linux/resources/inspector/ElementsPanel.js (revision 273864)
|
| +++ chrome_linux/resources/inspector/ElementsPanel.js (working copy)
|
| @@ -1,107 +1,503 @@
|
| -WebInspector.CSSNamedFlowCollectionsView=function()
|
| -{WebInspector.SidebarView.call(this,WebInspector.SidebarView.SidebarPosition.Start);this.registerRequiredCSS("cssNamedFlows.css");this._namedFlows={};this._contentNodes={};this._regionNodes={};this.element.classList.add("css-named-flow-collections-view");this.element.classList.add("fill");this._statusElement=document.createElement("span");this._statusElement.textContent=WebInspector.UIString("CSS Named Flows");var sidebarHeader=this.firstElement().createChild("div","tabbed-pane-header selected sidebar-header");var tab=sidebarHeader.createChild("div","tabbed-pane-header-tab");tab.createChild("span","tabbed-pane-header-tab-title").textContent=WebInspector.UIString("CSS Named Flows");this._sidebarContentElement=this.firstElement().createChild("div","sidebar-content outline-disclosure");this._flowListElement=this._sidebarContentElement.createChild("ol");this._flowTree=new TreeOutline(this._flowListElement);this._emptyElement=document.createElement("div");this._emptyElement.classList.add("info");this._emptyElement.textContent=WebInspector.UIString("No CSS Named Flows");this._tabbedPane=new WebInspector.TabbedPane();this._tabbedPane.closeableTabs=true;this._tabbedPane.show(this.secondElement());}
|
| -WebInspector.CSSNamedFlowCollectionsView.prototype={showInDrawer:function()
|
| -{WebInspector.inspectorView.showCloseableViewInDrawer("css-flows",WebInspector.UIString("CSS Flows"),this);},reset:function()
|
| -{if(!this._document)
|
| -return;WebInspector.cssModel.getNamedFlowCollectionAsync(this._document.id,this._resetNamedFlows.bind(this));},_setDocument:function(document)
|
| -{this._document=document;this.reset();},_documentUpdated:function(event)
|
| -{var document=(event.data);this._setDocument(document);},_setSidebarHasContent:function(hasContent)
|
| -{if(hasContent){if(!this._emptyElement.parentNode)
|
| -return;this._sidebarContentElement.removeChild(this._emptyElement);this._sidebarContentElement.appendChild(this._flowListElement);}else{if(!this._flowListElement.parentNode)
|
| -return;this._sidebarContentElement.removeChild(this._flowListElement);this._sidebarContentElement.appendChild(this._emptyElement);}},_appendNamedFlow:function(flow)
|
| -{var flowHash=this._hashNamedFlow(flow.documentNodeId,flow.name);var flowContainer={flow:flow,flowHash:flowHash};for(var i=0;i<flow.content.length;++i)
|
| -this._contentNodes[flow.content[i]]=flowHash;for(var i=0;i<flow.regions.length;++i)
|
| -this._regionNodes[flow.regions[i].nodeId]=flowHash;var flowTreeItem=new WebInspector.FlowTreeElement(flowContainer);flowTreeItem.onselect=this._selectNamedFlowTab.bind(this,flowHash);flowContainer.flowTreeItem=flowTreeItem;this._namedFlows[flowHash]=flowContainer;if(!this._flowTree.children.length)
|
| -this._setSidebarHasContent(true);this._flowTree.appendChild(flowTreeItem);},_removeNamedFlow:function(flowHash)
|
| -{var flowContainer=this._namedFlows[flowHash];if(this._tabbedPane._tabsById[flowHash])
|
| -this._tabbedPane.closeTab(flowHash);this._flowTree.removeChild(flowContainer.flowTreeItem);var flow=flowContainer.flow;for(var i=0;i<flow.content.length;++i)
|
| -delete this._contentNodes[flow.content[i]];for(var i=0;i<flow.regions.length;++i)
|
| -delete this._regionNodes[flow.regions[i].nodeId];delete this._namedFlows[flowHash];if(!this._flowTree.children.length)
|
| -this._setSidebarHasContent(false);},_updateNamedFlow:function(flow)
|
| -{var flowHash=this._hashNamedFlow(flow.documentNodeId,flow.name);var flowContainer=this._namedFlows[flowHash];if(!flowContainer)
|
| -return;var oldFlow=flowContainer.flow;flowContainer.flow=flow;for(var i=0;i<oldFlow.content.length;++i)
|
| -delete this._contentNodes[oldFlow.content[i]];for(var i=0;i<oldFlow.regions.length;++i)
|
| -delete this._regionNodes[oldFlow.regions[i].nodeId];for(var i=0;i<flow.content.length;++i)
|
| -this._contentNodes[flow.content[i]]=flowHash;for(var i=0;i<flow.regions.length;++i)
|
| -this._regionNodes[flow.regions[i].nodeId]=flowHash;flowContainer.flowTreeItem.setOverset(flow.overset);if(flowContainer.flowView)
|
| -flowContainer.flowView.flow=flow;},_resetNamedFlows:function(namedFlowCollection)
|
| -{for(var flowHash in this._namedFlows)
|
| -this._removeNamedFlow(flowHash);var namedFlows=namedFlowCollection?namedFlowCollection.namedFlowMap:{};for(var flowName in namedFlows)
|
| -this._appendNamedFlow(namedFlows[flowName]);if(!this._flowTree.children.length)
|
| -this._setSidebarHasContent(false);else
|
| -this._showNamedFlowForNode(WebInspector.panel("elements").treeOutline.selectedDOMNode());},_namedFlowCreated:function(event)
|
| -{if(event.data.documentNodeId!==this._document.id)
|
| -return;var flow=(event.data);this._appendNamedFlow(flow);},_namedFlowRemoved:function(event)
|
| -{if(event.data.documentNodeId!==this._document.id)
|
| -return;this._removeNamedFlow(this._hashNamedFlow(event.data.documentNodeId,event.data.flowName));},_regionLayoutUpdated:function(event)
|
| -{if(event.data.documentNodeId!==this._document.id)
|
| -return;var flow=(event.data);this._updateNamedFlow(flow);},_regionOversetChanged:function(event)
|
| -{if(event.data.documentNodeId!==this._document.id)
|
| -return;var flow=(event.data);this._updateNamedFlow(flow);},_hashNamedFlow:function(documentNodeId,flowName)
|
| -{return documentNodeId+"|"+flowName;},_showNamedFlow:function(flowHash)
|
| -{this._selectNamedFlowInSidebar(flowHash);this._selectNamedFlowTab(flowHash);},_selectNamedFlowInSidebar:function(flowHash)
|
| -{this._namedFlows[flowHash].flowTreeItem.select(true);},_selectNamedFlowTab:function(flowHash)
|
| -{var flowContainer=this._namedFlows[flowHash];if(this._tabbedPane.selectedTabId===flowHash)
|
| -return false;if(!this._tabbedPane.selectTab(flowHash)){if(!flowContainer.flowView)
|
| -flowContainer.flowView=new WebInspector.CSSNamedFlowView(flowContainer.flow);this._tabbedPane.appendTab(flowHash,flowContainer.flow.name,flowContainer.flowView);this._tabbedPane.selectTab(flowHash);}
|
| -return false;},_selectedNodeChanged:function(event)
|
| -{var node=(event.data);this._showNamedFlowForNode(node);},_tabSelected:function(event)
|
| -{this._selectNamedFlowInSidebar(event.data.tabId);},_tabClosed:function(event)
|
| -{this._namedFlows[event.data.tabId].flowTreeItem.deselect();},_showNamedFlowForNode:function(node)
|
| -{if(!node)
|
| -return;if(this._regionNodes[node.id]){this._showNamedFlow(this._regionNodes[node.id]);return;}
|
| -while(node){if(this._contentNodes[node.id]){this._showNamedFlow(this._contentNodes[node.id]);return;}
|
| -node=node.parentNode;}},wasShown:function()
|
| -{WebInspector.SidebarView.prototype.wasShown.call(this);WebInspector.domAgent.requestDocument(this._setDocument.bind(this));WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.DocumentUpdated,this._documentUpdated,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.NamedFlowCreated,this._namedFlowCreated,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.NamedFlowRemoved,this._namedFlowRemoved,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.RegionLayoutUpdated,this._regionLayoutUpdated,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.RegionOversetChanged,this._regionOversetChanged,this);WebInspector.panel("elements").treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged,this._selectedNodeChanged,this);this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabSelected,this._tabSelected,this);this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabClosed,this._tabClosed,this);},willHide:function()
|
| -{WebInspector.domAgent.removeEventListener(WebInspector.DOMAgent.Events.DocumentUpdated,this._documentUpdated,this);WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.NamedFlowCreated,this._namedFlowCreated,this);WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.NamedFlowRemoved,this._namedFlowRemoved,this);WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.RegionLayoutUpdated,this._regionLayoutUpdated,this);WebInspector.cssModel.removeEventListener(WebInspector.CSSStyleModel.Events.RegionOversetChanged,this._regionOversetChanged,this);WebInspector.panel("elements").treeOutline.removeEventListener(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged,this._selectedNodeChanged,this);this._tabbedPane.removeEventListener(WebInspector.TabbedPane.EventTypes.TabSelected,this._tabSelected,this);this._tabbedPane.removeEventListener(WebInspector.TabbedPane.EventTypes.TabClosed,this._tabClosed,this);},__proto__:WebInspector.SidebarView.prototype}
|
| -WebInspector.FlowTreeElement=function(flowContainer)
|
| -{var container=document.createElement("div");container.createChild("div","selection");container.createChild("span","title").createChild("span").textContent=flowContainer.flow.name;TreeElement.call(this,container,flowContainer,false);this._overset=false;this.setOverset(flowContainer.flow.overset);}
|
| -WebInspector.FlowTreeElement.prototype={setOverset:function(newOverset)
|
| -{if(this._overset===newOverset)
|
| -return;if(newOverset){this.title.classList.add("named-flow-overflow");this.tooltip=WebInspector.UIString("Overflows.");}else{this.title.classList.remove("named-flow-overflow");this.tooltip="";}
|
| -this._overset=newOverset;},__proto__:TreeElement.prototype};WebInspector.CSSNamedFlowView=function(flow)
|
| -{WebInspector.View.call(this);this.element.classList.add("css-named-flow");this.element.classList.add("outline-disclosure");this._treeOutline=new TreeOutline(this.element.createChild("ol"),true);this._contentTreeItem=new TreeElement(WebInspector.UIString("content"),null,true);this._treeOutline.appendChild(this._contentTreeItem);this._regionsTreeItem=new TreeElement(WebInspector.UIString("region chain"),null,true);this._regionsTreeItem.expand();this._treeOutline.appendChild(this._regionsTreeItem);this._flow=flow;var content=flow.content;for(var i=0;i<content.length;++i)
|
| -this._insertContentNode(content[i]);var regions=flow.regions;for(var i=0;i<regions.length;++i)
|
| -this._insertRegion(regions[i]);}
|
| -WebInspector.CSSNamedFlowView.OversetTypeMessageMap={empty:"empty",fit:"fit",overset:"overset"}
|
| -WebInspector.CSSNamedFlowView.prototype={_createFlowTreeOutline:function(rootDOMNode)
|
| -{if(!rootDOMNode)
|
| -return null;var treeOutline=new WebInspector.ElementsTreeOutline(false,false);treeOutline.element.classList.add("named-flow-element");treeOutline.setVisible(true);treeOutline.rootDOMNode=rootDOMNode;treeOutline.wireToDomAgent();WebInspector.domAgent.removeEventListener(WebInspector.DOMAgent.Events.DocumentUpdated,treeOutline._elementsTreeUpdater._documentUpdated,treeOutline._elementsTreeUpdater);return treeOutline;},_insertContentNode:function(contentNodeId,index)
|
| -{var treeOutline=this._createFlowTreeOutline(WebInspector.domAgent.nodeForId(contentNodeId));var treeItem=new TreeElement(treeOutline.element,treeOutline);if(index===undefined){this._contentTreeItem.appendChild(treeItem);return;}
|
| -this._contentTreeItem.insertChild(treeItem,index);},_insertRegion:function(region,index)
|
| -{var treeOutline=this._createFlowTreeOutline(WebInspector.domAgent.nodeForId(region.nodeId));treeOutline.element.classList.add("region-"+region.regionOverset);var treeItem=new TreeElement(treeOutline.element,treeOutline);var oversetText=WebInspector.UIString(WebInspector.CSSNamedFlowView.OversetTypeMessageMap[region.regionOverset]);treeItem.tooltip=WebInspector.UIString("Region is %s.",oversetText);if(index===undefined){this._regionsTreeItem.appendChild(treeItem);return;}
|
| -this._regionsTreeItem.insertChild(treeItem,index);},get flow()
|
| -{return this._flow;},set flow(newFlow)
|
| -{this._update(newFlow);},_updateRegionOverset:function(regionTreeItem,newRegionOverset,oldRegionOverset)
|
| -{var element=regionTreeItem.representedObject.element;element.classList.remove("region-"+oldRegionOverset);element.classList.add("region-"+newRegionOverset);var oversetText=WebInspector.UIString(WebInspector.CSSNamedFlowView.OversetTypeMessageMap[newRegionOverset]);regionTreeItem.tooltip=WebInspector.UIString("Region is %s.",oversetText);},_mergeContentNodes:function(oldContent,newContent)
|
| -{var nodeIdSet={};for(var i=0;i<newContent.length;++i)
|
| -nodeIdSet[newContent[i]]=true;var oldContentIndex=0;var newContentIndex=0;var contentTreeChildIndex=0;while(oldContentIndex<oldContent.length||newContentIndex<newContent.length){if(oldContentIndex===oldContent.length){this._insertContentNode(newContent[newContentIndex]);++newContentIndex;continue;}
|
| -if(newContentIndex===newContent.length){this._contentTreeItem.removeChildAtIndex(contentTreeChildIndex);++oldContentIndex;continue;}
|
| -if(oldContent[oldContentIndex]===newContent[newContentIndex]){++oldContentIndex;++newContentIndex;++contentTreeChildIndex;continue;}
|
| -if(nodeIdSet[oldContent[oldContentIndex]]){this._insertContentNode(newContent[newContentIndex],contentTreeChildIndex);++newContentIndex;++contentTreeChildIndex;continue;}
|
| -this._contentTreeItem.removeChildAtIndex(contentTreeChildIndex);++oldContentIndex;}},_mergeRegions:function(oldRegions,newRegions)
|
| -{var nodeIdSet={};for(var i=0;i<newRegions.length;++i)
|
| -nodeIdSet[newRegions[i].nodeId]=true;var oldRegionsIndex=0;var newRegionsIndex=0;var regionsTreeChildIndex=0;while(oldRegionsIndex<oldRegions.length||newRegionsIndex<newRegions.length){if(oldRegionsIndex===oldRegions.length){this._insertRegion(newRegions[newRegionsIndex]);++newRegionsIndex;continue;}
|
| -if(newRegionsIndex===newRegions.length){this._regionsTreeItem.removeChildAtIndex(regionsTreeChildIndex);++oldRegionsIndex;continue;}
|
| -if(oldRegions[oldRegionsIndex].nodeId===newRegions[newRegionsIndex].nodeId){if(oldRegions[oldRegionsIndex].regionOverset!==newRegions[newRegionsIndex].regionOverset)
|
| -this._updateRegionOverset(this._regionsTreeItem.children[regionsTreeChildIndex],newRegions[newRegionsIndex].regionOverset,oldRegions[oldRegionsIndex].regionOverset);++oldRegionsIndex;++newRegionsIndex;++regionsTreeChildIndex;continue;}
|
| -if(nodeIdSet[oldRegions[oldRegionsIndex].nodeId]){this._insertRegion(newRegions[newRegionsIndex],regionsTreeChildIndex);++newRegionsIndex;++regionsTreeChildIndex;continue;}
|
| -this._regionsTreeItem.removeChildAtIndex(regionsTreeChildIndex);++oldRegionsIndex;}},_update:function(newFlow)
|
| -{this._mergeContentNodes(this._flow.content,newFlow.content);this._mergeRegions(this._flow.regions,newFlow.regions);this._flow=newFlow;},__proto__:WebInspector.View.prototype};WebInspector.EventListenersSidebarPane=function()
|
| -{WebInspector.SidebarPane.call(this,WebInspector.UIString("Event Listeners"));this.bodyElement.classList.add("events-pane");this.sections=[];this.settingsSelectElement=document.createElement("select");this.settingsSelectElement.className="select-filter";var option=document.createElement("option");option.value="all";option.label=WebInspector.UIString("All Nodes");this.settingsSelectElement.appendChild(option);option=document.createElement("option");option.value="selected";option.label=WebInspector.UIString("Selected Node Only");this.settingsSelectElement.appendChild(option);var filter=WebInspector.settings.eventListenersFilter.get();if(filter==="all")
|
| +WebInspector.DOMSyntaxHighlighter=function(mimeType,stripExtraWhitespace)
|
| +{this._mimeType=mimeType;this._stripExtraWhitespace=stripExtraWhitespace;}
|
| +WebInspector.DOMSyntaxHighlighter.prototype={createSpan:function(content,className)
|
| +{var span=document.createElement("span");span.className="cm-"+className;if(this._stripExtraWhitespace&&className!=="whitespace")
|
| +content=content.replace(/^[\n\r]*/,"").replace(/\s*$/,"");span.appendChild(document.createTextNode(content));return span;},syntaxHighlightNode:function(node)
|
| +{var lines=node.textContent.split("\n");node.removeChildren();function processToken(token,tokenType,column,newColumn)
|
| +{if(!tokenType)
|
| +return;if(column>plainTextStart){var plainText=line.substring(plainTextStart,column);node.appendChild(document.createTextNode(plainText));}
|
| +node.appendChild(this.createSpan(token,tokenType));plainTextStart=newColumn;}
|
| +var tokenize=WebInspector.moduleManager.instance(WebInspector.TokenizerFactory).createTokenizer(this._mimeType);for(var i=lines[0].length?0:1;i<lines.length;++i){var line=lines[i];var plainTextStart=0;tokenize(line,processToken.bind(this));if(plainTextStart<line.length){var plainText=line.substring(plainTextStart,line.length);node.appendChild(document.createTextNode(plainText));}
|
| +if(i<lines.length-1)
|
| +node.appendChild(document.createElement("br"));}}};WebInspector.ElementsTreeOutline=function(omitRootDOMNode,selectEnabled,contextMenuCallback,setPseudoClassCallback)
|
| +{this.element=document.createElement("ol");this.element.className="elements-tree-outline";this.element.addEventListener("mousedown",this._onmousedown.bind(this),false);this.element.addEventListener("mousemove",this._onmousemove.bind(this),false);this.element.addEventListener("mouseout",this._onmouseout.bind(this),false);this.element.addEventListener("dragstart",this._ondragstart.bind(this),false);this.element.addEventListener("dragover",this._ondragover.bind(this),false);this.element.addEventListener("dragleave",this._ondragleave.bind(this),false);this.element.addEventListener("drop",this._ondrop.bind(this),false);this.element.addEventListener("dragend",this._ondragend.bind(this),false);this.element.addEventListener("keydown",this._onkeydown.bind(this),false);TreeOutline.call(this,this.element);this._includeRootDOMNode=!omitRootDOMNode;this._selectEnabled=selectEnabled;this._rootDOMNode=null;this._selectedDOMNode=null;this._eventSupport=new WebInspector.Object();this._visible=false;this.element.addEventListener("contextmenu",this._contextMenuEventFired.bind(this),true);this._contextMenuCallback=contextMenuCallback;this._setPseudoClassCallback=setPseudoClassCallback;this._createNodeDecorators();}
|
| +WebInspector.ElementsTreeOutline.Events={SelectedNodeChanged:"SelectedNodeChanged",ElementsTreeUpdated:"ElementsTreeUpdated"}
|
| +WebInspector.ElementsTreeOutline.MappedCharToEntity={"\u00a0":"nbsp","\u2002":"ensp","\u2003":"emsp","\u2009":"thinsp","\u200a":"#8202","\u200b":"#8203","\u200c":"zwnj","\u200d":"zwj","\u200e":"lrm","\u200f":"rlm","\u202a":"#8234","\u202b":"#8235","\u202c":"#8236","\u202d":"#8237","\u202e":"#8238"}
|
| +WebInspector.ElementsTreeOutline.prototype={setVisibleWidth:function(width)
|
| +{this._visibleWidth=width;if(this._multilineEditing)
|
| +this._multilineEditing.setWidth(this._visibleWidth);},_createNodeDecorators:function()
|
| +{this._nodeDecorators=[];this._nodeDecorators.push(new WebInspector.ElementsTreeOutline.PseudoStateDecorator());},wireToDomAgent:function()
|
| +{this._elementsTreeUpdater=new WebInspector.ElementsTreeUpdater(this);},setVisible:function(visible)
|
| +{this._visible=visible;if(!this._visible)
|
| +return;this._updateModifiedNodes();if(this._selectedDOMNode)
|
| +this._revealAndSelectNode(this._selectedDOMNode,false);},addEventListener:function(eventType,listener,thisObject)
|
| +{this._eventSupport.addEventListener(eventType,listener,thisObject);},removeEventListener:function(eventType,listener,thisObject)
|
| +{this._eventSupport.removeEventListener(eventType,listener,thisObject);},get rootDOMNode()
|
| +{return this._rootDOMNode;},set rootDOMNode(x)
|
| +{if(this._rootDOMNode===x)
|
| +return;this._rootDOMNode=x;this._isXMLMimeType=x&&x.isXMLNode();this.update();},get isXMLMimeType()
|
| +{return this._isXMLMimeType;},selectedDOMNode:function()
|
| +{return this._selectedDOMNode;},selectDOMNode:function(node,focus)
|
| +{if(this._selectedDOMNode===node){this._revealAndSelectNode(node,!focus);return;}
|
| +this._selectedDOMNode=node;this._revealAndSelectNode(node,!focus);if(this._selectedDOMNode===node)
|
| +this._selectedNodeChanged();},editing:function()
|
| +{var node=this.selectedDOMNode();if(!node)
|
| +return false;var treeElement=this.findTreeElement(node);if(!treeElement)
|
| +return false;return treeElement._editing||false;},update:function()
|
| +{var selectedNode=this.selectedTreeElement?this.selectedTreeElement._node:null;this.removeChildren();if(!this.rootDOMNode)
|
| +return;var treeElement;if(this._includeRootDOMNode){treeElement=new WebInspector.ElementsTreeElement(this.rootDOMNode);treeElement.selectable=this._selectEnabled;this.appendChild(treeElement);}else{var node=this.rootDOMNode.firstChild;while(node){treeElement=new WebInspector.ElementsTreeElement(node);treeElement.selectable=this._selectEnabled;this.appendChild(treeElement);node=node.nextSibling;}}
|
| +if(selectedNode)
|
| +this._revealAndSelectNode(selectedNode,true);},updateSelection:function()
|
| +{if(!this.selectedTreeElement)
|
| +return;var element=this.treeOutline.selectedTreeElement;element.updateSelection();},updateOpenCloseTags:function(node)
|
| +{var treeElement=this.findTreeElement(node);if(treeElement)
|
| +treeElement.updateTitle();var children=treeElement.children;var closingTagElement=children[children.length-1];if(closingTagElement&&closingTagElement._elementCloseTag)
|
| +closingTagElement.updateTitle();},_selectedNodeChanged:function()
|
| +{this._eventSupport.dispatchEventToListeners(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged,this._selectedDOMNode);},_fireElementsTreeUpdated:function(nodes)
|
| +{this._eventSupport.dispatchEventToListeners(WebInspector.ElementsTreeOutline.Events.ElementsTreeUpdated,nodes);},findTreeElement:function(node)
|
| +{function isAncestorNode(ancestor,node)
|
| +{return ancestor.isAncestor(node);}
|
| +function parentNode(node)
|
| +{return node.parentNode;}
|
| +var treeElement=TreeOutline.prototype.findTreeElement.call(this,node,isAncestorNode,parentNode);if(!treeElement&&node.nodeType()===Node.TEXT_NODE){treeElement=TreeOutline.prototype.findTreeElement.call(this,node.parentNode,isAncestorNode,parentNode);}
|
| +return treeElement;},createTreeElementFor:function(node)
|
| +{var treeElement=this.findTreeElement(node);if(treeElement)
|
| +return treeElement;if(!node.parentNode)
|
| +return null;treeElement=this.createTreeElementFor(node.parentNode);return treeElement?treeElement._showChild(node):null;},set suppressRevealAndSelect(x)
|
| +{if(this._suppressRevealAndSelect===x)
|
| +return;this._suppressRevealAndSelect=x;},_revealAndSelectNode:function(node,omitFocus)
|
| +{if(this._suppressRevealAndSelect)
|
| +return;if(!this._includeRootDOMNode&&node===this.rootDOMNode&&this.rootDOMNode)
|
| +node=this.rootDOMNode.firstChild;if(!node)
|
| +return;var treeElement=this.createTreeElementFor(node);if(!treeElement)
|
| +return;treeElement.revealAndSelect(omitFocus);},_treeElementFromEvent:function(event)
|
| +{var scrollContainer=this.element.parentElement;var x=scrollContainer.totalOffsetLeft()+scrollContainer.offsetWidth-36;var y=event.pageY;var elementUnderMouse=this.treeElementFromPoint(x,y);var elementAboveMouse=this.treeElementFromPoint(x,y-2);var element;if(elementUnderMouse===elementAboveMouse)
|
| +element=elementUnderMouse;else
|
| +element=this.treeElementFromPoint(x,y+2);return element;},_onmousedown:function(event)
|
| +{var element=this._treeElementFromEvent(event);if(!element||element.isEventWithinDisclosureTriangle(event))
|
| +return;element.select();},_onmousemove:function(event)
|
| +{var element=this._treeElementFromEvent(event);if(element&&this._previousHoveredElement===element)
|
| +return;if(this._previousHoveredElement){this._previousHoveredElement.hovered=false;delete this._previousHoveredElement;}
|
| +if(element){element.hovered=true;this._previousHoveredElement=element;}
|
| +WebInspector.domModel.highlightDOMNode(element&&element._node?element._node.id:0);},_onmouseout:function(event)
|
| +{var nodeUnderMouse=document.elementFromPoint(event.pageX,event.pageY);if(nodeUnderMouse&&nodeUnderMouse.isDescendant(this.element))
|
| +return;if(this._previousHoveredElement){this._previousHoveredElement.hovered=false;delete this._previousHoveredElement;}
|
| +WebInspector.domModel.hideDOMNodeHighlight();},_ondragstart:function(event)
|
| +{if(!window.getSelection().isCollapsed)
|
| +return false;if(event.target.nodeName==="A")
|
| +return false;var treeElement=this._treeElementFromEvent(event);if(!treeElement)
|
| +return false;if(!this._isValidDragSourceOrTarget(treeElement))
|
| +return false;if(treeElement._node.nodeName()==="BODY"||treeElement._node.nodeName()==="HEAD")
|
| +return false;event.dataTransfer.setData("text/plain",treeElement.listItemElement.textContent);event.dataTransfer.effectAllowed="copyMove";this._treeElementBeingDragged=treeElement;WebInspector.domModel.hideDOMNodeHighlight();return true;},_ondragover:function(event)
|
| +{if(!this._treeElementBeingDragged)
|
| +return false;var treeElement=this._treeElementFromEvent(event);if(!this._isValidDragSourceOrTarget(treeElement))
|
| +return false;var node=treeElement._node;while(node){if(node===this._treeElementBeingDragged._node)
|
| +return false;node=node.parentNode;}
|
| +treeElement.updateSelection();treeElement.listItemElement.classList.add("elements-drag-over");this._dragOverTreeElement=treeElement;event.preventDefault();event.dataTransfer.dropEffect='move';return false;},_ondragleave:function(event)
|
| +{this._clearDragOverTreeElementMarker();event.preventDefault();return false;},_isValidDragSourceOrTarget:function(treeElement)
|
| +{if(!treeElement)
|
| +return false;var node=treeElement.representedObject;if(!(node instanceof WebInspector.DOMNode))
|
| +return false;if(!node.parentNode||node.parentNode.nodeType()!==Node.ELEMENT_NODE)
|
| +return false;return true;},_ondrop:function(event)
|
| +{event.preventDefault();var treeElement=this._treeElementFromEvent(event);if(treeElement)
|
| +this._doMove(treeElement);},_doMove:function(treeElement)
|
| +{if(!this._treeElementBeingDragged)
|
| +return;var parentNode;var anchorNode;if(treeElement._elementCloseTag){parentNode=treeElement._node;}else{var dragTargetNode=treeElement._node;parentNode=dragTargetNode.parentNode;anchorNode=dragTargetNode;}
|
| +var wasExpanded=this._treeElementBeingDragged.expanded;this._treeElementBeingDragged._node.moveTo(parentNode,anchorNode,this._selectNodeAfterEdit.bind(this,wasExpanded));delete this._treeElementBeingDragged;},_ondragend:function(event)
|
| +{event.preventDefault();this._clearDragOverTreeElementMarker();delete this._treeElementBeingDragged;},_clearDragOverTreeElementMarker:function()
|
| +{if(this._dragOverTreeElement){this._dragOverTreeElement.updateSelection();this._dragOverTreeElement.listItemElement.classList.remove("elements-drag-over");delete this._dragOverTreeElement;}},_onkeydown:function(event)
|
| +{var keyboardEvent=(event);var node=(this.selectedDOMNode());console.assert(node);var treeElement=this.getCachedTreeElement(node);if(!treeElement)
|
| +return;if(!treeElement._editing&&WebInspector.KeyboardShortcut.hasNoModifiers(keyboardEvent)&&keyboardEvent.keyCode===WebInspector.KeyboardShortcut.Keys.H.code){this._toggleHideShortcut(node);event.consume(true);return;}},_contextMenuEventFired:function(event)
|
| +{var treeElement=this._treeElementFromEvent(event);if(!treeElement)
|
| +return;var contextMenu=new WebInspector.ContextMenu(event);contextMenu.appendApplicableItems(treeElement._node);contextMenu.show();},populateContextMenu:function(contextMenu,event)
|
| +{var treeElement=this._treeElementFromEvent(event);if(!treeElement)
|
| +return;var isPseudoElement=!!treeElement._node.pseudoType();var isTag=treeElement._node.nodeType()===Node.ELEMENT_NODE&&!isPseudoElement;var textNode=event.target.enclosingNodeOrSelfWithClass("webkit-html-text-node");if(textNode&&textNode.classList.contains("bogus"))
|
| +textNode=null;var commentNode=event.target.enclosingNodeOrSelfWithClass("webkit-html-comment");contextMenu.appendApplicableItems(event.target);if(textNode){contextMenu.appendSeparator();treeElement._populateTextContextMenu(contextMenu,textNode);}else if(isTag){contextMenu.appendSeparator();treeElement._populateTagContextMenu(contextMenu,event);}else if(commentNode){contextMenu.appendSeparator();treeElement._populateNodeContextMenu(contextMenu,textNode);}else if(isPseudoElement){treeElement._populateScrollIntoView(contextMenu);}else if(treeElement._node.isShadowRoot()){this.treeOutline._populateContextMenu(contextMenu,treeElement._node);}},_updateModifiedNodes:function()
|
| +{if(this._elementsTreeUpdater)
|
| +this._elementsTreeUpdater._updateModifiedNodes();},_populateContextMenu:function(contextMenu,node)
|
| +{if(this._contextMenuCallback)
|
| +this._contextMenuCallback(contextMenu,node);},handleShortcut:function(event)
|
| +{var node=this.selectedDOMNode();var treeElement=this.getCachedTreeElement(node);if(!node||!treeElement)
|
| +return;if(event.keyIdentifier==="F2"&&treeElement.hasEditableNode()){this._toggleEditAsHTML(node);event.handled=true;return;}
|
| +if(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)&&node.parentNode){if(event.keyIdentifier==="Up"&&node.previousSibling){node.moveTo(node.parentNode,node.previousSibling,this._selectNodeAfterEdit.bind(this,treeElement.expanded));event.handled=true;return;}
|
| +if(event.keyIdentifier==="Down"&&node.nextSibling){node.moveTo(node.parentNode,node.nextSibling.nextSibling,this._selectNodeAfterEdit.bind(this,treeElement.expanded));event.handled=true;return;}}},_toggleEditAsHTML:function(node)
|
| +{var treeElement=this.getCachedTreeElement(node);if(!treeElement)
|
| +return;if(treeElement._editing&&treeElement._htmlEditElement&&WebInspector.isBeingEdited(treeElement._htmlEditElement))
|
| +treeElement._editing.commit();else
|
| +treeElement._editAsHTML();},_selectNodeAfterEdit:function(wasExpanded,error,nodeId)
|
| +{if(error)
|
| +return;this._updateModifiedNodes();var newNode=nodeId?WebInspector.domModel.nodeForId(nodeId):null;if(!newNode)
|
| +return;this.selectDOMNode(newNode,true);var newTreeItem=this.findTreeElement(newNode);if(wasExpanded){if(newTreeItem)
|
| +newTreeItem.expand();}
|
| +return newTreeItem;},_toggleHideShortcut:function(node,userCallback)
|
| +{var pseudoType=node.pseudoType();var effectiveNode=pseudoType?node.parentNode:node;if(!effectiveNode)
|
| +return;function resolvedNode(object)
|
| +{if(!object)
|
| +return;function toggleClassAndInjectStyleRule(pseudoType)
|
| +{const classNamePrefix="__web-inspector-hide";const classNameSuffix="-shortcut__";const styleTagId="__web-inspector-hide-shortcut-style__";const styleRules=".__web-inspector-hide-shortcut__, .__web-inspector-hide-shortcut__ * { visibility: hidden !important; } .__web-inspector-hidebefore-shortcut__::before { visibility: hidden !important; } .__web-inspector-hideafter-shortcut__::after { visibility: hidden !important; }";var className=classNamePrefix+(pseudoType||"")+classNameSuffix;this.classList.toggle(className);var style=document.head.querySelector("style#"+styleTagId);if(style)
|
| +return;style=document.createElement("style");style.id=styleTagId;style.type="text/css";style.textContent=styleRules;document.head.appendChild(style);}
|
| +object.callFunction(toggleClassAndInjectStyleRule,[{value:pseudoType}],userCallback);object.release();}
|
| +WebInspector.RemoteObject.resolveNode(effectiveNode,"",resolvedNode);},__proto__:TreeOutline.prototype}
|
| +WebInspector.ElementsTreeOutline.ElementDecorator=function()
|
| +{}
|
| +WebInspector.ElementsTreeOutline.ElementDecorator.prototype={decorate:function(node)
|
| +{},decorateAncestor:function(node)
|
| +{}}
|
| +WebInspector.ElementsTreeOutline.PseudoStateDecorator=function()
|
| +{WebInspector.ElementsTreeOutline.ElementDecorator.call(this);}
|
| +WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName="pseudoState";WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype={decorate:function(node)
|
| +{if(node.nodeType()!==Node.ELEMENT_NODE)
|
| +return null;var propertyValue=node.getUserProperty(WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName);if(!propertyValue)
|
| +return null;return WebInspector.UIString("Element state: %s",":"+propertyValue.join(", :"));},decorateAncestor:function(node)
|
| +{if(node.nodeType()!==Node.ELEMENT_NODE)
|
| +return null;var descendantCount=node.descendantUserPropertyCount(WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName);if(!descendantCount)
|
| +return null;if(descendantCount===1)
|
| +return WebInspector.UIString("%d descendant with forced state",descendantCount);return WebInspector.UIString("%d descendants with forced state",descendantCount);}}
|
| +WebInspector.ElementsTreeElement=function(node,elementCloseTag)
|
| +{TreeElement.call(this,"",node);this._node=node;this._elementCloseTag=elementCloseTag;this._updateHasChildren();if(this._node.nodeType()==Node.ELEMENT_NODE&&!elementCloseTag)
|
| +this._canAddAttributes=true;this._searchQuery=null;this._expandedChildrenLimit=WebInspector.ElementsTreeElement.InitialChildrenLimit;}
|
| +WebInspector.ElementsTreeElement.InitialChildrenLimit=500;WebInspector.ElementsTreeElement.ForbiddenClosingTagElements=["area","base","basefont","br","canvas","col","command","embed","frame","hr","img","input","keygen","link","meta","param","source"].keySet();WebInspector.ElementsTreeElement.EditTagBlacklist=["html","head","body"].keySet();WebInspector.ElementsTreeElement.prototype={highlightSearchResults:function(searchQuery)
|
| +{if(this._searchQuery!==searchQuery){this._updateSearchHighlight(false);delete this._highlightResult;}
|
| +this._searchQuery=searchQuery;this._searchHighlightsVisible=true;this.updateTitle(true);},hideSearchHighlights:function()
|
| +{delete this._searchHighlightsVisible;this._updateSearchHighlight(false);},_updateSearchHighlight:function(show)
|
| +{if(!this._highlightResult)
|
| +return;function updateEntryShow(entry)
|
| +{switch(entry.type){case"added":entry.parent.insertBefore(entry.node,entry.nextSibling);break;case"changed":entry.node.textContent=entry.newText;break;}}
|
| +function updateEntryHide(entry)
|
| +{switch(entry.type){case"added":entry.node.remove();break;case"changed":entry.node.textContent=entry.oldText;break;}}
|
| +if(show){for(var i=0,size=this._highlightResult.length;i<size;++i)
|
| +updateEntryShow(this._highlightResult[i]);}else{for(var i=(this._highlightResult.length-1);i>=0;--i)
|
| +updateEntryHide(this._highlightResult[i]);}},get hovered()
|
| +{return this._hovered;},set hovered(x)
|
| +{if(this._hovered===x)
|
| +return;this._hovered=x;if(this.listItemElement){if(x){this.updateSelection();this.listItemElement.classList.add("hovered");}else{this.listItemElement.classList.remove("hovered");}}},get expandedChildrenLimit()
|
| +{return this._expandedChildrenLimit;},set expandedChildrenLimit(x)
|
| +{if(this._expandedChildrenLimit===x)
|
| +return;this._expandedChildrenLimit=x;if(this.treeOutline&&!this._updateChildrenInProgress)
|
| +this._updateChildren(true);},get expandedChildCount()
|
| +{var count=this.children.length;if(count&&this.children[count-1]._elementCloseTag)
|
| +count--;if(count&&this.children[count-1].expandAllButton)
|
| +count--;return count;},_showChild:function(child)
|
| +{if(this._elementCloseTag)
|
| +return null;var index=this._visibleChildren().indexOf(child);if(index===-1)
|
| +return null;if(index>=this.expandedChildrenLimit){this._expandedChildrenLimit=index+1;this._updateChildren(true);}
|
| +return this.expandedChildCount>index?this.children[index]:null;},updateSelection:function()
|
| +{var listItemElement=this.listItemElement;if(!listItemElement)
|
| +return;if(!this._readyToUpdateSelection){if(document.body.offsetWidth>0)
|
| +this._readyToUpdateSelection=true;else{return;}}
|
| +if(!this.selectionElement){this.selectionElement=document.createElement("div");this.selectionElement.className="selection selected";listItemElement.insertBefore(this.selectionElement,listItemElement.firstChild);}
|
| +this.selectionElement.style.height=listItemElement.offsetHeight+"px";},onattach:function()
|
| +{if(this._hovered){this.updateSelection();this.listItemElement.classList.add("hovered");}
|
| +this.updateTitle();this._preventFollowingLinksOnDoubleClick();this.listItemElement.draggable=true;},_preventFollowingLinksOnDoubleClick:function()
|
| +{var links=this.listItemElement.querySelectorAll("li .webkit-html-tag > .webkit-html-attribute > .webkit-html-external-link, li .webkit-html-tag > .webkit-html-attribute > .webkit-html-resource-link");if(!links)
|
| +return;for(var i=0;i<links.length;++i)
|
| +links[i].preventFollowOnDoubleClick=true;},onpopulate:function()
|
| +{if(this.children.length||this._showInlineText()||this._elementCloseTag)
|
| +return;this.updateChildren();},updateChildren:function(fullRefresh)
|
| +{if(this._elementCloseTag)
|
| +return;this._node.getChildNodes(this._updateChildren.bind(this,fullRefresh));},insertChildElement:function(child,index,closingTag)
|
| +{var newElement=new WebInspector.ElementsTreeElement(child,closingTag);newElement.selectable=this.treeOutline._selectEnabled;this.insertChild(newElement,index);return newElement;},moveChild:function(child,targetIndex)
|
| +{var wasSelected=child.selected;this.removeChild(child);this.insertChild(child,targetIndex);if(wasSelected)
|
| +child.select();},_updateChildren:function(fullRefresh)
|
| +{if(this._updateChildrenInProgress||!this.treeOutline._visible)
|
| +return;this._updateChildrenInProgress=true;var selectedNode=this.treeOutline.selectedDOMNode();var originalScrollTop=0;if(fullRefresh){var treeOutlineContainerElement=this.treeOutline.element.parentNode;originalScrollTop=treeOutlineContainerElement.scrollTop;var selectedTreeElement=this.treeOutline.selectedTreeElement;if(selectedTreeElement&&selectedTreeElement.hasAncestor(this))
|
| +this.select();this.removeChildren();}
|
| +function updateChildrenOfNode()
|
| +{var treeOutline=this.treeOutline;var visibleChildren=this._visibleChildren();var treeChildIndex=0;var elementToSelect=null;for(var i=0;i<visibleChildren.length;++i){var child=visibleChildren[i];var currentTreeElement=this.children[treeChildIndex];if(!currentTreeElement||currentTreeElement._node!==child){var existingTreeElement=null;for(var j=(treeChildIndex+1),size=this.expandedChildCount;j<size;++j){if(this.children[j]._node===child){existingTreeElement=this.children[j];break;}}
|
| +if(existingTreeElement&&existingTreeElement.parent===this){this.moveChild(existingTreeElement,treeChildIndex);}else{if(treeChildIndex<this.expandedChildrenLimit){var newElement=this.insertChildElement(child,treeChildIndex);if(child===selectedNode)
|
| +elementToSelect=newElement;if(this.expandedChildCount>this.expandedChildrenLimit)
|
| +this.expandedChildrenLimit++;}}}
|
| +++treeChildIndex;}
|
| +return elementToSelect;}
|
| +for(var i=(this.children.length-1);i>=0;--i){var currentChild=this.children[i];var currentNode=currentChild._node;if(!currentNode)
|
| +continue;var currentParentNode=currentNode.parentNode;if(currentParentNode===this._node)
|
| +continue;var selectedTreeElement=this.treeOutline.selectedTreeElement;if(selectedTreeElement&&(selectedTreeElement===currentChild||selectedTreeElement.hasAncestor(currentChild)))
|
| +this.select();this.removeChildAtIndex(i);}
|
| +var elementToSelect=updateChildrenOfNode.call(this);this.updateTitle();this._adjustCollapsedRange();var lastChild=this.children[this.children.length-1];if(this._node.nodeType()==Node.ELEMENT_NODE&&(!lastChild||!lastChild._elementCloseTag))
|
| +this.insertChildElement(this._node,this.children.length,true);if(fullRefresh&&elementToSelect){elementToSelect.select();if(treeOutlineContainerElement&&originalScrollTop<=treeOutlineContainerElement.scrollHeight)
|
| +treeOutlineContainerElement.scrollTop=originalScrollTop;}
|
| +delete this._updateChildrenInProgress;},_adjustCollapsedRange:function()
|
| +{var visibleChildren=this._visibleChildren();if(this.expandAllButtonElement&&this.expandAllButtonElement.__treeElement.parent)
|
| +this.removeChild(this.expandAllButtonElement.__treeElement);const childNodeCount=visibleChildren.length;for(var i=this.expandedChildCount,limit=Math.min(this.expandedChildrenLimit,childNodeCount);i<limit;++i)
|
| +this.insertChildElement(visibleChildren[i],i);const expandedChildCount=this.expandedChildCount;if(childNodeCount>this.expandedChildCount){var targetButtonIndex=expandedChildCount;if(!this.expandAllButtonElement){var button=document.createElement("button");button.className="show-all-nodes";button.value="";var item=new TreeElement(button,null,false);item.selectable=false;item.expandAllButton=true;this.insertChild(item,targetButtonIndex);this.expandAllButtonElement=item.listItemElement.firstChild;this.expandAllButtonElement.__treeElement=item;this.expandAllButtonElement.addEventListener("click",this.handleLoadAllChildren.bind(this),false);}else if(!this.expandAllButtonElement.__treeElement.parent)
|
| +this.insertChild(this.expandAllButtonElement.__treeElement,targetButtonIndex);this.expandAllButtonElement.textContent=WebInspector.UIString("Show All Nodes (%d More)",childNodeCount-expandedChildCount);}else if(this.expandAllButtonElement)
|
| +delete this.expandAllButtonElement;},handleLoadAllChildren:function()
|
| +{this.expandedChildrenLimit=Math.max(this._visibleChildCount(),this.expandedChildrenLimit+WebInspector.ElementsTreeElement.InitialChildrenLimit);},expandRecursively:function()
|
| +{function callback()
|
| +{TreeElement.prototype.expandRecursively.call(this,Number.MAX_VALUE);}
|
| +this._node.getSubtree(-1,callback.bind(this));},onexpand:function()
|
| +{if(this._elementCloseTag)
|
| +return;this.updateTitle();this.treeOutline.updateSelection();},oncollapse:function()
|
| +{if(this._elementCloseTag)
|
| +return;this.updateTitle();this.treeOutline.updateSelection();},onreveal:function()
|
| +{if(this.listItemElement){var tagSpans=this.listItemElement.getElementsByClassName("webkit-html-tag-name");if(tagSpans.length)
|
| +tagSpans[0].scrollIntoViewIfNeeded(true);else
|
| +this.listItemElement.scrollIntoViewIfNeeded(true);}},onselect:function(selectedByUser)
|
| +{this.treeOutline.suppressRevealAndSelect=true;this.treeOutline.selectDOMNode(this._node,selectedByUser);if(selectedByUser)
|
| +WebInspector.domModel.highlightDOMNode(this._node.id);this.updateSelection();this.treeOutline.suppressRevealAndSelect=false;return true;},ondelete:function()
|
| +{var startTagTreeElement=this.treeOutline.findTreeElement(this._node);startTagTreeElement?startTagTreeElement.remove():this.remove();return true;},onenter:function()
|
| +{if(this._editing)
|
| +return false;this._startEditing();return true;},selectOnMouseDown:function(event)
|
| +{TreeElement.prototype.selectOnMouseDown.call(this,event);if(this._editing)
|
| +return;if(this.treeOutline._showInElementsPanelEnabled){WebInspector.inspectorView.showPanel("elements");this.treeOutline.selectDOMNode(this._node,true);}
|
| +if(event.detail>=2)
|
| +event.preventDefault();},ondblclick:function(event)
|
| +{if(this._editing||this._elementCloseTag)
|
| +return false;if(this._startEditingTarget(event.target))
|
| +return false;if(this.hasChildren&&!this.expanded)
|
| +this.expand();return false;},hasEditableNode:function()
|
| +{return!this.representedObject.isShadowRoot()&&!this.representedObject.ancestorUserAgentShadowRoot();},_insertInLastAttributePosition:function(tag,node)
|
| +{if(tag.getElementsByClassName("webkit-html-attribute").length>0)
|
| +tag.insertBefore(node,tag.lastChild);else{var nodeName=tag.textContent.match(/^<(.*?)>$/)[1];tag.textContent='';tag.appendChild(document.createTextNode('<'+nodeName));tag.appendChild(node);tag.appendChild(document.createTextNode('>'));}
|
| +this.updateSelection();},_startEditingTarget:function(eventTarget)
|
| +{if(this.treeOutline.selectedDOMNode()!=this._node)
|
| +return;if(this._node.nodeType()!=Node.ELEMENT_NODE&&this._node.nodeType()!=Node.TEXT_NODE)
|
| +return false;var textNode=eventTarget.enclosingNodeOrSelfWithClass("webkit-html-text-node");if(textNode)
|
| +return this._startEditingTextNode(textNode);var attribute=eventTarget.enclosingNodeOrSelfWithClass("webkit-html-attribute");if(attribute)
|
| +return this._startEditingAttribute(attribute,eventTarget);var tagName=eventTarget.enclosingNodeOrSelfWithClass("webkit-html-tag-name");if(tagName)
|
| +return this._startEditingTagName(tagName);var newAttribute=eventTarget.enclosingNodeOrSelfWithClass("add-attribute");if(newAttribute)
|
| +return this._addNewAttribute();return false;},_populateTagContextMenu:function(contextMenu,event)
|
| +{var treeElement=this._elementCloseTag?this.treeOutline.findTreeElement(this._node):this;contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Add attribute":"Add Attribute"),treeElement._addNewAttribute.bind(treeElement));var attribute=event.target.enclosingNodeOrSelfWithClass("webkit-html-attribute");var newAttribute=event.target.enclosingNodeOrSelfWithClass("add-attribute");if(attribute&&!newAttribute)
|
| +contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Edit attribute":"Edit Attribute"),this._startEditingAttribute.bind(this,attribute,event.target));contextMenu.appendSeparator();if(this.treeOutline._setPseudoClassCallback){var pseudoSubMenu=contextMenu.appendSubMenuItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Force element state":"Force Element State"));this._populateForcedPseudoStateItems(pseudoSubMenu);contextMenu.appendSeparator();}
|
| +this._populateNodeContextMenu(contextMenu);this.treeOutline._populateContextMenu(contextMenu,this._node);this._populateScrollIntoView(contextMenu);},_populateScrollIntoView:function(contextMenu)
|
| +{contextMenu.appendSeparator();contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Scroll into view":"Scroll into View"),this._scrollIntoView.bind(this));},_populateForcedPseudoStateItems:function(subMenu)
|
| +{const pseudoClasses=["active","hover","focus","visited"];var node=this._node;var forcedPseudoState=(node?node.getUserProperty("pseudoState"):null)||[];for(var i=0;i<pseudoClasses.length;++i){var pseudoClassForced=forcedPseudoState.indexOf(pseudoClasses[i])>=0;subMenu.appendCheckboxItem(":"+pseudoClasses[i],this.treeOutline._setPseudoClassCallback.bind(null,node.id,pseudoClasses[i],!pseudoClassForced),pseudoClassForced,false);}},_populateTextContextMenu:function(contextMenu,textNode)
|
| +{contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Edit text":"Edit Text"),this._startEditingTextNode.bind(this,textNode));this._populateNodeContextMenu(contextMenu);},_populateNodeContextMenu:function(contextMenu)
|
| +{var openTagElement=this.treeOutline.getCachedTreeElement(this.representedObject)||this;var isEditable=this.hasEditableNode();if(isEditable)
|
| +contextMenu.appendItem(WebInspector.UIString("Edit as HTML"),openTagElement._editAsHTML.bind(openTagElement));var isShadowRoot=this.representedObject.isShadowRoot();if(!isShadowRoot)
|
| +contextMenu.appendItem(WebInspector.UIString("Copy as HTML"),this._copyHTML.bind(this));if(this.representedObject.nodeType()===Node.ELEMENT_NODE)
|
| +contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Copy CSS path":"Copy CSS Path"),this._copyCSSPath.bind(this));if(!isShadowRoot)
|
| +contextMenu.appendItem(WebInspector.UIString("Copy XPath"),this._copyXPath.bind(this));if(isEditable)
|
| +contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Delete node":"Delete Node"),this.remove.bind(this));},_startEditing:function()
|
| +{if(this.treeOutline.selectedDOMNode()!==this._node)
|
| +return;var listItem=this._listItemNode;if(this._canAddAttributes){var attribute=listItem.getElementsByClassName("webkit-html-attribute")[0];if(attribute)
|
| +return this._startEditingAttribute(attribute,attribute.getElementsByClassName("webkit-html-attribute-value")[0]);return this._addNewAttribute();}
|
| +if(this._node.nodeType()===Node.TEXT_NODE){var textNode=listItem.getElementsByClassName("webkit-html-text-node")[0];if(textNode)
|
| +return this._startEditingTextNode(textNode);return;}},_addNewAttribute:function()
|
| +{var container=document.createElement("span");this._buildAttributeDOM(container," ","");var attr=container.firstElementChild;attr.style.marginLeft="2px";attr.style.marginRight="2px";var tag=this.listItemElement.getElementsByClassName("webkit-html-tag")[0];this._insertInLastAttributePosition(tag,attr);attr.scrollIntoViewIfNeeded(true);return this._startEditingAttribute(attr,attr);},_triggerEditAttribute:function(attributeName)
|
| +{var attributeElements=this.listItemElement.getElementsByClassName("webkit-html-attribute-name");for(var i=0,len=attributeElements.length;i<len;++i){if(attributeElements[i].textContent===attributeName){for(var elem=attributeElements[i].nextSibling;elem;elem=elem.nextSibling){if(elem.nodeType!==Node.ELEMENT_NODE)
|
| +continue;if(elem.classList.contains("webkit-html-attribute-value"))
|
| +return this._startEditingAttribute(elem.parentNode,elem);}}}},_startEditingAttribute:function(attribute,elementForSelection)
|
| +{if(WebInspector.isBeingEdited(attribute))
|
| +return true;var attributeNameElement=attribute.getElementsByClassName("webkit-html-attribute-name")[0];if(!attributeNameElement)
|
| +return false;var attributeName=attributeNameElement.textContent;var attributeValueElement=attribute.getElementsByClassName("webkit-html-attribute-value")[0];function removeZeroWidthSpaceRecursive(node)
|
| +{if(node.nodeType===Node.TEXT_NODE){node.nodeValue=node.nodeValue.replace(/\u200B/g,"");return;}
|
| +if(node.nodeType!==Node.ELEMENT_NODE)
|
| +return;for(var child=node.firstChild;child;child=child.nextSibling)
|
| +removeZeroWidthSpaceRecursive(child);}
|
| +var domNode;var listItemElement=attribute.enclosingNodeOrSelfWithNodeName("li");if(attributeName&&attributeValueElement&&listItemElement&&listItemElement.treeElement)
|
| +domNode=listItemElement.treeElement.representedObject;var attributeValue=domNode?domNode.getAttribute(attributeName):undefined;if(typeof attributeValue!=="undefined")
|
| +attributeValueElement.textContent=attributeValue;removeZeroWidthSpaceRecursive(attribute);var config=new WebInspector.InplaceEditor.Config(this._attributeEditingCommitted.bind(this),this._editingCancelled.bind(this),attributeName);function handleKeyDownEvents(event)
|
| +{var isMetaOrCtrl=WebInspector.isMac()?event.metaKey&&!event.shiftKey&&!event.ctrlKey&&!event.altKey:event.ctrlKey&&!event.shiftKey&&!event.metaKey&&!event.altKey;if(isEnterKey(event)&&(event.isMetaOrCtrlForTest||!config.multiline||isMetaOrCtrl))
|
| +return"commit";else if(event.keyCode===WebInspector.KeyboardShortcut.Keys.Esc.code||event.keyIdentifier==="U+001B")
|
| +return"cancel";else if(event.keyIdentifier==="U+0009")
|
| +return"move-"+(event.shiftKey?"backward":"forward");else{WebInspector.handleElementValueModifications(event,attribute);return"";}}
|
| +config.customFinishHandler=handleKeyDownEvents;this._editing=WebInspector.InplaceEditor.startEditing(attribute,config);window.getSelection().setBaseAndExtent(elementForSelection,0,elementForSelection,1);return true;},_startEditingTextNode:function(textNodeElement)
|
| +{if(WebInspector.isBeingEdited(textNodeElement))
|
| +return true;var textNode=this._node;if(textNode.nodeType()===Node.ELEMENT_NODE&&textNode.firstChild)
|
| +textNode=textNode.firstChild;var container=textNodeElement.enclosingNodeOrSelfWithClass("webkit-html-text-node");if(container)
|
| +container.textContent=textNode.nodeValue();var config=new WebInspector.InplaceEditor.Config(this._textNodeEditingCommitted.bind(this,textNode),this._editingCancelled.bind(this));this._editing=WebInspector.InplaceEditor.startEditing(textNodeElement,config);window.getSelection().setBaseAndExtent(textNodeElement,0,textNodeElement,1);return true;},_startEditingTagName:function(tagNameElement)
|
| +{if(!tagNameElement){tagNameElement=this.listItemElement.getElementsByClassName("webkit-html-tag-name")[0];if(!tagNameElement)
|
| +return false;}
|
| +var tagName=tagNameElement.textContent;if(WebInspector.ElementsTreeElement.EditTagBlacklist[tagName.toLowerCase()])
|
| +return false;if(WebInspector.isBeingEdited(tagNameElement))
|
| +return true;var closingTagElement=this._distinctClosingTagElement();function keyupListener(event)
|
| +{if(closingTagElement)
|
| +closingTagElement.textContent="</"+tagNameElement.textContent+">";}
|
| +function editingComitted(element,newTagName)
|
| +{tagNameElement.removeEventListener('keyup',keyupListener,false);this._tagNameEditingCommitted.apply(this,arguments);}
|
| +function editingCancelled()
|
| +{tagNameElement.removeEventListener('keyup',keyupListener,false);this._editingCancelled.apply(this,arguments);}
|
| +tagNameElement.addEventListener('keyup',keyupListener,false);var config=new WebInspector.InplaceEditor.Config(editingComitted.bind(this),editingCancelled.bind(this),tagName);this._editing=WebInspector.InplaceEditor.startEditing(tagNameElement,config);window.getSelection().setBaseAndExtent(tagNameElement,0,tagNameElement,1);return true;},_startEditingAsHTML:function(commitCallback,error,initialValue)
|
| +{if(error)
|
| +return;if(this._editing)
|
| +return;function consume(event)
|
| +{if(event.eventPhase===Event.AT_TARGET)
|
| +event.consume(true);}
|
| +initialValue=this._convertWhitespaceToEntities(initialValue).text;this._htmlEditElement=document.createElement("div");this._htmlEditElement.className="source-code elements-tree-editor";var child=this.listItemElement.firstChild;while(child){child.style.display="none";child=child.nextSibling;}
|
| +if(this._childrenListNode)
|
| +this._childrenListNode.style.display="none";this.listItemElement.appendChild(this._htmlEditElement);this.treeOutline.childrenListElement.parentElement.addEventListener("mousedown",consume,false);this.updateSelection();function commit(element,newValue)
|
| +{commitCallback(initialValue,newValue);dispose.call(this);}
|
| +function dispose()
|
| +{delete this._editing;delete this.treeOutline._multilineEditing;this.listItemElement.removeChild(this._htmlEditElement);delete this._htmlEditElement;if(this._childrenListNode)
|
| +this._childrenListNode.style.removeProperty("display");var child=this.listItemElement.firstChild;while(child){child.style.removeProperty("display");child=child.nextSibling;}
|
| +this.treeOutline.childrenListElement.parentElement.removeEventListener("mousedown",consume,false);this.updateSelection();this.treeOutline.element.focus();}
|
| +var config=new WebInspector.InplaceEditor.Config(commit.bind(this),dispose.bind(this));config.setMultilineOptions(initialValue,{name:"xml",htmlMode:true},"web-inspector-html",WebInspector.settings.domWordWrap.get(),true);this._editing=WebInspector.InplaceEditor.startEditing(this._htmlEditElement,config);this._editing.setWidth(this.treeOutline._visibleWidth);this.treeOutline._multilineEditing=this._editing;},_attributeEditingCommitted:function(element,newText,oldText,attributeName,moveDirection)
|
| +{delete this._editing;var treeOutline=this.treeOutline;function moveToNextAttributeIfNeeded(error)
|
| +{if(error)
|
| +this._editingCancelled(element,attributeName);if(!moveDirection)
|
| +return;treeOutline._updateModifiedNodes();var attributes=this._node.attributes();for(var i=0;i<attributes.length;++i){if(attributes[i].name!==attributeName)
|
| +continue;if(moveDirection==="backward"){if(i===0)
|
| +this._startEditingTagName();else
|
| +this._triggerEditAttribute(attributes[i-1].name);}else{if(i===attributes.length-1)
|
| +this._addNewAttribute();else
|
| +this._triggerEditAttribute(attributes[i+1].name);}
|
| +return;}
|
| +if(moveDirection==="backward"){if(newText===" "){if(attributes.length>0)
|
| +this._triggerEditAttribute(attributes[attributes.length-1].name);}else{if(attributes.length>1)
|
| +this._triggerEditAttribute(attributes[attributes.length-2].name);}}else if(moveDirection==="forward"){if(!/^\s*$/.test(newText))
|
| +this._addNewAttribute();else
|
| +this._startEditingTagName();}}
|
| +if(!attributeName.trim()&&!newText.trim()){element.remove();moveToNextAttributeIfNeeded.call(this);return;}
|
| +if(oldText!==newText){this._node.setAttribute(attributeName,newText,moveToNextAttributeIfNeeded.bind(this));return;}
|
| +this.updateTitle();moveToNextAttributeIfNeeded.call(this);},_tagNameEditingCommitted:function(element,newText,oldText,tagName,moveDirection)
|
| +{delete this._editing;var self=this;function cancel()
|
| +{var closingTagElement=self._distinctClosingTagElement();if(closingTagElement)
|
| +closingTagElement.textContent="</"+tagName+">";self._editingCancelled(element,tagName);moveToNextAttributeIfNeeded.call(self);}
|
| +function moveToNextAttributeIfNeeded()
|
| +{if(moveDirection!=="forward"){this._addNewAttribute();return;}
|
| +var attributes=this._node.attributes();if(attributes.length>0)
|
| +this._triggerEditAttribute(attributes[0].name);else
|
| +this._addNewAttribute();}
|
| +newText=newText.trim();if(newText===oldText){cancel();return;}
|
| +var treeOutline=this.treeOutline;var wasExpanded=this.expanded;function changeTagNameCallback(error,nodeId)
|
| +{if(error||!nodeId){cancel();return;}
|
| +var newTreeItem=treeOutline._selectNodeAfterEdit(wasExpanded,error,nodeId);moveToNextAttributeIfNeeded.call(newTreeItem);}
|
| +this._node.setNodeName(newText,changeTagNameCallback);},_textNodeEditingCommitted:function(textNode,element,newText)
|
| +{delete this._editing;function callback()
|
| +{this.updateTitle();}
|
| +textNode.setNodeValue(newText,callback.bind(this));},_editingCancelled:function(element,context)
|
| +{delete this._editing;this.updateTitle();},_distinctClosingTagElement:function()
|
| +{if(this.expanded){var closers=this._childrenListNode.querySelectorAll(".close");return closers[closers.length-1];}
|
| +var tags=this.listItemElement.getElementsByClassName("webkit-html-tag");return(tags.length===1?null:tags[tags.length-1]);},updateTitle:function(onlySearchQueryChanged)
|
| +{if(this._editing)
|
| +return;if(onlySearchQueryChanged){if(this._highlightResult)
|
| +this._updateSearchHighlight(false);}else{var nodeInfo=this._nodeTitleInfo(WebInspector.linkifyURLAsNode);if(nodeInfo.shadowRoot)
|
| +this.listItemElement.classList.add("shadow-root");var highlightElement=document.createElement("span");highlightElement.className="highlight";highlightElement.appendChild(nodeInfo.titleDOM);this.title=highlightElement;this._updateDecorations();delete this._highlightResult;}
|
| +delete this.selectionElement;if(this.selected)
|
| +this.updateSelection();this._preventFollowingLinksOnDoubleClick();this._highlightSearchResults();},_createDecoratorElement:function()
|
| +{var node=this._node;var decoratorMessages=[];var parentDecoratorMessages=[];for(var i=0;i<this.treeOutline._nodeDecorators.length;++i){var decorator=this.treeOutline._nodeDecorators[i];var message=decorator.decorate(node);if(message){decoratorMessages.push(message);continue;}
|
| +if(this.expanded||this._elementCloseTag)
|
| +continue;message=decorator.decorateAncestor(node);if(message)
|
| +parentDecoratorMessages.push(message)}
|
| +if(!decoratorMessages.length&&!parentDecoratorMessages.length)
|
| +return null;var decoratorElement=document.createElement("div");decoratorElement.classList.add("elements-gutter-decoration");if(!decoratorMessages.length)
|
| +decoratorElement.classList.add("elements-has-decorated-children");decoratorElement.title=decoratorMessages.concat(parentDecoratorMessages).join("\n");return decoratorElement;},_updateDecorations:function()
|
| +{if(this._decoratorElement)
|
| +this._decoratorElement.remove();this._decoratorElement=this._createDecoratorElement();if(this._decoratorElement&&this.listItemElement)
|
| +this.listItemElement.insertBefore(this._decoratorElement,this.listItemElement.firstChild);},_buildAttributeDOM:function(parentElement,name,value,forceValue,node,linkify)
|
| +{var closingPunctuationRegex=/[\/;:\)\]\}]/g;var highlightIndex=0;var highlightCount;var additionalHighlightOffset=0;var result;function replacer(match,replaceOffset){while(highlightIndex<highlightCount&&result.entityRanges[highlightIndex].offset<replaceOffset){result.entityRanges[highlightIndex].offset+=additionalHighlightOffset;++highlightIndex;}
|
| +additionalHighlightOffset+=1;return match+"\u200B";}
|
| +function setValueWithEntities(element,value)
|
| +{var attrValueElement=element.createChild("span","webkit-html-attribute-value");result=this._convertWhitespaceToEntities(value);highlightCount=result.entityRanges.length;value=result.text.replace(closingPunctuationRegex,replacer);while(highlightIndex<highlightCount){result.entityRanges[highlightIndex].offset+=additionalHighlightOffset;++highlightIndex;}
|
| +attrValueElement.textContent=value;WebInspector.highlightRangesWithStyleClass(attrValueElement,result.entityRanges,"webkit-html-entity-value");}
|
| +var hasText=(forceValue||value.length>0);var attrSpanElement=parentElement.createChild("span","webkit-html-attribute");var attrNameElement=attrSpanElement.createChild("span","webkit-html-attribute-name");attrNameElement.textContent=name;if(hasText)
|
| +attrSpanElement.appendChild(document.createTextNode("=\u200B\""));if(linkify&&(name==="src"||name==="href")){var rewrittenHref=node.resolveURL(value);if(rewrittenHref===null){setValueWithEntities.call(this,attrSpanElement,value);}else{value=value.replace(closingPunctuationRegex,"$&\u200B");if(value.startsWith("data:"))
|
| +value=value.trimMiddle(60);attrSpanElement.appendChild(linkify(rewrittenHref,value,"webkit-html-attribute-value",node.nodeName().toLowerCase()==="a"));}}else{setValueWithEntities.call(this,attrSpanElement,value);}
|
| +if(hasText)
|
| +attrSpanElement.appendChild(document.createTextNode("\""));},_buildPseudoElementDOM:function(parentElement,pseudoElementName)
|
| +{var pseudoElement=parentElement.createChild("span","webkit-html-pseudo-element");pseudoElement.textContent="::"+pseudoElementName;parentElement.appendChild(document.createTextNode("\u200B"));},_buildTagDOM:function(parentElement,tagName,isClosingTag,isDistinctTreeElement,linkify)
|
| +{var node=this._node;var classes=["webkit-html-tag"];if(isClosingTag&&isDistinctTreeElement)
|
| +classes.push("close");var tagElement=parentElement.createChild("span",classes.join(" "));tagElement.appendChild(document.createTextNode("<"));var tagNameElement=tagElement.createChild("span",isClosingTag?"":"webkit-html-tag-name");tagNameElement.textContent=(isClosingTag?"/":"")+tagName;if(!isClosingTag&&node.hasAttributes()){var attributes=node.attributes();for(var i=0;i<attributes.length;++i){var attr=attributes[i];tagElement.appendChild(document.createTextNode(" "));this._buildAttributeDOM(tagElement,attr.name,attr.value,false,node,linkify);}}
|
| +tagElement.appendChild(document.createTextNode(">"));parentElement.appendChild(document.createTextNode("\u200B"));},_convertWhitespaceToEntities:function(text)
|
| +{var result="";var resultLength=0;var lastIndexAfterEntity=0;var entityRanges=[];var charToEntity=WebInspector.ElementsTreeOutline.MappedCharToEntity;for(var i=0,size=text.length;i<size;++i){var char=text.charAt(i);if(charToEntity[char]){result+=text.substring(lastIndexAfterEntity,i);var entityValue="&"+charToEntity[char]+";";entityRanges.push({offset:result.length,length:entityValue.length});result+=entityValue;lastIndexAfterEntity=i+1;}}
|
| +if(result)
|
| +result+=text.substring(lastIndexAfterEntity);return{text:result||text,entityRanges:entityRanges};},_nodeTitleInfo:function(linkify)
|
| +{var node=this._node;var info={titleDOM:document.createDocumentFragment(),hasChildren:this.hasChildren};switch(node.nodeType()){case Node.ATTRIBUTE_NODE:this._buildAttributeDOM(info.titleDOM,node.name,node.value,true);break;case Node.ELEMENT_NODE:if(node.pseudoType()){this._buildPseudoElementDOM(info.titleDOM,node.pseudoType());info.hasChildren=false;break;}
|
| +var tagName=node.nodeNameInCorrectCase();if(this._elementCloseTag){this._buildTagDOM(info.titleDOM,tagName,true,true);info.hasChildren=false;break;}
|
| +this._buildTagDOM(info.titleDOM,tagName,false,false,linkify);var showInlineText=this._showInlineText()&&!this.hasChildren;if(!this.expanded&&!showInlineText&&(this.treeOutline.isXMLMimeType||!WebInspector.ElementsTreeElement.ForbiddenClosingTagElements[tagName])){if(this.hasChildren){var textNodeElement=info.titleDOM.createChild("span","webkit-html-text-node bogus");textNodeElement.textContent="\u2026";info.titleDOM.appendChild(document.createTextNode("\u200B"));}
|
| +this._buildTagDOM(info.titleDOM,tagName,true,false);}
|
| +if(showInlineText){var textNodeElement=info.titleDOM.createChild("span","webkit-html-text-node");var result=this._convertWhitespaceToEntities(node.firstChild.nodeValue());textNodeElement.textContent=result.text;WebInspector.highlightRangesWithStyleClass(textNodeElement,result.entityRanges,"webkit-html-entity-value");info.titleDOM.appendChild(document.createTextNode("\u200B"));this._buildTagDOM(info.titleDOM,tagName,true,false);info.hasChildren=false;}
|
| +break;case Node.TEXT_NODE:if(node.parentNode&&node.parentNode.nodeName().toLowerCase()==="script"){var newNode=info.titleDOM.createChild("span","webkit-html-text-node webkit-html-js-node");newNode.textContent=node.nodeValue();var javascriptSyntaxHighlighter=new WebInspector.DOMSyntaxHighlighter("text/javascript",true);javascriptSyntaxHighlighter.syntaxHighlightNode(newNode);}else if(node.parentNode&&node.parentNode.nodeName().toLowerCase()==="style"){var newNode=info.titleDOM.createChild("span","webkit-html-text-node webkit-html-css-node");newNode.textContent=node.nodeValue();var cssSyntaxHighlighter=new WebInspector.DOMSyntaxHighlighter("text/css",true);cssSyntaxHighlighter.syntaxHighlightNode(newNode);}else{info.titleDOM.appendChild(document.createTextNode("\""));var textNodeElement=info.titleDOM.createChild("span","webkit-html-text-node");var result=this._convertWhitespaceToEntities(node.nodeValue());textNodeElement.textContent=result.text;WebInspector.highlightRangesWithStyleClass(textNodeElement,result.entityRanges,"webkit-html-entity-value");info.titleDOM.appendChild(document.createTextNode("\""));}
|
| +break;case Node.COMMENT_NODE:var commentElement=info.titleDOM.createChild("span","webkit-html-comment");commentElement.appendChild(document.createTextNode("<!--"+node.nodeValue()+"-->"));break;case Node.DOCUMENT_TYPE_NODE:var docTypeElement=info.titleDOM.createChild("span","webkit-html-doctype");docTypeElement.appendChild(document.createTextNode("<!DOCTYPE "+node.nodeName()));if(node.publicId){docTypeElement.appendChild(document.createTextNode(" PUBLIC \""+node.publicId+"\""));if(node.systemId)
|
| +docTypeElement.appendChild(document.createTextNode(" \""+node.systemId+"\""));}else if(node.systemId)
|
| +docTypeElement.appendChild(document.createTextNode(" SYSTEM \""+node.systemId+"\""));if(node.internalSubset)
|
| +docTypeElement.appendChild(document.createTextNode(" ["+node.internalSubset+"]"));docTypeElement.appendChild(document.createTextNode(">"));break;case Node.CDATA_SECTION_NODE:var cdataElement=info.titleDOM.createChild("span","webkit-html-text-node");cdataElement.appendChild(document.createTextNode("<![CDATA["+node.nodeValue()+"]]>"));break;case Node.DOCUMENT_FRAGMENT_NODE:var fragmentElement=info.titleDOM.createChild("span","webkit-html-fragment");if(node.isInShadowTree()){var shadowRootType=node.shadowRootType();if(shadowRootType){info.shadowRoot=true;fragmentElement.classList.add("shadow-root");}}
|
| +fragmentElement.textContent=node.nodeNameInCorrectCase().collapseWhitespace();break;default:info.titleDOM.appendChild(document.createTextNode(node.nodeNameInCorrectCase().collapseWhitespace()));}
|
| +return info;},_showInlineText:function()
|
| +{if(this._node.importedDocument()||this._node.templateContent()||this._visibleShadowRoots().length>0||this._node.hasPseudoElements())
|
| +return false;if(this._node.nodeType()!==Node.ELEMENT_NODE)
|
| +return false;if(!this._node.firstChild||this._node.firstChild!==this._node.lastChild||this._node.firstChild.nodeType()!==Node.TEXT_NODE)
|
| +return false;var textChild=this._node.firstChild;if(textChild.nodeValue().length<Preferences.maxInlineTextChildLength)
|
| +return true;return false;},remove:function()
|
| +{if(this._node.pseudoType())
|
| +return;var parentElement=this.parent;if(!parentElement)
|
| +return;var self=this;function removeNodeCallback(error,removedNodeId)
|
| +{if(error)
|
| +return;parentElement.removeChild(self);parentElement._adjustCollapsedRange();}
|
| +if(!this._node.parentNode||this._node.parentNode.nodeType()===Node.DOCUMENT_NODE)
|
| +return;this._node.removeNode(removeNodeCallback);},_editAsHTML:function()
|
| +{var node=this._node;if(node.pseudoType())
|
| +return;var treeOutline=this.treeOutline;var parentNode=node.parentNode;var index=node.index;var wasExpanded=this.expanded;function selectNode(error,nodeId)
|
| +{if(error)
|
| +return;treeOutline._updateModifiedNodes();var newNode=parentNode?parentNode.children()[index]||parentNode:null;if(!newNode)
|
| +return;treeOutline.selectDOMNode(newNode,true);if(wasExpanded){var newTreeItem=treeOutline.findTreeElement(newNode);if(newTreeItem)
|
| +newTreeItem.expand();}}
|
| +function commitChange(initialValue,value)
|
| +{if(initialValue!==value)
|
| +node.setOuterHTML(value,selectNode);else
|
| +return;}
|
| +node.getOuterHTML(this._startEditingAsHTML.bind(this,commitChange));},_copyHTML:function()
|
| +{this._node.copyNode();},_copyCSSPath:function()
|
| +{InspectorFrontendHost.copyText(WebInspector.DOMPresentationUtils.cssPath(this._node,true));},_copyXPath:function()
|
| +{InspectorFrontendHost.copyText(WebInspector.DOMPresentationUtils.xPath(this._node,true));},_highlightSearchResults:function()
|
| +{if(!this._searchQuery||!this._searchHighlightsVisible)
|
| +return;if(this._highlightResult){this._updateSearchHighlight(true);return;}
|
| +var text=this.listItemElement.textContent;var regexObject=createPlainTextSearchRegex(this._searchQuery,"gi");var offset=0;var match=regexObject.exec(text);var matchRanges=[];while(match){matchRanges.push(new WebInspector.SourceRange(match.index,match[0].length));match=regexObject.exec(text);}
|
| +if(!matchRanges.length)
|
| +matchRanges.push(new WebInspector.SourceRange(0,text.length));this._highlightResult=[];WebInspector.highlightSearchResults(this.listItemElement,matchRanges,this._highlightResult);},_scrollIntoView:function()
|
| +{function scrollIntoViewCallback(object)
|
| +{function scrollIntoView()
|
| +{this.scrollIntoViewIfNeeded(true);}
|
| +if(object)
|
| +object.callFunction(scrollIntoView);}
|
| +WebInspector.RemoteObject.resolveNode(this._node,"",scrollIntoViewCallback);},_visibleShadowRoots:function()
|
| +{var roots=this._node.shadowRoots();if(roots.length&&!WebInspector.settings.showUAShadowDOM.get()){roots=roots.filter(function(root){return root.shadowRootType()===WebInspector.DOMNode.ShadowRootTypes.Author;});}
|
| +return roots;},_visibleChildren:function()
|
| +{var visibleChildren=this._visibleShadowRoots();if(this._node.importedDocument())
|
| +visibleChildren.push(this._node.importedDocument());if(this._node.templateContent())
|
| +visibleChildren.push(this._node.templateContent());var pseudoElements=this._node.pseudoElements();if(pseudoElements[WebInspector.DOMNode.PseudoElementNames.Before])
|
| +visibleChildren.push(pseudoElements[WebInspector.DOMNode.PseudoElementNames.Before]);if(this._node.childNodeCount())
|
| +visibleChildren=visibleChildren.concat(this._node.children());if(pseudoElements[WebInspector.DOMNode.PseudoElementNames.After])
|
| +visibleChildren.push(pseudoElements[WebInspector.DOMNode.PseudoElementNames.After]);return visibleChildren;},_visibleChildCount:function()
|
| +{var childCount=this._node.childNodeCount()+this._visibleShadowRoots().length;if(this._node.importedDocument())
|
| +++childCount;if(this._node.templateContent())
|
| +++childCount;for(var pseudoType in this._node.pseudoElements())
|
| +++childCount;return childCount;},_updateHasChildren:function()
|
| +{this.hasChildren=!this._elementCloseTag&&!this._showInlineText()&&this._visibleChildCount()>0;},__proto__:TreeElement.prototype}
|
| +WebInspector.ElementsTreeUpdater=function(treeOutline)
|
| +{WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.NodeInserted,this._nodeInserted,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.NodeRemoved,this._nodeRemoved,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrModified,this._attributesUpdated,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrRemoved,this._attributesUpdated,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.CharacterDataModified,this._characterDataModified,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.DocumentUpdated,this._documentUpdated,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.ChildNodeCountUpdated,this._childNodeCountUpdated,this);this._treeOutline=treeOutline;this._recentlyModifiedNodes=new Map();}
|
| +WebInspector.ElementsTreeUpdater.prototype={_nodeModified:function(node,isUpdated,parentNode)
|
| +{if(this._treeOutline._visible)
|
| +this._updateModifiedNodesSoon();var entry=this._recentlyModifiedNodes.get(node);if(!entry){entry=new WebInspector.ElementsTreeUpdater.UpdateEntry(isUpdated,parentNode);this._recentlyModifiedNodes.put(node,entry);return;}
|
| +entry.isUpdated|=isUpdated;if(parentNode)
|
| +entry.parent=parentNode;},_documentUpdated:function(event)
|
| +{var inspectedRootDocument=event.data;this._reset();if(!inspectedRootDocument)
|
| +return;this._treeOutline.rootDOMNode=inspectedRootDocument;},_attributesUpdated:function(event)
|
| +{this._nodeModified(event.data.node,true);},_characterDataModified:function(event)
|
| +{this._nodeModified(event.data,true);},_nodeInserted:function(event)
|
| +{this._nodeModified(event.data,false,event.data.parentNode);},_nodeRemoved:function(event)
|
| +{this._nodeModified(event.data.node,false,event.data.parent);},_childNodeCountUpdated:function(event)
|
| +{var treeElement=this._treeOutline.findTreeElement(event.data);if(treeElement){var oldHasChildren=treeElement.hasChildren;treeElement._updateHasChildren();if(treeElement.hasChildren!==oldHasChildren)
|
| +treeElement.updateTitle();}},_updateModifiedNodesSoon:function()
|
| +{if(this._updateModifiedNodesTimeout)
|
| +return;this._updateModifiedNodesTimeout=setTimeout(this._updateModifiedNodes.bind(this),50);},_updateModifiedNodes:function()
|
| +{if(this._updateModifiedNodesTimeout){clearTimeout(this._updateModifiedNodesTimeout);delete this._updateModifiedNodesTimeout;}
|
| +var updatedParentTreeElements=[];var hidePanelWhileUpdating=this._recentlyModifiedNodes.size()>10;if(hidePanelWhileUpdating){var treeOutlineContainerElement=this._treeOutline.element.parentNode;var originalScrollTop=treeOutlineContainerElement?treeOutlineContainerElement.scrollTop:0;this._treeOutline.element.classList.add("hidden");}
|
| +var nodes=this._recentlyModifiedNodes.keys();for(var i=0,size=nodes.length;i<size;++i){var node=nodes[i];var entry=this._recentlyModifiedNodes.get(node);var parent=entry.parent;if(parent===this._treeOutline._rootDOMNode){this._treeOutline.update();this._treeOutline.element.classList.remove("hidden");return;}
|
| +if(entry.isUpdated){var nodeItem=this._treeOutline.findTreeElement(node);if(nodeItem)
|
| +nodeItem.updateTitle();}
|
| +var parentNodeItem=parent?this._treeOutline.findTreeElement(parent):null;if(parentNodeItem&&!parentNodeItem.alreadyUpdatedChildren){parentNodeItem.updateChildren();parentNodeItem.alreadyUpdatedChildren=true;updatedParentTreeElements.push(parentNodeItem);}}
|
| +for(var i=0;i<updatedParentTreeElements.length;++i)
|
| +delete updatedParentTreeElements[i].alreadyUpdatedChildren;if(hidePanelWhileUpdating){this._treeOutline.element.classList.remove("hidden");if(originalScrollTop)
|
| +treeOutlineContainerElement.scrollTop=originalScrollTop;this._treeOutline.updateSelection();}
|
| +this._recentlyModifiedNodes.clear();this._treeOutline._fireElementsTreeUpdated(nodes);},_reset:function()
|
| +{this._treeOutline.rootDOMNode=null;this._treeOutline.selectDOMNode(null,false);WebInspector.domModel.hideDOMNodeHighlight();this._recentlyModifiedNodes.clear();}}
|
| +WebInspector.ElementsTreeUpdater.UpdateEntry=function(isUpdated,parent)
|
| +{this.isUpdated=isUpdated;if(parent)
|
| +this.parent=parent;}
|
| +WebInspector.ElementsTreeOutline.Renderer=function()
|
| +{}
|
| +WebInspector.ElementsTreeOutline.Renderer.prototype={render:function(object)
|
| +{if(!(object instanceof WebInspector.DOMNode))
|
| +return null;var treeOutline=new WebInspector.ElementsTreeOutline(false,false);treeOutline.rootDOMNode=(object);treeOutline.element.classList.add("outline-disclosure");if(!treeOutline.children[0].hasChildren)
|
| +treeOutline.element.classList.add("single-node");treeOutline.setVisible(true);treeOutline.element.treeElementForTest=treeOutline.children[0];return treeOutline.element;}};WebInspector.EventListenersSidebarPane=function()
|
| +{WebInspector.SidebarPane.call(this,WebInspector.UIString("Event Listeners"));this.bodyElement.classList.add("events-pane");this.sections=[];var refreshButton=document.createElement("button");refreshButton.className="pane-title-button refresh";refreshButton.addEventListener("click",this._refreshButtonClicked.bind(this),false);refreshButton.title=WebInspector.UIString("Refresh");this.titleElement.appendChild(refreshButton);this.settingsSelectElement=document.createElement("select");this.settingsSelectElement.className="select-filter";var option=document.createElement("option");option.value="all";option.label=WebInspector.UIString("All Nodes");this.settingsSelectElement.appendChild(option);option=document.createElement("option");option.value="selected";option.label=WebInspector.UIString("Selected Node Only");this.settingsSelectElement.appendChild(option);var filter=WebInspector.settings.eventListenersFilter.get();if(filter==="all")
|
| this.settingsSelectElement[0].selected=true;else if(filter==="selected")
|
| this.settingsSelectElement[1].selected=true;this.settingsSelectElement.addEventListener("click",function(event){event.consume()},false);this.settingsSelectElement.addEventListener("change",this._changeSetting.bind(this),false);this.titleElement.appendChild(this.settingsSelectElement);this._linkifier=new WebInspector.Linkifier();}
|
| WebInspector.EventListenersSidebarPane._objectGroupName="event-listeners-sidebar-pane";WebInspector.EventListenersSidebarPane.prototype={update:function(node)
|
| {RuntimeAgent.releaseObjectGroup(WebInspector.EventListenersSidebarPane._objectGroupName);this._linkifier.reset();var body=this.bodyElement;body.removeChildren();this.sections=[];var self=this;function callback(error,eventListeners){if(error)
|
| return;var selectedNodeOnly="selected"===WebInspector.settings.eventListenersFilter.get();var sectionNames=[];var sectionMap={};for(var i=0;i<eventListeners.length;++i){var eventListener=eventListeners[i];if(selectedNodeOnly&&(node.id!==eventListener.nodeId))
|
| -continue;eventListener.node=WebInspector.domAgent.nodeForId(eventListener.nodeId);delete eventListener.nodeId;if(/^function _inspectorCommandLineAPI_logEvent\(/.test(eventListener.handlerBody.toString()))
|
| +continue;eventListener.node=WebInspector.domModel.nodeForId(eventListener.nodeId);delete eventListener.nodeId;if(/^function _inspectorCommandLineAPI_logEvent\(/.test(eventListener.handlerBody.toString()))
|
| continue;var type=eventListener.type;var section=sectionMap[type];if(!section){section=new WebInspector.EventListenersSection(type,node.id,self._linkifier);sectionMap[type]=section;sectionNames.push(type);self.sections.push(section);}
|
| section.addListener(eventListener);}
|
| if(sectionNames.length===0){var div=document.createElement("div");div.className="info";div.textContent=WebInspector.UIString("No Event Listeners");body.appendChild(div);return;}
|
| sectionNames.sort();for(var i=0;i<sectionNames.length;++i){var section=sectionMap[sectionNames[i]];body.appendChild(section.element);}}
|
| if(node)
|
| node.eventListeners(WebInspector.EventListenersSidebarPane._objectGroupName,callback);this._selectedNode=node;},willHide:function()
|
| -{delete this._selectedNode;},_changeSetting:function()
|
| +{delete this._selectedNode;},_refreshButtonClicked:function()
|
| +{if(!this._selectedNode)
|
| +return;this.update(this._selectedNode);},_changeSetting:function()
|
| {var selectedOption=this.settingsSelectElement[this.settingsSelectElement.selectedIndex];WebInspector.settings.eventListenersFilter.set(selectedOption.value);this.update(this._selectedNode);},__proto__:WebInspector.SidebarPane.prototype}
|
| WebInspector.EventListenersSection=function(title,nodeId,linkifier)
|
| {this.eventListeners=[];this._nodeId=nodeId;this._linkifier=linkifier;WebInspector.PropertiesSection.call(this,title);this.propertiesElement.remove();delete this.propertiesElement;delete this.propertiesTreeOutline;this._eventBars=document.createElement("div");this._eventBars.className="event-bars";this.element.appendChild(this._eventBars);}
|
| @@ -111,26 +507,18 @@
|
| {WebInspector.ObjectPropertiesSection.call(this,WebInspector.RemoteObject.fromPrimitiveValue(""));this.eventListener=eventListener;this._nodeId=nodeId;this._setNodeTitle();this._setFunctionSubtitle(linkifier);this.editable=false;this.element.className="event-bar";this.headerElement.classList.add("source-code");this.propertiesElement.className="event-properties properties-tree source-code";}
|
| WebInspector.EventListenerBar.prototype={update:function()
|
| {function updateWithNodeObject(nodeObject)
|
| -{var properties=[];if(this.eventListener.type)
|
| -properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("type",this.eventListener.type));if(typeof this.eventListener.useCapture!=="undefined")
|
| -properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("useCapture",this.eventListener.useCapture));if(typeof this.eventListener.isAttribute!=="undefined")
|
| -properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("isAttribute",this.eventListener.isAttribute));if(nodeObject)
|
| +{var properties=[];properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("type",this.eventListener.type));properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("useCapture",this.eventListener.useCapture));properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("isAttribute",this.eventListener.isAttribute));if(nodeObject)
|
| properties.push(new WebInspector.RemoteObjectProperty("node",nodeObject));if(typeof this.eventListener.handler!=="undefined"){var remoteObject=WebInspector.RemoteObject.fromPayload(this.eventListener.handler);properties.push(new WebInspector.RemoteObjectProperty("handler",remoteObject));}
|
| -if(typeof this.eventListener.handlerBody!=="undefined")
|
| properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("listenerBody",this.eventListener.handlerBody));if(this.eventListener.sourceName)
|
| -properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("sourceName",this.eventListener.sourceName));if(this.eventListener.location)
|
| -properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("lineNumber",this.eventListener.location.lineNumber+1));this.updateProperties(properties);}
|
| +properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("sourceName",this.eventListener.sourceName));properties.push(WebInspector.RemoteObjectProperty.fromPrimitiveValue("lineNumber",this.eventListener.location.lineNumber+1));this.updateProperties(properties);}
|
| WebInspector.RemoteObject.resolveNode(this.eventListener.node,WebInspector.EventListenersSidebarPane._objectGroupName,updateWithNodeObject.bind(this));},_setNodeTitle:function()
|
| {var node=this.eventListener.node;if(!node)
|
| return;if(node.nodeType()===Node.DOCUMENT_NODE){this.titleElement.textContent="document";return;}
|
| -if(node.id===this._nodeId){this.titleElement.textContent=WebInspector.DOMPresentationUtils.appropriateSelectorFor(node);return;}
|
| +if(node.id===this._nodeId){this.titleElement.textContent=WebInspector.DOMPresentationUtils.simpleSelector(node);return;}
|
| this.titleElement.removeChildren();this.titleElement.appendChild(WebInspector.DOMPresentationUtils.linkifyNodeReference(this.eventListener.node));},_setFunctionSubtitle:function(linkifier)
|
| -{if(this.eventListener.location){this.subtitleElement.removeChildren();var urlElement;if(this.eventListener.location.scriptId)
|
| -urlElement=linkifier.linkifyRawLocation(this.eventListener.location);if(!urlElement){var url=this.eventListener.sourceName;var lineNumber=this.eventListener.location.lineNumber;var columnNumber=0;urlElement=linkifier.linkifyLocation(url,lineNumber,columnNumber);}
|
| -this.subtitleElement.appendChild(urlElement);}else{var match=this.eventListener.handlerBody.match(/function ([^\(]+?)\(/);if(match)
|
| -this.subtitleElement.textContent=match[1];else
|
| -this.subtitleElement.textContent=WebInspector.UIString("(anonymous function)");}},__proto__:WebInspector.ObjectPropertiesSection.prototype};WebInspector.MetricsSidebarPane=function()
|
| -{WebInspector.SidebarPane.call(this,WebInspector.UIString("Metrics"));WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.MediaQueryResultChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrModified,this._attributesUpdated,this);WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrRemoved,this._attributesUpdated,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameResized,this._frameResized,this);}
|
| +{this.subtitleElement.removeChildren();var urlElement=linkifier.linkifyRawLocation(this.eventListener.location);if(!urlElement){var url=this.eventListener.sourceName;var lineNumber=this.eventListener.location.lineNumber;var columnNumber=0;urlElement=linkifier.linkifyLocation(url,lineNumber,columnNumber);}
|
| +this.subtitleElement.appendChild(urlElement);},__proto__:WebInspector.ObjectPropertiesSection.prototype};WebInspector.MetricsSidebarPane=function()
|
| +{WebInspector.SidebarPane.call(this,WebInspector.UIString("Metrics"));WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.MediaQueryResultChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrModified,this._attributesUpdated,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrRemoved,this._attributesUpdated,this);WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameResized,this._frameResized,this);}
|
| WebInspector.MetricsSidebarPane.prototype={update:function(node)
|
| {if(node)
|
| this.node=node;this._innerUpdate();},_innerUpdate:function()
|
| @@ -153,7 +541,7 @@
|
| {return Number(style.getPropertyValue(propertyName).replace(/px$/,"")||0);},_getBox:function(computedStyle,componentName)
|
| {var suffix=componentName==="border"?"-width":"";var left=this._getPropertyValueAsPx(computedStyle,componentName+"-left"+suffix);var top=this._getPropertyValueAsPx(computedStyle,componentName+"-top"+suffix);var right=this._getPropertyValueAsPx(computedStyle,componentName+"-right"+suffix);var bottom=this._getPropertyValueAsPx(computedStyle,componentName+"-bottom"+suffix);return{left:left,top:top,right:right,bottom:bottom};},_highlightDOMNode:function(showHighlight,mode,event)
|
| {event.consume();var nodeId=showHighlight&&this.node?this.node.id:0;if(nodeId){if(this._highlightMode===mode)
|
| -return;this._highlightMode=mode;WebInspector.domAgent.highlightDOMNode(nodeId,mode);}else{delete this._highlightMode;WebInspector.domAgent.hideDOMNodeHighlight();}
|
| +return;this._highlightMode=mode;WebInspector.domModel.highlightDOMNode(nodeId,mode);}else{delete this._highlightMode;WebInspector.domModel.hideDOMNodeHighlight();}
|
| for(var i=0;this._boxElements&&i<this._boxElements.length;++i){var element=this._boxElements[i];if(!nodeId||mode==="all"||element._name===mode)
|
| element.style.backgroundColor=element._backgroundColor;else
|
| element.style.backgroundColor="";}},_updateMetrics:function(style)
|
| @@ -175,7 +563,7 @@
|
| previousBox=boxElement;}
|
| metricsElement.appendChild(previousBox);metricsElement.addEventListener("mouseover",this._highlightDOMNode.bind(this,false,""),false);this.bodyElement.removeChildren();this.bodyElement.appendChild(metricsElement);},startEditing:function(targetElement,box,styleProperty,computedStyle)
|
| {if(WebInspector.isBeingEdited(targetElement))
|
| -return;var context={box:box,styleProperty:styleProperty,computedStyle:computedStyle};var boundKeyDown=this._handleKeyDown.bind(this,context,styleProperty);context.keyDownHandler=boundKeyDown;targetElement.addEventListener("keydown",boundKeyDown,false);this._isEditingMetrics=true;var config=new WebInspector.EditingConfig(this.editingCommitted.bind(this),this.editingCancelled.bind(this),context);WebInspector.startEditing(targetElement,config);window.getSelection().setBaseAndExtent(targetElement,0,targetElement,1);},_handleKeyDown:function(context,styleProperty,event)
|
| +return;var context={box:box,styleProperty:styleProperty,computedStyle:computedStyle};var boundKeyDown=this._handleKeyDown.bind(this,context,styleProperty);context.keyDownHandler=boundKeyDown;targetElement.addEventListener("keydown",boundKeyDown,false);this._isEditingMetrics=true;var config=new WebInspector.InplaceEditor.Config(this.editingCommitted.bind(this),this.editingCancelled.bind(this),context);WebInspector.InplaceEditor.startEditing(targetElement,config);window.getSelection().setBaseAndExtent(targetElement,0,targetElement,1);},_handleKeyDown:function(context,styleProperty,event)
|
| {var element=event.currentTarget;function finishHandler(originalValue,replacementString)
|
| {this._applyUserInput(element,replacementString,originalValue,context,false);}
|
| function customNumberHandler(number)
|
| @@ -192,29 +580,29 @@
|
| return this.editingCancelled(element,context);if(context.box!=="position"&&(!userInput||userInput==="\u2012"))
|
| userInput="0px";else if(context.box==="position"&&(!userInput||userInput==="\u2012"))
|
| userInput="auto";userInput=userInput.toLowerCase();if(/^\d+$/.test(userInput))
|
| -userInput+="px";var styleProperty=context.styleProperty;var computedStyle=context.computedStyle;if(computedStyle.getPropertyValue("box-sizing")==="border-box"&&(styleProperty==="width"||styleProperty==="height")){if(!userInput.match(/px$/)){WebInspector.log("For elements with box-sizing: border-box, only absolute content area dimensions can be applied",WebInspector.ConsoleMessage.MessageLevel.Error,true);return;}
|
| +userInput+="px";var styleProperty=context.styleProperty;var computedStyle=context.computedStyle;if(computedStyle.getPropertyValue("box-sizing")==="border-box"&&(styleProperty==="width"||styleProperty==="height")){if(!userInput.match(/px$/)){WebInspector.console.log("For elements with box-sizing: border-box, only absolute content area dimensions can be applied",WebInspector.ConsoleMessage.MessageLevel.Error,true);return;}
|
| var borderBox=this._getBox(computedStyle,"border");var paddingBox=this._getBox(computedStyle,"padding");var userValuePx=Number(userInput.replace(/px$/,""));if(isNaN(userValuePx))
|
| return;if(styleProperty==="width")
|
| userValuePx+=borderBox.left+borderBox.right+paddingBox.left+paddingBox.right;else
|
| userValuePx+=borderBox.top+borderBox.bottom+paddingBox.top+paddingBox.bottom;userInput=userValuePx+"px";}
|
| this.previousPropertyDataCandidate=null;var self=this;var callback=function(style){if(!style)
|
| return;self.inlineStyle=style;if(!("originalPropertyData"in self))
|
| -self.originalPropertyData=self.previousPropertyDataCandidate;if(typeof self._highlightMode!=="undefined"){WebInspector.domAgent.highlightDOMNode(self.node.id,self._highlightMode);}
|
| +self.originalPropertyData=self.previousPropertyDataCandidate;if(typeof self._highlightMode!=="undefined"){WebInspector.domModel.highlightDOMNode(self.node.id,self._highlightMode);}
|
| if(commitEditor){self.dispatchEventToListeners("metrics edited");self.update();}};var allProperties=this.inlineStyle.allProperties;for(var i=0;i<allProperties.length;++i){var property=allProperties[i];if(property.name!==context.styleProperty||property.inactive)
|
| continue;this.previousPropertyDataCandidate=property;property.setValue(userInput,commitEditor,true,callback);return;}
|
| this.inlineStyle.appendProperty(context.styleProperty,userInput,callback);},editingCommitted:function(element,userInput,previousContent,context)
|
| {this.editingEnded(element,context);this._applyUserInput(element,userInput,previousContent,context,true);},__proto__:WebInspector.SidebarPane.prototype};WebInspector.OverridesView=function()
|
| -{WebInspector.View.call(this);this.registerRequiredCSS("overrides.css");this.registerRequiredCSS("helpScreen.css");this.element.classList.add("overrides-view","fill","vbox");this._tabbedPane=new WebInspector.TabbedPane();this._tabbedPane.shrinkableTabs=false;this._tabbedPane.verticalTabLayout=true;new WebInspector.OverridesView.DeviceTab().appendAsTab(this._tabbedPane);new WebInspector.OverridesView.ViewportTab().appendAsTab(this._tabbedPane);new WebInspector.OverridesView.UserAgentTab().appendAsTab(this._tabbedPane);new WebInspector.OverridesView.SensorsTab().appendAsTab(this._tabbedPane);this._lastSelectedTabSetting=WebInspector.settings.createSetting("lastSelectedEmulateTab","device");this._tabbedPane.selectTab(this._lastSelectedTabSetting.get());this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabSelected,this._tabSelected,this);this._tabbedPane.show(this.element);this._warningFooter=this.element.createChild("div","overrides-footer");this._overridesWarningUpdated();WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport.Events.OverridesWarningUpdated,this._overridesWarningUpdated,this);}
|
| +{WebInspector.VBox.call(this);this.registerRequiredCSS("overrides.css");this.registerRequiredCSS("helpScreen.css");this.element.classList.add("overrides-view");this._tabbedPane=new WebInspector.TabbedPane();this._tabbedPane.shrinkableTabs=false;this._tabbedPane.verticalTabLayout=true;new WebInspector.OverridesView.DeviceTab().appendAsTab(this._tabbedPane);new WebInspector.OverridesView.ViewportTab().appendAsTab(this._tabbedPane);new WebInspector.OverridesView.UserAgentTab().appendAsTab(this._tabbedPane);new WebInspector.OverridesView.SensorsTab().appendAsTab(this._tabbedPane);this._lastSelectedTabSetting=WebInspector.settings.createSetting("lastSelectedEmulateTab","device");this._tabbedPane.selectTab(this._lastSelectedTabSetting.get());this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabSelected,this._tabSelected,this);this._tabbedPane.show(this.element);this._warningFooter=this.element.createChild("div","overrides-footer");this._overridesWarningUpdated();WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport.Events.OverridesWarningUpdated,this._overridesWarningUpdated,this);}
|
| WebInspector.OverridesView.prototype={_tabSelected:function(event)
|
| {this._lastSelectedTabSetting.set(this._tabbedPane.selectedTabId);},_overridesWarningUpdated:function()
|
| -{var message=WebInspector.overridesSupport.warningMessage();this._warningFooter.enableStyleClass("hidden",!message);this._warningFooter.textContent=message;},__proto__:WebInspector.View.prototype}
|
| +{var message=WebInspector.overridesSupport.warningMessage();this._warningFooter.classList.toggle("hidden",!message);this._warningFooter.textContent=message;},__proto__:WebInspector.VBox.prototype}
|
| WebInspector.OverridesView.Tab=function(id,name,settings)
|
| -{WebInspector.View.call(this);this._id=id;this._name=name;this._settings=settings;for(var i=0;i<settings.length;++i)
|
| +{WebInspector.VBox.call(this);this._id=id;this._name=name;this._settings=settings;for(var i=0;i<settings.length;++i)
|
| settings[i].addChangeListener(this._updateActiveState,this);}
|
| WebInspector.OverridesView.Tab.prototype={appendAsTab:function(tabbedPane)
|
| {this._tabbedPane=tabbedPane;tabbedPane.appendTab(this._id,this._name,this);this._updateActiveState();},_updateActiveState:function()
|
| {var active=false;for(var i=0;!active&&i<this._settings.length;++i)
|
| -active=this._settings[i].get();this._tabbedPane.element.enableStyleClass("overrides-activate-"+this._id,active);this._tabbedPane.changeTabTitle(this._id,active?this._name+" \u2713":this._name);},_createInput:function(parentElement,id,defaultText,eventListener,numeric)
|
| +active=this._settings[i].get();this._tabbedPane.element.classList.toggle("overrides-activate-"+this._id,active);this._tabbedPane.changeTabTitle(this._id,active?this._name+" \u2713":this._name);},_createInput:function(parentElement,id,defaultText,eventListener,numeric)
|
| {var element=parentElement.createChild("input");element.id=id;element.type="text";element.maxLength=12;element.style.width="80px";element.value=defaultText;element.align="right";if(numeric)
|
| element.className="numeric";element.addEventListener("input",eventListener,false);element.addEventListener("keydown",keyDownListener,false);function keyDownListener(event)
|
| {if(isEnterKey(event))
|
| @@ -222,29 +610,30 @@
|
| return element;},_createNonPersistedCheckbox:function(title,callback)
|
| {var labelElement=document.createElement("label");var checkboxElement=labelElement.createChild("input");checkboxElement.type="checkbox";checkboxElement.checked=false;checkboxElement.addEventListener("click",onclick,false);labelElement.appendChild(document.createTextNode(title));return labelElement;function onclick()
|
| {callback(checkboxElement.checked);}},_createSettingCheckbox:function(name,setting,callback)
|
| -{var checkbox=WebInspector.SettingsTab.createCheckbox(name,setting.get.bind(setting),listener,true);function listener(value)
|
| +{var checkbox=WebInspector.SettingsUI.createCheckbox(name,setting.get.bind(setting),listener,true);function listener(value)
|
| {if(setting.get()===value)
|
| return;setting.set(value);if(callback)
|
| callback(value);}
|
| setting.addChangeListener(changeListener);function changeListener()
|
| {if(checkbox.firstChild.checked!==setting.get())
|
| checkbox.firstChild.checked=setting.get();}
|
| -return checkbox;},__proto__:WebInspector.View.prototype}
|
| +return checkbox;},__proto__:WebInspector.VBox.prototype}
|
| WebInspector.OverridesView.DeviceTab=function()
|
| {WebInspector.OverridesView.Tab.call(this,"device",WebInspector.UIString("Device"),[]);this.element.classList.add("overrides-device");this._emulatedDeviceSetting=WebInspector.settings.createSetting("emulatedDevice","Google Nexus 4");this._emulateDeviceViewportSetting=WebInspector.settings.overrideDeviceMetrics;this._emulateDeviceUserAgentSetting=WebInspector.settings.overrideUserAgent;this._deviceSelectElement=this.element.createChild("select");var devices=WebInspector.OverridesView.DeviceTab._phones.concat(WebInspector.OverridesView.DeviceTab._tablets);devices.sort();var selectionRestored=false;for(var i=0;i<devices.length;++i){var device=devices[i];var option=new Option(device[0],device[0]);option._userAgent=device[1];option._metrics=device[2];this._deviceSelectElement.add(option);if(this._emulatedDeviceSetting.get()===device[0]){this._deviceSelectElement.selectedIndex=i;selectionRestored=true;}}
|
| if(!selectionRestored)
|
| -this._deviceSelectElement.selectedIndex=devices.length-1;this._deviceSelectElement.addEventListener("change",this._deviceSelected.bind(this),false);this._deviceSelectElement.addEventListener("dblclick",this._emulateButtonClicked.bind(this),false);this._deviceSelectElement.addEventListener("keypress",this._keyPressed.bind(this),false);this._deviceSelectElement.disabled=WebInspector.isInspectingDevice();var buttonsBar=this.element.createChild("div");var emulateButton=buttonsBar.createChild("button","settings-tab-text-button");emulateButton.textContent=WebInspector.UIString("Emulate");emulateButton.addEventListener("click",this._emulateButtonClicked.bind(this),false);emulateButton.disabled=WebInspector.isInspectingDevice();this._emulateButton=emulateButton;var resetButton=buttonsBar.createChild("button","settings-tab-text-button");resetButton.textContent=WebInspector.UIString("Reset");resetButton.addEventListener("click",this._resetButtonClicked.bind(this),false);this._viewportValueLabel=this.element.createChild("div","overrides-device-value-label");this._viewportValueLabel.textContent=WebInspector.UIString("Viewport:");this._viewportValueElement=this._viewportValueLabel.createChild("span","overrides-device-value");this._userAgentLabel=this.element.createChild("div","overrides-device-value-label");this._userAgentLabel.textContent=WebInspector.UIString("User agent:");this._userAgentValueElement=this._userAgentLabel.createChild("span","overrides-device-value");this._updateValueLabels();}
|
| -WebInspector.OverridesView.DeviceTab._phones=[["Apple iPhone 3GS","Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5","320x480x1"],["Apple iPhone 4","Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5","640x960x2"],["Apple iPhone 5","Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53","640x1136x2"],["BlackBerry Z10","Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+","768x1280x2"],["BlackBerry Z30","Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+","720x1280x2"],["Google Nexus 4","Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19","768x1280x2"],["Google Nexus 5","Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19","1080x1920x3"],["Google Nexus S","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Nexus S Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","480x800x1.5"],["HTC Evo, Touch HD, Desire HD, Desire","Mozilla/5.0 (Linux; U; Android 2.2; en-us; Sprint APA9292KT Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","480x800x1.5"],["HTC One X, EVO LTE","Mozilla/5.0 (Linux; Android 4.0.3; HTC One X Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19","720x1280x2"],["HTC Sensation, Evo 3D","Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; HTC Sensation Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","540x960x1.5"],["LG Optimus 2X, Optimus 3D, Optimus Black","Mozilla/5.0 (Linux; U; Android 2.2; en-us; LG-P990/V08c Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MMS/LG-Android-MMS-V1.0/1.2","480x800x1.5"],["LG Optimus G","Mozilla/5.0 (Linux; Android 4.0; LG-E975 Build/IMM76L) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19","768x1280x2"],["LG Optimus LTE, Optimus 4X HD","Mozilla/5.0 (Linux; U; Android 2.3; en-us; LG-P930 Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","720x1280x1.7"],["LG Optimus One","Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; LG-MS690 Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","320x480x1.5"],["Motorola Defy, Droid, Droid X, Milestone","Mozilla/5.0 (Linux; U; Android 2.0; en-us; Milestone Build/ SHOLS_U2_01.03.1) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17","480x854x1.5"],["Motorola Droid 3, Droid 4, Droid Razr, Atrix 4G, Atrix 2","Mozilla/5.0 (Linux; U; Android 2.2; en-us; Droid Build/FRG22D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","540x960x1"],["Motorola Droid Razr HD","Mozilla/5.0 (Linux; U; Android 2.3; en-us; DROID RAZR 4G Build/6.5.1-73_DHD-11_M1-29) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","720x1280x1"],["Nokia C5, C6, C7, N97, N8, X7","NokiaN97/21.1.107 (SymbianOS/9.4; Series60/5.0 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebkit/525 (KHTML, like Gecko) BrowserNG/7.1.4","360x640x1"],["Nokia Lumia 7X0, Lumia 8XX, Lumia 900, N800, N810, N900","Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 820)","480x800x1.5"],["Samsung Galaxy Note 3","Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","1080x1920x2"],["Samsung Galaxy Note II","Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","720x1280x2"],["Samsung Galaxy Note","Mozilla/5.0 (Linux; U; Android 2.3; en-us; SAMSUNG-SGH-I717 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","800x1280x2"],["Samsung Galaxy S III, Galaxy Nexus","Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","720x1280x2"],["Samsung Galaxy S, S II, W","Mozilla/5.0 (Linux; U; Android 2.1; en-us; GT-I9000 Build/ECLAIR) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2","480x800x1.5"],["Samsung Galaxy S4","Mozilla/5.0 (Linux; U; Android 2.1; en-us; GT-I9000 Build/ECLAIR) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2","1080x1920x3"],["Sony Xperia S, Ion","Mozilla/5.0 (Linux; U; Android 4.0; en-us; LT28at Build/6.1.C.1.111) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","720x1280x2"],["Sony Xperia Sola, U","Mozilla/5.0 (Linux; U; Android 2.3; en-us; SonyEricssonST25i Build/6.0.B.1.564) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","480x854x1"],["Sony Xperia Z, Z1","Mozilla/5.0 (Linux; U; Android 4.2; en-us; SonyC6903 Build/14.1.G.1.518) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","1080x1920x3"],];WebInspector.OverridesView.DeviceTab._tablets=[["Amazon Amazon Kindle Fire HD 7\u2033","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire HD Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1280x800x1.5"],["Amazon Amazon Kindle Fire HD 8.9\u2033","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire HD Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1920x1200x1.5"],["Amazon Amazon Kindle Fire","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1024x600x1"],["Apple iPad 1 / 2 / iPad Mini","Mozilla/5.0 (iPad; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5","1024x768x1"],["Apple iPad 3 / 4","Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53","2048x1536x2"],["BlackBerry PlayBook","Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+","1024x600x1"],["Google Nexus 10","Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36","2560x1600x2"],["Google Nexus 7 2","Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36","1920x1200x2"],["Google Nexus 7","Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36","1280x800x1.325"],["Motorola Xoom, Xyboard","Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/525.10 (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2","1280x800x1"],["Samsung Galaxy Tab 7.7, 8.9, 10.1","Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1280x800x1"],["Samsung Galaxy Tab","Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1024x600x1"],];WebInspector.OverridesView.DeviceTab.prototype={_keyPressed:function(e)
|
| +this._deviceSelectElement.selectedIndex=devices.length-1;this._deviceSelectElement.addEventListener("change",this._deviceSelected.bind(this),false);this._deviceSelectElement.addEventListener("keypress",this._keyPressed.bind(this),false);this._deviceSelectElement.disabled=WebInspector.OverridesSupport.isInspectingDevice();var buttonsBar=this.element.createChild("div");var emulateButton=buttonsBar.createChild("button","settings-tab-text-button");emulateButton.textContent=WebInspector.UIString("Emulate");emulateButton.addEventListener("click",this._emulateButtonClicked.bind(this),false);emulateButton.disabled=WebInspector.OverridesSupport.isInspectingDevice();var resetButton=buttonsBar.createChild("button","settings-tab-text-button");resetButton.textContent=WebInspector.UIString("Reset");resetButton.addEventListener("click",this._resetButtonClicked.bind(this),false);this._resetButton=resetButton;this._viewportValueLabel=this.element.createChild("div","overrides-device-value-label");this._viewportValueLabel.textContent=WebInspector.UIString("Viewport:");this._viewportValueElement=this._viewportValueLabel.createChild("span","overrides-device-value");this._userAgentLabel=this.element.createChild("div","overrides-device-value-label");this._userAgentLabel.textContent=WebInspector.UIString("User agent:");this._userAgentValueElement=this._userAgentLabel.createChild("span","overrides-device-value");this._updateValueLabels();WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport.Events.HasActiveOverridesChanged,this._hasActiveOverridesChanged,this);this._hasActiveOverridesChanged();}
|
| +WebInspector.OverridesView.DeviceTab._phones=[["Apple iPhone 3GS","Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5","320x480x1"],["Apple iPhone 4","Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5","640x960x2"],["Apple iPhone 5","Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53","640x1136x2"],["BlackBerry Z10","Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+","768x1280x2"],["BlackBerry Z30","Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+","720x1280x2"],["Google Nexus 4","Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19","768x1280x2"],["Google Nexus 5","Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19","1080x1920x3"],["Google Nexus S","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Nexus S Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","480x800x1.5"],["HTC Evo, Touch HD, Desire HD, Desire","Mozilla/5.0 (Linux; U; Android 2.2; en-us; Sprint APA9292KT Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","480x800x1.5"],["HTC One X, EVO LTE","Mozilla/5.0 (Linux; Android 4.0.3; HTC One X Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19","720x1280x2"],["HTC Sensation, Evo 3D","Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; HTC Sensation Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","540x960x1.5"],["LG Optimus 2X, Optimus 3D, Optimus Black","Mozilla/5.0 (Linux; U; Android 2.2; en-us; LG-P990/V08c Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MMS/LG-Android-MMS-V1.0/1.2","480x800x1.5"],["LG Optimus G","Mozilla/5.0 (Linux; Android 4.0; LG-E975 Build/IMM76L) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19","768x1280x2"],["LG Optimus LTE, Optimus 4X HD","Mozilla/5.0 (Linux; U; Android 2.3; en-us; LG-P930 Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","720x1280x1.7"],["LG Optimus One","Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; LG-MS690 Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","320x480x1.5"],["Motorola Defy, Droid, Droid X, Milestone","Mozilla/5.0 (Linux; U; Android 2.0; en-us; Milestone Build/ SHOLS_U2_01.03.1) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17","480x854x1.5"],["Motorola Droid 3, Droid 4, Droid Razr, Atrix 4G, Atrix 2","Mozilla/5.0 (Linux; U; Android 2.2; en-us; Droid Build/FRG22D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","540x960x1"],["Motorola Droid Razr HD","Mozilla/5.0 (Linux; U; Android 2.3; en-us; DROID RAZR 4G Build/6.5.1-73_DHD-11_M1-29) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","720x1280x1"],["Nokia C5, C6, C7, N97, N8, X7","NokiaN97/21.1.107 (SymbianOS/9.4; Series60/5.0 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebkit/525 (KHTML, like Gecko) BrowserNG/7.1.4","360x640x1"],["Nokia Lumia 7X0, Lumia 8XX, Lumia 900, N800, N810, N900","Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 820)","480x800x1.5"],["Samsung Galaxy Note 3","Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","1080x1920x2"],["Samsung Galaxy Note II","Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","720x1280x2"],["Samsung Galaxy Note","Mozilla/5.0 (Linux; U; Android 2.3; en-us; SAMSUNG-SGH-I717 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","800x1280x2"],["Samsung Galaxy S III, Galaxy Nexus","Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","720x1280x2"],["Samsung Galaxy S, S II, W","Mozilla/5.0 (Linux; U; Android 2.1; en-us; GT-I9000 Build/ECLAIR) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2","480x800x1.5"],["Samsung Galaxy S4","Mozilla/5.0 (Linux; Android 4.2.2; GT-I9505 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36","1080x1920x3"],["Sony Xperia S, Ion","Mozilla/5.0 (Linux; U; Android 4.0; en-us; LT28at Build/6.1.C.1.111) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","720x1280x2"],["Sony Xperia Sola, U","Mozilla/5.0 (Linux; U; Android 2.3; en-us; SonyEricssonST25i Build/6.0.B.1.564) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","480x854x1"],["Sony Xperia Z, Z1","Mozilla/5.0 (Linux; U; Android 4.2; en-us; SonyC6903 Build/14.1.G.1.518) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30","1080x1920x3"],];WebInspector.OverridesView.DeviceTab._tablets=[["Amazon Amazon Kindle Fire HD 7\u2033","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire HD Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1280x800x1.5"],["Amazon Amazon Kindle Fire HD 8.9\u2033","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire HD Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1920x1200x1.5"],["Amazon Amazon Kindle Fire","Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1024x600x1"],["Apple iPad 1 / 2 / iPad Mini","Mozilla/5.0 (iPad; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5","1024x768x1"],["Apple iPad 3 / 4","Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53","2048x1536x2"],["BlackBerry PlayBook","Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+","1024x600x1"],["Google Nexus 10","Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36","2560x1600x2"],["Google Nexus 7 2","Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36","1920x1200x2"],["Google Nexus 7","Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Safari/537.36","1280x800x1.325"],["Motorola Xoom, Xyboard","Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/525.10 (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2","1280x800x1"],["Samsung Galaxy Tab 7.7, 8.9, 10.1","Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1280x800x1"],["Samsung Galaxy Tab","Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1","1024x600x1"],];WebInspector.OverridesView.DeviceTab.prototype={_keyPressed:function(e)
|
| {if(e.keyCode===WebInspector.KeyboardShortcut.Keys.Enter.code)
|
| this._emulateButtonClicked();},_emulateButtonClicked:function()
|
| {var option=this._deviceSelectElement.options[this._deviceSelectElement.selectedIndex];WebInspector.overridesSupport.emulateDevice(option._metrics,option._userAgent);},_resetButtonClicked:function()
|
| -{WebInspector.overridesSupport.reset();},_deviceSelected:function()
|
| +{WebInspector.overridesSupport.reset();},_hasActiveOverridesChanged:function()
|
| +{this._resetButton.disabled=!WebInspector.overridesSupport.hasActiveOverrides();},_deviceSelected:function()
|
| {var option=this._deviceSelectElement.options[this._deviceSelectElement.selectedIndex];this._emulatedDeviceSetting.set(option.value);this._updateValueLabels();},_updateValueLabels:function()
|
| {var option=this._deviceSelectElement.options[this._deviceSelectElement.selectedIndex];var metrics;if(option._metrics&&(metrics=WebInspector.OverridesSupport.DeviceMetrics.parseSetting(option._metrics)))
|
| -this._viewportValueElement.textContent=WebInspector.UIString("%s \u00D7 %s, devicePixelRatio = %s",metrics.width,metrics.height,metrics.deviceScaleFactor);else
|
| +this._viewportValueElement.textContent=WebInspector.UIString("%s \xD7 %s, devicePixelRatio = %s",metrics.width,metrics.height,metrics.deviceScaleFactor);else
|
| this._viewportValueElement.textContent="";this._userAgentValueElement.textContent=option._userAgent||"";},__proto__:WebInspector.OverridesView.Tab.prototype}
|
| WebInspector.OverridesView.ViewportTab=function()
|
| -{WebInspector.OverridesView.Tab.call(this,"viewport",WebInspector.UIString("Screen"),[WebInspector.settings.overrideDeviceMetrics,WebInspector.settings.overrideCSSMedia]);this.element.classList.add("overrides-viewport");const metricsSetting=WebInspector.settings.deviceMetrics.get();var metrics=WebInspector.OverridesSupport.DeviceMetrics.parseSetting(metricsSetting);var checkbox=this._createSettingCheckbox(WebInspector.UIString("Emulate screen"),WebInspector.settings.overrideDeviceMetrics,this._onMetricsCheckboxClicked.bind(this));checkbox.firstChild.disabled=WebInspector.isInspectingDevice();WebInspector.settings.deviceMetrics.addChangeListener(this._updateDeviceMetricsElement,this);this.element.appendChild(checkbox);this.element.appendChild(this._createDeviceMetricsElement(metrics));this.element.appendChild(this._createMediaEmulationElement());var footnote=this.element.createChild("p","help-footnote");var footnoteLink=footnote.createChild("a");footnoteLink.href="https://developers.google.com/chrome-developer-tools/docs/mobile-emulation";footnoteLink.target="_blank";footnoteLink.createTextChild(WebInspector.UIString("More information about screen emulation"));this._onMetricsCheckboxClicked(WebInspector.settings.overrideDeviceMetrics.get());}
|
| +{WebInspector.OverridesView.Tab.call(this,"viewport",WebInspector.UIString("Screen"),[WebInspector.settings.overrideDeviceMetrics,WebInspector.settings.overrideCSSMedia]);this.element.classList.add("overrides-viewport");const metricsSetting=WebInspector.settings.deviceMetrics.get();var metrics=WebInspector.OverridesSupport.DeviceMetrics.parseSetting(metricsSetting);var checkbox=this._createSettingCheckbox(WebInspector.UIString("Emulate screen"),WebInspector.settings.overrideDeviceMetrics,this._onMetricsCheckboxClicked.bind(this));checkbox.firstChild.disabled=WebInspector.OverridesSupport.isInspectingDevice();WebInspector.settings.deviceMetrics.addChangeListener(this._updateDeviceMetricsElement,this);this.element.appendChild(checkbox);this.element.appendChild(this._createDeviceMetricsElement(metrics));this.element.appendChild(this._createMediaEmulationFragment());var footnote=this.element.createChild("p","help-footnote");var footnoteLink=footnote.createChild("a");footnoteLink.href="https://developers.google.com/chrome-developer-tools/docs/mobile-emulation";footnoteLink.target="_blank";footnoteLink.createTextChild(WebInspector.UIString("More information about screen emulation"));this._onMetricsCheckboxClicked(WebInspector.settings.overrideDeviceMetrics.get());}
|
| WebInspector.OverridesView.ViewportTab.prototype={_onMetricsCheckboxClicked:function(enabled)
|
| {if(enabled&&!this._widthOverrideElement.value)
|
| this._widthOverrideElement.focus();this._applyDeviceMetricsUserInput();},_applyDeviceMetricsUserInput:function()
|
| @@ -259,28 +648,28 @@
|
| return;if(!userInputModified){this._widthOverrideElement.value=metrics.widthToInput();this._heightOverrideElement.value=metrics.heightToInput();this._deviceScaleFactorOverrideElement.value=metrics.deviceScaleFactorToInput();this._textAutosizingOverrideCheckbox.checked=metrics.textAutosizing;}
|
| if(metrics.isValid()){var value=metrics.toSetting();if(value!==WebInspector.settings.deviceMetrics.get())
|
| WebInspector.settings.deviceMetrics.set(value);}},_createDeviceMetricsElement:function(metrics)
|
| -{var fieldsetElement=WebInspector.SettingsTab.createSettingFieldset(WebInspector.settings.overrideDeviceMetrics);if(WebInspector.isInspectingDevice())
|
| +{var fieldsetElement=WebInspector.SettingsUI.createSettingFieldset(WebInspector.settings.overrideDeviceMetrics);if(WebInspector.OverridesSupport.isInspectingDevice())
|
| fieldsetElement.disabled=true;fieldsetElement.id="metrics-override-section";function swapDimensionsClicked()
|
| {var widthValue=this._widthOverrideElement.value;this._widthOverrideElement.value=this._heightOverrideElement.value;this._heightOverrideElement.value=widthValue;this._applyDeviceMetricsUserInput();}
|
| -var tableElement=fieldsetElement.createChild("table","nowrap");var rowElement=tableElement.createChild("tr");var cellElement=rowElement.createChild("td");cellElement.appendChild(document.createTextNode(WebInspector.UIString("Resolution:")));cellElement=rowElement.createChild("td");this._widthOverrideElement=this._createInput(cellElement,"metrics-override-width",String(metrics.width||screen.width),this._applyDeviceMetricsUserInput.bind(this),true);this._swapDimensionsElement=cellElement.createChild("button","overrides-swap");this._swapDimensionsElement.appendChild(document.createTextNode(" \u21C4 "));this._swapDimensionsElement.title=WebInspector.UIString("Swap dimensions");this._swapDimensionsElement.addEventListener("click",swapDimensionsClicked.bind(this),false);this._swapDimensionsElement.tabIndex=-1;this._heightOverrideElement=this._createInput(cellElement,"metrics-override-height",String(metrics.height||screen.height),this._applyDeviceMetricsUserInput.bind(this),true);rowElement=tableElement.createChild("tr");cellElement=rowElement.createChild("td");cellElement.colSpan=4;this._widthRangeInput=cellElement.createChild("input");this._widthRangeInput.type="range";this._widthRangeInput.min=100;this._widthRangeInput.max=2000;this._widthRangeInput.addEventListener("change",this._rangeValueChanged.bind(this),false);this._widthRangeInput.value=this._widthOverrideElement.value;rowElement=tableElement.createChild("tr");rowElement.title=WebInspector.UIString("Ratio between a device's physical pixels and device-independent pixels.");cellElement=rowElement.createChild("td");cellElement.appendChild(document.createTextNode(WebInspector.UIString("Device pixel ratio:")));cellElement=rowElement.createChild("td");this._deviceScaleFactorOverrideElement=this._createInput(cellElement,"metrics-override-device-scale",String(metrics.deviceScaleFactor||1),this._applyDeviceMetricsUserInput.bind(this),true);var textAutosizingOverrideElement=this._createNonPersistedCheckbox(WebInspector.UIString("Enable text autosizing "),this._applyDeviceMetricsUserInput.bind(this));textAutosizingOverrideElement.title=WebInspector.UIString("Text autosizing is the feature that boosts font sizes on mobile devices.");this._textAutosizingOverrideCheckbox=textAutosizingOverrideElement.firstChild;this._textAutosizingOverrideCheckbox.checked=metrics.textAutosizing;fieldsetElement.appendChild(textAutosizingOverrideElement);var checkbox=this._createSettingCheckbox(WebInspector.UIString("Emulate viewport"),WebInspector.settings.emulateViewport);fieldsetElement.appendChild(checkbox);checkbox=this._createSettingCheckbox(WebInspector.UIString("Shrink to fit"),WebInspector.settings.deviceFitWindow);fieldsetElement.appendChild(checkbox);return fieldsetElement;},_updateDeviceMetricsElement:function()
|
| +var tableElement=fieldsetElement.createChild("table","nowrap");var rowElement=tableElement.createChild("tr");var cellElement=rowElement.createChild("td");cellElement.appendChild(document.createTextNode(WebInspector.UIString("Resolution:")));cellElement=rowElement.createChild("td");this._widthOverrideElement=this._createInput(cellElement,"metrics-override-width",String(metrics.width||screen.width),this._applyDeviceMetricsUserInput.bind(this),true);this._swapDimensionsElement=cellElement.createChild("button","overrides-swap");this._swapDimensionsElement.appendChild(document.createTextNode(" \u21C4 "));this._swapDimensionsElement.title=WebInspector.UIString("Swap dimensions");this._swapDimensionsElement.addEventListener("click",swapDimensionsClicked.bind(this),false);this._swapDimensionsElement.tabIndex=-1;this._heightOverrideElement=this._createInput(cellElement,"metrics-override-height",String(metrics.height||screen.height),this._applyDeviceMetricsUserInput.bind(this),true);rowElement=tableElement.createChild("tr");cellElement=rowElement.createChild("td");cellElement.colSpan=4;this._widthRangeInput=cellElement.createChild("input");this._widthRangeInput.type="range";this._widthRangeInput.min=100;this._widthRangeInput.max=2000;this._widthRangeInput.addEventListener("change",this._rangeValueChanged.bind(this),false);this._widthRangeInput.addEventListener("input",this._rangeValueChanged.bind(this),false);this._widthRangeInput.value=this._widthOverrideElement.value;rowElement=tableElement.createChild("tr");rowElement.title=WebInspector.UIString("Ratio between a device's physical pixels and device-independent pixels.");cellElement=rowElement.createChild("td");cellElement.appendChild(document.createTextNode(WebInspector.UIString("Device pixel ratio:")));cellElement=rowElement.createChild("td");this._deviceScaleFactorOverrideElement=this._createInput(cellElement,"metrics-override-device-scale",String(metrics.deviceScaleFactor||1),this._applyDeviceMetricsUserInput.bind(this),true);var textAutosizingOverrideElement=this._createNonPersistedCheckbox(WebInspector.UIString("Enable text autosizing "),this._applyDeviceMetricsUserInput.bind(this));textAutosizingOverrideElement.title=WebInspector.UIString("Text autosizing is the feature that boosts font sizes on mobile devices.");this._textAutosizingOverrideCheckbox=textAutosizingOverrideElement.firstChild;this._textAutosizingOverrideCheckbox.checked=metrics.textAutosizing;fieldsetElement.appendChild(textAutosizingOverrideElement);var checkbox=this._createSettingCheckbox(WebInspector.UIString("Emulate viewport"),WebInspector.settings.emulateViewport);fieldsetElement.appendChild(checkbox);checkbox=this._createSettingCheckbox(WebInspector.UIString("Shrink to fit"),WebInspector.settings.deviceFitWindow);fieldsetElement.appendChild(checkbox);return fieldsetElement;},_updateDeviceMetricsElement:function()
|
| {const metricsSetting=WebInspector.settings.deviceMetrics.get();var metrics=WebInspector.OverridesSupport.DeviceMetrics.parseSetting(metricsSetting);if(this._widthOverrideElement.value!==metrics.width)
|
| this._widthOverrideElement.value=metrics.width||screen.width;this._muteRangeListener=true;if(this._widthRangeInput.value!=metrics.width)
|
| this._widthRangeInput.value=metrics.width||screen.width;delete this._muteRangeListener;if(this._heightOverrideElement.value!==metrics.height)
|
| this._heightOverrideElement.value=metrics.height||screen.height;if(this._deviceScaleFactorOverrideElement.value!==metrics.deviceScaleFactor)
|
| this._deviceScaleFactorOverrideElement.value=metrics.deviceScaleFactor||1;if(this._textAutosizingOverrideCheckbox.checked!==metrics.textAutosizing)
|
| -this._textAutosizingOverrideCheckbox.checked=metrics.textAutosizing||false;},_createMediaEmulationElement:function()
|
| -{var checkbox=WebInspector.SettingsTab.createSettingCheckbox(WebInspector.UIString("CSS media"),WebInspector.settings.overrideCSSMedia,true);var fieldsetElement=WebInspector.SettingsTab.createSettingFieldset(WebInspector.settings.overrideCSSMedia);if(WebInspector.isInspectingDevice())
|
| -fieldsetElement.disabled=true;checkbox.appendChild(fieldsetElement);var mediaSelectElement=fieldsetElement.createChild("select");var mediaTypes=WebInspector.CSSStyleModel.MediaTypes;var defaultMedia=WebInspector.settings.emulatedCSSMedia.get();for(var i=0;i<mediaTypes.length;++i){var mediaType=mediaTypes[i];if(mediaType==="all"){continue;}
|
| +this._textAutosizingOverrideCheckbox.checked=metrics.textAutosizing||false;},_createMediaEmulationFragment:function()
|
| +{var checkbox=WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("CSS media"),WebInspector.settings.overrideCSSMedia,true);var fieldsetElement=WebInspector.SettingsUI.createSettingFieldset(WebInspector.settings.overrideCSSMedia);if(WebInspector.OverridesSupport.isInspectingDevice())
|
| +fieldsetElement.disabled=true;var mediaSelectElement=fieldsetElement.createChild("select");var mediaTypes=WebInspector.CSSStyleModel.MediaTypes;var defaultMedia=WebInspector.settings.emulatedCSSMedia.get();for(var i=0;i<mediaTypes.length;++i){var mediaType=mediaTypes[i];if(mediaType==="all"){continue;}
|
| var option=document.createElement("option");option.text=mediaType;option.value=mediaType;mediaSelectElement.add(option);if(mediaType===defaultMedia)
|
| mediaSelectElement.selectedIndex=mediaSelectElement.options.length-1;}
|
| -mediaSelectElement.addEventListener("change",this._emulateMediaChanged.bind(this,mediaSelectElement),false);return checkbox;},_emulateMediaChanged:function(select)
|
| +mediaSelectElement.addEventListener("change",this._emulateMediaChanged.bind(this,mediaSelectElement),false);var fragment=document.createDocumentFragment();fragment.appendChild(checkbox);fragment.appendChild(fieldsetElement);return fragment;},_emulateMediaChanged:function(select)
|
| {var media=select.options[select.selectedIndex].value;WebInspector.settings.emulatedCSSMedia.set(media);},_rangeValueChanged:function()
|
| {if(this._muteRangeListener)
|
| return;this._widthOverrideElement.value=this._widthRangeInput.value;this._applyDeviceMetricsUserInput();},__proto__:WebInspector.OverridesView.Tab.prototype}
|
| WebInspector.OverridesView.UserAgentTab=function()
|
| -{WebInspector.OverridesView.Tab.call(this,"user-agent",WebInspector.UIString("User Agent"),[WebInspector.settings.overrideUserAgent]);this.element.classList.add("overrides-user-agent");var checkbox=this._createSettingCheckbox(WebInspector.UIString("Spoof user agent"),WebInspector.settings.overrideUserAgent);checkbox.firstChild.disabled=WebInspector.isInspectingDevice();this.element.appendChild(checkbox);this.element.appendChild(this._createUserAgentSelectRowElement());}
|
| -WebInspector.OverridesView.UserAgentTab._userAgents=[["Chrome 31 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36"],["Chrome 31 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"],["Opera 18 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68"],["Opera 18 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68"],["Internet Explorer 10","Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"],["Internet Explorer 9","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"],["Internet Explorer 8","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)"],["Internet Explorer 7","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"],["Firefox 7 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"],["Firefox 7 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"],["Firefox 4 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"],["Firefox 4 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"],["Firefox 14 \u2014 Android Mobile","Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0"],["Firefox 14 \u2014 Android Tablet","Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0"],["Chrome \u2014 Android Mobile","Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19"],["Chrome \u2014 Android Tablet","Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7 Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19"],["iPhone \u2014 iOS 7","Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A4449d Safari/9537.53"],["iPhone \u2014 iOS 6","Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"],["iPad \u2014 iOS 7","Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53"],["iPad \u2014 iOS 6","Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"],["Android 2.3 \u2014 Nexus S","Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"],["Android 4.0.2 \u2014 Galaxy Nexus","Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"],["BlackBerry \u2014 PlayBook 2.1","Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+"],["BlackBerry \u2014 9900","Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.187 Mobile Safari/534.11+"],["BlackBerry \u2014 BB10","Mozilla/5.0 (BB10; Touch) AppleWebKit/537.1+ (KHTML, like Gecko) Version/10.0.0.1337 Mobile Safari/537.1+"],["MeeGo \u2014 Nokia N9","Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13"],];WebInspector.OverridesView.UserAgentTab.prototype={_createUserAgentSelectRowElement:function()
|
| -{var userAgent=WebInspector.settings.userAgent.get();var userAgents=WebInspector.OverridesView.UserAgentTab._userAgents.concat([[WebInspector.UIString("Other"),"Other"]]);var fieldsetElement=WebInspector.SettingsTab.createSettingFieldset(WebInspector.settings.overrideUserAgent);if(WebInspector.isInspectingDevice())
|
| +{WebInspector.OverridesView.Tab.call(this,"user-agent",WebInspector.UIString("User Agent"),[WebInspector.settings.overrideUserAgent]);this.element.classList.add("overrides-user-agent");var checkbox=this._createSettingCheckbox(WebInspector.UIString("Spoof user agent"),WebInspector.settings.overrideUserAgent);checkbox.firstChild.disabled=WebInspector.OverridesSupport.isInspectingDevice();this.element.appendChild(checkbox);this.element.appendChild(this._createUserAgentSelectRowElement());}
|
| +WebInspector.OverridesView.UserAgentTab._userAgents=[["Android 4.0.2 \u2014 Galaxy Nexus","Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30"],["Android 2.3 \u2014 Nexus S","Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"],["BlackBerry \u2014 BB10","Mozilla/5.0 (BB10; Touch) AppleWebKit/537.1+ (KHTML, like Gecko) Version/10.0.0.1337 Mobile Safari/537.1+"],["BlackBerry \u2014 PlayBook 2.1","Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+"],["BlackBerry \u2014 9900","Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.187 Mobile Safari/534.11+"],["Chrome 31 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36"],["Chrome 31 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36"],["Chrome \u2014 Android Tablet","Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7 Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19"],["Chrome \u2014 Android Mobile","Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19"],["Firefox 14 \u2014 Android Mobile","Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0"],["Firefox 14 \u2014 Android Tablet","Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0"],["Firefox 4 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"],["Firefox 4 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"],["Firefox 7 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"],["Firefox 7 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"],["Internet Explorer 10","Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"],["Internet Explorer 7","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"],["Internet Explorer 8","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)"],["Internet Explorer 9","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"],["iPad \u2014 iOS 7","Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53"],["iPad \u2014 iOS 6","Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"],["iPhone \u2014 iOS 7","Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A4449d Safari/9537.53"],["iPhone \u2014 iOS 6","Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25"],["MeeGo \u2014 Nokia N9","Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13"],["Opera 18 \u2014 Mac","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68"],["Opera 18 \u2014 Windows","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68"],["Opera 12 \u2014 Mac","Opera/9.80 (Macintosh; Intel Mac OS X 10.9.1) Presto/2.12.388 Version/12.16"],["Opera 12 \u2014 Windows","Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.16"],];WebInspector.OverridesView.UserAgentTab.prototype={_createUserAgentSelectRowElement:function()
|
| +{var userAgent=WebInspector.settings.userAgent.get();var userAgents=WebInspector.OverridesView.UserAgentTab._userAgents.concat([[WebInspector.UIString("Other"),"Other"]]);var fieldsetElement=WebInspector.SettingsUI.createSettingFieldset(WebInspector.settings.overrideUserAgent);if(WebInspector.OverridesSupport.isInspectingDevice())
|
| fieldsetElement.disabled=true;this._selectElement=fieldsetElement.createChild("select");fieldsetElement.createChild("br");this._otherUserAgentElement=fieldsetElement.createChild("input");this._otherUserAgentElement.type="text";this._otherUserAgentElement.value=userAgent;this._otherUserAgentElement.title=userAgent;var selectionRestored=false;for(var i=0;i<userAgents.length;++i){var agent=userAgents[i];var option=new Option(agent[0],agent[1]);option._metrics=agent[2]?agent[2]:"";this._selectElement.add(option);if(userAgent===agent[1]){this._selectElement.selectedIndex=i;selectionRestored=true;}}
|
| if(!selectionRestored){if(!userAgent)
|
| this._selectElement.selectedIndex=0;else
|
| @@ -297,9 +686,8 @@
|
| this._otherUserAgentElement.disabled=foundMatch;if(!foundMatch)
|
| this._selectElement.selectedIndex=options.length-1;if(this._otherUserAgentElement.value!==value){this._otherUserAgentElement.value=value;this._otherUserAgentElement.title=value;}},__proto__:WebInspector.OverridesView.Tab.prototype}
|
| WebInspector.OverridesView.SensorsTab=function()
|
| -{WebInspector.OverridesView.Tab.call(this,"sensors",WebInspector.UIString("Sensors"),[WebInspector.settings.emulateTouchEvents,WebInspector.settings.overrideGeolocation,WebInspector.settings.overrideDeviceOrientation]);this.element.classList.add("overrides-sensors");this.registerRequiredCSS("accelerometer.css");if(!WebInspector.isInspectingDevice())
|
| -this.element.appendChild(this._createSettingCheckbox(WebInspector.UIString("Emulate touch screen"),WebInspector.settings.emulateTouchEvents));this._appendGeolocationOverrideControl();if(!WebInspector.isInspectingDevice())
|
| -this._apendDeviceOrientationOverrideControl();}
|
| +{WebInspector.OverridesView.Tab.call(this,"sensors",WebInspector.UIString("Sensors"),[WebInspector.settings.emulateTouchEvents,WebInspector.settings.overrideGeolocation,WebInspector.settings.overrideDeviceOrientation]);this.element.classList.add("overrides-sensors");this.registerRequiredCSS("accelerometer.css");if(!WebInspector.OverridesSupport.isInspectingDevice())
|
| +this.element.appendChild(this._createSettingCheckbox(WebInspector.UIString("Emulate touch screen"),WebInspector.settings.emulateTouchEvents));this._appendGeolocationOverrideControl();this._apendDeviceOrientationOverrideControl();}
|
| WebInspector.OverridesView.SensorsTab.prototype={_appendGeolocationOverrideControl:function()
|
| {const geolocationSetting=WebInspector.settings.geolocationOverride.get();var geolocation=WebInspector.OverridesSupport.GeolocationPosition.parseSetting(geolocationSetting);this.element.appendChild(this._createSettingCheckbox(WebInspector.UIString("Emulate geolocation coordinates"),WebInspector.settings.overrideGeolocation,this._geolocationOverrideCheckboxClicked.bind(this)));this.element.appendChild(this._createGeolocationOverrideElement(geolocation));this._geolocationOverrideCheckboxClicked(WebInspector.settings.overrideGeolocation.get());},_geolocationOverrideCheckboxClicked:function(enabled)
|
| {if(enabled&&!this._latitudeElement.value)
|
| @@ -308,7 +696,7 @@
|
| {if(!geolocation)
|
| return;if(!userInputModified){this._latitudeElement.value=geolocation.latitude;this._longitudeElement.value=geolocation.longitude;}
|
| var value=geolocation.toSetting();WebInspector.settings.geolocationOverride.set(value);},_createGeolocationOverrideElement:function(geolocation)
|
| -{var fieldsetElement=WebInspector.SettingsTab.createSettingFieldset(WebInspector.settings.overrideGeolocation);fieldsetElement.id="geolocation-override-section";var tableElement=fieldsetElement.createChild("table");var rowElement=tableElement.createChild("tr");var cellElement=rowElement.createChild("td");cellElement=rowElement.createChild("td");cellElement.appendChild(document.createTextNode(WebInspector.UIString("Lat = ")));this._latitudeElement=this._createInput(cellElement,"geolocation-override-latitude",String(geolocation.latitude),this._applyGeolocationUserInput.bind(this),true);cellElement.appendChild(document.createTextNode(" , "));cellElement.appendChild(document.createTextNode(WebInspector.UIString("Lon = ")));this._longitudeElement=this._createInput(cellElement,"geolocation-override-longitude",String(geolocation.longitude),this._applyGeolocationUserInput.bind(this),true);rowElement=tableElement.createChild("tr");cellElement=rowElement.createChild("td");cellElement.colSpan=2;var geolocationErrorLabelElement=document.createElement("label");var geolocationErrorCheckboxElement=geolocationErrorLabelElement.createChild("input");geolocationErrorCheckboxElement.id="geolocation-error";geolocationErrorCheckboxElement.type="checkbox";geolocationErrorCheckboxElement.checked=!geolocation||geolocation.error;geolocationErrorCheckboxElement.addEventListener("click",this._applyGeolocationUserInput.bind(this),false);geolocationErrorLabelElement.appendChild(document.createTextNode(WebInspector.UIString("Emulate position unavailable")));this._geolocationErrorElement=geolocationErrorCheckboxElement;cellElement.appendChild(geolocationErrorLabelElement);return fieldsetElement;},_apendDeviceOrientationOverrideControl:function()
|
| +{var fieldsetElement=WebInspector.SettingsUI.createSettingFieldset(WebInspector.settings.overrideGeolocation);fieldsetElement.id="geolocation-override-section";var tableElement=fieldsetElement.createChild("table");var rowElement=tableElement.createChild("tr");var cellElement=rowElement.createChild("td");cellElement=rowElement.createChild("td");cellElement.appendChild(document.createTextNode(WebInspector.UIString("Lat = ")));this._latitudeElement=this._createInput(cellElement,"geolocation-override-latitude",String(geolocation.latitude),this._applyGeolocationUserInput.bind(this),true);cellElement.appendChild(document.createTextNode(" , "));cellElement.appendChild(document.createTextNode(WebInspector.UIString("Lon = ")));this._longitudeElement=this._createInput(cellElement,"geolocation-override-longitude",String(geolocation.longitude),this._applyGeolocationUserInput.bind(this),true);rowElement=tableElement.createChild("tr");cellElement=rowElement.createChild("td");cellElement.colSpan=2;var geolocationErrorLabelElement=document.createElement("label");var geolocationErrorCheckboxElement=geolocationErrorLabelElement.createChild("input");geolocationErrorCheckboxElement.id="geolocation-error";geolocationErrorCheckboxElement.type="checkbox";geolocationErrorCheckboxElement.checked=!geolocation||geolocation.error;geolocationErrorCheckboxElement.addEventListener("click",this._applyGeolocationUserInput.bind(this),false);geolocationErrorLabelElement.appendChild(document.createTextNode(WebInspector.UIString("Emulate position unavailable")));this._geolocationErrorElement=geolocationErrorCheckboxElement;cellElement.appendChild(geolocationErrorLabelElement);return fieldsetElement;},_apendDeviceOrientationOverrideControl:function()
|
| {const deviceOrientationSetting=WebInspector.settings.deviceOrientationOverride.get();var deviceOrientation=WebInspector.OverridesSupport.DeviceOrientation.parseSetting(deviceOrientationSetting);this.element.appendChild(this._createSettingCheckbox(WebInspector.UIString("Accelerometer"),WebInspector.settings.overrideDeviceOrientation,this._deviceOrientationOverrideCheckboxClicked.bind(this)));this.element.appendChild(this._createDeviceOrientationOverrideElement(deviceOrientation));this._deviceOrientationOverrideCheckboxClicked(WebInspector.settings.overrideDeviceOrientation.get());},_deviceOrientationOverrideCheckboxClicked:function(enabled)
|
| {if(enabled&&!this._alphaElement.value)
|
| this._alphaElement.focus();},_applyDeviceOrientationUserInput:function()
|
| @@ -319,11 +707,11 @@
|
| if(modificationSource!=WebInspector.OverridesView.SensorsTab.DeviceOrientationModificationSource.UserDrag)
|
| this._setBoxOrientation(deviceOrientation);var value=deviceOrientation.toSetting();WebInspector.settings.deviceOrientationOverride.set(value);},_createAxisInput:function(parentElement,id,label,defaultText)
|
| {var div=parentElement.createChild("div","accelerometer-axis-input-container");div.appendChild(document.createTextNode(label));return this._createInput(div,id,defaultText,this._applyDeviceOrientationUserInput.bind(this),true);},_createDeviceOrientationOverrideElement:function(deviceOrientation)
|
| -{var fieldsetElement=WebInspector.SettingsTab.createSettingFieldset(WebInspector.settings.overrideDeviceOrientation);fieldsetElement.id="device-orientation-override-section";var tableElement=fieldsetElement.createChild("table");var rowElement=tableElement.createChild("tr");var cellElement=rowElement.createChild("td","accelerometer-inputs-cell");this._alphaElement=this._createAxisInput(cellElement,"device-orientation-override-alpha","\u03B1: ",String(deviceOrientation.alpha));this._betaElement=this._createAxisInput(cellElement,"device-orientation-override-beta","\u03B2: ",String(deviceOrientation.beta));this._gammaElement=this._createAxisInput(cellElement,"device-orientation-override-gamma","\u03B3: ",String(deviceOrientation.gamma));var resetButton=cellElement.createChild("button","settings-tab-text-button accelerometer-reset-button");resetButton.textContent=WebInspector.UIString("Reset");resetButton.addEventListener("click",this._resetDeviceOrientation.bind(this),false);this._stageElement=rowElement.createChild("td","accelerometer-stage");this._boxElement=this._stageElement.createChild("section","accelerometer-box");this._boxElement.createChild("section","front");this._boxElement.createChild("section","top");this._boxElement.createChild("section","back");this._boxElement.createChild("section","left");this._boxElement.createChild("section","right");this._boxElement.createChild("section","bottom");WebInspector.installDragHandle(this._stageElement,this._onBoxDragStart.bind(this),this._onBoxDrag.bind(this),this._onBoxDragEnd.bind(this),"move");this._setBoxOrientation(deviceOrientation);return fieldsetElement;},_setBoxOrientation:function(deviceOrientation)
|
| -{var matrix=new WebKitCSSMatrix();this._boxMatrix=matrix.rotate(deviceOrientation.beta,deviceOrientation.gamma,deviceOrientation.alpha);this._boxElement.style.webkitTransform=this._boxMatrix.toString();},_onBoxDrag:function(event)
|
| +{var fieldsetElement=WebInspector.SettingsUI.createSettingFieldset(WebInspector.settings.overrideDeviceOrientation);fieldsetElement.id="device-orientation-override-section";var tableElement=fieldsetElement.createChild("table");var rowElement=tableElement.createChild("tr");var cellElement=rowElement.createChild("td","accelerometer-inputs-cell");this._alphaElement=this._createAxisInput(cellElement,"device-orientation-override-alpha","\u03B1: ",String(deviceOrientation.alpha));this._betaElement=this._createAxisInput(cellElement,"device-orientation-override-beta","\u03B2: ",String(deviceOrientation.beta));this._gammaElement=this._createAxisInput(cellElement,"device-orientation-override-gamma","\u03B3: ",String(deviceOrientation.gamma));var resetButton=cellElement.createChild("button","settings-tab-text-button accelerometer-reset-button");resetButton.textContent=WebInspector.UIString("Reset");resetButton.addEventListener("click",this._resetDeviceOrientation.bind(this),false);this._stageElement=rowElement.createChild("td","accelerometer-stage");this._boxElement=this._stageElement.createChild("section","accelerometer-box");this._boxElement.createChild("section","front");this._boxElement.createChild("section","top");this._boxElement.createChild("section","back");this._boxElement.createChild("section","left");this._boxElement.createChild("section","right");this._boxElement.createChild("section","bottom");WebInspector.installDragHandle(this._stageElement,this._onBoxDragStart.bind(this),this._onBoxDrag.bind(this),this._onBoxDragEnd.bind(this),"move");this._setBoxOrientation(deviceOrientation);return fieldsetElement;},_setBoxOrientation:function(deviceOrientation)
|
| +{var matrix=new WebKitCSSMatrix();this._boxMatrix=matrix.rotate(-deviceOrientation.beta,deviceOrientation.gamma,-deviceOrientation.alpha);this._boxElement.style.webkitTransform=this._boxMatrix.toString();},_onBoxDrag:function(event)
|
| {var mouseMoveVector=this._calculateRadiusVector(event.x,event.y);if(!mouseMoveVector)
|
| return true;event.consume(true);var axis=WebInspector.Geometry.crossProduct(this._mouseDownVector,mouseMoveVector);axis.normalize();var angle=WebInspector.Geometry.calculateAngle(this._mouseDownVector,mouseMoveVector);var matrix=new WebKitCSSMatrix();var rotationMatrix=matrix.rotateAxisAngle(axis.x,axis.y,axis.z,angle);this._currentMatrix=rotationMatrix.multiply(this._boxMatrix)
|
| -this._boxElement.style.webkitTransform=this._currentMatrix;var eulerAngles=WebInspector.Geometry.EulerAngles.fromRotationMatrix(this._currentMatrix);var newOrientation=new WebInspector.OverridesSupport.DeviceOrientation(eulerAngles.alpha,eulerAngles.beta,eulerAngles.gamma);this._setDeviceOrientation(newOrientation,WebInspector.OverridesView.SensorsTab.DeviceOrientationModificationSource.UserDrag);return false;},_onBoxDragStart:function(event)
|
| +this._boxElement.style.webkitTransform=this._currentMatrix;var eulerAngles=WebInspector.Geometry.EulerAngles.fromRotationMatrix(this._currentMatrix);var newOrientation=new WebInspector.OverridesSupport.DeviceOrientation(-eulerAngles.alpha,-eulerAngles.beta,eulerAngles.gamma);this._setDeviceOrientation(newOrientation,WebInspector.OverridesView.SensorsTab.DeviceOrientationModificationSource.UserDrag);return false;},_onBoxDragStart:function(event)
|
| {if(!WebInspector.settings.overrideDeviceOrientation.get())
|
| return false;this._mouseDownVector=this._calculateRadiusVector(event.x,event.y);if(!this._mouseDownVector)
|
| return false;event.consume(true);return true;},_onBoxDragEnd:function()
|
| @@ -331,7 +719,7 @@
|
| {var rect=this._stageElement.getBoundingClientRect();var radius=Math.max(rect.width,rect.height)/2;var sphereX=(x-rect.left-rect.width/2)/radius;var sphereY=(y-rect.top-rect.height/2)/radius;var sqrSum=sphereX*sphereX+sphereY*sphereY;if(sqrSum>0.5)
|
| return new WebInspector.Geometry.Vector(sphereX,sphereY,0.5/Math.sqrt(sqrSum));return new WebInspector.Geometry.Vector(sphereX,sphereY,Math.sqrt(1-sqrSum));},__proto__:WebInspector.OverridesView.Tab.prototype}
|
| WebInspector.OverridesView.SensorsTab.DeviceOrientationModificationSource={UserInput:"userInput",UserDrag:"userDrag",ResetButton:"resetButton"};WebInspector.PlatformFontsSidebarPane=function()
|
| -{WebInspector.SidebarPane.call(this,WebInspector.UIString("Fonts"));this.element.classList.add("platform-fonts");WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrModified,this._onNodeChange.bind(this));WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrRemoved,this._onNodeChange.bind(this));WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.CharacterDataModified,this._onNodeChange.bind(this));this._sectionTitle=document.createElementWithClass("div","sidebar-separator");this.element.insertBefore(this._sectionTitle,this.bodyElement);this._sectionTitle.textContent=WebInspector.UIString("Rendered Fonts");this._fontStatsSection=this.bodyElement.createChild("div","stats-section");}
|
| +{WebInspector.SidebarPane.call(this,WebInspector.UIString("Fonts"));this.element.classList.add("platform-fonts");WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrModified,this._onNodeChange.bind(this));WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrRemoved,this._onNodeChange.bind(this));WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.CharacterDataModified,this._onNodeChange.bind(this));this._sectionTitle=document.createElementWithClass("div","sidebar-separator");this.element.insertBefore(this._sectionTitle,this.bodyElement);this._sectionTitle.textContent=WebInspector.UIString("Rendered Fonts");this._fontStatsSection=this.bodyElement.createChild("div","stats-section");}
|
| WebInspector.PlatformFontsSidebarPane.prototype={_onNodeChange:function()
|
| {if(this._innerUpdateTimeout)
|
| return;this._innerUpdateTimeout=setTimeout(this._innerUpdate.bind(this),100);},update:function(node)
|
| @@ -341,7 +729,7 @@
|
| if(!this._node)
|
| return;WebInspector.cssModel.getPlatformFontsForNode(this._node.id,this._refreshUI.bind(this,this._node));},_refreshUI:function(node,cssFamilyName,platformFonts)
|
| {if(this._node!==node)
|
| -return;this._fontStatsSection.removeChildren();var isEmptySection=!platformFonts||!platformFonts.length;this._sectionTitle.enableStyleClass("hidden",isEmptySection);if(isEmptySection)
|
| +return;this._fontStatsSection.removeChildren();var isEmptySection=!platformFonts||!platformFonts.length;this._sectionTitle.classList.toggle("hidden",isEmptySection);if(isEmptySection)
|
| return;platformFonts.sort(function(a,b){return b.glyphCount-a.glyphCount;});for(var i=0;i<platformFonts.length;++i){var fontStatElement=this._fontStatsSection.createChild("div","font-stats-item");var fontNameElement=fontStatElement.createChild("span","font-name");fontNameElement.textContent=platformFonts[i].familyName;var fontDelimeterElement=fontStatElement.createChild("span","delimeter");fontDelimeterElement.textContent="\u2014";var fontUsageElement=fontStatElement.createChild("span","font-usage");var usage=platformFonts[i].glyphCount;fontUsageElement.textContent=usage===1?WebInspector.UIString("%d glyph",usage):WebInspector.UIString("%d glyphs",usage);}},__proto__:WebInspector.SidebarPane.prototype};WebInspector.PropertiesSidebarPane=function()
|
| {WebInspector.SidebarPane.call(this,WebInspector.UIString("Properties"));}
|
| WebInspector.PropertiesSidebarPane._objectGroupName="properties-sidebar-pane";WebInspector.PropertiesSidebarPane.prototype={update:function(node)
|
| @@ -360,10 +748,10 @@
|
| return;var body=this.bodyElement;body.removeChildren();this.sections=[];for(var i=0;i<prototypes.length;++i){if(!parseInt(prototypes[i].name,10))
|
| continue;var prototype=prototypes[i].value;var title=prototype.description;if(title.match(/Prototype$/))
|
| title=title.replace(/Prototype$/,"");var section=new WebInspector.ObjectPropertiesSection(prototype,title);this.sections.push(section);body.appendChild(section.element);}}},__proto__:WebInspector.SidebarPane.prototype};WebInspector.RenderingOptionsView=function()
|
| -{WebInspector.View.call(this);this.registerRequiredCSS("helpScreen.css");this.element.classList.add("help-indent-labels");var div=this.element.createChild("div","settings-tab help-content help-container");div.appendChild(WebInspector.SettingsTab.createSettingCheckbox(WebInspector.UIString("Show paint rectangles"),WebInspector.settings.showPaintRects));div.appendChild(WebInspector.SettingsTab.createSettingCheckbox(WebInspector.UIString("Show composited layer borders"),WebInspector.settings.showDebugBorders));div.appendChild(WebInspector.SettingsTab.createSettingCheckbox(WebInspector.UIString("Show FPS meter"),WebInspector.settings.showFPSCounter));div.appendChild(WebInspector.SettingsTab.createSettingCheckbox(WebInspector.UIString("Enable continuous page repainting"),WebInspector.settings.continuousPainting));var child=WebInspector.SettingsTab.createSettingCheckbox(WebInspector.UIString("Show potential scroll bottlenecks"),WebInspector.settings.showScrollBottleneckRects);child.title=WebInspector.UIString("Shows areas of the page that slow down scrolling:\nTouch and mousewheel event listeners can delay scrolling.\nSome areas need to repaint their content when scrolled.");div.appendChild(child);}
|
| -WebInspector.RenderingOptionsView.prototype={__proto__:WebInspector.View.prototype};WebInspector.StylesSidebarPane=function(computedStylePane,setPseudoClassCallback)
|
| -{WebInspector.SidebarPane.call(this,WebInspector.UIString("Styles"));this._elementStateButton=document.createElement("button");this._elementStateButton.className="pane-title-button element-state";this._elementStateButton.title=WebInspector.UIString("Toggle Element State");this._elementStateButton.addEventListener("click",this._toggleElementStatePane.bind(this),false);this.titleElement.appendChild(this._elementStateButton);var addButton=document.createElement("button");addButton.className="pane-title-button add";addButton.id="add-style-button-test-id";addButton.title=WebInspector.UIString("New Style Rule");addButton.addEventListener("click",this._createNewRule.bind(this),false);this.titleElement.appendChild(addButton);this._computedStylePane=computedStylePane;computedStylePane._stylesSidebarPane=this;this._setPseudoClassCallback=setPseudoClassCallback;this.element.addEventListener("contextmenu",this._contextMenuEventFired.bind(this),true);WebInspector.settings.colorFormat.addChangeListener(this._colorFormatSettingChanged.bind(this));this._createElementStatePane();this.bodyElement.appendChild(this._elementStatePane);this._sectionsContainer=document.createElement("div");this.bodyElement.appendChild(this._sectionsContainer);this._spectrumHelper=new WebInspector.SpectrumPopupHelper();this._linkifier=new WebInspector.Linkifier(new WebInspector.Linkifier.DefaultCSSFormatter());WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.MediaQueryResultChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrModified,this._attributeChanged,this);WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.AttrRemoved,this._attributeChanged,this);WebInspector.settings.showUserAgentStyles.addChangeListener(this._showUserAgentStylesSettingChanged.bind(this));WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameResized,this._frameResized,this);this.element.classList.add("styles-pane");this.element.enableStyleClass("show-user-styles",WebInspector.settings.showUserAgentStyles.get());this.element.addEventListener("mousemove",this._mouseMovedOverElement.bind(this),false);document.body.addEventListener("keydown",this._keyDown.bind(this),false);document.body.addEventListener("keyup",this._keyUp.bind(this),false);}
|
| -WebInspector.StylesSidebarPane.PseudoIdNames=["","first-line","first-letter","before","after","selection","","-webkit-scrollbar","-webkit-file-upload-button","-webkit-input-placeholder","-webkit-slider-thumb","-webkit-search-cancel-button","-webkit-search-decoration","-webkit-search-results-decoration","-webkit-search-results-button","-webkit-media-controls-panel","-webkit-media-controls-play-button","-webkit-media-controls-mute-button","-webkit-media-controls-timeline","-webkit-media-controls-timeline-container","-webkit-media-controls-volume-slider","-webkit-media-controls-volume-slider-container","-webkit-media-controls-current-time-display","-webkit-media-controls-time-remaining-display","-webkit-media-controls-seek-back-button","-webkit-media-controls-seek-forward-button","-webkit-media-controls-fullscreen-button","-webkit-media-controls-rewind-button","-webkit-media-controls-return-to-realtime-button","-webkit-media-controls-toggle-closed-captions-button","-webkit-media-controls-status-display","-webkit-scrollbar-thumb","-webkit-scrollbar-button","-webkit-scrollbar-track","-webkit-scrollbar-track-piece","-webkit-scrollbar-corner","-webkit-resizer","-webkit-inner-spin-button","-webkit-outer-spin-button"];WebInspector.StylesSidebarPane._colorRegex=/((?:rgb|hsl)a?\([^)]+\)|#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}|\b\w+\b(?!-))/g;WebInspector.StylesSidebarPane.createExclamationMark=function(property)
|
| +{WebInspector.VBox.call(this);this.registerRequiredCSS("helpScreen.css");this.element.classList.add("help-indent-labels");var div=this.element.createChild("div","settings-tab help-content help-container help-no-columns");div.appendChild(WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Show paint rectangles"),WebInspector.settings.showPaintRects));div.appendChild(WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Show composited layer borders"),WebInspector.settings.showDebugBorders));div.appendChild(WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Show FPS meter"),WebInspector.settings.showFPSCounter));div.appendChild(WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Enable continuous page repainting"),WebInspector.settings.continuousPainting));var child=WebInspector.SettingsUI.createSettingCheckbox(WebInspector.UIString("Show potential scroll bottlenecks"),WebInspector.settings.showScrollBottleneckRects);child.title=WebInspector.UIString("Shows areas of the page that slow down scrolling:\nTouch and mousewheel event listeners can delay scrolling.\nSome areas need to repaint their content when scrolled.");div.appendChild(child);}
|
| +WebInspector.RenderingOptionsView.prototype={__proto__:WebInspector.VBox.prototype};WebInspector.StylesSidebarPane=function(computedStylePane,setPseudoClassCallback)
|
| +{WebInspector.SidebarPane.call(this,WebInspector.UIString("Styles"));this._elementStateButton=document.createElement("button");this._elementStateButton.className="pane-title-button element-state";this._elementStateButton.title=WebInspector.UIString("Toggle Element State");this._elementStateButton.addEventListener("click",this._toggleElementStatePane.bind(this),false);this.titleElement.appendChild(this._elementStateButton);var addButton=document.createElement("button");addButton.className="pane-title-button add";addButton.id="add-style-button-test-id";addButton.title=WebInspector.UIString("New Style Rule");addButton.addEventListener("click",this._createNewRule.bind(this),false);this.titleElement.appendChild(addButton);this._computedStylePane=computedStylePane;computedStylePane.setHostingPane(this);this._setPseudoClassCallback=setPseudoClassCallback;this.element.addEventListener("contextmenu",this._contextMenuEventFired.bind(this),true);WebInspector.settings.colorFormat.addChangeListener(this._colorFormatSettingChanged.bind(this));this._createElementStatePane();this.bodyElement.appendChild(this._elementStatePane);this._sectionsContainer=document.createElement("div");this.bodyElement.appendChild(this._sectionsContainer);this._spectrumHelper=new WebInspector.SpectrumPopupHelper();this._linkifier=new WebInspector.Linkifier(new WebInspector.Linkifier.DefaultCSSFormatter());WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.MediaQueryResultChanged,this._styleSheetOrMediaQueryResultChanged,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrModified,this._attributeChanged,this);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.AttrRemoved,this._attributeChanged,this);WebInspector.settings.showUserAgentStyles.addChangeListener(this._showUserAgentStylesSettingChanged.bind(this));WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameResized,this._frameResized,this);this.element.classList.add("styles-pane");this.element.classList.toggle("show-user-styles",WebInspector.settings.showUserAgentStyles.get());this.element.addEventListener("mousemove",this._mouseMovedOverElement.bind(this),false);document.body.addEventListener("keydown",this._keyDown.bind(this),false);document.body.addEventListener("keyup",this._keyUp.bind(this),false);}
|
| +WebInspector.StylesSidebarPane.PseudoIdNames=["","first-line","first-letter","before","after","selection","","-webkit-scrollbar","-webkit-file-upload-button","-webkit-input-placeholder","-webkit-slider-thumb","-webkit-search-cancel-button","-webkit-search-decoration","-webkit-search-results-decoration","-webkit-search-results-button","-webkit-media-controls-panel","-webkit-media-controls-play-button","-webkit-media-controls-mute-button","-webkit-media-controls-timeline","-webkit-media-controls-timeline-container","-webkit-media-controls-volume-slider","-webkit-media-controls-volume-slider-container","-webkit-media-controls-current-time-display","-webkit-media-controls-time-remaining-display","-webkit-media-controls-fullscreen-button","-webkit-media-controls-toggle-closed-captions-button","-webkit-media-controls-status-display","-webkit-scrollbar-thumb","-webkit-scrollbar-button","-webkit-scrollbar-track","-webkit-scrollbar-track-piece","-webkit-scrollbar-corner","-webkit-resizer","-webkit-inner-spin-button","-webkit-outer-spin-button"];WebInspector.StylesSidebarPane._colorRegex=/((?:rgb|hsl)a?\([^)]+\)|#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}|\b\w+\b(?!-))/g;WebInspector.StylesSidebarPane.createExclamationMark=function(property)
|
| {var exclamationElement=document.createElement("div");exclamationElement.className="exclamation-mark"+(WebInspector.StylesSidebarPane._ignoreErrorsForProperty(property)?"":" warning-icon-small");exclamationElement.title=WebInspector.CSSMetadata.cssPropertiesMetainfo.keySet()[property.name.toLowerCase()]?WebInspector.UIString("Invalid property value."):WebInspector.UIString("Unknown property name.");return exclamationElement;}
|
| WebInspector.StylesSidebarPane._colorFormat=function(color)
|
| {const cf=WebInspector.Color.Format;var format;var formatSetting=WebInspector.settings.colorFormat.get();if(formatSetting===cf.Original)
|
| @@ -382,10 +770,14 @@
|
| return true;if(hasUnknownVendorPrefix(value))
|
| return true;return false;}
|
| WebInspector.StylesSidebarPane.prototype={_contextMenuEventFired:function(event)
|
| -{var contextMenu=new WebInspector.ContextMenu(event);contextMenu.appendApplicableItems((event.target));contextMenu.show();},get _forcedPseudoClasses()
|
| +{var contextMenu=new WebInspector.ContextMenu(event);contextMenu.appendApplicableItems((event.target));contextMenu.show();},setFilterBoxContainers:function(matchedStylesElement,computedStylesElement)
|
| +{matchedStylesElement.appendChild(this._createCSSFilterControl());this._computedStylePane.setFilterBoxContainer(computedStylesElement);},_createCSSFilterControl:function()
|
| +{var filterInput=this._createPropertyFilterElement(false,searchHandler.bind(this));function searchHandler(regex)
|
| +{this._filterRegex=regex;}
|
| +return filterInput;},get _forcedPseudoClasses()
|
| {return this.node?(this.node.getUserProperty("pseudoState")||undefined):undefined;},_updateForcedPseudoStateInputs:function()
|
| {if(!this.node)
|
| -return;var hasPseudoType=!!this.node.pseudoType();this._elementStateButton.enableStyleClass("hidden",hasPseudoType);this._elementStatePane.enableStyleClass("expanded",!hasPseudoType&&this._elementStateButton.classList.contains("toggled"));var nodePseudoState=this._forcedPseudoClasses;if(!nodePseudoState)
|
| +return;var hasPseudoType=!!this.node.pseudoType();this._elementStateButton.classList.toggle("hidden",hasPseudoType);this._elementStatePane.classList.toggle("expanded",!hasPseudoType&&this._elementStateButton.classList.contains("toggled"));var nodePseudoState=this._forcedPseudoClasses;if(!nodePseudoState)
|
| nodePseudoState=[];var inputs=this._elementStatePane.inputs;for(var i=0;i<inputs.length;++i)
|
| inputs[i].checked=nodePseudoState.indexOf(inputs[i].state)>=0;},update:function(node,forceUpdate)
|
| {this._spectrumHelper.hide();this._discardElementUnderMouse();var refresh=false;if(forceUpdate)
|
| @@ -397,15 +789,16 @@
|
| node=this.node;this._updateForcedPseudoStateInputs();if(refresh)
|
| this._refreshUpdate();else
|
| this._rebuildUpdate();},_refreshUpdate:function(editedSection,forceFetchComputedStyle,userCallback)
|
| -{if(this._refreshUpdateInProgress){this._lastNodeForInnerRefresh=this.node;return;}
|
| +{var callbackWrapper=function()
|
| +{if(this._filterRegex)
|
| +this._updateFilter(false);if(userCallback)
|
| +userCallback();}.bind(this);if(this._refreshUpdateInProgress){this._lastNodeForInnerRefresh=this.node;return;}
|
| var node=this._validateNode(userCallback);if(!node)
|
| return;function computedStyleCallback(computedStyle)
|
| -{delete this._refreshUpdateInProgress;if(this._lastNodeForInnerRefresh){delete this._lastNodeForInnerRefresh;this._refreshUpdate(editedSection,forceFetchComputedStyle,userCallback);return;}
|
| +{delete this._refreshUpdateInProgress;if(this._lastNodeForInnerRefresh){delete this._lastNodeForInnerRefresh;this._refreshUpdate(editedSection,forceFetchComputedStyle,callbackWrapper);return;}
|
| if(this.node===node&&computedStyle)
|
| -this._innerRefreshUpdate(node,computedStyle,editedSection);if(userCallback)
|
| -userCallback();}
|
| -if(this._computedStylePane.isShowing()||forceFetchComputedStyle){this._refreshUpdateInProgress=true;WebInspector.cssModel.getComputedStyleAsync(node.id,computedStyleCallback.bind(this));}else{this._innerRefreshUpdate(node,null,editedSection);if(userCallback)
|
| -userCallback();}},_rebuildUpdate:function()
|
| +this._innerRefreshUpdate(node,computedStyle,editedSection);callbackWrapper();}
|
| +if(this._computedStylePane.isShowing()||forceFetchComputedStyle){this._refreshUpdateInProgress=true;WebInspector.cssModel.getComputedStyleAsync(node.id,computedStyleCallback.bind(this));}else{this._innerRefreshUpdate(node,null,editedSection);callbackWrapper();}},_rebuildUpdate:function()
|
| {if(this._rebuildUpdateInProgress){this._lastNodeForInnerRebuild=this.node;return;}
|
| var node=this._validateNode();if(!node)
|
| return;this._rebuildUpdateInProgress=true;var resultStyles={};function stylesCallback(matchedResult)
|
| @@ -417,7 +810,7 @@
|
| function computedCallback(computedStyle)
|
| {resultStyles.computedStyle=computedStyle;}
|
| if(this._computedStylePane.isShowing())
|
| -WebInspector.cssModel.getComputedStyleAsync(node.id,computedCallback.bind(this));WebInspector.cssModel.getInlineStylesAsync(node.id,inlineCallback.bind(this));WebInspector.cssModel.getMatchedStylesAsync(node.id,true,true,stylesCallback.bind(this));},_validateNode:function(userCallback)
|
| +WebInspector.cssModel.getComputedStyleAsync(node.id,computedCallback);WebInspector.cssModel.getInlineStylesAsync(node.id,inlineCallback);WebInspector.cssModel.getMatchedStylesAsync(node.id,true,true,stylesCallback.bind(this));},_validateNode:function(userCallback)
|
| {if(!this.node){this._sectionsContainer.removeChildren();this._computedStylePane.bodyElement.removeChildren();this.sections={};if(userCallback)
|
| userCallback();return null;}
|
| return this.node;},_styleSheetOrMediaQueryResultChanged:function()
|
| @@ -437,7 +830,8 @@
|
| {this._sectionsContainer.removeChildren();this._computedStylePane.bodyElement.removeChildren();this._linkifier.reset();var styleRules=this._rebuildStyleRules(node,styles);var usedProperties={};this._markUsedProperties(styleRules,usedProperties);this.sections[0]=this._rebuildSectionsForStyleRules(styleRules,usedProperties,null);var anchorElement=this.sections[0].inheritedPropertiesSeparatorElement;if(styles.computedStyle)
|
| this.sections[0][0].rebuildComputedTrace(this.sections[0]);for(var i=0;i<styles.pseudoElements.length;++i){var pseudoElementCSSRules=styles.pseudoElements[i];styleRules=[];var pseudoId=pseudoElementCSSRules.pseudoId;var entry={isStyleSeparator:true,pseudoId:pseudoId};styleRules.push(entry);for(var j=pseudoElementCSSRules.rules.length-1;j>=0;--j){var rule=pseudoElementCSSRules.rules[j];styleRules.push({style:rule.style,selectorText:rule.selectorText,media:rule.media,sourceURL:rule.resourceURL(),rule:rule,editable:!!(rule.style&&rule.style.id)});}
|
| usedProperties={};this._markUsedProperties(styleRules,usedProperties);this.sections[pseudoId]=this._rebuildSectionsForStyleRules(styleRules,usedProperties,anchorElement);}
|
| -this._nodeStylesUpdatedForTest(node,true);},_nodeStylesUpdatedForTest:function(node,rebuild)
|
| +if(this._filterRegex)
|
| +this._updateFilter(false);this._nodeStylesUpdatedForTest(node,true);},_nodeStylesUpdatedForTest:function(node,rebuild)
|
| {},_refreshStyleRules:function(sections,computedStyle)
|
| {var nodeComputedStyle=computedStyle;var styleRules=[];for(var i=0;sections&&i<sections.length;++i){var section=sections[i];if(section.isBlank)
|
| continue;if(section.computedStyle)
|
| @@ -465,9 +859,9 @@
|
| continue;styleRule.usedProperties={};var style=styleRule.style;var allProperties=style.allProperties;for(var j=0;j<allProperties.length;++j){var property=allProperties[j];if(!property.isLive||!property.parsedOk)
|
| continue;if(styleRule.isInherited&&!WebInspector.CSSMetadata.isPropertyInherited(property.name))
|
| continue;var canonicalName=WebInspector.CSSMetadata.canonicalPropertyName(property.name);if(foundImportantProperties.hasOwnProperty(canonicalName))
|
| -continue;var isImportant=property.priority.length;if(!isImportant&&usedProperties.hasOwnProperty(canonicalName))
|
| +continue;if(!property.important&&usedProperties.hasOwnProperty(canonicalName))
|
| continue;var isKnownProperty=propertyToEffectiveRule.hasOwnProperty(canonicalName);if(!isKnownProperty&&styleRule.isInherited&&!inheritedPropertyToNode[canonicalName])
|
| -inheritedPropertyToNode[canonicalName]=styleRule.parentNode;if(isImportant){if(styleRule.isInherited&&isKnownProperty&&styleRule.parentNode!==inheritedPropertyToNode[canonicalName])
|
| +inheritedPropertyToNode[canonicalName]=styleRule.parentNode;if(property.important){if(styleRule.isInherited&&isKnownProperty&&styleRule.parentNode!==inheritedPropertyToNode[canonicalName])
|
| continue;foundImportantProperties[canonicalName]=true;if(isKnownProperty)
|
| delete propertyToEffectiveRule[canonicalName].usedProperties[canonicalName];}
|
| styleRule.usedProperties[canonicalName]=true;usedProperties[canonicalName]=true;propertyToEffectiveRule[canonicalName]=styleRule;}}},_refreshSectionsForStyleRules:function(styleRules,usedProperties,editedSection)
|
| @@ -491,18 +885,27 @@
|
| {for(var pseudoId in this.sections){var sections=this.sections[pseudoId];for(var i=0;i<sections.length;++i)
|
| sections[i].update(true);}},_createNewRule:function(event)
|
| {event.consume();this.expand();this.addBlankSection().startEditingSelector();},addBlankSection:function()
|
| -{var blankSection=new WebInspector.BlankStylePropertiesSection(this,this.node?WebInspector.DOMPresentationUtils.appropriateSelectorFor(this.node,true):"");var elementStyleSection=this.sections[0][1];this._sectionsContainer.insertBefore(blankSection.element,elementStyleSection.element.nextSibling);this.sections[0].splice(2,0,blankSection);return blankSection;},removeSection:function(section)
|
| +{var blankSection=new WebInspector.BlankStylePropertiesSection(this,this.node?WebInspector.DOMPresentationUtils.simpleSelector(this.node):"");var elementStyleSection=this.sections[0][1];this._sectionsContainer.insertBefore(blankSection.element,elementStyleSection.element.nextSibling);this.sections[0].splice(2,0,blankSection);return blankSection;},removeSection:function(section)
|
| {for(var pseudoId in this.sections){var sections=this.sections[pseudoId];var index=sections.indexOf(section);if(index===-1)
|
| continue;sections.splice(index,1);section.element.remove();}},_toggleElementStatePane:function(event)
|
| {event.consume();var buttonToggled=!this._elementStateButton.classList.contains("toggled");if(buttonToggled)
|
| -this.expand();this._elementStateButton.enableStyleClass("toggled",buttonToggled);this._elementStatePane.enableStyleClass("expanded",buttonToggled);},_createElementStatePane:function()
|
| +this.expand();this._elementStateButton.classList.toggle("toggled",buttonToggled);this._elementStatePane.classList.toggle("expanded",buttonToggled);},_createElementStatePane:function()
|
| {this._elementStatePane=document.createElement("div");this._elementStatePane.className="styles-element-state-pane source-code";var table=document.createElement("table");var inputs=[];this._elementStatePane.inputs=inputs;function clickListener(event)
|
| {var node=this._validateNode();if(!node)
|
| return;this._setPseudoClassCallback(node.id,event.target.state,event.target.checked);}
|
| function createCheckbox(state)
|
| {var td=document.createElement("td");var label=document.createElement("label");var input=document.createElement("input");input.type="checkbox";input.state=state;input.addEventListener("click",clickListener.bind(this),false);inputs.push(input);label.appendChild(input);label.appendChild(document.createTextNode(":"+state));td.appendChild(label);return td;}
|
| -var tr=document.createElement("tr");tr.appendChild(createCheckbox.call(this,"active"));tr.appendChild(createCheckbox.call(this,"hover"));table.appendChild(tr);tr=document.createElement("tr");tr.appendChild(createCheckbox.call(this,"focus"));tr.appendChild(createCheckbox.call(this,"visited"));table.appendChild(tr);this._elementStatePane.appendChild(table);},_showUserAgentStylesSettingChanged:function(event)
|
| -{var showStyles=(event.data);this.element.enableStyleClass("show-user-styles",showStyles);},willHide:function()
|
| +var tr=table.createChild("tr");tr.appendChild(createCheckbox.call(this,"active"));tr.appendChild(createCheckbox.call(this,"hover"));tr=table.createChild("tr");tr.appendChild(createCheckbox.call(this,"focus"));tr.appendChild(createCheckbox.call(this,"visited"));this._elementStatePane.appendChild(table);},filterRegex:function()
|
| +{return this._filterRegex;},_createPropertyFilterElement:function(isComputedStyleFilter,filterCallback)
|
| +{var input=document.createElement("input");input.type="text";input.placeholder=isComputedStyleFilter?WebInspector.UIString("Filter"):WebInspector.UIString("Find in Styles");var boundSearchHandler=searchHandler.bind(this);function searchHandler()
|
| +{var regex=input.value?new RegExp(input.value.escapeForRegExp(),"i"):null;filterCallback(regex);input.parentNode.classList.toggle("styles-filter-engaged",!!input.value);this._updateFilter(isComputedStyleFilter);}
|
| +input.addEventListener("input",boundSearchHandler,false);function keydownHandler(event)
|
| +{var Esc="U+001B";if(event.keyIdentifier!==Esc||!input.value)
|
| +return;event.consume(true);input.value="";boundSearchHandler();}
|
| +input.addEventListener("keydown",keydownHandler,false);return input;},_updateFilter:function(isComputedStyleFilter)
|
| +{for(var pseudoId in this.sections){var sections=this.sections[pseudoId];for(var i=0;i<sections.length;++i){var section=sections[i];if(isComputedStyleFilter!==!!section.computedStyle)
|
| +continue;section._updateFilter();}}},_showUserAgentStylesSettingChanged:function(event)
|
| +{var showStyles=(event.data);this.element.classList.toggle("show-user-styles",showStyles);},willHide:function()
|
| {this._spectrumHelper.hide();this._discardElementUnderMouse();},_discardElementUnderMouse:function()
|
| {if(this._elementUnderMouse)
|
| this._elementUnderMouse.classList.remove("styles-panel-hovered");delete this._elementUnderMouse;},_mouseMovedOverElement:function(e)
|
| @@ -514,18 +917,22 @@
|
| {if((!WebInspector.isMac()&&e.keyCode===WebInspector.KeyboardShortcut.Keys.Ctrl.code)||(WebInspector.isMac()&&e.keyCode===WebInspector.KeyboardShortcut.Keys.Meta.code)){this._discardElementUnderMouse();}},__proto__:WebInspector.SidebarPane.prototype}
|
| WebInspector.ComputedStyleSidebarPane=function()
|
| {WebInspector.SidebarPane.call(this,WebInspector.UIString("Computed Style"));}
|
| -WebInspector.ComputedStyleSidebarPane.prototype={wasShown:function()
|
| +WebInspector.ComputedStyleSidebarPane.prototype={setHostingPane:function(pane)
|
| +{this._stylesSidebarPane=pane;},setFilterBoxContainer:function(element)
|
| +{element.appendChild(this._stylesSidebarPane._createPropertyFilterElement(true,filterCallback.bind(this)));function filterCallback(regex)
|
| +{this._filterRegex=regex;}},wasShown:function()
|
| {WebInspector.SidebarPane.prototype.wasShown.call(this);if(!this._hasFreshContent)
|
| this.prepareContent();},prepareContent:function(callback)
|
| {function wrappedCallback(){this._hasFreshContent=true;if(callback)
|
| callback();delete this._hasFreshContent;}
|
| -this._stylesSidebarPane._refreshUpdate(null,true,wrappedCallback.bind(this));},__proto__:WebInspector.SidebarPane.prototype}
|
| +this._stylesSidebarPane._refreshUpdate(null,true,wrappedCallback.bind(this));},filterRegex:function()
|
| +{return this._filterRegex;},__proto__:WebInspector.SidebarPane.prototype}
|
| WebInspector.StylePropertiesSection=function(parentPane,styleRule,editable,isInherited)
|
| {WebInspector.PropertiesSection.call(this,"");this._parentPane=parentPane;this.styleRule=styleRule;this.rule=this.styleRule.rule;this.editable=editable;this.isInherited=isInherited;var extraClasses=(this.rule&&(this.rule.isUser||this.rule.isUserAgent)?" user-rule":"");this.element.className="styles-section matched-styles monospace"+extraClasses;this.propertiesElement.classList.remove("properties-tree");if(styleRule.media){for(var i=styleRule.media.length-1;i>=0;--i){var media=styleRule.media[i];var mediaDataElement=this.titleElement.createChild("div","media");var mediaText;switch(media.source){case WebInspector.CSSMedia.Source.LINKED_SHEET:case WebInspector.CSSMedia.Source.INLINE_SHEET:mediaText="media=\""+media.text+"\"";break;case WebInspector.CSSMedia.Source.MEDIA_RULE:mediaText="@media "+media.text;break;case WebInspector.CSSMedia.Source.IMPORT_RULE:mediaText="@import "+media.text;break;}
|
| if(media.sourceURL){var refElement=mediaDataElement.createChild("div","subtitle");var rawLocation;var mediaHeader;if(media.range){mediaHeader=media.header();if(mediaHeader){var lineNumber=media.lineNumberInSource();var columnNumber=media.columnNumberInSource();console.assert(typeof lineNumber!=="undefined"&&typeof columnNumber!=="undefined");rawLocation=new WebInspector.CSSLocation(media.sourceURL,lineNumber,columnNumber);}}
|
| var anchor;if(rawLocation)
|
| anchor=this._parentPane._linkifier.linkifyCSSLocation(mediaHeader.id,rawLocation);else{anchor=WebInspector.linkifyResourceAsNode(media.sourceURL,undefined,"subtitle",media.sourceURL);}
|
| -anchor.preferredPanel="sources";anchor.style.float="right";refElement.appendChild(anchor);}
|
| +anchor.style.float="right";refElement.appendChild(anchor);}
|
| var mediaTextElement=mediaDataElement.createChild("span");mediaTextElement.textContent=mediaText;mediaTextElement.title=media.text;}}
|
| var selectorContainer=document.createElement("div");this._selectorElement=document.createElement("span");this._selectorElement.textContent=styleRule.selectorText;selectorContainer.appendChild(this._selectorElement);var openBrace=document.createElement("span");openBrace.textContent=" {";selectorContainer.appendChild(openBrace);selectorContainer.addEventListener("mousedown",this._handleEmptySpaceMouseDown.bind(this),false);selectorContainer.addEventListener("click",this._handleSelectorContainerClick.bind(this),false);var closeBrace=document.createElement("div");closeBrace.textContent="}";this.element.appendChild(closeBrace);this._selectorElement.addEventListener("click",this._handleSelectorClick.bind(this),false);this.element.addEventListener("mousedown",this._handleEmptySpaceMouseDown.bind(this),false);this.element.addEventListener("click",this._handleEmptySpaceClick.bind(this),false);if(this.rule){if(this.rule.isUserAgent||this.rule.isUser)
|
| this.editable=false;else{if(this.rule.id)
|
| @@ -537,6 +944,7 @@
|
| this.element.classList.add("read-only");}
|
| WebInspector.StylePropertiesSection.prototype={get pane()
|
| {return this._parentPane;},collapse:function()
|
| +{},handleClick:function()
|
| {},isPropertyInherited:function(propertyName)
|
| {if(this.isInherited){return!WebInspector.CSSMetadata.isPropertyInherited(propertyName);}
|
| return false;},isPropertyOverloaded:function(propertyName,isShorthand)
|
| @@ -562,9 +970,14 @@
|
| var generatedShorthands={};for(var i=0;i<allProperties.length;++i){var property=allProperties[i];this.uniqueProperties.push(property);var isShorthand=!!WebInspector.CSSMetadata.cssPropertiesMetainfo.longhands(property.name);var shorthands=isShorthand?null:WebInspector.CSSMetadata.cssPropertiesMetainfo.shorthands(property.name);var shorthandPropertyAvailable=false;for(var j=0;shorthands&&!shorthandPropertyAvailable&&j<shorthands.length;++j){var shorthand=shorthands[j];if(shorthand in generatedShorthands){shorthandPropertyAvailable=true;continue;}
|
| if(style.getLiveProperty(shorthand)){shorthandPropertyAvailable=true;continue;}
|
| if(!style.shorthandValue(shorthand)){shorthandPropertyAvailable=false;continue;}
|
| -var shorthandProperty=new WebInspector.CSSProperty(style,style.allProperties.length,shorthand,style.shorthandValue(shorthand),"","style",true,true);var overloaded=property.inactive||this.isPropertyOverloaded(property.name,true);var item=new WebInspector.StylePropertyTreeElement(this._parentPane,this.styleRule,style,shorthandProperty,true,false,overloaded);this.propertiesTreeOutline.appendChild(item);generatedShorthands[shorthand]=shorthandProperty;shorthandPropertyAvailable=true;}
|
| +var shorthandProperty=new WebInspector.CSSProperty(style,style.allProperties.length,shorthand,style.shorthandValue(shorthand),false,false,true,true);var overloaded=property.inactive||this.isPropertyOverloaded(property.name,true);var item=new WebInspector.StylePropertyTreeElement(this._parentPane,this.styleRule,style,shorthandProperty,true,false,overloaded);this.propertiesTreeOutline.appendChild(item);generatedShorthands[shorthand]=shorthandProperty;shorthandPropertyAvailable=true;}
|
| if(shorthandPropertyAvailable)
|
| -continue;var inherited=this.isPropertyInherited(property.name);var overloaded=property.inactive||this.isPropertyOverloaded(property.name,isShorthand);var item=new WebInspector.StylePropertyTreeElement(this._parentPane,this.styleRule,style,property,isShorthand,inherited,overloaded);this.propertiesTreeOutline.appendChild(item);}},_markSelectorMatches:function()
|
| +continue;var inherited=this.isPropertyInherited(property.name);var overloaded=property.inactive||this.isPropertyOverloaded(property.name,isShorthand);var item=new WebInspector.StylePropertyTreeElement(this._parentPane,this.styleRule,style,property,isShorthand,inherited,overloaded);this.propertiesTreeOutline.appendChild(item);}},_updateFilter:function()
|
| +{if(this.styleRule.isAttribute)
|
| +return;var regex=this._parentPane.filterRegex();var hideRule=regex&&!regex.test(this.element.textContent);this.element.classList.toggle("hidden",hideRule);if(hideRule)
|
| +return;var children=this.propertiesTreeOutline.children;for(var i=0;i<children.length;++i)
|
| +children[i]._updateFilter();if(this.styleRule.rule)
|
| +this._markSelectorHighlights();},_markSelectorMatches:function()
|
| {var rule=this.styleRule.rule;if(!rule)
|
| return;var matchingSelectors=rule.matchingSelectors;if(this.noAffect||matchingSelectors)
|
| this._selectorElement.className="selector";if(!matchingSelectors)
|
| @@ -572,14 +985,15 @@
|
| fragment.appendChild(document.createTextNode(", "));var isSelectorMatching=matchingSelectors[currentMatch]===i;if(isSelectorMatching)
|
| ++currentMatch;var rawLocation=new WebInspector.CSSLocation(rule.sourceURL,rule.lineNumberInSource(i),rule.columnNumberInSource(i));var matchingSelectorClass=isSelectorMatching?" selector-matches":"";var selectorElement=document.createElement("span");selectorElement.className="simple-selector"+matchingSelectorClass;if(rule.id)
|
| selectorElement._selectorIndex=i;selectorElement.textContent=selectors[i].value;fragment.appendChild(selectorElement);}
|
| -this._selectorElement.removeChildren();this._selectorElement.appendChild(fragment);},_checkWillCancelEditing:function()
|
| +this._selectorElement.removeChildren();this._selectorElement.appendChild(fragment);this._markSelectorHighlights();},_markSelectorHighlights:function()
|
| +{var selectors=this._selectorElement.getElementsByClassName("simple-selector");var regex=this.pane.filterRegex();for(var i=0;i<selectors.length;++i){var selectorMatchesFilter=regex&®ex.test(selectors[i].textContent);selectors[i].classList.toggle("filter-match",selectorMatchesFilter);}},_checkWillCancelEditing:function()
|
| {var willCauseCancelEditing=this._willCauseCancelEditing;delete this._willCauseCancelEditing;return willCauseCancelEditing;},_handleSelectorContainerClick:function(event)
|
| {if(this._checkWillCancelEditing()||!this.editable)
|
| return;if(event.target===this._selectorContainer)
|
| this.addNewBlankProperty(0).startEditing();},addNewBlankProperty:function(index)
|
| {var style=this.styleRule.style;var property=style.newBlankProperty(index);var item=new WebInspector.StylePropertyTreeElement(this._parentPane,this.styleRule,style,property,false,false,false);index=property.index;this.propertiesTreeOutline.insertChild(item,index);item.listItemElement.textContent="";item._newProperty=true;item.updateTitle();return item;},_createRuleOriginNode:function()
|
| {function linkifyUncopyable(url,line)
|
| -{var link=WebInspector.linkifyResourceAsNode(url,line,"",url+":"+(line+1));link.preferredPanel="sources";link.classList.add("webkit-html-resource-link");link.setAttribute("data-uncopyable",link.textContent);link.textContent="";return link;}
|
| +{var link=WebInspector.linkifyResourceAsNode(url,line,"",url+":"+(line+1));link.classList.add("webkit-html-resource-link");link.setAttribute("data-uncopyable",link.textContent);link.textContent="";return link;}
|
| if(this.styleRule.sourceURL){var firstMatchingIndex=this.styleRule.rule.matchingSelectors&&this.rule.matchingSelectors.length?this.rule.matchingSelectors[0]:0;var matchingSelectorLocation=new WebInspector.CSSLocation(this.styleRule.sourceURL,this.rule.lineNumberInSource(firstMatchingIndex),this.rule.columnNumberInSource(firstMatchingIndex));return this._parentPane._linkifier.linkifyCSSLocation(this.rule.id.styleSheetId,matchingSelectorLocation)||linkifyUncopyable(this.styleRule.sourceURL,this.rule.lineNumberInSource());}
|
| if(!this.rule)
|
| return document.createTextNode("");if(this.rule.isUserAgent)
|
| @@ -592,15 +1006,14 @@
|
| return;if(this._checkWillCancelEditing())
|
| return;if(event.target.classList.contains("header")||this.element.classList.contains("read-only")||event.target.enclosingNodeOrSelfWithClass("media")){event.consume();return;}
|
| this.expand();this.addNewBlankProperty().startEditing();},_handleSelectorClick:function(event)
|
| -{if(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)&&this.navigable&&event.target.classList.contains("simple-selector")){var index=event.target._selectorIndex;var styleSheetHeader=WebInspector.cssModel.styleSheetHeaderForId(this.rule.id.styleSheetId);var uiLocation=styleSheetHeader.rawLocationToUILocation(this.rule.lineNumberInSource(index),this.rule.columnNumberInSource(index));if(uiLocation)
|
| -WebInspector.panel("sources").showUILocation(uiLocation);return;}
|
| +{if(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)&&this.navigable&&event.target.classList.contains("simple-selector")){var index=event.target._selectorIndex;var styleSheetHeader=WebInspector.cssModel.styleSheetHeaderForId(this.rule.id.styleSheetId);var uiLocation=styleSheetHeader.rawLocationToUILocation(this.rule.lineNumberInSource(index),this.rule.columnNumberInSource(index));WebInspector.Revealer.reveal(uiLocation);return;}
|
| this._startEditingOnMouseEvent();event.consume(true);},_startEditingOnMouseEvent:function()
|
| {if(!this.editable)
|
| return;if(!this.rule&&this.propertiesTreeOutline.children.length===0){this.expand();this.addNewBlankProperty().startEditing();return;}
|
| if(!this.rule)
|
| return;this.startEditingSelector();},startEditingSelector:function()
|
| {var element=this._selectorElement;if(WebInspector.isBeingEdited(element))
|
| -return;element.scrollIntoViewIfNeeded(false);element.textContent=element.textContent;var config=new WebInspector.EditingConfig(this.editingSelectorCommitted.bind(this),this.editingSelectorCancelled.bind(this));WebInspector.startEditing(this._selectorElement,config);window.getSelection().setBaseAndExtent(element,0,element,1);this._parentPane._isEditingStyle=true;},_moveEditorFromSelector:function(moveDirection)
|
| +return;element.scrollIntoViewIfNeeded(false);element.textContent=element.textContent;var config=new WebInspector.InplaceEditor.Config(this.editingSelectorCommitted.bind(this),this.editingSelectorCancelled.bind(this));WebInspector.InplaceEditor.startEditing(this._selectorElement,config);window.getSelection().setBaseAndExtent(element,0,element,1);this._parentPane._isEditingStyle=true;},_moveEditorFromSelector:function(moveDirection)
|
| {this._markSelectorMatches();if(!moveDirection)
|
| return;if(moveDirection==="forward"){this.expand();var firstChild=this.propertiesTreeOutline.children[0];while(firstChild&&firstChild.inherited)
|
| firstChild=firstChild.nextSibling;if(!firstChild)
|
| @@ -619,7 +1032,7 @@
|
| {delete this._parentPane._isEditingStyle;},editingSelectorCancelled:function()
|
| {this._editingSelectorEnded();this._markSelectorMatches();},__proto__:WebInspector.PropertiesSection.prototype}
|
| WebInspector.ComputedStylePropertiesSection=function(stylesPane,styleRule,usedProperties)
|
| -{WebInspector.PropertiesSection.call(this,"");var showInheritedCheckbox=new WebInspector.Checkbox(WebInspector.UIString("Show inherited properties"),"sidebar-pane-subtitle");this.headerElement.appendChild(showInheritedCheckbox.element);this._hasFreshContent=false;function showInheritedToggleFunction()
|
| +{WebInspector.PropertiesSection.call(this,"");var subtitle=this.headerElement.createChild("div","sidebar-pane-subtitle vbox");var showInheritedCheckbox=new WebInspector.Checkbox(WebInspector.UIString("Show inherited properties"),"hbox");subtitle.appendChild(showInheritedCheckbox.element);this._hasFreshContent=false;function showInheritedToggleFunction()
|
| {var showInherited=showInheritedCheckbox.checked;WebInspector.settings.showInheritedComputedStyleProperties.set(showInherited);if(showInherited)
|
| this.element.classList.add("styles-show-inherited");else
|
| this.element.classList.remove("styles-show-inherited");}
|
| @@ -630,7 +1043,9 @@
|
| {var canonicalName=WebInspector.CSSMetadata.canonicalPropertyName(propertyName);return!(canonicalName in this._usedProperties)&&!(canonicalName in this._alwaysShowComputedProperties);},update:function()
|
| {this._expandedPropertyNames={};for(var name in this._propertyTreeElements){if(this._propertyTreeElements[name].expanded)
|
| this._expandedPropertyNames[name]=true;}
|
| -this._propertyTreeElements={};this.propertiesTreeOutline.removeChildren();this.populated=false;},onpopulate:function()
|
| +this._propertyTreeElements={};this.propertiesTreeOutline.removeChildren();this.populated=false;},_updateFilter:function()
|
| +{var children=this.propertiesTreeOutline.children;for(var i=0;i<children.length;++i)
|
| +children[i]._updateFilter();},onpopulate:function()
|
| {function sorter(a,b)
|
| {return a.name.compareTo(b.name);}
|
| var style=this.styleRule.style;if(!style)
|
| @@ -656,7 +1071,9 @@
|
| this._updateRuleOrigin();this.expand();if(this.element.parentElement)
|
| this._moveEditorFromSelector(moveDirection);delete this._parentPane._userOperation;this._editingSelectorEnded();this._markSelectorMatches();}
|
| if(newContent)
|
| -newContent=newContent.trim();this._parentPane._userOperation=true;WebInspector.cssModel.addRule(this.pane.node.id,newContent,successCallback.bind(this),this.editingSelectorCancelled.bind(this));},editingSelectorCancelled:function()
|
| +newContent=newContent.trim();this._parentPane._userOperation=true;WebInspector.cssModel.requestViaInspectorStylesheet(this.pane.node,viaInspectorCallback.bind(this));function viaInspectorCallback(styleSheetHeader)
|
| +{if(!styleSheetHeader){this.editingSelectorCancelled();return;}
|
| +WebInspector.cssModel.addRule(styleSheetHeader.id,this.pane.node,newContent,successCallback.bind(this),this.editingSelectorCancelled.bind(this));}},editingSelectorCancelled:function()
|
| {delete this._parentPane._userOperation;if(!this.isBlank){WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled.call(this);return;}
|
| this._editingSelectorEnded();this.pane.removeSection(this);},makeNormal:function(styleRule)
|
| {this.element.classList.remove("blank-section");this.styleRule=styleRule;this.rule=styleRule.rule;this._normal=true;},__proto__:WebInspector.StylePropertiesSection.prototype}
|
| @@ -664,7 +1081,8 @@
|
| {this._styleRule=styleRule;this.style=style;this.property=property;this._inherited=inherited;this._overloaded=overloaded;TreeElement.call(this,"",null,hasChildren);this.selectable=false;}
|
| WebInspector.StylePropertyTreeElementBase.prototype={node:function()
|
| {return null;},editablePane:function()
|
| -{return null;},get inherited()
|
| +{return null;},parentPane:function()
|
| +{throw"Not implemented";},get inherited()
|
| {return this._inherited;},hasIgnorableError:function()
|
| {return!this.parsedOk&&WebInspector.StylesSidebarPane._ignoreErrorsForProperty(this.property);},set inherited(x)
|
| {if(x===this._inherited)
|
| @@ -676,9 +1094,7 @@
|
| {if(!this.disabled||!this.property.text)
|
| return this.property.name;var text=this.property.text;var index=text.indexOf(":");if(index<1)
|
| return this.property.name;text=text.substring(0,index).trim();if(text.startsWith("/*"))
|
| -text=text.substring(2).trim();return text;},get priority()
|
| -{if(this.disabled)
|
| -return"";return this.property.priority;},get value()
|
| +text=text.substring(2).trim();return text;},get value()
|
| {if(!this.disabled||!this.property.text)
|
| return this.property.value;var match=this.property.text.match(/(.*);\s*/);if(!match||!match[1])
|
| return this.property.value;var text=match[1];var index=text.indexOf(":");if(index<1)
|
| @@ -696,13 +1112,14 @@
|
| hrefUrl=match[1];var container=document.createDocumentFragment();container.appendChild(document.createTextNode("url("));if(this._styleRule.sourceURL)
|
| hrefUrl=WebInspector.ParsedURL.completeURL(this._styleRule.sourceURL,hrefUrl);else if(this.node())
|
| hrefUrl=this.node().resolveURL(hrefUrl);var hasResource=hrefUrl&&!!WebInspector.resourceForURL(hrefUrl);container.appendChild(WebInspector.linkifyURLAsNode(hrefUrl||url,url,undefined,!hasResource));container.appendChild(document.createTextNode(")"));return container;}
|
| -if(value){var colorProcessor=processValue.bind(this,WebInspector.StylesSidebarPane._colorRegex,this._processColor.bind(this,nameElement,valueElement),null);valueElement.appendChild(processValue(/url\(\s*([^)]+)\s*\)/g,linkifyURL.bind(this),WebInspector.CSSMetadata.isColorAwareProperty(this.name)&&this.parsedOk?colorProcessor:null,value));}
|
| +if(value){var colorProcessor=processValue.bind(null,WebInspector.StylesSidebarPane._colorRegex,this._processColor.bind(this,nameElement,valueElement),null);valueElement.appendChild(processValue(/url\(\s*([^)]+)\s*\)/g,linkifyURL.bind(this),WebInspector.CSSMetadata.isColorAwareProperty(this.name)&&this.parsedOk?colorProcessor:null,value));}
|
| this.listItemElement.removeChildren();nameElement.normalize();valueElement.normalize();if(!this.treeOutline)
|
| return;if(this.disabled)
|
| this.listItemElement.createChild("span","styles-clipboard-only").createTextChild("/* ");this.listItemElement.appendChild(nameElement);this.listItemElement.appendChild(document.createTextNode(": "));this.listItemElement.appendChild(this._expandElement);this.listItemElement.appendChild(valueElement);this.listItemElement.appendChild(document.createTextNode(";"));if(this.disabled)
|
| this.listItemElement.createChild("span","styles-clipboard-only").createTextChild(" */");if(!this.parsedOk){this.hasChildren=false;this.listItemElement.classList.add("not-parsed-ok");this.listItemElement.insertBefore(WebInspector.StylesSidebarPane.createExclamationMark(this.property),this.listItemElement.firstChild);}
|
| if(this.property.inactive)
|
| -this.listItemElement.classList.add("inactive");},_processColor:function(nameElement,valueElement,text)
|
| +this.listItemElement.classList.add("inactive");this._updateFilter();},_updateFilter:function()
|
| +{var regEx=this.parentPane().filterRegex();this.listItemElement.classList.toggle("filter-match",!!regEx&&(regEx.test(this.property.name)||regEx.test(this.property.value)));},_processColor:function(nameElement,valueElement,text)
|
| {var color=WebInspector.Color.parse(text);if(!color)
|
| return document.createTextNode(text);var format=WebInspector.StylesSidebarPane._colorFormat(color);var spectrumHelper=this.editablePane()&&this.editablePane()._spectrumHelper;var spectrum=spectrumHelper?spectrumHelper.spectrum():null;var isEditable=!!(this._styleRule&&this._styleRule.editable!==false);var colorSwatch=new WebInspector.ColorSwatch(!isEditable);colorSwatch.setColorString(text);colorSwatch.element.addEventListener("click",swatchClick.bind(this),false);var scrollerElement;var boundSpectrumChanged=spectrumChanged.bind(this);var boundSpectrumHidden=spectrumHidden.bind(this);function spectrumChanged(e)
|
| {var colorString=(e.data);spectrum.displayText=colorString;colorValueElement.textContent=colorString;colorSwatch.setColorString(colorString);this.applyStyleText(nameElement.textContent+": "+valueElement.textContent,false,false,false);}
|
| @@ -743,20 +1160,23 @@
|
| {WebInspector.StylePropertyTreeElementBase.call(this,styleRule,style,property,inherited,false,false);this._stylesPane=stylesPane;}
|
| WebInspector.ComputedStylePropertyTreeElement.prototype={node:function()
|
| {return this._stylesPane.node;},editablePane:function()
|
| -{return null;},__proto__:WebInspector.StylePropertyTreeElementBase.prototype}
|
| +{return null;},parentPane:function()
|
| +{return this._stylesPane._computedStylePane;},_updateFilter:function()
|
| +{var regEx=this.parentPane().filterRegex();this.listItemElement.classList.toggle("hidden",!!regEx&&(!regEx.test(this.property.name)&&!regEx.test(this.property.value)));},__proto__:WebInspector.StylePropertyTreeElementBase.prototype}
|
| WebInspector.StylePropertyTreeElement=function(stylesPane,styleRule,style,property,isShorthand,inherited,overloaded)
|
| {WebInspector.StylePropertyTreeElementBase.call(this,styleRule,style,property,inherited,overloaded,isShorthand);this._parentPane=stylesPane;this.isShorthand=isShorthand;}
|
| WebInspector.StylePropertyTreeElement.prototype={node:function()
|
| {return this._parentPane.node;},editablePane:function()
|
| +{return this._parentPane;},parentPane:function()
|
| {return this._parentPane;},section:function()
|
| {return this.treeOutline&&this.treeOutline.section;},_updatePane:function(userCallback)
|
| {var section=this.section();if(section&§ion.pane)
|
| section.pane._refreshUpdate(section,false,userCallback);else{if(userCallback)
|
| userCallback();}},toggleEnabled:function(event)
|
| {var disabled=!event.target.checked;function callback(newStyle)
|
| -{if(!newStyle)
|
| +{delete this._parentPane._userOperation;if(!newStyle)
|
| return;newStyle.parentRule=this.style.parentRule;this.style=newStyle;this._styleRule.style=newStyle;var section=this.section();if(section&§ion.pane)
|
| -section.pane.dispatchEventToListeners("style property toggled");this._updatePane();delete this._parentPane._userOperation;}
|
| +section.pane.dispatchEventToListeners("style property toggled");this._updatePane();}
|
| this._parentPane._userOperation=true;this.property.setDisabled(disabled,callback.bind(this));event.consume();},onpopulate:function()
|
| {if(this.children.length||!this.isShorthand)
|
| return;var longhandProperties=this.style.longhandProperties(this.name);for(var i=0;i<longhandProperties.length;++i){var name=longhandProperties[i].name;var inherited=false;var overloaded=false;var section=this.section();if(section){inherited=section.isPropertyInherited(name);overloaded=section.isPropertyOverloaded(name);}
|
| @@ -772,8 +1192,7 @@
|
| return;section.addNewBlankProperty(this.property.index+1).startEditing();return;}
|
| if(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)&&this.section().navigable){this._navigateToSource(event.target);return;}
|
| this.startEditing(event.target);},_navigateToSource:function(element)
|
| -{console.assert(this.section().navigable);var propertyNameClicked=element===this.nameElement;var uiLocation=this.property.uiLocation(propertyNameClicked);if(!uiLocation)
|
| -return;WebInspector.panel("sources").showUILocation(uiLocation);},_isNameElement:function(element)
|
| +{console.assert(this.section().navigable);var propertyNameClicked=element===this.nameElement;WebInspector.Revealer.reveal(this.property.uiLocation(propertyNameClicked));},_isNameElement:function(element)
|
| {return element.enclosingNodeOrSelfWithClass("webkit-css-property")===this.nameElement;},_isValueElement:function(element)
|
| {return!!element.enclosingNodeOrSelfWithClass("value");},startEditing:function(selectElement)
|
| {if(this.parent.isShorthand)
|
| @@ -801,21 +1220,22 @@
|
| this.editingCommitted(event.target.textContent,context,moveDirection);}
|
| delete this.originalPropertyText;this._parentPane._isEditingStyle=true;if(selectElement.parentElement)
|
| selectElement.parentElement.scrollIntoViewIfNeeded(false);var applyItemCallback=!isEditingName?this._applyFreeFlowStyleTextEdit.bind(this,true):undefined;this._prompt=new WebInspector.StylesSidebarPane.CSSPropertyPrompt(isEditingName?WebInspector.CSSMetadata.cssPropertiesMetainfo:WebInspector.CSSMetadata.keywordsForProperty(this.nameElement.textContent),this,isEditingName);if(applyItemCallback){this._prompt.addEventListener(WebInspector.TextPrompt.Events.ItemApplied,applyItemCallback,this);this._prompt.addEventListener(WebInspector.TextPrompt.Events.ItemAccepted,applyItemCallback,this);}
|
| -var proxyElement=this._prompt.attachAndStartEditing(selectElement,blurListener.bind(this,context));proxyElement.addEventListener("keydown",this.editingNameValueKeyDown.bind(this,context),false);if(isEditingName)
|
| +var proxyElement=this._prompt.attachAndStartEditing(selectElement,blurListener.bind(this,context));proxyElement.addEventListener("keydown",this.editingNameValueKeyDown.bind(this,context),false);proxyElement.addEventListener("keypress",this.editingNameValueKeyPress.bind(this,context),false);if(isEditingName)
|
| proxyElement.addEventListener("paste",pasteHandler.bind(this,context),false);window.getSelection().setBaseAndExtent(selectElement,0,selectElement,1);},editingNameValueKeyDown:function(context,event)
|
| {if(event.handled)
|
| -return;var isEditingName=context.isEditingName;var result;function shouldCommitValueSemicolon(text,cursorPosition)
|
| +return;var isEditingName=context.isEditingName;var result;if(isEnterKey(event)){event.preventDefault();result="forward";}else if(event.keyCode===WebInspector.KeyboardShortcut.Keys.Esc.code||event.keyIdentifier==="U+001B")
|
| +result="cancel";else if(!isEditingName&&this._newProperty&&event.keyCode===WebInspector.KeyboardShortcut.Keys.Backspace.code){var selection=window.getSelection();if(selection.isCollapsed&&!selection.focusOffset){event.preventDefault();result="backward";}}else if(event.keyIdentifier==="U+0009"){result=event.shiftKey?"backward":"forward";event.preventDefault();}
|
| +if(result){switch(result){case"cancel":this.editingCancelled(null,context);break;case"forward":case"backward":this.editingCommitted(event.target.textContent,context,result);break;}
|
| +event.consume();return;}
|
| +if(!isEditingName)
|
| +this._applyFreeFlowStyleTextEdit(false);},editingNameValueKeyPress:function(context,event)
|
| +{function shouldCommitValueSemicolon(text,cursorPosition)
|
| {var openQuote="";for(var i=0;i<cursorPosition;++i){var ch=text[i];if(ch==="\\"&&openQuote!=="")
|
| ++i;else if(!openQuote&&(ch==="\""||ch==="'"))
|
| openQuote=ch;else if(openQuote===ch)
|
| openQuote="";}
|
| return!openQuote;}
|
| -var isFieldInputTerminated=(event.keyCode===WebInspector.KeyboardShortcut.Keys.Semicolon.code)&&(isEditingName?event.shiftKey:(!event.shiftKey&&shouldCommitValueSemicolon(event.target.textContent,event.target.selectionLeftOffset())));if(isEnterKey(event)||isFieldInputTerminated){event.preventDefault();result="forward";}else if(event.keyCode===WebInspector.KeyboardShortcut.Keys.Esc.code||event.keyIdentifier==="U+001B")
|
| -result="cancel";else if(!isEditingName&&this._newProperty&&event.keyCode===WebInspector.KeyboardShortcut.Keys.Backspace.code){var selection=window.getSelection();if(selection.isCollapsed&&!selection.focusOffset){event.preventDefault();result="backward";}}else if(event.keyIdentifier==="U+0009"){result=event.shiftKey?"backward":"forward";event.preventDefault();}
|
| -if(result){switch(result){case"cancel":this.editingCancelled(null,context);break;case"forward":case"backward":this.editingCommitted(event.target.textContent,context,result);break;}
|
| -event.consume();return;}
|
| -if(!isEditingName)
|
| -this._applyFreeFlowStyleTextEdit(false);},_applyFreeFlowStyleTextEdit:function(now)
|
| +var keyChar=String.fromCharCode(event.charCode);var isFieldInputTerminated=(context.isEditingName?keyChar===":":keyChar===";"&&shouldCommitValueSemicolon(event.target.textContent,event.target.selectionLeftOffset()));if(isFieldInputTerminated){event.consume(true);this.editingCommitted(event.target.textContent,context,"forward");return;}},_applyFreeFlowStyleTextEdit:function(now)
|
| {if(this._applyFreeFlowStyleTextEditTimer)
|
| clearTimeout(this._applyFreeFlowStyleTextEditTimer);function apply()
|
| {var valueText=this.valueElement.textContent;if(valueText.indexOf(";")===-1)
|
| @@ -901,36 +1321,38 @@
|
| return false;word=word.toLowerCase();return this._cssCompletions.keySet().hasOwnProperty(word);},_buildPropertyCompletions:function(proxyElement,wordRange,force,completionsReadyCallback)
|
| {var prefix=wordRange.toString().toLowerCase();if(!prefix&&!force&&(this._isEditingName||proxyElement.textContent.length)){completionsReadyCallback([]);return;}
|
| var results=this._cssCompletions.startsWith(prefix);var selectedIndex=this._cssCompletions.mostUsedOf(results);completionsReadyCallback(results,selectedIndex);},__proto__:WebInspector.TextPrompt.prototype};WebInspector.ElementsPanel=function()
|
| -{WebInspector.Panel.call(this,"elements");this.registerRequiredCSS("breadcrumbList.css");this.registerRequiredCSS("elementsPanel.css");this.registerRequiredCSS("textPrompt.css");this.setHideOnDetach();const initialSidebarWidth=325;const minimumContentWidthPercent=0.34;const initialSidebarHeight=325;const minimumContentHeightPercent=0.34;this.createSidebarView(this.element,WebInspector.SidebarView.SidebarPosition.End,initialSidebarWidth,initialSidebarHeight);this.splitView.sidebarElement().classList.add("vbox");this.splitView.setSidebarElementConstraints(Preferences.minElementsSidebarWidth,Preferences.minElementsSidebarHeight);this.splitView.setMainElementConstraints(minimumContentWidthPercent,minimumContentHeightPercent);this.splitView.addEventListener(WebInspector.SidebarView.EventTypes.Resized,this._updateTreeOutlineVisibleWidth.bind(this));this._searchableView=new WebInspector.SearchableView(this);this.splitView.mainElement().classList.add("vbox");this.splitView.setMainView(this._searchableView);var stackElement=this._searchableView.element;this.contentElement=stackElement.createChild("div");this.contentElement.id="elements-content";this.contentElement.classList.add("outline-disclosure");this.contentElement.classList.add("source-code");if(!WebInspector.settings.domWordWrap.get())
|
| -this.contentElement.classList.add("nowrap");WebInspector.settings.domWordWrap.addChangeListener(this._domWordWrapSettingChanged.bind(this));this.contentElement.addEventListener("contextmenu",this._contextMenuEventFired.bind(this),true);this.splitView.sidebarElement().addEventListener("contextmenu",this._sidebarContextMenuEventFired.bind(this),false);this.treeOutline=new WebInspector.ElementsTreeOutline(true,true,this._populateContextMenu.bind(this),this._setPseudoClassForNodeId.bind(this));this.treeOutline.wireToDomAgent();this.treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged,this._selectedNodeChanged,this);this.treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.ElementsTreeUpdated,this._updateBreadcrumbIfNeeded,this);var crumbsContainer=stackElement.createChild("div");crumbsContainer.id="elements-crumbs";this.crumbsElement=crumbsContainer.createChild("div","crumbs");this.crumbsElement.addEventListener("mousemove",this._mouseMovedInCrumbs.bind(this),false);this.crumbsElement.addEventListener("mouseout",this._mouseMovedOutOfCrumbs.bind(this),false);this.sidebarPanes={};this.sidebarPanes.platformFonts=new WebInspector.PlatformFontsSidebarPane();this.sidebarPanes.computedStyle=new WebInspector.ComputedStyleSidebarPane();this.sidebarPanes.styles=new WebInspector.StylesSidebarPane(this.sidebarPanes.computedStyle,this._setPseudoClassForNodeId.bind(this));this.sidebarPanes.metrics=new WebInspector.MetricsSidebarPane();this.sidebarPanes.properties=new WebInspector.PropertiesSidebarPane();this.sidebarPanes.domBreakpoints=WebInspector.domBreakpointsSidebarPane.createProxy(this);this.sidebarPanes.eventListeners=new WebInspector.EventListenersSidebarPane();this.sidebarPanes.styles.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateStyles.bind(this,false));this.sidebarPanes.metrics.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateMetrics.bind(this));this.sidebarPanes.platformFonts.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updatePlatformFonts.bind(this));this.sidebarPanes.properties.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateProperties.bind(this));this.sidebarPanes.eventListeners.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateEventListeners.bind(this));this.sidebarPanes.styles.addEventListener("style edited",this._stylesPaneEdited,this);this.sidebarPanes.styles.addEventListener("style property toggled",this._stylesPaneEdited,this);this.sidebarPanes.metrics.addEventListener("metrics edited",this._metricsPaneEdited,this);this._extensionSidebarPanes=[];WebInspector.dockController.addEventListener(WebInspector.DockController.Events.DockSideChanged,this._dockSideChanged.bind(this));WebInspector.settings.splitVerticallyWhenDockedToRight.addChangeListener(this._dockSideChanged.bind(this));this._dockSideChanged();this._popoverHelper=new WebInspector.PopoverHelper(this.element,this._getPopoverAnchor.bind(this),this._showPopover.bind(this));this._popoverHelper.setTimeout(0);WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.DocumentUpdated,this._documentUpdatedEvent,this);WebInspector.settings.showShadowDOM.addChangeListener(this._showShadowDOMChanged.bind(this));if(WebInspector.domAgent.existingDocument())
|
| -this._documentUpdated(WebInspector.domAgent.existingDocument());WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.ModelWasEnabled,this._updateSidebars,this);}
|
| +{WebInspector.Panel.call(this,"elements");this.registerRequiredCSS("breadcrumbList.css");this.registerRequiredCSS("elementsPanel.css");this.registerRequiredCSS("textPrompt.css");this.setHideOnDetach();this._splitView=new WebInspector.SplitView(true,true,"elementsPanelSplitViewState",325,325);this._splitView.addEventListener(WebInspector.SplitView.Events.SidebarSizeChanged,this._updateTreeOutlineVisibleWidth.bind(this));this._splitView.show(this.element);this._searchableView=new WebInspector.SearchableView(this);this._searchableView.setMinimumSize(25,19);this._searchableView.show(this._splitView.mainElement());var stackElement=this._searchableView.element;this.contentElement=stackElement.createChild("div");this.contentElement.id="elements-content";this.contentElement.classList.add("outline-disclosure");this.contentElement.classList.add("source-code");if(!WebInspector.settings.domWordWrap.get())
|
| +this.contentElement.classList.add("nowrap");WebInspector.settings.domWordWrap.addChangeListener(this._domWordWrapSettingChanged.bind(this));this.contentElement.addEventListener("contextmenu",this._contextMenuEventFired.bind(this),true);this._splitView.sidebarElement().addEventListener("contextmenu",this._sidebarContextMenuEventFired.bind(this),false);this.treeOutline=new WebInspector.ElementsTreeOutline(true,true,this._populateContextMenu.bind(this),this._setPseudoClassForNodeId.bind(this));this.treeOutline.wireToDomAgent();this.treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged,this._selectedNodeChanged,this);this.treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.ElementsTreeUpdated,this._updateBreadcrumbIfNeeded,this);var crumbsContainer=stackElement.createChild("div");crumbsContainer.id="elements-crumbs";this.crumbsElement=crumbsContainer.createChild("div","crumbs");this.crumbsElement.addEventListener("mousemove",this._mouseMovedInCrumbs.bind(this),false);this.crumbsElement.addEventListener("mouseout",this._mouseMovedOutOfCrumbs.bind(this),false);this.sidebarPanes={};this.sidebarPanes.platformFonts=new WebInspector.PlatformFontsSidebarPane();this.sidebarPanes.computedStyle=new WebInspector.ComputedStyleSidebarPane();this.sidebarPanes.styles=new WebInspector.StylesSidebarPane(this.sidebarPanes.computedStyle,this._setPseudoClassForNodeId.bind(this));this._matchedStylesFilterBoxContainer=document.createElement("div");this._matchedStylesFilterBoxContainer.className="sidebar-pane-filter-box";this._computedStylesFilterBoxContainer=document.createElement("div");this._computedStylesFilterBoxContainer.className="sidebar-pane-filter-box";this.sidebarPanes.styles.setFilterBoxContainers(this._matchedStylesFilterBoxContainer,this._computedStylesFilterBoxContainer);this.sidebarPanes.metrics=new WebInspector.MetricsSidebarPane();this.sidebarPanes.properties=new WebInspector.PropertiesSidebarPane();this.sidebarPanes.domBreakpoints=WebInspector.domBreakpointsSidebarPane.createProxy(this);this.sidebarPanes.eventListeners=new WebInspector.EventListenersSidebarPane();this.sidebarPanes.styles.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateStyles.bind(this,false));this.sidebarPanes.metrics.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateMetrics.bind(this));this.sidebarPanes.platformFonts.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updatePlatformFonts.bind(this));this.sidebarPanes.properties.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateProperties.bind(this));this.sidebarPanes.eventListeners.addEventListener(WebInspector.SidebarPane.EventTypes.wasShown,this.updateEventListeners.bind(this));this.sidebarPanes.styles.addEventListener("style edited",this._stylesPaneEdited,this);this.sidebarPanes.styles.addEventListener("style property toggled",this._stylesPaneEdited,this);this.sidebarPanes.metrics.addEventListener("metrics edited",this._metricsPaneEdited,this);this._extensionSidebarPanes=[];WebInspector.dockController.addEventListener(WebInspector.DockController.Events.DockSideChanged,this._dockSideChanged.bind(this));WebInspector.settings.splitVerticallyWhenDockedToRight.addChangeListener(this._dockSideChanged.bind(this));this._dockSideChanged();this._popoverHelper=new WebInspector.PopoverHelper(this.element,this._getPopoverAnchor.bind(this),this._showPopover.bind(this));this._popoverHelper.setTimeout(0);WebInspector.domModel.addEventListener(WebInspector.DOMModel.Events.DocumentUpdated,this._documentUpdatedEvent,this);WebInspector.settings.showUAShadowDOM.addChangeListener(this._showUAShadowDOMChanged.bind(this));WebInspector.cssModel.addEventListener(WebInspector.CSSStyleModel.Events.ModelWasEnabled,this._updateSidebars,this);}
|
| WebInspector.ElementsPanel.prototype={_updateTreeOutlineVisibleWidth:function()
|
| {if(!this.treeOutline)
|
| -return;var width=this.splitView.element.offsetWidth;if(this.splitView.isVertical())
|
| -width-=this.splitView.sidebarWidth();this.treeOutline.setVisibleWidth(width);this.updateBreadcrumbSizes();},defaultFocusedElement:function()
|
| +return;var width=this._splitView.element.offsetWidth;if(this._splitView.isVertical())
|
| +width-=this._splitView.sidebarSize();this.treeOutline.setVisibleWidth(width);this.treeOutline.updateSelection();this.updateBreadcrumbSizes();},defaultFocusedElement:function()
|
| {return this.treeOutline.element;},searchableView:function()
|
| -{return this._searchableView;},statusBarResized:function()
|
| -{this.updateBreadcrumbSizes();},wasShown:function()
|
| +{return this._searchableView;},wasShown:function()
|
| {if(this.treeOutline.element.parentElement!==this.contentElement)
|
| this.contentElement.appendChild(this.treeOutline.element);WebInspector.Panel.prototype.wasShown.call(this);this.updateBreadcrumb();this.treeOutline.updateSelection();this.treeOutline.setVisible(true);if(!this.treeOutline.rootDOMNode)
|
| -WebInspector.domAgent.requestDocument();},willHide:function()
|
| -{WebInspector.domAgent.hideDOMNodeHighlight();this.treeOutline.setVisible(false);this._popoverHelper.hidePopover();this.contentElement.removeChild(this.treeOutline.element);WebInspector.Panel.prototype.willHide.call(this);},onResize:function()
|
| -{this.treeOutline.updateSelection();this.updateBreadcrumbSizes();},_setPseudoClassForNodeId:function(nodeId,pseudoClass,enable)
|
| -{var node=WebInspector.domAgent.nodeForId(nodeId);if(!node)
|
| +if(WebInspector.domModel.existingDocument())
|
| +this._documentUpdated(WebInspector.domModel.existingDocument());else
|
| +WebInspector.domModel.requestDocument();},willHide:function()
|
| +{WebInspector.domModel.hideDOMNodeHighlight();this.treeOutline.setVisible(false);this._popoverHelper.hidePopover();this.contentElement.removeChild(this.treeOutline.element);WebInspector.Panel.prototype.willHide.call(this);},onResize:function()
|
| +{this._updateTreeOutlineVisibleWidth();},omitDefaultSelection:function()
|
| +{this._omitDefaultSelection=true;},stopOmittingDefaultSelection:function()
|
| +{delete this._omitDefaultSelection;},_setPseudoClassForNodeId:function(nodeId,pseudoClass,enable)
|
| +{var node=WebInspector.domModel.nodeForId(nodeId);if(!node)
|
| return;var pseudoClasses=node.getUserProperty(WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName);if(enable){pseudoClasses=pseudoClasses||[];if(pseudoClasses.indexOf(pseudoClass)>=0)
|
| return;pseudoClasses.push(pseudoClass);node.setUserProperty(WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName,pseudoClasses);}else{if(!pseudoClasses||pseudoClasses.indexOf(pseudoClass)<0)
|
| return;pseudoClasses.remove(pseudoClass);if(!pseudoClasses.length)
|
| node.removeUserProperty(WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName);}
|
| -this.treeOutline.updateOpenCloseTags(node);WebInspector.cssModel.forcePseudoState(node.id,node.getUserProperty(WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName));this._metricsPaneEdited();this._stylesPaneEdited();WebInspector.notifications.dispatchEventToListeners(WebInspector.UserMetrics.UserAction,{action:WebInspector.UserMetrics.UserActionNames.ForcedElementState,selector:WebInspector.DOMPresentationUtils.appropriateSelectorFor(node,false),enabled:enable,state:pseudoClass});},_selectedNodeChanged:function()
|
| +this.treeOutline.updateOpenCloseTags(node);WebInspector.cssModel.forcePseudoState(node.id,node.getUserProperty(WebInspector.ElementsTreeOutline.PseudoStateDecorator.PropertyName));this._metricsPaneEdited();this._stylesPaneEdited();WebInspector.notifications.dispatchEventToListeners(WebInspector.UserMetrics.UserAction,{action:WebInspector.UserMetrics.UserActionNames.ForcedElementState,selector:WebInspector.DOMPresentationUtils.fullQualifiedSelector(node,false),enabled:enable,state:pseudoClass});},_selectedNodeChanged:function()
|
| {var selectedNode=this.selectedDOMNode();if(!selectedNode&&this._lastValidSelectedNode)
|
| this._selectedPathOnReset=this._lastValidSelectedNode.path();this.updateBreadcrumb(false);this._updateSidebars();if(selectedNode){ConsoleAgent.addInspectedNode(selectedNode.id);this._lastValidSelectedNode=selectedNode;}
|
| -WebInspector.notifications.dispatchEventToListeners(WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged);},_updateSidebars:function()
|
| +WebInspector.notifications.dispatchEventToListeners(WebInspector.NotificationService.Events.SelectedNodeChanged);},_updateSidebars:function()
|
| {for(var pane in this.sidebarPanes)
|
| this.sidebarPanes[pane].needsUpdate=true;this.updateStyles(true);this.updateMetrics();this.updatePlatformFonts();this.updateProperties();this.updateEventListeners();},_reset:function()
|
| {delete this.currentQuery;},_documentUpdatedEvent:function(event)
|
| {this._documentUpdated(event.data);},_documentUpdated:function(inspectedRootDocument)
|
| {this._reset();this.searchCanceled();this.treeOutline.rootDOMNode=inspectedRootDocument;if(!inspectedRootDocument){if(this.isShowing())
|
| -WebInspector.domAgent.requestDocument();return;}
|
| +WebInspector.domModel.requestDocument();return;}
|
| WebInspector.domBreakpointsSidebarPane.restoreBreakpoints();function selectNode(candidateFocusNode)
|
| {if(!candidateFocusNode)
|
| candidateFocusNode=inspectedRootDocument.body||inspectedRootDocument.documentElement;if(!candidateFocusNode)
|
| @@ -938,23 +1360,19 @@
|
| this.treeOutline.selectedTreeElement.expand();}
|
| function selectLastSelectedNode(nodeId)
|
| {if(this.selectedDOMNode()){return;}
|
| -var node=nodeId?WebInspector.domAgent.nodeForId(nodeId):null;selectNode.call(this,node);}
|
| -if(this._selectedPathOnReset)
|
| -WebInspector.domAgent.pushNodeByPathToFrontend(this._selectedPathOnReset,selectLastSelectedNode.bind(this));else
|
| +var node=nodeId?WebInspector.domModel.nodeForId(nodeId):null;selectNode.call(this,node);}
|
| +if(this._omitDefaultSelection)
|
| +return;if(this._selectedPathOnReset)
|
| +WebInspector.domModel.pushNodeByPathToFrontend(this._selectedPathOnReset,selectLastSelectedNode.bind(this));else
|
| selectNode.call(this,null);delete this._selectedPathOnReset;},searchCanceled:function()
|
| -{delete this._searchQuery;this._hideSearchHighlights();this._searchableView.updateSearchMatchesCount(0);delete this._currentSearchResultIndex;delete this._searchResults;WebInspector.domAgent.cancelSearch();},performSearch:function(query,shouldJump)
|
| +{delete this._searchQuery;this._hideSearchHighlights();this._searchableView.updateSearchMatchesCount(0);delete this._currentSearchResultIndex;delete this._searchResults;WebInspector.domModel.cancelSearch();},performSearch:function(query,shouldJump)
|
| {this.searchCanceled();const whitespaceTrimmedQuery=query.trim();if(!whitespaceTrimmedQuery.length)
|
| return;this._searchQuery=query;function resultCountCallback(resultCount)
|
| {this._searchableView.updateSearchMatchesCount(resultCount);if(!resultCount)
|
| return;this._searchResults=new Array(resultCount);this._currentSearchResultIndex=-1;if(shouldJump)
|
| this.jumpToNextSearchResult();}
|
| -WebInspector.domAgent.performSearch(whitespaceTrimmedQuery,resultCountCallback.bind(this));},_contextMenuEventFired:function(event)
|
| -{function toggleWordWrap()
|
| -{WebInspector.settings.domWordWrap.set(!WebInspector.settings.domWordWrap.get());}
|
| -var contextMenu=new WebInspector.ContextMenu(event);this.treeOutline.populateContextMenu(contextMenu,event);if(WebInspector.experimentsSettings.cssRegions.isEnabled()){contextMenu.appendSeparator();contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"CSS named flows\u2026":"CSS Named Flows\u2026"),this._showNamedFlowCollections.bind(this));}
|
| -contextMenu.appendSeparator();contextMenu.appendCheckboxItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles()?"Word wrap":"Word Wrap"),toggleWordWrap.bind(this),WebInspector.settings.domWordWrap.get());contextMenu.show();},_showNamedFlowCollections:function()
|
| -{if(!WebInspector.cssNamedFlowCollectionsView)
|
| -WebInspector.cssNamedFlowCollectionsView=new WebInspector.CSSNamedFlowCollectionsView();WebInspector.cssNamedFlowCollectionsView.showInDrawer();},_domWordWrapSettingChanged:function(event)
|
| +WebInspector.domModel.performSearch(whitespaceTrimmedQuery,resultCountCallback.bind(this));},_contextMenuEventFired:function(event)
|
| +{var contextMenu=new WebInspector.ContextMenu(event);this.treeOutline.populateContextMenu(contextMenu,event);contextMenu.show();},_domWordWrapSettingChanged:function(event)
|
| {if(event.data)
|
| this.contentElement.classList.remove("nowrap");else
|
| this.contentElement.classList.add("nowrap");var selectedNode=this.selectedDOMNode();if(!selectedNode)
|
| @@ -986,7 +1404,7 @@
|
| {var index=this._currentSearchResultIndex;var searchResults=this._searchResults;var searchResult=searchResults[index];if(searchResult===null){this._searchableView.updateCurrentMatchIndex(index);return;}
|
| function searchCallback(node)
|
| {searchResults[index]=node;this._highlightCurrentSearchResult();}
|
| -if(typeof searchResult==="undefined"){WebInspector.domAgent.searchResult(index,searchCallback.bind(this));return;}
|
| +if(typeof searchResult==="undefined"){WebInspector.domModel.searchResult(index,searchCallback.bind(this));return;}
|
| this._searchableView.updateCurrentMatchIndex(index);var treeElement=this.treeOutline.findTreeElement(searchResult);if(treeElement){treeElement.highlightSearchResults(this._searchQuery);treeElement.reveal();var matches=treeElement.listItemElement.getElementsByClassName("highlighted-search-result");if(matches.length)
|
| matches[0].scrollIntoViewIfNeeded();}},_hideSearchHighlights:function()
|
| {if(!this._searchResults)
|
| @@ -999,9 +1417,9 @@
|
| return;var crumbs=this.crumbsElement;for(var crumb=crumbs.firstChild;crumb;crumb=crumb.nextSibling){if(nodes.indexOf(crumb.representedObject)!==-1){this.updateBreadcrumb(true);return;}}},_stylesPaneEdited:function()
|
| {this.sidebarPanes.metrics.needsUpdate=true;this.updateMetrics();this.sidebarPanes.platformFonts.needsUpdate=true;this.updatePlatformFonts();},_metricsPaneEdited:function()
|
| {this.sidebarPanes.styles.needsUpdate=true;this.updateStyles(true);},_mouseMovedInCrumbs:function(event)
|
| -{var nodeUnderMouse=document.elementFromPoint(event.pageX,event.pageY);var crumbElement=nodeUnderMouse.enclosingNodeOrSelfWithClass("crumb");WebInspector.domAgent.highlightDOMNode(crumbElement?crumbElement.representedObject.id:0);if("_mouseOutOfCrumbsTimeout"in this){clearTimeout(this._mouseOutOfCrumbsTimeout);delete this._mouseOutOfCrumbsTimeout;}},_mouseMovedOutOfCrumbs:function(event)
|
| +{var nodeUnderMouse=document.elementFromPoint(event.pageX,event.pageY);var crumbElement=nodeUnderMouse.enclosingNodeOrSelfWithClass("crumb");WebInspector.domModel.highlightDOMNode(crumbElement?crumbElement.representedObject.id:0);if("_mouseOutOfCrumbsTimeout"in this){clearTimeout(this._mouseOutOfCrumbsTimeout);delete this._mouseOutOfCrumbsTimeout;}},_mouseMovedOutOfCrumbs:function(event)
|
| {var nodeUnderMouse=document.elementFromPoint(event.pageX,event.pageY);if(nodeUnderMouse&&nodeUnderMouse.isDescendant(this.crumbsElement))
|
| -return;WebInspector.domAgent.hideDOMNodeHighlight();this._mouseOutOfCrumbsTimeout=setTimeout(this.updateBreadcrumbSizes.bind(this),1000);},updateBreadcrumb:function(forceUpdate)
|
| +return;WebInspector.domModel.hideDOMNodeHighlight();this._mouseOutOfCrumbsTimeout=setTimeout(this.updateBreadcrumbSizes.bind(this),1000);},updateBreadcrumb:function(forceUpdate)
|
| {if(!this.isShowing())
|
| return;var crumbs=this.crumbsElement;var handled=false;var crumb=crumbs.firstChild;while(crumb){if(crumb.representedObject===this.selectedDOMNode()){crumb.classList.add("selected");handled=true;}else{crumb.classList.remove("selected");}
|
| crumb=crumb.nextSibling;}
|
| @@ -1017,27 +1435,25 @@
|
| WebInspector.DOMPresentationUtils.decorateNodeLabel(current,crumb);break;case Node.TEXT_NODE:crumbTitle=WebInspector.UIString("(text)");break;case Node.COMMENT_NODE:crumbTitle="<!-->";break;case Node.DOCUMENT_TYPE_NODE:crumbTitle="<!DOCTYPE>";break;case Node.DOCUMENT_FRAGMENT_NODE:crumbTitle=current.shadowRootType()?"#shadow-root":current.nodeNameInCorrectCase();break;default:crumbTitle=current.nodeNameInCorrectCase();}
|
| if(!crumb.childNodes.length){var nameElement=document.createElement("span");nameElement.textContent=crumbTitle;crumb.appendChild(nameElement);crumb.title=crumbTitle;}
|
| if(current===this.selectedDOMNode())
|
| -crumb.classList.add("selected");if(!crumbs.childNodes.length)
|
| -crumb.classList.add("end");crumbs.insertBefore(crumb,crumbs.firstChild);}
|
| -if(crumbs.hasChildNodes())
|
| -crumbs.lastChild.classList.add("start");this.updateBreadcrumbSizes();},updateBreadcrumbSizes:function(focusedCrumb)
|
| +crumb.classList.add("selected");crumbs.insertBefore(crumb,crumbs.firstChild);}
|
| +this.updateBreadcrumbSizes();},updateBreadcrumbSizes:function(focusedCrumb)
|
| {if(!this.isShowing())
|
| -return;if(document.body.offsetWidth<=0){return;}
|
| -var crumbs=this.crumbsElement;if(!crumbs.childNodes.length||crumbs.offsetWidth<=0)
|
| -return;var selectedIndex=0;var focusedIndex=0;var selectedCrumb;var i=0;var crumb=crumbs.firstChild;while(crumb){if(!selectedCrumb&&crumb.classList.contains("selected")){selectedCrumb=crumb;selectedIndex=i;}
|
| +return;var crumbs=this.crumbsElement;if(!crumbs.firstChild)
|
| +return;var selectedIndex=0;var focusedIndex=0;var selectedCrumb;for(var i=0;i<crumbs.childNodes.length;++i){var crumb=crumbs.childNodes[i];if(!selectedCrumb&&crumb.classList.contains("selected")){selectedCrumb=crumb;selectedIndex=i;}
|
| if(crumb===focusedCrumb)
|
| -focusedIndex=i;if(crumb!==crumbs.lastChild)
|
| -crumb.classList.remove("start");if(crumb!==crumbs.firstChild)
|
| -crumb.classList.remove("end");crumb.classList.remove("compact");crumb.classList.remove("collapsed");crumb.classList.remove("hidden");crumb=crumb.nextSibling;++i;}
|
| -crumbs.firstChild.classList.add("end");crumbs.lastChild.classList.add("start");var contentElement=this.contentElement;function crumbsAreSmallerThanContainer()
|
| -{const rightPadding=10;return crumbs.offsetWidth+rightPadding<contentElement.offsetWidth;}
|
| +focusedIndex=i;crumb.classList.remove("compact","collapsed","hidden");}
|
| +var contentElementWidth=this.contentElement.offsetWidth;var normalSizes=[];for(var i=0;i<crumbs.childNodes.length;++i){var crumb=crumbs.childNodes[i];normalSizes[i]=crumb.offsetWidth;}
|
| +var compactSizes=[];for(var i=0;i<crumbs.childNodes.length;++i){var crumb=crumbs.childNodes[i];crumb.classList.add("compact");}
|
| +for(var i=0;i<crumbs.childNodes.length;++i){var crumb=crumbs.childNodes[i];compactSizes[i]=crumb.offsetWidth;}
|
| +crumbs.firstChild.classList.add("collapsed");var collapsedSize=crumbs.firstChild.offsetWidth;for(var i=0;i<crumbs.childNodes.length;++i){var crumb=crumbs.childNodes[i];crumb.classList.remove("compact","collapsed");}
|
| +function crumbsAreSmallerThanContainer()
|
| +{var totalSize=0;for(var i=0;i<crumbs.childNodes.length;++i){var crumb=crumbs.childNodes[i];if(crumb.classList.contains("hidden"))
|
| +continue;if(crumb.classList.contains("collapsed")){totalSize+=collapsedSize;continue;}
|
| +totalSize+=crumb.classList.contains("compact")?compactSizes[i]:normalSizes[i];}
|
| +const rightPadding=10;return totalSize+rightPadding<contentElementWidth;}
|
| if(crumbsAreSmallerThanContainer())
|
| -return;var BothSides=0;var AncestorSide=-1;var ChildSide=1;function makeCrumbsSmaller(shrinkingFunction,direction,significantCrumb)
|
| -{if(!significantCrumb)
|
| -significantCrumb=(focusedCrumb||selectedCrumb);if(significantCrumb===selectedCrumb)
|
| -var significantIndex=selectedIndex;else if(significantCrumb===focusedCrumb)
|
| -var significantIndex=focusedIndex;else{var significantIndex=0;for(var i=0;i<crumbs.childNodes.length;++i){if(crumbs.childNodes[i]===significantCrumb){significantIndex=i;break;}}}
|
| -function shrinkCrumbAtIndex(index)
|
| +return;var BothSides=0;var AncestorSide=-1;var ChildSide=1;function makeCrumbsSmaller(shrinkingFunction,direction)
|
| +{var significantCrumb=focusedCrumb||selectedCrumb;var significantIndex=significantCrumb===selectedCrumb?selectedIndex:focusedIndex;function shrinkCrumbAtIndex(index)
|
| {var shrinkCrumb=crumbs.childNodes[index];if(shrinkCrumb&&shrinkCrumb!==significantCrumb)
|
| shrinkingFunction(shrinkCrumb);if(crumbsAreSmallerThanContainer())
|
| return true;return false;}
|
| @@ -1065,8 +1481,8 @@
|
| if(!focusedCrumb){if(makeCrumbsSmaller(compact,ChildSide))
|
| return;if(makeCrumbsSmaller(collapse,ChildSide))
|
| return;}
|
| -if(makeCrumbsSmaller(compact,(focusedCrumb?BothSides:AncestorSide)))
|
| -return;if(makeCrumbsSmaller(collapse,(focusedCrumb?BothSides:AncestorSide)))
|
| +if(makeCrumbsSmaller(compact,focusedCrumb?BothSides:AncestorSide))
|
| +return;if(makeCrumbsSmaller(collapse,focusedCrumb?BothSides:AncestorSide))
|
| return;if(!selectedCrumb)
|
| return;compact(selectedCrumb);if(crumbsAreSmallerThanContainer())
|
| return;collapse(selectedCrumb,true);},updateStyles:function(forceUpdate)
|
| @@ -1084,51 +1500,52 @@
|
| {var eventListenersSidebarPane=this.sidebarPanes.eventListeners;if(!eventListenersSidebarPane.isShowing()||!eventListenersSidebarPane.needsUpdate)
|
| return;eventListenersSidebarPane.update(this.selectedDOMNode());eventListenersSidebarPane.needsUpdate=false;},handleShortcut:function(event)
|
| {function handleUndoRedo()
|
| -{if(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)&&!event.shiftKey&&event.keyIdentifier==="U+005A"){WebInspector.domAgent.undo(this._updateSidebars.bind(this));event.handled=true;return;}
|
| +{if(WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)&&!event.shiftKey&&event.keyIdentifier==="U+005A"){WebInspector.domModel.undo(this._updateSidebars.bind(this));event.handled=true;return;}
|
| var isRedoKey=WebInspector.isMac()?event.metaKey&&event.shiftKey&&event.keyIdentifier==="U+005A":event.ctrlKey&&event.keyIdentifier==="U+0059";if(isRedoKey){DOMAgent.redo(this._updateSidebars.bind(this));event.handled=true;}}
|
| if(!this.treeOutline.editing()){handleUndoRedo.call(this);if(event.handled)
|
| return;}
|
| this.treeOutline.handleShortcut(event);},handleCopyEvent:function(event)
|
| {var currentFocusElement=WebInspector.currentFocusElement();if(currentFocusElement&&WebInspector.isBeingEdited(currentFocusElement))
|
| return;if(!window.getSelection().isCollapsed)
|
| -return;event.clipboardData.clearData();event.preventDefault();this.selectedDOMNode().copyNode();},sidebarResized:function(event)
|
| -{this.treeOutline.updateSelection();},revealAndSelectNode:function(nodeId)
|
| -{WebInspector.inspectorView.setCurrentPanel(this);var node=WebInspector.domAgent.nodeForId(nodeId);if(!node)
|
| -return;while(!WebInspector.ElementsTreeOutline.showShadowDOM()&&node&&node.isInShadowTree())
|
| -node=node.parentNode;WebInspector.domAgent.highlightDOMNodeForTwoSeconds(nodeId);this.selectDOMNode(node,true);},appendApplicableItems:function(event,contextMenu,target)
|
| +return;event.clipboardData.clearData();event.preventDefault();this.selectedDOMNode().copyNode();},_leaveUserAgentShadowDOM:function(node)
|
| +{var userAgentShadowRoot=node.ancestorUserAgentShadowRoot();return userAgentShadowRoot?(userAgentShadowRoot.parentNode):node;},revealAndSelectNode:function(nodeId)
|
| +{WebInspector.inspectorView.setCurrentPanel(this);var node=WebInspector.domModel.nodeForId(nodeId);if(!node)
|
| +return;node=WebInspector.settings.showUAShadowDOM.get()?node:this._leaveUserAgentShadowDOM(node);WebInspector.domModel.highlightDOMNodeForTwoSeconds(nodeId);this.selectDOMNode(node,true);},appendApplicableItems:function(event,contextMenu,target)
|
| {function selectNode(nodeId)
|
| {if(nodeId)
|
| -WebInspector.domAgent.inspectElement(nodeId);}
|
| +WebInspector.domModel.inspectElement(nodeId);}
|
| function revealElement(remoteObject)
|
| {remoteObject.pushNodeToFrontend(selectNode);}
|
| var commandCallback;if(target instanceof WebInspector.RemoteObject){var remoteObject=(target);if(remoteObject.subtype==="node")
|
| -commandCallback=revealElement.bind(this,remoteObject);}else if(target instanceof WebInspector.DOMNode){var domNode=(target);if(domNode.id)
|
| -commandCallback=WebInspector.domAgent.inspectElement.bind(WebInspector.domAgent,domNode.id);}
|
| +commandCallback=revealElement.bind(null,remoteObject);}else if(target instanceof WebInspector.DOMNode){var domNode=(target);if(domNode.id)
|
| +commandCallback=WebInspector.domModel.inspectElement.bind(WebInspector.domModel,domNode.id);}
|
| if(!commandCallback)
|
| return;if(this.treeOutline.element.isAncestor(event.target))
|
| return;contextMenu.appendItem(WebInspector.useLowerCaseMenuTitles()?"Reveal in Elements panel":"Reveal in Elements Panel",commandCallback);},_sidebarContextMenuEventFired:function(event)
|
| {var contextMenu=new WebInspector.ContextMenu(event);contextMenu.show();},_dockSideChanged:function()
|
| -{var dockSide=WebInspector.dockController.dockSide();var vertically=dockSide===WebInspector.DockController.State.DockedToRight&&WebInspector.settings.splitVerticallyWhenDockedToRight.get();this._splitVertically(vertically);},_showShadowDOMChanged:function()
|
| +{var vertically=WebInspector.dockController.isVertical()&&WebInspector.settings.splitVerticallyWhenDockedToRight.get();this._splitVertically(vertically);},_showUAShadowDOMChanged:function()
|
| {this.treeOutline.update();},_splitVertically:function(vertically)
|
| -{if(this.sidebarPaneView&&vertically===!this.splitView.isVertical())
|
| -return;if(this.sidebarPaneView){this.sidebarPaneView.detach();this.splitView.uninstallResizer(this.sidebarPaneView.headerElement());}
|
| -this.splitView.setVertical(!vertically);var computedPane=new WebInspector.SidebarPane(WebInspector.UIString("Computed"));computedPane.element.classList.add("composite");computedPane.element.classList.add("fill");var expandComputed=computedPane.expand.bind(computedPane);computedPane.bodyElement.appendChild(this.sidebarPanes.computedStyle.titleElement);computedPane.bodyElement.classList.add("metrics-and-computed");this.sidebarPanes.computedStyle.show(computedPane.bodyElement);this.sidebarPanes.computedStyle.setExpandCallback(expandComputed);this.sidebarPanes.platformFonts.show(computedPane.bodyElement);function showMetrics(pane,beforeElement)
|
| -{this.sidebarPanes.metrics.show(pane.bodyElement,beforeElement);}
|
| +{if(this.sidebarPaneView&&vertically===!this._splitView.isVertical())
|
| +return;if(this.sidebarPaneView){this.sidebarPaneView.detach();this._splitView.uninstallResizer(this.sidebarPaneView.headerElement());}
|
| +this._splitView.setVertical(!vertically);var computedPane=new WebInspector.SidebarPane(WebInspector.UIString("Computed"));computedPane.element.classList.add("composite");computedPane.element.classList.add("fill");var expandComputed=computedPane.expand.bind(computedPane);computedPane.bodyElement.classList.add("metrics-and-computed");this.sidebarPanes.computedStyle.setExpandCallback(expandComputed);var matchedStylePanesWrapper=document.createElement("div");matchedStylePanesWrapper.className="style-panes-wrapper";var computedStylePanesWrapper=document.createElement("div");computedStylePanesWrapper.className="style-panes-wrapper";function showMetrics(inComputedStyle)
|
| +{if(inComputedStyle)
|
| +this.sidebarPanes.metrics.show(computedStylePanesWrapper,this.sidebarPanes.computedStyle.element);else
|
| +this.sidebarPanes.metrics.show(matchedStylePanesWrapper);}
|
| function tabSelected(event)
|
| {var tabId=(event.data.tabId);if(tabId===computedPane.title())
|
| -showMetrics.call(this,computedPane,this.sidebarPanes.computedStyle.element);if(tabId===stylesPane.title())
|
| -showMetrics.call(this,stylesPane);}
|
| -this.sidebarPaneView=new WebInspector.SidebarTabbedPane();if(vertically){this.splitView.installResizer(this.sidebarPaneView.headerElement());this.sidebarPanes.metrics.show(computedPane.bodyElement,this.sidebarPanes.computedStyle.element);this.sidebarPanes.metrics.setExpandCallback(expandComputed);var compositePane=new WebInspector.SidebarPane(this.sidebarPanes.styles.title());compositePane.element.classList.add("composite");compositePane.element.classList.add("fill");var expandComposite=compositePane.expand.bind(compositePane);var splitView=new WebInspector.SplitView(true,"StylesPaneSplitRatio",0.5);splitView.show(compositePane.bodyElement);splitView.setFirstView(this.sidebarPanes.styles);splitView.firstElement().appendChild(this.sidebarPanes.styles.titleElement);this.sidebarPanes.styles.setExpandCallback(expandComposite);splitView.setSecondView(computedPane);computedPane.setExpandCallback(expandComposite);this.sidebarPaneView.addPane(compositePane);}else{var stylesPane=new WebInspector.SidebarPane(this.sidebarPanes.styles.title());stylesPane.element.classList.add("composite");stylesPane.element.classList.add("fill");var expandStyles=stylesPane.expand.bind(stylesPane);stylesPane.bodyElement.classList.add("metrics-and-styles");this.sidebarPanes.styles.show(stylesPane.bodyElement);this.sidebarPanes.styles.setExpandCallback(expandStyles);this.sidebarPanes.metrics.setExpandCallback(expandStyles);stylesPane.bodyElement.appendChild(this.sidebarPanes.styles.titleElement);this.sidebarPaneView.addEventListener(WebInspector.TabbedPane.EventTypes.TabSelected,tabSelected,this);showMetrics.call(this,stylesPane);this.sidebarPaneView.addPane(stylesPane);this.sidebarPaneView.addPane(computedPane);}
|
| -this.sidebarPaneView.addPane(this.sidebarPanes.eventListeners);this.sidebarPaneView.addPane(this.sidebarPanes.domBreakpoints);this.sidebarPaneView.addPane(this.sidebarPanes.properties);this._extensionSidebarPanesContainer=this.sidebarPaneView;for(var i=0;i<this._extensionSidebarPanes.length;++i)
|
| -this._extensionSidebarPanesContainer.addPane(this._extensionSidebarPanes[i]);this.splitView.setSidebarView(this.sidebarPaneView);this.sidebarPanes.styles.expand();},addExtensionSidebarPane:function(id,pane)
|
| +showMetrics.call(this,true);else if(tabId===stylesPane.title())
|
| +showMetrics.call(this,false);}
|
| +this.sidebarPaneView=new WebInspector.SidebarTabbedPane();if(vertically){this._splitView.installResizer(this.sidebarPaneView.headerElement());this.sidebarPanes.metrics.setExpandCallback(expandComputed);var compositePane=new WebInspector.SidebarPane(this.sidebarPanes.styles.title());compositePane.element.classList.add("composite");compositePane.element.classList.add("fill");var expandComposite=compositePane.expand.bind(compositePane);var splitView=new WebInspector.SplitView(true,true,"stylesPaneSplitViewState",0.5);splitView.show(compositePane.bodyElement);splitView.mainElement().appendChild(matchedStylePanesWrapper);splitView.sidebarElement().appendChild(computedStylePanesWrapper);this.sidebarPanes.styles.setExpandCallback(expandComposite);computedPane.show(computedStylePanesWrapper);computedPane.setExpandCallback(expandComposite);splitView.mainElement().appendChild(this._matchedStylesFilterBoxContainer);splitView.sidebarElement().appendChild(this._computedStylesFilterBoxContainer);this.sidebarPaneView.addPane(compositePane);}else{var stylesPane=new WebInspector.SidebarPane(this.sidebarPanes.styles.title());stylesPane.element.classList.add("composite");stylesPane.element.classList.add("fill");var expandStyles=stylesPane.expand.bind(stylesPane);stylesPane.bodyElement.classList.add("metrics-and-styles");stylesPane.bodyElement.appendChild(matchedStylePanesWrapper);computedPane.bodyElement.appendChild(computedStylePanesWrapper);this.sidebarPanes.styles.setExpandCallback(expandStyles);this.sidebarPanes.metrics.setExpandCallback(expandStyles);this.sidebarPaneView.addEventListener(WebInspector.TabbedPane.EventTypes.TabSelected,tabSelected,this);stylesPane.bodyElement.appendChild(this._matchedStylesFilterBoxContainer);computedPane.bodyElement.appendChild(this._computedStylesFilterBoxContainer);this.sidebarPaneView.addPane(stylesPane);this.sidebarPaneView.addPane(computedPane);}
|
| +this.sidebarPanes.styles.show(matchedStylePanesWrapper);this.sidebarPanes.computedStyle.show(computedStylePanesWrapper);matchedStylePanesWrapper.appendChild(this.sidebarPanes.styles.titleElement);showMetrics.call(this,vertically);this.sidebarPanes.platformFonts.show(computedStylePanesWrapper);this.sidebarPaneView.addPane(this.sidebarPanes.eventListeners);this.sidebarPaneView.addPane(this.sidebarPanes.domBreakpoints);this.sidebarPaneView.addPane(this.sidebarPanes.properties);this._extensionSidebarPanesContainer=this.sidebarPaneView;for(var i=0;i<this._extensionSidebarPanes.length;++i)
|
| +this._extensionSidebarPanesContainer.addPane(this._extensionSidebarPanes[i]);this.sidebarPaneView.show(this._splitView.sidebarElement());this.sidebarPanes.styles.expand();},addExtensionSidebarPane:function(id,pane)
|
| {this._extensionSidebarPanes.push(pane);this._extensionSidebarPanesContainer.addPane(pane);},__proto__:WebInspector.Panel.prototype}
|
| WebInspector.ElementsPanel.ContextMenuProvider=function()
|
| {}
|
| WebInspector.ElementsPanel.ContextMenuProvider.prototype={appendApplicableItems:function(event,contextMenu,target)
|
| -{WebInspector.panel("elements").appendApplicableItems(event,contextMenu,target);}}
|
| -WebInspector.ElementsPanel.OverridesViewFactory=function()
|
| -{WebInspector.Drawer.SingletonViewFactory.call(this,WebInspector.OverridesView);}
|
| -WebInspector.ElementsPanel.OverridesViewFactory.prototype={__proto__:WebInspector.Drawer.SingletonViewFactory.prototype}
|
| -WebInspector.ElementsPanel.RenderingViewFactory=function()
|
| -{WebInspector.Drawer.SingletonViewFactory.call(this,WebInspector.RenderingOptionsView);}
|
| -WebInspector.ElementsPanel.RenderingViewFactory.prototype={__proto__:WebInspector.Drawer.SingletonViewFactory.prototype}
|
| +{(WebInspector.inspectorView.panel("elements")).appendApplicableItems(event,contextMenu,target);}}
|
| +WebInspector.ElementsPanel.DOMNodeRevealer=function()
|
| +{}
|
| +WebInspector.ElementsPanel.DOMNodeRevealer.prototype={reveal:function(node)
|
| +{if(!(node instanceof WebInspector.DOMNode))
|
| +return;if(WebInspector.inspectElementModeController&&WebInspector.inspectElementModeController.enabled()){InspectorFrontendHost.bringToFront();WebInspector.inspectElementModeController.disable();}
|
| +(WebInspector.inspectorView.panel("elements")).revealAndSelectNode(node.id);}}
|
|
|