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

Unified Diff: components/error_page/renderer/net_error_helper_core.h

Issue 1482363005: Add code to network error page to figure out a renderer crash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Response to comments Created 5 years 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 | « no previous file | components/error_page/renderer/net_error_helper_core.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/error_page/renderer/net_error_helper_core.h
diff --git a/components/error_page/renderer/net_error_helper_core.h b/components/error_page/renderer/net_error_helper_core.h
index 0d9555139e5b3904432dfef6122a3493ecbeb89f..e95b22177be7430f0d2719cae8cc7fec4947f51e 100644
--- a/components/error_page/renderer/net_error_helper_core.h
+++ b/components/error_page/renderer/net_error_helper_core.h
@@ -6,6 +6,7 @@
#define COMPONENTS_ERROR_PAGE_RENDERER_NET_ERROR_HELPER_CORE_H_
#include <string>
+#include <vector>
#include "base/callback.h"
#include "base/memory/scoped_ptr.h"
@@ -225,6 +226,43 @@ class NetErrorHelperCore {
private:
struct ErrorPageInfo;
+ // Represents an event that has occured, and the initial state of the
+ // NetErrorHelperCore when it occured.
+ // TODO(mmenke): Remove once https://crbug.com/557541 is fixed.
+ struct HistoryDebugEvent {
+ enum EventType {
+ GET_ERROR_HTML = 0,
+ ON_START_LOAD = 1,
+ ON_COMMIT_LOAD = 2,
+ ON_COMMIT_LOAD_END = 3,
+ ON_FINISH_LOAD = 4,
+ ON_FINISH_LOAD_END_NOT_ERROR_PAGE = 5,
+ ON_FINISH_LOAD_END_DNS_PROBE = 6,
+ ON_FINISH_LOAD_END_NO_DNS_PROBE = 7,
+ ON_STOP = 8,
+ ON_WAS_SHOWN = 9,
+ ON_WAS_HIDDEN = 10,
+ CANCEL_PENDING_FETCHES = 11,
+ NAVIGATION_CORRECTIONS_FETCHED = 12,
+ NET_ERROR_INFO_RECEIVED = 13,
+ NETWORK_STATE_CHANGED = 14,
+ SHOULD_SUPPRESS_ERROR_PAGE = 15,
+ EXECUTE_BUTTON_PRESS = 16,
+ MAYBE_RELOAD = 17,
+ RELOAD = 18,
+ START_RELOAD_TIMER = 19,
+ RELOAD_TIMER_FIRED = 20,
+ PAUSE_RELOAD_TIMER = 21,
+ UPDATE_ERROR_PAGE = 22,
+ START_RELOAD_TIMER_PAUSED = 23,
+ };
+
+ EventType event_type;
+ bool pending_error_page_info_exists;
+ bool committed_error_page_info_exists;
+ bool timer_running;
+ };
+
// Gets HTML for a main frame error page. Depending on
// |pending_error_page_info|, may use the navigation correction service, or
// show a DNS probe error page. May modify |pending_error_page_info|.
@@ -248,6 +286,11 @@ class NetErrorHelperCore {
static bool IsReloadableError(const ErrorPageInfo& info);
+ // Adds the specified event, along with information about the current state of
+ // |this|, to |history_|.
+ // TODO(mmenke): Remove once https://crbug.com/557541 is fixed.
+ void RecordHistoryDebugEvent(HistoryDebugEvent::EventType event_type);
+
Delegate* delegate_;
// The last DnsProbeStatus received from the browser.
@@ -308,6 +351,10 @@ class NetErrorHelperCore {
// the error page. It is used to detect when such navigations result
// in errors.
Button navigation_from_button_;
+
+ // Record of the most recent events that have occurred.
+ // TODO(mmenke): Remove once https://crbug.com/557541 is fixed.
+ std::vector<HistoryDebugEvent> history_debug_events_;
};
} // namespace error_page
« no previous file with comments | « no previous file | components/error_page/renderer/net_error_helper_core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698