| Index: content/browser/web_contents/web_contents_impl.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
| index a86d316644ea25d8745dc10dfef98626ee641106..b0ba217db4f639e602c74d20934e8d5a048d95dc 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -7,6 +7,7 @@
|
| #include <utility>
|
|
|
| #include "base/command_line.h"
|
| +#include "base/debug/crash_logging.h"
|
| #include "base/debug/trace_event.h"
|
| #include "base/lazy_instance.h"
|
| #include "base/logging.h"
|
| @@ -3588,8 +3589,32 @@ void WebContentsImpl::RenderViewDeleted(RenderViewHost* rvh) {
|
| }
|
|
|
| void WebContentsImpl::UpdateState(RenderViewHost* rvh,
|
| + int32 rvh_page_id,
|
| int32 page_id,
|
| const PageState& page_state) {
|
| + if (rvh_page_id != page_id) {
|
| + base::debug::SetCrashKeyValue("renderer_page_id",
|
| + base::IntToString(page_id));
|
| + base::debug::SetCrashKeyValue("browser_page_id",
|
| + base::IntToString(rvh_page_id));
|
| + NavigationEntryImpl* entry = NavigationEntryImpl::FromNavigationEntry(
|
| + controller_.GetLastCommittedEntry());
|
| + // The question being answered here is: when there is a page id mismatch
|
| + // between the renderer and the browser, which value (if either) matches
|
| + // that of the last committed entry?
|
| + if (entry) {
|
| + if (entry->site_instance() == rvh->GetSiteInstance()) {
|
| + base::debug::SetCrashKeyValue("last_committed_page_id",
|
| + base::IntToString(entry->GetPageID()));
|
| + } else {
|
| + base::debug::SetCrashKeyValue("last_committed_page_id",
|
| + "site instance mismatch");
|
| + }
|
| + } else {
|
| + base::debug::SetCrashKeyValue("last_committed_page_id", "no entry");
|
| + }
|
| + CHECK(false);
|
| + }
|
| // Ensure that this state update comes from either the active RVH or one of
|
| // the swapped out RVHs. We don't expect to hear from any other RVHs.
|
| // TODO(nasko): This should go through RenderFrameHost.
|
|
|