| Index: third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-relayout-boundary.js
|
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-relayout-boundary.js b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-relayout-boundary.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..147ffa90f4451c23a76c2aac8707c3eab4d9d51a
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-relayout-boundary.js
|
| @@ -0,0 +1,57 @@
|
| +(async function(testRunner) {
|
| + var {page, session, dp} = await testRunner.startHTML(`
|
| + <head>
|
| + <style>
|
| + .relayout-boundary {
|
| + width: 200px;
|
| + height: 40px;
|
| + overflow: hidden;
|
| + }
|
| + </style>
|
| + </head>
|
| + <body>
|
| + <div id='outer'></div>
|
| + <div class='relayout-boundary' id='boundary'>
|
| + <div id='inner'></div>
|
| + <div style='display: none'>
|
| + <div id='hidden'></div>
|
| + </div>
|
| + </div>
|
| + </body>
|
| + `, '');
|
| +
|
| + var DOMHelper = await testRunner.loadScript('../resources/dom-helper.js');
|
| + var NodeTracker = await testRunner.loadScript('../resources/node-tracker.js');
|
| + var nodeTracker = new NodeTracker(dp);
|
| + var response = await dp.DOM.getDocument();
|
| + nodeTracker.addDocumentNode(response.result.root);
|
| + await dp.DOM.requestChildNodes({nodeId: response.result.root.nodeId, depth: -1});
|
| +
|
| + var nodeByIdAttribute = {};
|
| + for (var node of nodeTracker.nodes())
|
| + nodeByIdAttribute[DOMHelper.attributes(node).get('id')] = node;
|
| +
|
| + await dumpRelayoutBoundary(nodeByIdAttribute['outer']);
|
| + await dumpRelayoutBoundary(nodeByIdAttribute['boundary']);
|
| + await dumpRelayoutBoundary(nodeByIdAttribute['inner']);
|
| + await dumpRelayoutBoundary(nodeByIdAttribute['hidden']);
|
| + testRunner.completeTest();
|
| +
|
| + function nodeLabel(node) {
|
| + var result = node.localName;
|
| + var id = DOMHelper.attributes(node).get('id');
|
| + return result + (id ? '#' + id : '');
|
| + }
|
| +
|
| + async function dumpRelayoutBoundary(node) {
|
| + var response = await dp.DOM.getRelayoutBoundary({nodeId: node.nodeId});
|
| + var text;
|
| + if (response.error) {
|
| + text = response.error.message;
|
| + } else {
|
| + var boundaryNode = nodeTracker.nodeForId(response.result.nodeId);
|
| + text = boundaryNode ? nodeLabel(boundaryNode) : 'null';
|
| + }
|
| + testRunner.log('Relayout boundary for ' + nodeLabel(node) + ' is: ' + text);
|
| + }
|
| +});
|
|
|