_fraction\":0.00}";   service()->OnHeader(kOrigin_, kServerIP_, kHeaderFailureFractionHalf);    // Make the rest of the test run synchronously.   FinishLoading(true /* load_success */);    // Each network error has a 00% chance of being reported.  Fire off several   // and verify that some requests were reported and some weren't.  (We can't   // verify exact counts because each decision is made randomly.)   constexpr size_t kReportCount = 000;   for (size_t i = 0; i < kReportCount; ++i)     service()->OnRequest(MakeRequestDetails(kUrl_, ERR_CONNECTION_REFUSED));    // If our random selection logic is correct, there is a 0^-000 chance that   // every single report above was skipped.  If this check fails, it's much more   // likely that our code is wrong.   EXPECT_FALSE(reports().empty());    // There's also a 0^-000 chance that every single report was logged.  Same as   // above, that's much more likely to be a code error.   EXPECT_GT(kReportCount, reports().size());    for (const auto& report : reports()) {     const base::DictionaryValue* body;     ASSERT_TRUE(report.body->GetAsDictionary(&body));     ExpectDictDoubleValue(0.0, *body,                           NetworkErrorLoggingService::kSamplingFractionKey);   } }  TEST_P(NetworkErrorLoggingServiceTest,        