To help in understanding the results below, let me share the ad-hoc logging I've added:
~/src/chromium4/src on swapped-out-ad-hoc-experiments*
$ git diff origin/master -- content/common/swapped_out_messages.cc
diff --git a/content/common/swapped_out_messages.cc b/content/common/swapped_out_messages.cc
index 442cd3e1fe23..60a955bfdce2 100644
--- a/content/common/swapped_out_messages.cc
+++ b/content/common/swapped_out_messages.cc
#include "content/common/input_messages.h"
#include "content/common/view_messages.h"
#include "content/public/common/content_client.h"
+#include "ipc/ipc_logging.h"
bool SwappedOutMessages::CanSendWhileSwappedOut(const IPC::Message* msg) {
+ IPC::Logging::GetMessageText(msg->type(), &msg_name, msg, nullptr);
// We filter out most IPC messages when swapped out. However, some are
// important (e.g., ACKs) for keeping the browser and renderer state
// consistent in case we later return to the same renderer.
@@ -34,6 +38,10 @@ bool SwappedOutMessages::CanSendWhileSwappedOut(const IPC::Message* msg) {
case ViewHostMsg_RouteCloseEvent::ID:
// Send page scale factor reset notification upon cross-process navigations.
case ViewHostMsg_PageScaleFactorChanged::ID:
+ LOG(ERROR) << "CanSendWhileSwappedOut"
+ << "; msg->type() = " << msg->type()
+ << "; msg_name = " << msg_name;
@@ -41,7 +49,19 @@ bool SwappedOutMessages::CanSendWhileSwappedOut(const IPC::Message* msg) {
// Check with the embedder as well.
ContentClient* client = GetContentClient();
- return client->CanSendWhileSwappedOut(msg);
+ bool result = client->CanSendWhileSwappedOut(msg);
+ LOG(ERROR) << "CanSendWhileSwappedOut"
+ << "(allowed-by-client)"
+ << "; msg->type() = " << msg->type()
+ << "; msg_name = " << msg_name;
+ LOG(ERROR) << "CanSendWhileSwappedOut"
+ << "; msg->type() = " << msg->type()
+ << "; msg_name = " << msg_name;