Commit eb016f0d authored by inferno's avatar inferno Committed by Commit bot

Add support for more param traits

R=mbarbella@chromium.org
TBR=tsepez@chromium.org
BUG=450268

Review URL: https://codereview.chromium.org/932103003

Cr-Commit-Position: refs/heads/master@{#316902}
parent 2ff46569
...@@ -1040,18 +1040,23 @@ struct GenerateTraits<content::SyntheticGesturePacket> { ...@@ -1040,18 +1040,23 @@ struct GenerateTraits<content::SyntheticGesturePacket> {
template <> template <>
struct GenerateTraits<content::WebCursor> { struct GenerateTraits<content::WebCursor> {
static bool Generate(content::WebCursor* p, Generator* generator) { static bool Generate(content::WebCursor* p, Generator* generator) {
blink::WebCursorInfo::Type type; content::WebCursor::CursorInfo info;
if (!GenerateParam(&type, generator))
return false;
content::WebCursor::CursorInfo info(type);
// Omitting |externalHandle| since it is not serialized. // |type| enum is not validated on de-serialization, so pick random value.
if (!GenerateParam(reinterpret_cast<int *>(&info.type), generator))
return false;
if (!GenerateParam(&info.hotspot, generator)) if (!GenerateParam(&info.hotspot, generator))
return false; return false;
if (!GenerateParam(&info.image_scale_factor, generator)) if (!GenerateParam(&info.image_scale_factor, generator))
return false; return false;
if (!GenerateParam(&info.custom_image, generator)) if (!GenerateParam(&info.custom_image, generator))
return false; return false;
// Omitting |externalHandle| since it is not serialized.
// Scale factor is expected to be greater than 0, otherwise we hit
// a check failure.
info.image_scale_factor = fabs(info.image_scale_factor) + 0.001;
*p = content::WebCursor(info); *p = content::WebCursor(info);
return true; return true;
} }
...@@ -1290,6 +1295,16 @@ struct GenerateTraits<GURL> { ...@@ -1290,6 +1295,16 @@ struct GenerateTraits<GURL> {
} }
}; };
#if defined(OS_WIN)
template <>
struct GenerateTraits<HWND> {
static bool Generate(HWND* p, Generator* generator) {
// TODO(aarya): This should actually generate something.
return true;
}
};
#endif
template <> template <>
struct GenerateTraits<IPC::Message> { struct GenerateTraits<IPC::Message> {
static bool Generate(IPC::Message *p, Generator* generator) { static bool Generate(IPC::Message *p, Generator* generator) {
...@@ -1330,6 +1345,16 @@ struct GenerateTraits<IPC::ChannelHandle> { ...@@ -1330,6 +1345,16 @@ struct GenerateTraits<IPC::ChannelHandle> {
} }
}; };
#if defined(OS_WIN)
template <>
struct GenerateTraits<LOGFONT> {
static bool Generate(LOGFONT* p, Generator* generator) {
// TODO(aarya): This should actually generate something.
return true;
}
};
#endif
template <> template <>
struct GenerateTraits<media::AudioParameters> { struct GenerateTraits<media::AudioParameters> {
static bool Generate(media::AudioParameters* p, Generator* generator) { static bool Generate(media::AudioParameters* p, Generator* generator) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment