summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-22 01:00:58 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-22 01:00:58 +0000
commit403ab667577b2a42bd21653ddabf68630d3bace0 (patch)
treeb8e474ad7f88361d56528a21bcab1de578ec4938
parent900c3b296e6b5d68a65efc7959ebe6e20e780ad0 (diff)
downloadchromium_src-403ab667577b2a42bd21653ddabf68630d3bace0.zip
chromium_src-403ab667577b2a42bd21653ddabf68630d3bace0.tar.gz
chromium_src-403ab667577b2a42bd21653ddabf68630d3bace0.tar.bz2
Fix sizes regression introduced in r106734. This was caused because I made chrome/common/common_message_generator.cc be the file that generates the IPC classes, instead of chrome/common/automation_messages.cc. npchrome_frame target depends on chrome, which is incorrect, and allows correct changes in chrome like this to suddenly bring in a lot of unrelated code to chrome_frame. This really needs to be fixed in chrome_frame, since that target should not be depending on chrome. Filed bug 101215.
BUG=101208,101215 Review URL: http://codereview.chromium.org/8370014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106825 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/common/all_messages.h5
-rw-r--r--chrome/common/automation_messages.cc33
-rw-r--r--chrome/common/common_message_generator.h1
3 files changed, 37 insertions, 2 deletions
diff --git a/chrome/common/all_messages.h b/chrome/common/all_messages.h
index 9bd913c..7eec49d 100644
--- a/chrome/common/all_messages.h
+++ b/chrome/common/all_messages.h
@@ -7,6 +7,11 @@
// up-to-date when adding a new value to enum IPCMessageStart in
// ipc/ipc_message_utils.h to include the corresponding message file.
#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
+// code. Chrome Frame should not be depending on the chrome target...
+// See http:://crbug.com/101208 and http://crbug.com/101215
+#include "chrome/common/automation_messages.h"
#include "chrome/common/common_message_generator.h"
#include "chrome/common/nacl_messages.h"
#include "content/common/content_message_generator.h"
diff --git a/chrome/common/automation_messages.cc b/chrome/common/automation_messages.cc
index f06d3fa..1801fd6 100644
--- a/chrome/common/automation_messages.cc
+++ b/chrome/common/automation_messages.cc
@@ -2,9 +2,40 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/common/automation_messages.h"
+#include "chrome/common/common_param_traits.h"
+#include "content/public/common/webkit_param_traits.h"
#include "ui/base/models/menu_model.h"
+// Get basic type definitions.
+#define IPC_MESSAGE_IMPL
+#include "chrome/common/automation_messages.h"
+
+// Generate constructors.
+#include "ipc/struct_constructor_macros.h"
+#include "chrome/common/automation_messages.h"
+
+// Generate destructors.
+#include "ipc/struct_destructor_macros.h"
+#include "chrome/common/automation_messages.h"
+
+// Generate param traits write methods.
+#include "ipc/param_traits_write_macros.h"
+namespace IPC {
+#include "chrome/common/automation_messages.h"
+} // namespace IPC
+
+// Generate param traits read methods.
+#include "ipc/param_traits_read_macros.h"
+namespace IPC {
+#include "chrome/common/automation_messages.h"
+} // namespace IPC
+
+// Generate param traits log methods.
+#include "ipc/param_traits_log_macros.h"
+namespace IPC {
+#include "chrome/common/automation_messages.h"
+} // namespace IPC
+
ContextMenuModel::ContextMenuModel() {
}
diff --git a/chrome/common/common_message_generator.h b/chrome/common/common_message_generator.h
index 6cb3877..4b231f2 100644
--- a/chrome/common/common_message_generator.h
+++ b/chrome/common/common_message_generator.h
@@ -5,7 +5,6 @@
// Multiply-included file, hence no include guard.
#include "chrome/common/autofill_messages.h"
-#include "chrome/common/automation_messages.h"
#include "chrome/common/benchmarking_messages.h"
#include "chrome/common/chrome_plugin_messages.h"
#include "chrome/common/chrome_utility_messages.h"