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

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: Rebase 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..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.
« 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