Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Unified Diff: content/browser/web_contents/web_contents_impl.cc

Issue 1410543014: Gather more debug info for the switch away from page id for titles and state. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix null check Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/crash_keys.cc ('k') | content/public/common/page_state.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « chrome/common/crash_keys.cc ('k') | content/public/common/page_state.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698