Index: tools/ipc_fuzzer/mutate/generate.cc |
diff --git a/tools/ipc_fuzzer/mutate/generate.cc b/tools/ipc_fuzzer/mutate/generate.cc |
index 92053c125e1baf45043058f3a5e052ce51387845..0a17fdd7d3c469cfc758ed8d92d0be58d2e491ba 100644 |
--- a/tools/ipc_fuzzer/mutate/generate.cc |
+++ b/tools/ipc_fuzzer/mutate/generate.cc |
@@ -661,37 +661,6 @@ struct GenerateTraits<base::DictionaryValue> { |
}; |
template <> |
-struct GenerateTraits<GURL> { |
- static bool Generate(GURL *p, Generator* generator) { |
- const char url_chars[] = "Ahtp0:/.?+\\%&#"; |
- size_t count = RandInRange(100); |
- std::string random_url; |
- for (size_t i = 0; i < count; ++i) |
- random_url += url_chars[RandInRange(sizeof(url_chars) - 1)]; |
- int selector = RandInRange(10); |
- if (selector == 0) |
- random_url = std::string("http://") + random_url; |
- else if (selector == 1) |
- random_url = std::string("file://") + random_url; |
- else if (selector == 2) |
- random_url = std::string("javascript:") + random_url; |
- else if (selector == 2) |
- random_url = std::string("data:") + random_url; |
- *p = GURL(random_url); |
- return true; |
- } |
-}; |
- |
-// FIXME: Actually generate something. |
-template <> |
-struct GenerateTraits<SkBitmap> { |
- static bool Generate(SkBitmap* p, Generator* generator) { |
- *p = SkBitmap(); |
- return true; |
- } |
-}; |
- |
-template <> |
struct GenerateTraits<cc::CompositorFrame> { |
// FIXME: this should actually generate something |
static bool Generate(cc::CompositorFrame* p, Generator* generator) { |
@@ -827,6 +796,28 @@ struct GenerateTraits<content::PageState> { |
}; |
template <> |
+struct GenerateTraits<dns_prefetch::LookupRequest> { |
+ static bool Generate(dns_prefetch::LookupRequest* p, Generator* generator) { |
+ dns_prefetch::LookupRequest request; |
+ if (!GenerateParam(&request.hostname_list, generator)) |
+ return false; |
+ *p = request; |
+ return true; |
+ } |
+}; |
+ |
+template <> |
+struct GenerateTraits<extensions::URLPatternSet> { |
+ static bool Generate(extensions::URLPatternSet* p, Generator* generator) { |
+ std::set<URLPattern> patterns; |
+ if (!GenerateParam(&patterns, generator)) |
+ return false; |
+ *p = extensions::URLPatternSet(patterns); |
+ return true; |
+ } |
+}; |
+ |
+template <> |
struct GenerateTraits<gpu::Mailbox> { |
static bool Generate(gpu::Mailbox *p, Generator* generator) { |
generator->GenerateBytes(p->name, sizeof(p->name)); |
@@ -835,6 +826,60 @@ struct GenerateTraits<gpu::Mailbox> { |
}; |
template <> |
+struct GenerateTraits<gpu::MailboxHolder> { |
+ static bool Generate(gpu::MailboxHolder *p, Generator* generator) { |
+ gpu::Mailbox mailbox; |
+ uint32_t texture_target; |
+ uint32_t sync_point; |
+ if (!GenerateParam(&mailbox, generator)) |
+ return false; |
+ if (!GenerateParam(&texture_target, generator)) |
+ return false; |
+ if (!GenerateParam(&sync_point, generator)) |
+ return false; |
+ *p = gpu::MailboxHolder(mailbox, texture_target, sync_point); |
+ return true; |
+ } |
+}; |
+ |
+template <> |
+struct GenerateTraits<gpu::ValueState> { |
+ static bool Generate(gpu::ValueState* p, Generator* generator) { |
+ gpu::ValueState state; |
+ for (int i = 0; i < 4; i++) { |
+ if (!GenerateParam(&state.float_value[i], generator)) |
+ return false; |
+ if (!GenerateParam(&state.int_value[i], generator)) |
+ return false; |
+ } |
+ *p = state; |
+ return true; |
+ } |
+}; |
+ |
+template <> |
+struct GenerateTraits<GURL> { |
+ static bool Generate(GURL *p, Generator* generator) { |
+ const char url_chars[] = "Ahtp0:/.?+\\%&#"; |
+ size_t count = RandInRange(100); |
+ std::string random_url; |
+ for (size_t i = 0; i < count; ++i) |
+ random_url += url_chars[RandInRange(sizeof(url_chars) - 1)]; |
+ int selector = RandInRange(10); |
+ if (selector == 0) |
+ random_url = std::string("http://") + random_url; |
+ else if (selector == 1) |
+ random_url = std::string("file://") + random_url; |
+ else if (selector == 2) |
+ random_url = std::string("javascript:") + random_url; |
+ else if (selector == 2) |
+ random_url = std::string("data:") + random_url; |
+ *p = GURL(random_url); |
+ return true; |
+ } |
+}; |
+ |
+template <> |
struct GenerateTraits<media::AudioParameters> { |
static bool Generate(media::AudioParameters *p, Generator* generator) { |
int format; |
@@ -1157,6 +1202,26 @@ struct GenerateTraits<remoting::ScreenResolution> { |
} |
}; |
+// FIXME: Actually generate something. |
+template <> |
+struct GenerateTraits<SkBitmap> { |
+ static bool Generate(SkBitmap* p, Generator* generator) { |
+ *p = SkBitmap(); |
+ return true; |
+ } |
+}; |
+ |
+template <> |
+struct GenerateTraits<url::Origin> { |
+ static bool Generate(url::Origin* p, Generator* generator) { |
+ std::string origin; |
+ if (!GenerateParam(&origin, generator)) |
+ return false; |
+ *p = url::Origin(origin); |
+ return true; |
+ } |
+}; |
+ |
template <> |
struct GenerateTraits<webrtc::DesktopSize> { |
static bool Generate(webrtc::DesktopSize* p, Generator* generator) { |