| Index: chrome/tools/ipclist/ipclist.cc
|
| diff --git a/chrome/tools/ipclist/ipclist.cc b/chrome/tools/ipclist/ipclist.cc
|
| index 9a2faabe49dbf91c14e76fe09647b7242b42400d..419a05b6381712b6ba82ea88a8dd354d92037a63 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)
|
|
|