| // Copyright 2013 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include "ios/web/navigation/time_smoother.h" | 
 |  | 
 | namespace web { | 
 |  | 
 | // Duplicated from content/browser/web_contents/navigation_controller_impl.cc. | 
 | base::Time TimeSmoother::GetSmoothedTime(base::Time t) { | 
 |   // If |t| is between the water marks, we're in a run of duplicates | 
 |   // or just getting out of it, so increase the high-water mark to get | 
 |   // a time that probably hasn't been used before and return it. | 
 |   if (low_water_mark_ <= t && t <= high_water_mark_) { | 
 |     high_water_mark_ += base::TimeDelta::FromMicroseconds(1); | 
 |     return high_water_mark_; | 
 |   } | 
 |  | 
 |   // Otherwise, we're clear of the last duplicate run, so reset the | 
 |   // water marks. | 
 |   low_water_mark_ = high_water_mark_ = t; | 
 |   return t; | 
 | } | 
 |  | 
 | }  // namespace web |