Bug 1429803 - Properly populate response header columns; r=rickychien
MozReview-Commit-ID: 3FS6QtUS8yB
--- a/devtools/client/netmonitor/src/components/RequestListColumnResponseHeader.js
+++ b/devtools/client/netmonitor/src/components/RequestListColumnResponseHeader.js
@@ -2,32 +2,46 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const { Component } = require("devtools/client/shared/vendor/react");
const dom = require("devtools/client/shared/vendor/react-dom-factories");
const PropTypes = require("devtools/client/shared/vendor/react-prop-types");
-const { getResponseHeader } = require("../utils/request-utils");
+const {
+ getResponseHeader,
+ fetchNetworkUpdatePacket
+} = require("../utils/request-utils");
const { div } = dom;
/**
* Renders a response header column in the requests list. The actual
* header to show is passed as a prop.
*/
class RequestListColumnResponseHeader extends Component {
static get propTypes() {
return {
+ connector: PropTypes.object.isRequired,
item: PropTypes.object.isRequired,
header: PropTypes.string.isRequired,
};
}
+ componentDidMount() {
+ let { item, connector } = this.props;
+ fetchNetworkUpdatePacket(connector.requestData, item, ["responseHeaders"]);
+ }
+
+ componentWillReceiveProps(nextProps) {
+ let { item, connector } = nextProps;
+ fetchNetworkUpdatePacket(connector.requestData, item, ["responseHeaders"]);
+ }
+
shouldComponentUpdate(nextProps) {
const currHeader = getResponseHeader(this.props.item, this.props.header);
const nextHeader = getResponseHeader(nextProps.item, nextProps.header);
return currHeader !== nextHeader;
}
render() {
let header = getResponseHeader(this.props.item, this.props.header);
--- a/devtools/client/netmonitor/src/components/RequestListItem.js
+++ b/devtools/client/netmonitor/src/components/RequestListItem.js
@@ -258,17 +258,21 @@ class RequestListItem extends Component
}),
columns.latency && RequestListColumnTime({
connector,
item,
firstRequestStartedMillis,
type: "latency",
}),
...RESPONSE_HEADERS.filter(header => columns[header]).map(
- header => RequestListColumnResponseHeader({ item, header }),
+ header => RequestListColumnResponseHeader({
+ connector,
+ item,
+ header
+ }),
),
columns.waterfall && RequestListColumnWaterfall({
connector,
firstRequestStartedMillis,
item,
onWaterfallMouseDown,
}),
)