diff options
Diffstat (limited to 'chrome/tools/ipclist')
-rw-r--r-- | chrome/tools/ipclist/ipclist.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/chrome/tools/ipclist/ipclist.cc b/chrome/tools/ipclist/ipclist.cc index 9a2faab..419a05b 100644 --- a/chrome/tools/ipclist/ipclist.cc +++ b/chrome/tools/ipclist/ipclist.cc @@ -38,10 +38,11 @@ static bool check_msgtable() { int highest_class_id = 0; std::vector<int> exemptions; - // Exclude test files from consideration. Do not include message - // files used inside the actual chrome browser in this list. + // Exclude test and other non-browser files from consideration. Do not + // include message files used inside the actual chrome browser in this list. exemptions.push_back(TestMsgStart); exemptions.push_back(FirefoxImporterUnittestMsgStart); + exemptions.push_back(ShellMsgStart); for (size_t i = 0; i < MSGTABLE_SIZE; ++i) { int class_id = IPC_MESSAGE_ID_CLASS(msgtable[i].id); @@ -64,9 +65,15 @@ static bool check_msgtable() { highest_class_id = class_id; } - if (LastIPCMsgStart > highest_class_id + 1) { + while (LastIPCMsgStart > highest_class_id + 1) { + std::vector<int>::iterator iter; + iter = find(exemptions.begin(), exemptions.end(), highest_class_id+1); + if (iter == exemptions.end()) { std::cout << "Missing message file: gap before LastIPCMsgStart\n"; result = false; + break; + } + ++highest_class_id; } if (!result) |