SpdyHeaderBlock is somewhat expesive to copy, but most copies can be avoided. SpdyFrameWithHeaderBlockIR constructor already takes SpdyHeaderBlock by value and moves it into header_block_ member. In order to actually reduce copies, SpdyHeaderBlock instances should be moved around (std::move at call site and argument by value instead of const ref) along paths that take ownership. Also, SpdyHeaderBlock instances can now be moved from heap to stack, which is a minor performance improvement but also makes code more readable by getting rid of all unique_ptrs.
Note that this is a different approach than the one contemplated in issue 525137 .
Comment 1 by bugdroid1@chromium.org
, Jun 23 2016