Bug 1246056 - Ensure that the MockContentController's timestamp is always >= GetStartupTime(). r?botond draft
authorKartikaya Gupta <kgupta@mozilla.com>
Tue, 16 Feb 2016 17:25:54 -0500
changeset 331371 38e46b3cb4ea346a4d6382c627fc926ba33933ab
parent 331237 6ea654cad929c9bedd8a4161a182b6189fbeae6a
child 514367 6b62ff54be4da4230ecbcd2b635c405cb4246d43
push id10968
push userkgupta@mozilla.com
push dateTue, 16 Feb 2016 22:26:34 +0000
reviewersbotond
bugs1246056
milestone47.0a1
Bug 1246056 - Ensure that the MockContentController's timestamp is always >= GetStartupTime(). r?botond MozReview-Commit-ID: KfkX1ixpKaI
gfx/layers/apz/test/gtest/APZTestCommon.h
--- a/gfx/layers/apz/test/gtest/APZTestCommon.h
+++ b/gfx/layers/apz/test/gtest/APZTestCommon.h
@@ -63,33 +63,38 @@ private:
 };
 
 #define SCOPED_GFX_PREF(prefBase, prefType, prefValue) \
   ScopedGfxPref<prefType> pref_##prefBase( \
     &(gfxPrefs::prefBase), \
     &(gfxPrefs::Set##prefBase), \
     prefValue)
 
+static TimeStamp GetStartupTime() {
+  static TimeStamp sStartupTime = TimeStamp::Now();
+  return sStartupTime;
+}
+
 class MockContentController : public GeckoContentController {
 public:
   MOCK_METHOD1(RequestContentRepaint, void(const FrameMetrics&));
   MOCK_METHOD2(RequestFlingSnap, void(const FrameMetrics::ViewID& aScrollId, const mozilla::CSSPoint& aDestination));
   MOCK_METHOD2(AcknowledgeScrollUpdate, void(const FrameMetrics::ViewID&, const uint32_t& aScrollGeneration));
   MOCK_METHOD3(HandleDoubleTap, void(const CSSPoint&, Modifiers, const ScrollableLayerGuid&));
   MOCK_METHOD3(HandleSingleTap, void(const CSSPoint&, Modifiers, const ScrollableLayerGuid&));
   MOCK_METHOD4(HandleLongTap, void(const CSSPoint&, Modifiers, const ScrollableLayerGuid&, uint64_t));
   MOCK_METHOD2(PostDelayedTask, void(Task* aTask, int aDelayMs));
   MOCK_METHOD3(NotifyAPZStateChange, void(const ScrollableLayerGuid& aGuid, APZStateChange aChange, int aArg));
   MOCK_METHOD0(NotifyFlushComplete, void());
 };
 
 class MockContentControllerDelayed : public MockContentController {
 public:
   MockContentControllerDelayed()
-    : mTime(TimeStamp::Now())
+    : mTime(GetStartupTime())
   {
   }
 
   const TimeStamp& Time() {
     return mTime;
   }
 
   void AdvanceByMillis(int aMillis) {
@@ -251,21 +256,16 @@ public:
       aOutTransform, aScrollOffset);
     return ret;
   }
 
   void SetWaitForMainThread() {
     mWaitForMainThread = true;
   }
 
-  static TimeStamp GetStartupTime() {
-    static TimeStamp sStartupTime = TimeStamp::Now();
-    return sStartupTime;
-  }
-
 private:
   bool mWaitForMainThread;
   MockContentControllerDelayed* mcc;
 };
 
 AsyncPanZoomController*
 TestAPZCTreeManager::NewAPZCInstance(uint64_t aLayersId,
                                      GeckoContentController* aController)
@@ -286,12 +286,12 @@ TestFrameMetrics()
   fm.SetScrollableRect(CSSRect(0, 0, 100, 100));
 
   return fm;
 }
 
 uint32_t
 MillisecondsSinceStartup(TimeStamp aTime)
 {
-  return (aTime - TestAsyncPanZoomController::GetStartupTime()).ToMilliseconds();
+  return (aTime - GetStartupTime()).ToMilliseconds();
 }
 
 #endif // mozilla_layers_APZTestCommon_h