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

Unified Diff: chrome/browser/net/net_error_tab_helper.h

Issue 19777002: Revert 211950 "Display DNS probe results." (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1568/src/
Patch Set: Created 7 years, 5 months 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/browser/net/dns_probe_test_util.cc ('k') | chrome/browser/net/net_error_tab_helper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/net_error_tab_helper.h
===================================================================
--- chrome/browser/net/net_error_tab_helper.h (revision 212348)
+++ chrome/browser/net/net_error_tab_helper.h (working copy)
@@ -6,12 +6,12 @@
#define CHROME_BROWSER_NET_NET_ERROR_TAB_HELPER_H_
#include "base/basictypes.h"
-#include "base/bind.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "base/prefs/pref_member.h"
#include "chrome/browser/net/dns_probe_service.h"
#include "chrome/common/net/net_error_info.h"
+#include "chrome/common/net/net_error_tracker.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
@@ -30,21 +30,10 @@
TESTING_FORCE_ENABLED
};
- typedef base::Callback<void(chrome_common_net::DnsProbeStatus)>
- DnsProbeStatusSnoopCallback;
-
virtual ~NetErrorTabHelper();
static void set_state_for_testing(TestingState testing_state);
- // Sets a callback that will be called immediately after the helper sends
- // a NetErrorHelper IPC. (Used by the DNS probe browser test to know when to
- // check the error page for updates, instead of polling.)
- void set_dns_probe_status_snoop_callback_for_testing(
- const DnsProbeStatusSnoopCallback& dns_probe_status_snoop_callback) {
- dns_probe_status_snoop_callback_ = dns_probe_status_snoop_callback;
- }
-
// content::WebContentsObserver implementation.
virtual void DidStartProvisionalLoadForFrame(
int64 frame_id,
@@ -70,50 +59,43 @@
const string16& error_description,
content::RenderViewHost* render_view_host) OVERRIDE;
- protected:
- // |contents| is the WebContents of the tab this NetErrorTabHelper is
- // attached to.
- explicit NetErrorTabHelper(content::WebContents* contents);
- virtual void StartDnsProbe();
- virtual void SendInfo();
- void OnDnsProbeFinished(chrome_common_net::DnsProbeStatus result);
+ virtual void DidFinishLoad(
+ int64 frame_id,
+ const GURL& validated_url,
+ bool is_main_frame,
+ content::RenderViewHost* render_view_host) OVERRIDE;
- chrome_common_net::DnsProbeStatus dns_probe_status() const {
- return dns_probe_status_;
- }
-
private:
friend class content::WebContentsUserData<NetErrorTabHelper>;
- void OnMainFrameDnsError();
+ enum DnsProbeState {
+ DNS_PROBE_NONE,
+ DNS_PROBE_STARTED,
+ DNS_PROBE_FINISHED
+ };
+ // |contents| is the WebContents of the tab this NetErrorTabHelper is
+ // attached to.
+ explicit NetErrorTabHelper(content::WebContents* contents);
+
+ void TrackerCallback(NetErrorTracker::DnsErrorPageState state);
+ void MaybePostStartDnsProbeTask();
+ void OnDnsProbeFinished(chrome_common_net::DnsProbeResult result);
+ void MaybeSendInfo();
+
void InitializePref(content::WebContents* contents);
bool ProbesAllowed() const;
base::WeakPtrFactory<NetErrorTabHelper> weak_factory_;
- // True if the last provisional load that started was for an error page.
- bool is_error_page_;
+ NetErrorTracker tracker_;
+ NetErrorTracker::DnsErrorPageState dns_error_page_state_;
- // True if the helper has seen a main frame page load fail with a DNS error,
- // but has not yet seen a new page commit successfully afterwards.
- bool dns_error_active_;
+ DnsProbeState dns_probe_state_;
+ chrome_common_net::DnsProbeResult dns_probe_result_;
- // True if the helper has seen an error page commit while |dns_error_active_|
- // is true. (This should never be true if |dns_error_active_| is false.)
- bool dns_error_page_committed_;
-
- // The status of a DNS probe that may or may not have started or finished.
- // Since the renderer can change out from under the helper (in cross-process
- // navigations), it re-sends the status whenever an error page commits.
- chrome_common_net::DnsProbeStatus dns_probe_status_;
-
// Whether we are enabled to run by the DnsProbe-Enable field trial.
const bool enabled_by_trial_;
-
- // Optional callback for browser test to snoop on outgoing NetErrorInfo IPCs.
- DnsProbeStatusSnoopCallback dns_probe_status_snoop_callback_;
-
// "Use a web service to resolve navigation errors" preference is required
// to allow probes.
BooleanPrefMember resolve_errors_with_web_service_;
« no previous file with comments | « chrome/browser/net/dns_probe_test_util.cc ('k') | chrome/browser/net/net_error_tab_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698