summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/common/all_messages.h6
-rw-r--r--chrome/tools/ipclist/ipclist.cc15
2 files changed, 15 insertions, 6 deletions
diff --git a/chrome/common/all_messages.h b/chrome/common/all_messages.h
index 7eec49d..1641525 100644
--- a/chrome/common/all_messages.h
+++ b/chrome/common/all_messages.h
@@ -1,11 +1,13 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Multiply-included file, hence no include guard.
-// Inclusion of all message files present in the system. Keep this file
+// Inclusion of all message files present in chrome. Keep this file
// up-to-date when adding a new value to enum IPCMessageStart in
// ipc/ipc_message_utils.h to include the corresponding message file.
+// Messages classes used exclusively outside of chrome should instead get an
+// exemption in chrome/tools/ipclist/ipclist.cc.
#include "chrome/browser/importer/profile_import_process_messages.h"
// We can't make common_message_generator.h include automation_messages, since
// otherwise the Chrome Frame binaries will link in a lot of unrelated chrome
diff --git a/chrome/tools/ipclist/ipclist.cc b/chrome/tools/ipclist/ipclist.cc
index 9a2faab..a2d37a8 100644
--- a/chrome/tools/ipclist/ipclist.cc
+++ b/chrome/tools/ipclist/ipclist.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -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)