Index: net/http2/decoder/decode_http2_structures_test.cc |
diff --git a/net/http2/decoder/decode_http2_structures_test.cc b/net/http2/decoder/decode_http2_structures_test.cc |
index 4b09e7a7b83691fb79fb483948403a04be4d0e1c..0a76bdccc9cf71e86177010796012c8efc08908d 100644 |
--- a/net/http2/decoder/decode_http2_structures_test.cc |
+++ b/net/http2/decoder/decode_http2_structures_test.cc |
@@ -14,8 +14,6 @@ |
#include <stddef.h> |
#include <string> |
-#include "base/bind.h" |
-#include "base/bind_helpers.h" |
#include "base/logging.h" |
#include "base/strings/string_piece.h" |
#include "net/http2/decoder/decode_buffer.h" |
@@ -110,17 +108,6 @@ class StructureDecoderTest : public RandomDecoderTest { |
// Set the fields of |*p| to random values. |
void Randomize(S* p) { ::net::test::Randomize(p, RandomPtr()); } |
- AssertionResult ValidatorForDecodeLeadingStructure(const S* expected, |
- const DecodeBuffer& db, |
- DecodeStatus status) { |
- if (expected != nullptr && *expected != structure_) { |
- return AssertionFailure() |
- << "Expected structs to be equal\nExpected: " << *expected |
- << "\n Actual: " << structure_; |
- } |
- return AssertionSuccess(); |
- } |
- |
// Fully decodes the Structure at the start of data, and confirms it matches |
// *expected (if provided). |
void DecodeLeadingStructure(const S* expected, StringPiece data) { |
@@ -130,20 +117,25 @@ class StructureDecoderTest : public RandomDecoderTest { |
// The validator is called after each of the several times that the input |
// DecodeBuffer is decoded, each with a different segmentation of the input. |
// Validate that structure_ matches the expected value, if provided. |
- Validator validator = |
- base::Bind(&StructureDecoderTest::ValidatorForDecodeLeadingStructure, |
- base::Unretained(this), expected); |
+ Validator validator = [expected, this]( |
+ const DecodeBuffer& db, DecodeStatus status) -> AssertionResult { |
+ if (expected != nullptr && *expected != structure_) { |
+ return AssertionFailure() |
+ << "Expected structs to be equal\nExpected: " << *expected |
+ << "\n Actual: " << structure_; |
+ } |
+ return AssertionSuccess(); |
+ }; |
// First validate that decoding is done and that we've advanced the cursor |
// the expected amount. |
- Validator wrapped_validator = |
- ValidateDoneAndOffset(S::EncodedSize(), validator); |
+ validator = ValidateDoneAndOffset(S::EncodedSize(), validator); |
// Decode several times, with several segmentations of the input buffer. |
fast_decode_count_ = 0; |
slow_decode_count_ = 0; |
EXPECT_TRUE(DecodeAndValidateSeveralWays( |
- &original, false /*return_non_zero_on_first*/, wrapped_validator)); |
+ &original, false /*return_non_zero_on_first*/, validator)); |
if (!HasFailure()) { |
EXPECT_EQ(S::EncodedSize(), decode_offset_); |