WebKit Bugzilla
Attachment 373606 Details for
Bug 199546
: Layer visualization needs to show more data about the layers
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199546-20190707171331.patch (text/plain), 25.35 KB, created by
Simon Fraser (smfr)
on 2019-07-07 17:13:32 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Fraser (smfr)
Created:
2019-07-07 17:13:32 PDT
Size:
25.35 KB
patch
obsolete
>Subversion Revision: 247200 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index cebfd627debd4a8d93a786617c89a0550b514696..a51dd09d542c61c9ef2724394d58629923df3dc3 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,14 @@ >+2019-07-07 Simon Fraser <simon.fraser@apple.com> >+ >+ Layer visualization needs to show more data about the layers >+ https://bugs.webkit.org/show_bug.cgi?id=199546 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add a LayerAttributes property to the Layer object. >+ >+ * inspector/protocol/LayerTree.json: >+ > 2019-07-06 Michael Saboff <msaboff@apple.com> > > switch(String) needs to check for exceptions when resolving the string >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 7b8f6a802ddbb804ed7015c8783704f7158d8d63..02dbee2b9392483c67f82267565d4a136161ff73 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,21 @@ >+2019-07-07 Simon Fraser <simon.fraser@apple.com> >+ >+ Layer visualization needs to show more data about the layers >+ https://bugs.webkit.org/show_bug.cgi?id=199546 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Collect some data to add to the layer's attributes property, including whether it's >+ the root, has tiled backing, is a simple container, and is a container for media (image, video, solid color). >+ >+ * inspector/agents/InspectorLayerTreeAgent.cpp: >+ (WebCore::InspectorLayerTreeAgent::buildObjectForLayer): >+ (WebCore::InspectorLayerTreeAgent::buildAttributesForLayer): >+ * inspector/agents/InspectorLayerTreeAgent.h: >+ * rendering/RenderLayerBacking.cpp: >+ (WebCore::RenderLayerBacking::backingStoreAttached const): >+ * rendering/RenderLayerBacking.h: >+ > 2019-07-07 Zalan Bujtas <zalan@apple.com> > > [ContentChangeObserver] Difficult to control videos on iqiyi.com as the actions are mouse hover >diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index 1df39540308c474a657fd4d918c8968189b1f1c8..1f4d068ef2930ccd6003c51a25997a97458a3a78 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,23 @@ >+2019-07-07 Simon Fraser <simon.fraser@apple.com> >+ >+ Layer visualization needs to show more data about the layers >+ https://bugs.webkit.org/show_bug.cgi?id=199546 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Populate the layer.attributes property. Fix the 3D view to be able to control stroke and fill opacity, >+ and to use different colors for layers with different attributes. >+ >+ * UserInterface/Models/Layer.js: >+ (WI.Layer): >+ (WI.Layer.fromPayload): >+ (WI.Layer.prototype.get attributes): >+ * UserInterface/Views/Layers3DContentView.js: >+ (WI.Layers3DContentView.prototype._createLayerGroup): >+ (WI.Layers3DContentView.prototype._createLayerMesh): >+ (WI.Layers3DContentView.prototype._updateLayerGroupSelection): >+ (WI.Layers3DContentView.prototype._colorsForLayer): >+ > 2019-07-06 Nikita Vasilyev <nvasilyev@apple.com> > > Web Inspector: Styles: unbalanced quotes and parenthesis aren't displayed as property closed after editing values >diff --git a/Source/JavaScriptCore/inspector/protocol/LayerTree.json b/Source/JavaScriptCore/inspector/protocol/LayerTree.json >index fd591152850b0167a7e67de94e28aff548f6a6a5..e9cfbf4c03b63563b7fa44971249fedff43186b7 100644 >--- a/Source/JavaScriptCore/inspector/protocol/LayerTree.json >+++ b/Source/JavaScriptCore/inspector/protocol/LayerTree.json >@@ -23,6 +23,18 @@ > { "name": "height", "type": "integer", "description": "The height metric." } > ] > }, >+ { >+ "id": "LayerAttributes", >+ "type": "object", >+ "description": "Layer attributes.", >+ "properties": [ >+ { "name": "isRoot", "type": "boolean" }, >+ { "name": "isContainerLayer", "type": "boolean", "optional": true }, >+ { "name": "hasTiledBacking", "type": "boolean", "optional": true }, >+ { "name": "hasMediaContents", "type": "boolean", "optional": true }, >+ { "name": "backingStoreIsAttached", "type": "boolean", "optional": true } >+ ] >+ }, > { > "id": "Layer", > "type": "object", >@@ -31,6 +43,7 @@ > { "name": "layerId", "$ref": "LayerId", "description": "The unique id for this layer." }, > { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The id for the node associated with this layer." }, > { "name": "bounds", "$ref": "IntRect", "description": "Bounds of the layer in absolute page coordinates." }, >+ { "name": "attributes", "$ref": "LayerAttributes", "description": "Layer attributes." }, > { "name": "paintCount", "type": "integer", "description": "Indicates how many time this layer has painted." }, > { "name": "memory", "type": "integer", "description": "Estimated memory used by this layer." }, > { "name": "compositedBounds", "$ref": "IntRect", "description": "The bounds of the composited layer." }, >diff --git a/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.cpp b/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.cpp >index e1e082e41ad2d524f57ef10640288761156824b9..964e3bc72bd80cff5b2b591833e678021d08e2bb 100644 >--- a/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.cpp >+++ b/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.cpp >@@ -175,6 +175,7 @@ Ref<Inspector::Protocol::LayerTree::Layer> InspectorLayerTreeAgent::buildObjectF > .setLayerId(bind(renderLayer)) > .setNodeId(idForNode(errorString, node)) > .setBounds(buildObjectForIntRect(renderer->absoluteBoundingBoxRect())) >+ .setAttributes(buildAttributesForLayer(*renderLayer)) > .setMemory(backing->backingStoreMemoryEstimate()) > .setCompositedBounds(buildObjectForIntRect(enclosingIntRect(backing->compositedBounds()))) > .setPaintCount(backing->graphicsLayer()->repaintCount()) >@@ -234,6 +235,29 @@ Ref<Inspector::Protocol::LayerTree::IntRect> InspectorLayerTreeAgent::buildObjec > .release(); > } > >+Ref<Inspector::Protocol::LayerTree::LayerAttributes> InspectorLayerTreeAgent::buildAttributesForLayer(RenderLayer& layer) >+{ >+ auto compositingType = layer.isComposited() ? layer.backing()->compositingLayerType() : NormalCompositingLayer; >+ >+ auto layerAttributes = Inspector::Protocol::LayerTree::LayerAttributes::create() >+ .setIsRoot(layer.isRenderViewLayer()) >+ .release(); >+ >+ if (compositingType == TiledCompositingLayer) >+ layerAttributes->setHasTiledBacking(true); >+ >+ if (compositingType == MediaCompositingLayer) >+ layerAttributes->setHasMediaContents(true); >+ >+ if (compositingType == ContainerCompositingLayer) >+ layerAttributes->setIsContainerLayer(true); >+ >+ if (layer.isComposited() && layer.backing()->backingStoreAttached()) >+ layerAttributes->setBackingStoreIsAttached(true); >+ >+ return layerAttributes; >+} >+ > void InspectorLayerTreeAgent::reasonsForCompositingLayer(ErrorString& errorString, const String& layerId, RefPtr<Inspector::Protocol::LayerTree::CompositingReasons>& compositingReasonsResult) > { > const RenderLayer* renderLayer = m_idToLayer.get(layerId); >diff --git a/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.h b/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.h >index c39b0f647e1ecefd4404c2c129877bcf1dba1ebb..cdfa14e74106e11e659fa813977a5fa779c1716b 100644 >--- a/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.h >+++ b/Source/WebCore/inspector/agents/InspectorLayerTreeAgent.h >@@ -76,6 +76,7 @@ private: > > Ref<Inspector::Protocol::LayerTree::Layer> buildObjectForLayer(ErrorString&, RenderLayer*); > Ref<Inspector::Protocol::LayerTree::IntRect> buildObjectForIntRect(const IntRect&); >+ Ref<Inspector::Protocol::LayerTree::LayerAttributes> buildAttributesForLayer(RenderLayer&); > > int idForNode(ErrorString&, Node*); > >diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp >index b2441ac25e83e28dbe776f51c8701bfcc815bd9c..159773cffb5b229e23b5179c7ffebf3d955cf0e4 100644 >--- a/Source/WebCore/rendering/RenderLayerBacking.cpp >+++ b/Source/WebCore/rendering/RenderLayerBacking.cpp >@@ -3391,6 +3391,11 @@ CompositingLayerType RenderLayerBacking::compositingLayerType() const > return ContainerCompositingLayer; > } > >+bool RenderLayerBacking::backingStoreAttached() const >+{ >+ return m_graphicsLayer->backingStoreAttached(); >+} >+ > double RenderLayerBacking::backingStoreMemoryEstimate() const > { > double backingMemory; >diff --git a/Source/WebCore/rendering/RenderLayerBacking.h b/Source/WebCore/rendering/RenderLayerBacking.h >index 3b5dee241713190e8435d006da2b54112a9ebd40..53748e58daeecef8028c6c4cbedbf0dda1659b94 100644 >--- a/Source/WebCore/rendering/RenderLayerBacking.h >+++ b/Source/WebCore/rendering/RenderLayerBacking.h >@@ -267,7 +267,8 @@ public: > > // For informative purposes only. > WEBCORE_EXPORT CompositingLayerType compositingLayerType() const; >- >+ WEBCORE_EXPORT bool backingStoreAttached() const; >+ > GraphicsLayer* layerForHorizontalScrollbar() const { return m_layerForHorizontalScrollbar.get(); } > GraphicsLayer* layerForVerticalScrollbar() const { return m_layerForVerticalScrollbar.get(); } > GraphicsLayer* layerForScrollCorner() const { return m_layerForScrollCorner.get(); } >diff --git a/Source/WebInspectorUI/UserInterface/Models/Layer.js b/Source/WebInspectorUI/UserInterface/Models/Layer.js >index 3f1e94253e2d365e6946a5bcded225347c0c53e7..e58be589028988be2ee9d936fde85c4b1fbf8537 100644 >--- a/Source/WebInspectorUI/UserInterface/Models/Layer.js >+++ b/Source/WebInspectorUI/UserInterface/Models/Layer.js >@@ -24,13 +24,14 @@ > */ > > WI.Layer = class Layer { >- constructor(layerId, nodeId, bounds, paintCount, memory, compositedBounds, isInShadowTree, isReflection, isGeneratedContent, isAnonymous, pseudoElementId, pseudoElement) >+ constructor(layerId, nodeId, bounds, attributes, paintCount, memory, compositedBounds, isInShadowTree, isReflection, isGeneratedContent, isAnonymous, pseudoElementId, pseudoElement) > { > console.assert(typeof bounds === "object"); > > this._layerId = layerId; > this._nodeId = nodeId; > this._bounds = bounds; >+ this._attributes = attributes; > this._paintCount = paintCount; > this._memory = memory; > this._compositedBounds = compositedBounds; >@@ -44,6 +45,15 @@ WI.Layer = class Layer { > // FIXME: This should probably be moved to the backend. > this._compositedBounds.x = this._bounds.x; > this._compositedBounds.y = this._bounds.y; >+ >+ if (attributes) >+ this._attributes = attributes; >+ else { >+ // COMPATIBILITY (iOS 13): 'attributes' didn't exist before iOS 13. >+ this._attributes = { >+ isRoot : false >+ }; >+ } > } > > // Static >@@ -54,6 +64,7 @@ WI.Layer = class Layer { > payload.layerId, > payload.nodeId, > payload.bounds, >+ payload.attributes, > payload.paintCount, > payload.memory, > payload.compositedBounds, >@@ -71,6 +82,7 @@ WI.Layer = class Layer { > get layerId() { return this._layerId; } > get nodeId() { return this._nodeId; } > get bounds() { return this._bounds; } >+ get attributes() { return this._attributes; } > get paintCount() { return this._paintCount; } > get memory() { return this._memory; } > get compositedBounds() { return this._compositedBounds; } >diff --git a/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js b/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js >index a53667ac7f4379f90221b1aa631f8a498b6cc5af..c923d02cefe88366eeb4e3cd608c494cc4de2235 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js >@@ -274,14 +274,15 @@ WI.Layers3DContentView = class Layers3DContentView extends WI.ContentView > this.dispatchEventToListeners(WI.ContentView.Event.SelectionPathComponentsDidChange); > } > >- _createLayerGroup(layer) { >+ _createLayerGroup(layer) >+ { > let layerGroup = new THREE.Group; > layerGroup.userData.layer = layer; >- layerGroup.add(this._createLayerMesh(layer.bounds), this._createLayerMesh(layer.compositedBounds, true)); >+ layerGroup.add(this._createLayerMesh(layer, layer.bounds), this._createLayerMesh(layer, layer.compositedBounds, true)); > return layerGroup; > } > >- _createLayerMesh({width, height}, isOutline = false) >+ _createLayerMesh(layer, {width, height}, isOutline = false) > { > let geometry = new THREE.Geometry; > geometry.vertices.push( >@@ -290,18 +291,23 @@ WI.Layers3DContentView = class Layers3DContentView extends WI.ContentView > new THREE.Vector3(width, -height, 0), > new THREE.Vector3(width, 0, 0), > ); >- >+ >+ let layerColors = this._colorsForLayer(layer); > if (isOutline) { >- let material = new THREE.LineBasicMaterial({color: WI.Layers3DContentView._layerColor.stroke}); >+ let material = new THREE.LineBasicMaterial({ >+ color: layerColors.stroke, >+ opacity: layerColors.strokeOpacity, >+ transparent: true, >+ }); > return new THREE.LineLoop(geometry, material); > } > > geometry.faces.push(new THREE.Face3(0, 1, 3), new THREE.Face3(1, 2, 3)); > > let material = new THREE.MeshBasicMaterial({ >- color: WI.Layers3DContentView._layerColor.fill, >+ color: layerColors.fill, >+ opacity: layerColors.fillOpacity, > transparent: true, >- opacity: 0.4, > side: THREE.DoubleSide, > depthWrite: false, > }); >@@ -350,19 +356,22 @@ WI.Layers3DContentView = class Layers3DContentView extends WI.ContentView > > _updateLayerGroupSelection(layerGroup) > { >- let setColor = ({fill, stroke}) => { >- let [plane, outline] = this._selectedLayerGroup.children; >- plane.material.color.set(fill); >- outline.material.color.set(stroke); >+ let setColor = (layerGroup, selected) => { >+ let colors = this._colorsForLayer(layerGroup.userData.layer, selected); >+ let [plane, outline] = layerGroup.children; >+ plane.material.color.set(colors.fill); >+ plane.material.opacity = colors.fillOpacity; >+ outline.material.color.set(colors.stroke); >+ outline.material.opacity = colors.strokeOpacity; > }; > > if (this._selectedLayerGroup) >- setColor(WI.Layers3DContentView._layerColor); >+ setColor(this._selectedLayerGroup, false); > > this._selectedLayerGroup = layerGroup; > > if (this._selectedLayerGroup) >- setColor(WI.Layers3DContentView._selectedLayerColor); >+ setColor(this._selectedLayerGroup, true); > } > > _centerOnSelection() >@@ -466,6 +475,70 @@ WI.Layers3DContentView = class Layers3DContentView extends WI.ContentView > }); > } > >+ _colorsForLayer(layer, selected) >+ { >+ if (selected) { >+ return { >+ fill: "hsl(208, 66%, 79%)", >+ stroke: "hsl(202, 57%, 68%)", >+ fillOpacity: 0.4, >+ strokeOpacity: 0.9, >+ }; >+ } >+ >+ if (layer.attributes.isRoot) { >+ return { >+ fill: "hsl(0, 0%, 0%)", >+ stroke: "hsl(0, 0%, 0%)", >+ fillOpacity: 0.1, >+ strokeOpacity: 0.5, >+ }; >+ } >+ >+ if (layer.attributes.hasMediaContents) { >+ return { >+ fill: "hsl(214, 100%, 43%)", >+ stroke: "hsl(214, 100%, 43%)", >+ fillOpacity: 0.4, >+ strokeOpacity: 0.7, >+ }; >+ } >+ >+ if (layer.attributes.isContainerLayer) { >+ return { >+ fill: "hsl(56, 72%, 50%)", >+ stroke: "hsl(56, 72%, 50%)", >+ fillOpacity: 0, >+ strokeOpacity: 0.7, >+ }; >+ } >+ >+ if ("backingStoreIsAttached" in layer.attributes && !layer.attributes.backingStoreIsAttached) { >+ return { >+ fill: "hsl(76, 0%, 75%)", >+ stroke: "hsl(79, 0%, 50%)", >+ fillOpacity: 0.3, >+ strokeOpacity: 0.5, >+ }; >+ }; >+ >+ if (layer.attributes.hasTiledBacking) { >+ return { >+ fill: "hsl(39, 100%, 50%)", >+ stroke: "hsl(39, 100%, 50%)", >+ fillOpacity: 0.3, >+ strokeOpacity: 0.5, >+ }; >+ } >+ >+ return { >+ fill: "hsl(76, 50%, 75%)", >+ stroke: "hsl(79, 45%, 50%)", >+ fillOpacity: 0.4, >+ strokeOpacity: 0.8, >+ }; >+ } >+ > _updateReasonsList(compositingReasons) > { > this._reasonsListElement.removeChildren(); >@@ -534,16 +607,6 @@ WI.Layers3DContentView = class Layers3DContentView extends WI.ContentView > > WI.Layers3DContentView._zPadding = 3000; > >-WI.Layers3DContentView._layerColor = { >- fill: "hsl(76, 49%, 75%)", >- stroke: "hsl(79, 45%, 50%)" >-}; >- >-WI.Layers3DContentView._selectedLayerColor = { >- fill: "hsl(208, 66%, 79%)", >- stroke: "hsl(202, 57%, 68%)" >-}; >- > WI.Layers3DContentView.Event = { > SelectedLayerChanged: "selected-layer-changed" > }; >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 668c3504d1983581cb1c990b609259203ce43873..bf7f3ea0bc47bf45528a7a134a08bd464bbad473 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,13 @@ >+2019-07-07 Simon Fraser <simon.fraser@apple.com> >+ >+ Layer visualization needs to show more data about the layers >+ https://bugs.webkit.org/show_bug.cgi?id=199546 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * inspector/layers/layers-for-node-expected.txt: >+ * inspector/layers/layers-for-node.html: >+ > 2019-07-07 Zalan Bujtas <zalan@apple.com> > > [ContentChangeObserver] Difficult to control videos on iqiyi.com as the actions are mouse hover >diff --git a/LayoutTests/inspector/layers/layers-for-node-expected.txt b/LayoutTests/inspector/layers/layers-for-node-expected.txt >index 399baca2c99963b919c08ef5aa4b91a8aaa21496..f3a4a32e25201eb96169c64239fbbab9afdaec40 100644 >--- a/LayoutTests/inspector/layers/layers-for-node-expected.txt >+++ b/LayoutTests/inspector/layers/layers-for-node-expected.txt >@@ -1,4 +1,4 @@ >- >+texttext > === Enable the LayerTree agent === > > PASS >@@ -21,6 +21,11 @@ PASS > "width": "number", > "height": "number" > }, >+ "attributes": { >+ "isRoot": true, >+ "hasTiledBacking": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -30,6 +35,29 @@ PASS > }, > "paintCount": "number" > }, >+ { >+ "layerId": "string", >+ "nodeId": "number", >+ "bounds": { >+ "x": 100, >+ "y": 0, >+ "width": 100, >+ "height": 100 >+ }, >+ "attributes": { >+ "isRoot": false, >+ "isContainerLayer": true, >+ "backingStoreIsAttached": true >+ }, >+ "memory": "number", >+ "compositedBounds": { >+ "x": 0, >+ "y": 0, >+ "width": 100, >+ "height": 100 >+ }, >+ "paintCount": "number" >+ }, > { > "layerId": "string", > "nodeId": "number", >@@ -39,6 +67,11 @@ PASS > "width": 50, > "height": 50 > }, >+ "attributes": { >+ "isRoot": false, >+ "hasMediaContents": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -57,6 +90,10 @@ PASS > "width": 50, > "height": 50 > }, >+ "attributes": { >+ "isRoot": false, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -75,6 +112,11 @@ PASS > "width": 100, > "height": 100 > }, >+ "attributes": { >+ "isRoot": false, >+ "hasMediaContents": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -93,6 +135,10 @@ PASS > "width": 50, > "height": 50 > }, >+ "attributes": { >+ "isRoot": false, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -111,6 +157,10 @@ PASS > "width": "number", > "height": "number" > }, >+ "attributes": { >+ "isRoot": false, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -140,6 +190,11 @@ PASS > "width": "number", > "height": "number" > }, >+ "attributes": { >+ "isRoot": true, >+ "hasTiledBacking": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -149,6 +204,29 @@ PASS > }, > "paintCount": "number" > }, >+ { >+ "layerId": "string", >+ "nodeId": "number", >+ "bounds": { >+ "x": 100, >+ "y": 0, >+ "width": 100, >+ "height": 100 >+ }, >+ "attributes": { >+ "isRoot": false, >+ "isContainerLayer": true, >+ "backingStoreIsAttached": true >+ }, >+ "memory": "number", >+ "compositedBounds": { >+ "x": 0, >+ "y": 0, >+ "width": 100, >+ "height": 100 >+ }, >+ "paintCount": "number" >+ }, > { > "layerId": "string", > "nodeId": "number", >@@ -158,6 +236,11 @@ PASS > "width": 50, > "height": 50 > }, >+ "attributes": { >+ "isRoot": false, >+ "hasMediaContents": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -176,6 +259,10 @@ PASS > "width": 50, > "height": 50 > }, >+ "attributes": { >+ "isRoot": false, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -194,6 +281,11 @@ PASS > "width": 100, > "height": 100 > }, >+ "attributes": { >+ "isRoot": false, >+ "hasMediaContents": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -212,6 +304,10 @@ PASS > "width": 50, > "height": 50 > }, >+ "attributes": { >+ "isRoot": false, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -230,6 +326,11 @@ PASS > "width": "number", > "height": "number" > }, >+ "attributes": { >+ "isRoot": false, >+ "hasTiledBacking": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >@@ -248,6 +349,11 @@ PASS > "width": 50, > "height": 50 > }, >+ "attributes": { >+ "isRoot": false, >+ "hasMediaContents": true, >+ "backingStoreIsAttached": true >+ }, > "memory": "number", > "compositedBounds": { > "x": 0, >diff --git a/LayoutTests/inspector/layers/layers-for-node.html b/LayoutTests/inspector/layers/layers-for-node.html >index 53b9e208a9cde3b3d83e6c9af3a2d975fd2e81f1..adffe613c2094b34667191b86d5efabac0ce7d60 100644 >--- a/LayoutTests/inspector/layers/layers-for-node.html >+++ b/LayoutTests/inspector/layers/layers-for-node.html >@@ -197,6 +197,13 @@ window.addEventListener("DOMContentLoaded", function () { > top: 0; > left: 0; > } >+ >+ .container { >+ left: 100px; >+ width: 100px; >+ height: 100px; >+ transform: translateZ(0); >+ } > > .regular { > width: 100px; >@@ -210,12 +217,12 @@ window.addEventListener("DOMContentLoaded", function () { > width: 50px; > height: 50px; > background-color: blue; >- -webkit-transform: translateZ(0); >+ transform: translateZ(0); > } > > .offset { > left: 200px; >- -webkit-transform: translateZ(0); >+ transform: translateZ(0); > } > > </style> >@@ -223,13 +230,14 @@ window.addEventListener("DOMContentLoaded", function () { > <body> > > <div class="regular"></div> >+ <div class="container"></div> > > <div class="composited"> >- <div class="composited"></div> >+ <div class="composited">text</div> > </div> > > <div class="regular offset"> >- <div class="composited"></div> >+ <div class="composited">text</div> > </div> > > </body>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199546
:
373606
|
373607
|
373611
|
373612
|
373698