Chromium Code Reviews| 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. |