| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include <stddef.h> |
| #include <stdint.h> |
| #include <vector> |
| |
| #include "content/browser/browsing_data/clear_site_data_throttle.h" |
| |
| namespace content { |
| |
| class ClearSiteDataFuzzerTest { |
| public: |
| ClearSiteDataFuzzerTest() : throttle_(nullptr) {} |
| |
| void TestHeader(const std::string& header) { |
| bool remove_cookies; |
| bool remove_storage; |
| bool remove_cache; |
| std::vector<content::ClearSiteDataThrottle::ConsoleMessage> messages; |
| |
| throttle_.ParseHeader(header, &remove_cookies, &remove_storage, |
| &remove_cache, &messages); |
| } |
| |
| private: |
| content::ClearSiteDataThrottle throttle_; |
| }; |
| |
| ClearSiteDataFuzzerTest* test = new ClearSiteDataFuzzerTest(); |
| |
| extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { |
| test->TestHeader(std::string(reinterpret_cast<const char*>(data), size)); |
| return 0; |
| } |
| |
| } // namespace content |