Diff
Modified: trunk/LayoutTests/ChangeLog (125267 => 125268)
--- trunk/LayoutTests/ChangeLog 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/LayoutTests/ChangeLog 2012-08-10 09:58:35 UTC (rev 125268)
@@ -1,3 +1,15 @@
+2012-08-10 Andrei Poenaru <[email protected]>
+
+ Web Inspector: Protocol Extension: Refactor protocol extension for CSS Regions
+ https://bugs.webkit.org/show_bug.cgi?id=92089
+
+ Reviewed by Pavel Feldman.
+
+ Changed the test to validate the changes made to the protocol.
+
+ * inspector/styles/protocol-css-regions-commands-expected.txt:
+ * inspector/styles/protocol-css-regions-commands.html:
+
2012-08-10 Allan Sandfeld Jensen <[email protected]>
Unreviewed gardening, rebaselining marked tests from r125167.
Modified: trunk/LayoutTests/inspector/styles/protocol-css-regions-commands-expected.txt (125267 => 125268)
--- trunk/LayoutTests/inspector/styles/protocol-css-regions-commands-expected.txt 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/LayoutTests/inspector/styles/protocol-css-regions-commands-expected.txt 2012-08-10 09:58:35 UTC (rev 125268)
@@ -6,16 +6,27 @@
namedFlowRemoved Bug 92739
-Running: testGetNamedFlowCollection
-=== CSS Named Flows ===
-flow1
-flow2
-flow3
+Running: testGetNamedFlowCollection1
+=== CSS Named Flows in main document ===
+* Named Flow "flow1"
+Content Elements: 1
+Regions: 3
+* Named Flow "flow2"
+Content Elements: 1
+Regions: 2
+* Named Flow "flow3"
+Content Elements: 1
+Regions: 1
+Running: testGetNamedFlowCollection2
+=== CSS Named Flows in #fake-document ===
+#fake-document is not a document
+
Running: testGetFlowByName1
=== Named Flow "flow2" from main document ===
-name: flow2
-overset: false
+* Named Flow "flow2"
+Content Elements: 1
+Regions: 2
Running: testGetFlowByName2
=== Name Flow "flow4" from main document ===
Modified: trunk/LayoutTests/inspector/styles/protocol-css-regions-commands.html (125267 => 125268)
--- trunk/LayoutTests/inspector/styles/protocol-css-regions-commands.html 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/LayoutTests/inspector/styles/protocol-css-regions-commands.html 2012-08-10 09:58:35 UTC (rev 125268)
@@ -38,7 +38,7 @@
{
WebInspector.showPanel("elements");
InspectorTest.runTestSuite([
- function testGetNamedFlowCollection(next)
+ function testGetNamedFlowCollection1(next)
{
WebInspector.domAgent.requestDocument(documentCallback);
@@ -49,7 +49,7 @@
function namedFlowCallback(namedFlows)
{
- InspectorTest.addResult("=== CSS Named Flows ===");
+ InspectorTest.addResult("=== CSS Named Flows in main document ===");
if (!namedFlows) {
InspectorTest.addResult("[!] Failed to get Named Flows");
@@ -57,15 +57,46 @@
return;
}
- namedFlows.sort();
+ namedFlows.sort(function (nf1, nf2) {
+ return ((nf1.name == nf2.name) ? 0 : ((nf1.name > nf2.name) ? 1 : -1));
+ });
for (var i = 0; i < namedFlows.length; ++i)
- InspectorTest.addResult(namedFlows[i]);
+ printNamedFlow(namedFlows[i]);
next();
}
},
+ function testGetNamedFlowCollection2(next)
+ {
+ WebInspector.domAgent.requestDocument(documentCallback);
+
+ function documentCallback(document)
+ {
+ WebInspector.domAgent.querySelector(document.id, "#fake-document", querySelectorCallback);
+ }
+
+ function querySelectorCallback(nodeId)
+ {
+ WebInspector.cssModel.getNamedFlowCollectionAsync(nodeId, namedFlowCallback);
+ }
+
+ function namedFlowCallback(namedFlows)
+ {
+ InspectorTest.addResult("=== CSS Named Flows in #fake-document ===");
+
+ if (namedFlows) {
+ InspectorTest.addResult("[!] Failed");
+ InspectorTest.completeTest();
+ return;
+ }
+
+ InspectorTest.addResult("#fake-document is not a document")
+ next();
+ }
+ },
+
function testGetFlowByName1(next)
{
WebInspector.domAgent.requestDocument(documentCallback);
@@ -85,8 +116,7 @@
return;
}
- InspectorTest.addResult("name: " + namedFlow.name);
- InspectorTest.addResult("overset: " + namedFlow.overset);
+ printNamedFlow(namedFlow);
next();
}
@@ -155,6 +185,13 @@
}
}
]);
+
+ function printNamedFlow(namedFlow)
+ {
+ InspectorTest.addResult("* Named Flow \"" + namedFlow.name + "\"");
+ InspectorTest.addResult("Content Elements: " + namedFlow.content.length);
+ InspectorTest.addResult("Regions: " + namedFlow.regions.length);
+ }
}
</script>
</head>
@@ -172,13 +209,18 @@
<article style="-webkit-flow-into: flow1"></article>
<div style="-webkit-flow-from: flow1"></div>
+<div style="-webkit-flow-from: flow1"></div>
+<div style="-webkit-flow-from: flow1"></div>
<article style="-webkit-flow-into: flow2"></article>
<div style="-webkit-flow-from: flow2"></div>
+<div style="-webkit-flow-from: flow2"></div>
<article style="-webkit-flow-into: flow3"></article>
<div style="-webkit-flow-from: flow3"></div>
+<div id="fake-document"></div>
+
<iframe></iframe>
</body>
Modified: trunk/Source/WebCore/ChangeLog (125267 => 125268)
--- trunk/Source/WebCore/ChangeLog 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/ChangeLog 2012-08-10 09:58:35 UTC (rev 125268)
@@ -1,3 +1,41 @@
+2012-08-10 Andrei Poenaru <[email protected]>
+
+ Web Inspector: Protocol Extension: Refactor protocol extension for CSS Regions
+ https://bugs.webkit.org/show_bug.cgi?id=92089
+
+ Reviewed by Pavel Feldman.
+
+ Replaced "WebKitNamedFlowCollection::namedFlowsNames" with "WebKitNamedFlowCollection::namedFlows" to return a Vector of "WebKitNamedFlow"s,
+ instead of a Vector of Strings.
+
+ Added the "Region" type to Inspector.json.
+ Changed the "NamedFlow" type and the "getNamedFlowCollection" function in Inspector.json.
+
+ Modified existing test: inspector/styles/protocol-css-regions-commands.html
+
+ * dom/WebKitNamedFlowCollection.cpp:
+ (WebCore::WebKitNamedFlowCollection::namedFlows):
+ * dom/WebKitNamedFlowCollection.h:
+ (WebKitNamedFlowCollection):
+ * inspector/Inspector.json:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+ (WebCore::InspectorCSSAgent::getFlowByName):
+ (WebCore::InspectorCSSAgent::buildArrayForRegions):
+ (WebCore):
+ (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
+ * inspector/InspectorCSSAgent.h:
+ (InspectorCSSAgent):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::pushNodeToFrontend):
+ (WebCore):
+ * inspector/InspectorDOMAgent.h:
+ (InspectorDOMAgent):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
+ (WebInspector.NamedFlow):
+ (WebInspector.NamedFlow.parsePayloadArray):
+
2012-08-10 Keishi Hattori <[email protected]>
Resize calandar and color suggestion popups to show error message
Modified: trunk/Source/WebCore/dom/WebKitNamedFlowCollection.cpp (125267 => 125268)
--- trunk/Source/WebCore/dom/WebKitNamedFlowCollection.cpp 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/dom/WebKitNamedFlowCollection.cpp 2012-08-10 09:58:35 UTC (rev 125268)
@@ -44,15 +44,15 @@
{
}
-Vector<String> WebKitNamedFlowCollection::namedFlowsNames()
+Vector<RefPtr<WebKitNamedFlow> > WebKitNamedFlowCollection::namedFlows()
{
- Vector<String> namedFlows;
+ Vector<RefPtr<WebKitNamedFlow> > namedFlows;
for (NamedFlowSet::iterator it = m_namedFlows.begin(); it != m_namedFlows.end(); ++it) {
if ((*it)->flowState() == WebKitNamedFlow::FlowStateNull)
continue;
- namedFlows.append((*it)->name().string());
+ namedFlows.append(RefPtr<WebKitNamedFlow>(*it));
}
return namedFlows;
Modified: trunk/Source/WebCore/dom/WebKitNamedFlowCollection.h (125267 => 125268)
--- trunk/Source/WebCore/dom/WebKitNamedFlowCollection.h 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/dom/WebKitNamedFlowCollection.h 2012-08-10 09:58:35 UTC (rev 125268)
@@ -45,7 +45,7 @@
public:
static PassRefPtr<WebKitNamedFlowCollection> create(Document* doc) { return adoptRef(new WebKitNamedFlowCollection(doc)); }
- Vector<String> namedFlowsNames();
+ Vector<RefPtr<WebKitNamedFlow> > namedFlows();
WebKitNamedFlow* flowByName(const String&);
PassRefPtr<WebKitNamedFlow> ensureFlowWithName(const String&);
Modified: trunk/Source/WebCore/inspector/Inspector.json (125267 => 125268)
--- trunk/Source/WebCore/inspector/Inspector.json 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/inspector/Inspector.json 2012-08-10 09:58:35 UTC (rev 125268)
@@ -2206,12 +2206,24 @@
]
},
{
+ "id": "Region",
+ "type": "object",
+ "properties": [
+ { "name": "regionOverset", "type": "string", "enum": ["overset", "fit", "empty"], "description": "The \"overset\" attribute of a Named Flow." },
+ { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The corresponding DOM node id." }
+ ],
+ "description": "This object represents a region that flows from a Named Flow.",
+ "hidden": true
+ },
+ {
"id": "NamedFlow",
"type": "object",
"properties": [
- { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
+ { "name": "documentNodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
{ "name": "name", "type": "string", "description": "Named Flow identifier." },
- { "name": "overset", "type": "boolean", "description": "The \"overset\" attribute of a Named Flow." }
+ { "name": "overset", "type": "boolean", "description": "The \"overset\" attribute of a Named Flow." },
+ { "name": "content", "type": "array", "items": { "$ref": "DOM.NodeId" }, "description": "An array of nodes that flow into the Named Flow." },
+ { "name": "regions", "type": "array", "items": { "$ref": "Region" }, "description": "An array of regions associated with the Named Flow." }
],
"description": "This object represents a Named Flow.",
"hidden": true
@@ -2364,10 +2376,10 @@
{
"name": "getNamedFlowCollection",
"parameters": [
- { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The document node id for which to get the Named Flow Collection." }
+ { "name": "documentNodeId", "$ref": "DOM.NodeId", "description": "The document node id for which to get the Named Flow Collection." }
],
"returns": [
- { "name": "namedFlows", "type": "array", "items": { "type": "string" }, "description": "An array containing the Named Flows in the document." }
+ { "name": "namedFlows", "type": "array", "items": { "$ref": "NamedFlow" }, "description": "An array containing the Named Flows in the document." }
],
"description": "Returns the Named Flows from the document.",
"hidden": true
@@ -2375,7 +2387,7 @@
{
"name": "getFlowByName",
"parameters": [
- { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
+ { "name": "documentNodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
{ "name": "name", "type": "string", "description": "Named Flow identifier." }
],
"returns": [
@@ -2400,7 +2412,7 @@
{
"name": "namedFlowCreated",
"parameters": [
- { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
+ { "name": "documentNodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
{ "name": "namedFlow", "type": "string", "description": "Identifier of the new Named Flow." }
],
"description": "Fires when a Named Flow is created.",
@@ -2409,7 +2421,7 @@
{
"name": "namedFlowRemoved",
"parameters": [
- { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
+ { "name": "documentNodeId", "$ref": "DOM.NodeId", "description": "The document node id." },
{ "name": "namedFlow", "type": "string", "description": "Identifier of the removed Named Flow." }
],
"description": "Fires when a Named Flow is removed: has no associated content nodes and regions.",
Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp (125267 => 125268)
--- trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp 2012-08-10 09:58:35 UTC (rev 125268)
@@ -47,6 +47,7 @@
#include "InstrumentingAgents.h"
#include "Node.h"
#include "NodeList.h"
+#include "RenderRegion.h"
#include "StylePropertySet.h"
#include "StylePropertyShorthand.h"
#include "StyleResolver.h"
@@ -824,39 +825,37 @@
cssProperties = properties.release();
}
-void InspectorCSSAgent::getNamedFlowCollection(ErrorString* errorString, int nodeId, RefPtr<TypeBuilder::Array<String> >& result)
+void InspectorCSSAgent::getNamedFlowCollection(ErrorString* errorString, int documentNodeId, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::NamedFlow> >& result)
{
- Document* document = m_domAgent->assertDocument(errorString, nodeId);
+ Document* document = m_domAgent->assertDocument(errorString, documentNodeId);
if (!document)
return;
- m_namedFlowCollectionsRequested.add(nodeId);
+ m_namedFlowCollectionsRequested.add(documentNodeId);
+ Vector<RefPtr<WebKitNamedFlow> > namedFlowsVector = document->namedFlows()->namedFlows();
+ RefPtr<TypeBuilder::Array<TypeBuilder::CSS::NamedFlow> > namedFlows = TypeBuilder::Array<TypeBuilder::CSS::NamedFlow>::create();
- Vector<String> namedFlowsVector = document->namedFlows()->namedFlowsNames();
- RefPtr<TypeBuilder::Array<String> > namedFlows = TypeBuilder::Array<String>::create();
- for (Vector<String>::iterator it = namedFlowsVector.begin(); it != namedFlowsVector.end(); ++it)
- namedFlows->addItem(*it);
+ for (Vector<RefPtr<WebKitNamedFlow> >::iterator it = namedFlowsVector.begin(); it != namedFlowsVector.end(); ++it)
+ namedFlows->addItem(buildObjectForNamedFlow(errorString, it->get(), documentNodeId));
result = namedFlows.release();
}
-void InspectorCSSAgent::getFlowByName(ErrorString* errorString, int nodeId, const String& flowName, RefPtr<TypeBuilder::CSS::NamedFlow>& result)
+void InspectorCSSAgent::getFlowByName(ErrorString* errorString, int documentNodeId, const String& flowName, RefPtr<TypeBuilder::CSS::NamedFlow>& result)
{
- Document* document = m_domAgent->assertDocument(errorString, nodeId);
+ Document* document = m_domAgent->assertDocument(errorString, documentNodeId);
if (!document)
return;
- WebKitNamedFlow* namedFlow = document->namedFlows()->flowByName(flowName);
- if (!namedFlow) {
+ WebKitNamedFlow* webkitNamedFlow = document->namedFlows()->flowByName(flowName);
+ if (!webkitNamedFlow) {
*errorString = "No target CSS Named Flow found";
return;
}
- result = TypeBuilder::CSS::NamedFlow::create()
- .setNodeId(nodeId)
- .setName(flowName)
- .setOverset(namedFlow->overset());
+ RefPtr<WebKitNamedFlow> protector(webkitNamedFlow);
+ result = buildObjectForNamedFlow(errorString, webkitNamedFlow, documentNodeId);
}
void InspectorCSSAgent::startSelectorProfiler(ErrorString*)
@@ -1072,6 +1071,61 @@
return inspectorStyle->buildObjectForStyle();
}
+PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Region> > InspectorCSSAgent::buildArrayForRegions(ErrorString* errorString, PassRefPtr<NodeList> regionList, int documentNodeId)
+{
+ RefPtr<TypeBuilder::Array<TypeBuilder::CSS::Region> > regions = TypeBuilder::Array<TypeBuilder::CSS::Region>::create();
+
+ for (unsigned i = 0; i < regionList->length(); ++i) {
+ TypeBuilder::CSS::Region::RegionOverset::Enum regionOverset;
+
+ switch (toElement(regionList->item(i))->renderRegion()->regionState()) {
+ case RenderRegion::RegionFit:
+ regionOverset = TypeBuilder::CSS::Region::RegionOverset::Fit;
+ break;
+ case RenderRegion::RegionEmpty:
+ regionOverset = TypeBuilder::CSS::Region::RegionOverset::Empty;
+ break;
+ case RenderRegion::RegionOverset:
+ regionOverset = TypeBuilder::CSS::Region::RegionOverset::Overset;
+ break;
+ case RenderRegion::RegionUndefined:
+ continue;
+ default:
+ ASSERT_NOT_REACHED();
+ continue;
+ }
+
+ RefPtr<TypeBuilder::CSS::Region> region = TypeBuilder::CSS::Region::create()
+ .setRegionOverset(regionOverset)
+ // documentNodeId was previously asserted
+ .setNodeId(m_domAgent->pushNodeToFrontend(errorString, documentNodeId, regionList->item(i)));
+
+ regions->addItem(region);
+ }
+
+ return regions.release();
+}
+
+PassRefPtr<TypeBuilder::CSS::NamedFlow> InspectorCSSAgent::buildObjectForNamedFlow(ErrorString* errorString, WebKitNamedFlow* webkitNamedFlow, int documentNodeId)
+{
+ RefPtr<NodeList> contentList = webkitNamedFlow->getContent();
+ RefPtr<TypeBuilder::Array<int> > content = TypeBuilder::Array<int>::create();
+
+ for (unsigned i = 0; i < contentList->length(); ++i) {
+ // documentNodeId was previously asserted
+ content->addItem(m_domAgent->pushNodeToFrontend(errorString, documentNodeId, contentList->item(i)));
+ }
+
+ RefPtr<TypeBuilder::CSS::NamedFlow> namedFlow = TypeBuilder::CSS::NamedFlow::create()
+ .setDocumentNodeId(documentNodeId)
+ .setName(webkitNamedFlow->name().string())
+ .setOverset(webkitNamedFlow->overset())
+ .setContent(content)
+ .setRegions(buildArrayForRegions(errorString, webkitNamedFlow->getRegions(), documentNodeId));
+
+ return namedFlow.release();
+}
+
void InspectorCSSAgent::didRemoveDocument(Document* document)
{
if (document)
Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.h (125267 => 125268)
--- trunk/Source/WebCore/inspector/InspectorCSSAgent.h 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.h 2012-08-10 09:58:35 UTC (rev 125268)
@@ -113,8 +113,8 @@
virtual void setRuleSelector(ErrorString*, const RefPtr<InspectorObject>& ruleId, const String& selector, RefPtr<TypeBuilder::CSS::CSSRule>& result);
virtual void addRule(ErrorString*, int contextNodeId, const String& selector, RefPtr<TypeBuilder::CSS::CSSRule>& result);
virtual void getSupportedCSSProperties(ErrorString*, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSPropertyInfo> >& result);
- virtual void getNamedFlowCollection(ErrorString*, int nodeId, RefPtr<TypeBuilder::Array<String> >& result);
- virtual void getFlowByName(ErrorString*, int nodeId, const String& flowName, RefPtr<TypeBuilder::CSS::NamedFlow>& result);
+ virtual void getNamedFlowCollection(ErrorString*, int documentNodeId, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::NamedFlow> >& result);
+ virtual void getFlowByName(ErrorString*, int documentNodeId, const String& flowName, RefPtr<TypeBuilder::CSS::NamedFlow>& result);
virtual void startSelectorProfiler(ErrorString*);
virtual void stopSelectorProfiler(ErrorString*, RefPtr<TypeBuilder::CSS::SelectorProfile>&);
@@ -153,6 +153,8 @@
PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSRule> > buildArrayForRuleList(CSSRuleList*, StyleResolver*);
PassRefPtr<TypeBuilder::CSS::CSSStyle> buildObjectForAttributesStyle(Element*);
+ PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::Region> > buildArrayForRegions(ErrorString*, PassRefPtr<NodeList>, int documentNodeId);
+ PassRefPtr<TypeBuilder::CSS::NamedFlow> buildObjectForNamedFlow(ErrorString*, WebKitNamedFlow*, int documentNodeId);
// InspectorDOMAgent::DOMListener implementation
virtual void didRemoveDocument(Document*);
Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (125267 => 125268)
--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp 2012-08-10 09:58:35 UTC (rev 125268)
@@ -449,6 +449,19 @@
m_childrenRequested.clear();
}
+int InspectorDOMAgent::pushNodeToFrontend(ErrorString* errorString, int documentNodeId, Node* nodeToPush)
+{
+ Document* document = assertDocument(errorString, documentNodeId);
+ if (!document)
+ return 0;
+ if (nodeToPush->document() != document) {
+ *errorString = "Node is not part of the document with given id";
+ return 0;
+ }
+
+ return pushNodePathToFrontend(nodeToPush);
+}
+
Node* InspectorDOMAgent::nodeForId(int id)
{
if (!id)
Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.h (125267 => 125268)
--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h 2012-08-10 09:58:35 UTC (rev 125268)
@@ -168,6 +168,7 @@
void didPushShadowRoot(Element* host, ShadowRoot*);
void willPopShadowRoot(Element* host, ShadowRoot*);
+ int pushNodeToFrontend(ErrorString*, int documentNodeId, Node*);
Node* nodeForId(int nodeId);
int boundNodeId(Node*);
void setDOMListener(DOMListener*);
Modified: trunk/Source/WebCore/inspector/front-end/CSSStyleModel.js (125267 => 125268)
--- trunk/Source/WebCore/inspector/front-end/CSSStyleModel.js 2012-08-10 09:51:34 UTC (rev 125267)
+++ trunk/Source/WebCore/inspector/front-end/CSSStyleModel.js 2012-08-10 09:58:35 UTC (rev 125268)
@@ -164,21 +164,21 @@
/**
* @param {DOMAgent.NodeId} nodeId
- * @param {function(?Array.<string>)} userCallback
+ * @param {function(?Array.<WebInspector.NamedFlow>)} userCallback
*/
getNamedFlowCollectionAsync: function(nodeId, userCallback)
{
/**
- * @param {function(?Array.<string>)} userCallback
+ * @param {function(?Array.<WebInspector.NamedFlow>)} userCallback
* @param {?Protocol.Error} error
- * @param {?Array.<string>=} namedFlowPayload
+ * @param {?Array.<CSSAgent.NamedFlow>=} namedFlowPayload
*/
function callback(userCallback, error, namedFlowPayload)
{
if (error || !namedFlowPayload)
userCallback(null);
else
- userCallback(namedFlowPayload);
+ userCallback(WebInspector.NamedFlow.parsePayloadArray(namedFlowPayload));
}
CSSAgent.getNamedFlowCollection(nodeId, callback.bind(this, userCallback));
@@ -1345,6 +1345,8 @@
this.nodeId = payload.nodeId;
this.name = payload.name;
this.overset = payload.overset;
+ this.content = payload.content;
+ this.regions = payload.regions;
}
/**
@@ -1357,6 +1359,17 @@
}
/**
+ * @param {?Array.<CSSAgent.NamedFlow>=} namedFlowPayload
+ * @return {?Array.<WebInspector.NamedFlow>}
+ */
+WebInspector.NamedFlow.parsePayloadArray = function(payloadArray)
+{
+ for (var i = 0; i < payloadArray.length; ++i)
+ payloadArray[i] = WebInspector.NamedFlow.parsePayload(payloadArray[i]);
+ return payloadArray;
+}
+
+/**
* @type {WebInspector.CSSStyleModel}
*/
WebInspector.cssModel = null;