summaryrefslogtreecommitdiffstats
path: root/chrome/tools/ipclist
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/tools/ipclist')
-rw-r--r--chrome/tools/ipclist/ipclist.cc13
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)