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..a90f8522ea6b2386c144f07a43166b54313c5ceb 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" |
@@ -3891,10 +3892,28 @@ void WebContentsImpl::UpdateState(RenderViewHost* rvh, |
if (!entry) |
return; |
- NavigationEntryImpl* new_entry = controller_.GetEntryWithUniqueID( |
- static_cast<RenderFrameHostImpl*>(rvhi->GetMainFrame())->nav_entry_id()); |
- |
- DCHECK_EQ(entry, new_entry); |
+ int nav_entry_id = |
+ static_cast<RenderFrameHostImpl*>(rvhi->GetMainFrame())->nav_entry_id(); |
+ NavigationEntryImpl* new_entry = |
+ controller_.GetEntryWithUniqueID(nav_entry_id); |
+ CHECK(new_entry); |
Avi (use Gerrit)
2015/11/05 00:50:35
I get that if the page id lookup failed, we wouldn
Charlie Reis
2015/11/05 22:12:51
Done.
Charlie Reis
2015/11/05 23:05:37
Oops, that should have been a null check at the en
|
+ |
+ 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->GetURL().spec()); |
+ base::debug::SetCrashKeyValue("newurl", new_entry->GetURL().spec()); |
+ base::debug::SetCrashKeyValue( |
+ "updatedvalue", page_state.GetTopLevelUrlStringTemporaryForBug369661()); |
+ base::debug::SetCrashKeyValue("oldvalue", entry->GetURL().spec()); |
+ base::debug::SetCrashKeyValue("newvalue", new_entry->GetURL().spec()); |
+ CHECK_EQ(entry, new_entry); |
if (page_state == entry->GetPageState()) |
return; // Nothing to update. |
@@ -4097,9 +4116,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. |