Chromium Code Reviews| 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(); |
| +} |