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 0a9956ffe710eba58b7b4e8bb29130d7c932afbb..d46b2cfc71f2e0e5fd73c1dff2fe978b9f0b37e1 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/lazy_instance.h" |
#include "base/location.h" |
#include "base/logging.h" |
@@ -3888,13 +3889,36 @@ void WebContentsImpl::UpdateState(RenderViewHost* rvh, |
RenderViewHostImpl* rvhi = static_cast<RenderViewHostImpl*>(rvh); |
NavigationEntryImpl* entry = controller_.GetEntryWithPageID( |
rvhi->GetSiteInstance(), page_id); |
- if (!entry) |
- return; |
- NavigationEntryImpl* new_entry = controller_.GetEntryWithUniqueID( |
- static_cast<RenderFrameHostImpl*>(rvhi->GetMainFrame())->nav_entry_id()); |
+ int nav_entry_id = |
+ static_cast<RenderFrameHostImpl*>(rvhi->GetMainFrame())->nav_entry_id(); |
+ NavigationEntryImpl* new_entry = |
+ controller_.GetEntryWithUniqueID(nav_entry_id); |
+ |
+ base::debug::SetCrashKeyValue("pageid", base::IntToString(page_id)); |
+ base::debug::SetCrashKeyValue("navuniqueid", base::IntToString(nav_entry_id)); |
+ base::debug::SetCrashKeyValue( |
+ "oldindex", base::IntToString(controller_.GetIndexOfEntry(entry))); |
+ base::debug::SetCrashKeyValue( |
+ "newindex", base::IntToString(controller_.GetIndexOfEntry(new_entry))); |
+ base::debug::SetCrashKeyValue( |
+ "lastcommittedindex", |
+ base::IntToString(controller_.GetLastCommittedEntryIndex())); |
+ base::debug::SetCrashKeyValue("oldurl", |
+ entry ? entry->GetURL().spec() : "-nullptr-"); |
+ base::debug::SetCrashKeyValue( |
+ "newurl", new_entry ? new_entry->GetURL().spec() : "-nullptr-"); |
+ base::debug::SetCrashKeyValue( |
+ "updatedvalue", page_state.GetTopLevelUrlStringTemporaryForBug369661()); |
+ base::debug::SetCrashKeyValue( |
+ "oldvalue", entry ? entry->GetURL().spec() : "-nullptr-"); |
+ base::debug::SetCrashKeyValue( |
+ "newvalue", |
+ new_entry ? new_entry->GetURL().spec() : "-nullptr-"); |
+ CHECK_EQ(entry, new_entry); |
- DCHECK_EQ(entry, new_entry); |
+ if (!entry) |
+ return; |
if (page_state == entry->GetPageState()) |
return; // Nothing to update. |
@@ -4097,9 +4121,31 @@ void WebContentsImpl::UpdateTitle(RenderFrameHost* render_frame_host, |
NavigationEntryImpl* entry = controller_.GetEntryWithPageID( |
render_frame_host->GetSiteInstance(), page_id); |
- NavigationEntryImpl* new_entry = controller_.GetEntryWithUniqueID( |
- static_cast<RenderFrameHostImpl*>(render_frame_host)->nav_entry_id()); |
- DCHECK_EQ(entry, new_entry); |
+ int nav_entry_id = |
+ static_cast<RenderFrameHostImpl*>(render_frame_host)->nav_entry_id(); |
+ NavigationEntryImpl* new_entry = |
+ controller_.GetEntryWithUniqueID(nav_entry_id); |
+ |
+ base::debug::SetCrashKeyValue("pageid", base::IntToString(page_id)); |
+ base::debug::SetCrashKeyValue("navuniqueid", base::IntToString(nav_entry_id)); |
+ base::debug::SetCrashKeyValue( |
+ "oldindex", base::IntToString(controller_.GetIndexOfEntry(entry))); |
+ base::debug::SetCrashKeyValue( |
+ "newindex", base::IntToString(controller_.GetIndexOfEntry(new_entry))); |
+ base::debug::SetCrashKeyValue( |
+ "lastcommittedindex", |
+ base::IntToString(controller_.GetLastCommittedEntryIndex())); |
+ base::debug::SetCrashKeyValue("oldurl", |
+ entry ? entry->GetURL().spec() : "-nullptr-"); |
+ base::debug::SetCrashKeyValue( |
+ "newurl", new_entry ? new_entry->GetURL().spec() : "-nullptr-"); |
+ base::debug::SetCrashKeyValue("updatedvalue", base::UTF16ToUTF8(title)); |
+ base::debug::SetCrashKeyValue( |
+ "oldvalue", entry ? base::UTF16ToUTF8(entry->GetTitle()) : "-nullptr-"); |
+ base::debug::SetCrashKeyValue( |
+ "newvalue", |
+ new_entry ? base::UTF16ToUTF8(new_entry->GetTitle()) : "-nullptr-"); |
+ CHECK_EQ(entry, new_entry); |
// We can handle title updates when we don't have an entry in |
// UpdateTitleForEntry, but only if the update is from the current RVH. |