Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(229)

Side by Side Diff: tools/ipc_fuzzer/fuzzer/fuzzer.cc

Issue 2522843002: Convert Gamepad IPC messages into mojo interface. (Closed)
Patch Set: code rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « device/gamepad/public/interfaces/gamepad.mojom ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <iostream> 5 #include <iostream>
6 #include <set> 6 #include <set>
7 #include <string> 7 #include <string>
8 #include <tuple> 8 #include <tuple>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 default: 627 default:
628 break; 628 break;
629 } 629 }
630 } 630 }
631 --g_depth; 631 --g_depth;
632 return true; 632 return true;
633 } 633 }
634 }; 634 };
635 635
636 template <> 636 template <>
637 struct FuzzTraits<blink::WebGamepad> {
638 static bool Fuzz(blink::WebGamepad* p, Fuzzer* fuzzer) {
639 if (!FuzzParam(&p->connected, fuzzer))
640 return false;
641 if (!FuzzParam(&p->timestamp, fuzzer))
642 return false;
643 unsigned idLength = static_cast<unsigned>(
644 RandInRange(blink::WebGamepad::idLengthCap + 1));
645 if (!FuzzParamArray(&p->id[0], idLength, fuzzer))
646 return false;
647 p->axesLength = static_cast<unsigned>(
648 RandInRange(blink::WebGamepad::axesLengthCap + 1));
649 if (!FuzzParamArray(&p->axes[0], p->axesLength, fuzzer))
650 return false;
651 p->buttonsLength = static_cast<unsigned>(
652 RandInRange(blink::WebGamepad::buttonsLengthCap + 1));
653 if (!FuzzParamArray(&p->buttons[0], p->buttonsLength, fuzzer))
654 return false;
655 unsigned mappingsLength = static_cast<unsigned>(
656 RandInRange(blink::WebGamepad::mappingLengthCap + 1));
657 if (!FuzzParamArray(&p->mapping[0], mappingsLength, fuzzer))
658 return false;
659 return true;
660 }
661 };
662
663 template <>
664 struct FuzzTraits<blink::WebGamepadButton> {
665 static bool Fuzz(blink::WebGamepadButton* p, Fuzzer* fuzzer) {
666 if (!FuzzParam(&p->pressed, fuzzer))
667 return false;
668 if (!FuzzParam(&p->value, fuzzer))
669 return false;
670 return true;
671 }
672 };
673
674 template <>
675 struct FuzzTraits<cc::CompositorFrame> { 637 struct FuzzTraits<cc::CompositorFrame> {
676 static bool Fuzz(cc::CompositorFrame* p, Fuzzer* fuzzer) { 638 static bool Fuzz(cc::CompositorFrame* p, Fuzzer* fuzzer) {
677 // TODO(mbarbella): Support mutation. 639 // TODO(mbarbella): Support mutation.
678 if (!fuzzer->ShouldGenerate()) 640 if (!fuzzer->ShouldGenerate())
679 return true; 641 return true;
680 642
681 if (!FuzzParam(&p->metadata, fuzzer)) 643 if (!FuzzParam(&p->metadata, fuzzer))
682 return false; 644 return false;
683 645
684 switch (RandInRange(2)) { 646 switch (RandInRange(2)) {
(...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1885 #include "tools/ipc_fuzzer/message_lib/all_message_null_macros.h" 1847 #include "tools/ipc_fuzzer/message_lib/all_message_null_macros.h"
1886 #undef IPC_MESSAGE_DECL 1848 #undef IPC_MESSAGE_DECL
1887 #define IPC_MESSAGE_DECL(name, ...) \ 1849 #define IPC_MESSAGE_DECL(name, ...) \
1888 (*map)[static_cast<uint32_t>(name::ID)] = FuzzerHelper<name>::Fuzz; 1850 (*map)[static_cast<uint32_t>(name::ID)] = FuzzerHelper<name>::Fuzz;
1889 1851
1890 void PopulateFuzzerFunctionMap(FuzzerFunctionMap* map) { 1852 void PopulateFuzzerFunctionMap(FuzzerFunctionMap* map) {
1891 #include "tools/ipc_fuzzer/message_lib/all_messages.h" 1853 #include "tools/ipc_fuzzer/message_lib/all_messages.h"
1892 } 1854 }
1893 1855
1894 } // namespace ipc_fuzzer 1856 } // namespace ipc_fuzzer
OLDNEW
« no previous file with comments | « device/gamepad/public/interfaces/gamepad.mojom ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698