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

Unified Diff: chrome/renderer/net/net_error_helper.cc

Issue 136203009: Support auto-reload on errors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Created 6 years, 11 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
Index: chrome/renderer/net/net_error_helper.cc
diff --git a/chrome/renderer/net/net_error_helper.cc b/chrome/renderer/net/net_error_helper.cc
index 2c16add28ea6f6038a3fc0885b2254b8f07cb647..124508a32511eded6e24ab73633042bc715ba79b 100644
--- a/chrome/renderer/net/net_error_helper.cc
+++ b/chrome/renderer/net/net_error_helper.cc
@@ -212,3 +212,54 @@ void NetErrorHelper::OnAlternateErrorPageRetrieved(
core_.OnAlternateErrorPageFetched("");
}
}
+
+// MockableOneShotTimer implementation in terms of base::OneShotTimer
Randy Smith (Not in Mondays) 2014/01/30 20:14:47 This feels like it should be in its own file, not
Elly Fong-Jones 2014/02/05 21:12:37 Done.
+
+template<class Receiver>
+class MockableOneShotTimerImpl
+ : public NetErrorHelperCore::MockableOneShotTimer {
+ public:
+ MockableOneShotTimerImpl();
+ virtual ~MockableOneShotTimerImpl();
+ virtual void Start(const tracked_objects::Location& posted_from,
+ base::TimeDelta delay, const base::Closure& user_task);
+ virtual void Stop();
+ virtual bool IsRunning() const;
+ private:
+ base::OneShotTimer<Receiver> timer_;
+};
+
+template<class Receiver>
+MockableOneShotTimerImpl<Receiver>::MockableOneShotTimerImpl() {}
+template<class Receiver>
+MockableOneShotTimerImpl<Receiver>::~MockableOneShotTimerImpl() {}
+template<class Receiver>
+void MockableOneShotTimerImpl<Receiver>::Start(
+ const tracked_objects::Location& posted_from, base::TimeDelta delay,
+ const base::Closure& user_task) {
+ timer_.Start(posted_from, delay, user_task);
+}
+
+template<class Receiver>
+void MockableOneShotTimerImpl<Receiver>::Stop() {
+ timer_.Stop();
+}
+
+template<class Receiver>
+bool MockableOneShotTimerImpl<Receiver>::IsRunning() const {
+ return timer_.IsRunning();
+}
+
+NetErrorHelperCore::MockableOneShotTimer* NetErrorHelper::NewMockableOneShotTimer() {
Randy Smith (Not in Mondays) 2014/01/30 20:14:47 nit: Line too long?
Elly Fong-Jones 2014/02/05 21:12:37 Done.
+ return new MockableOneShotTimerImpl<NetErrorHelperCore>();
+}
+
+void NetErrorHelper::FetchAutoReloadPage(const GURL& url) {
+ render_frame()->GetWebFrame()->loadRequest(blink::WebURLRequest(url));
+}
+
+void NetErrorHelper::CancelFetchAutoReloadPage() {
+ // TODO(ellyjones): is this necessary? We can only get here via OnStop(),
+ // which already implies stopLoading().
+ // render_frame()->GetWebFrame()->stopLoading();
+}

Powered by Google App Engine
This is Rietveld 408576698