1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include "TimeManager.h"
7 #include "mozilla/dom/Date.h"
8 #include "mozilla/dom/MozTimeManagerBinding.h"
9 #include "nsITimeService.h"
10 #include "nsServiceManagerUtils.h"
16 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TimeManager
)
17 NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
18 NS_INTERFACE_MAP_ENTRY(nsISupports
)
21 NS_IMPL_CYCLE_COLLECTING_ADDREF(TimeManager
)
22 NS_IMPL_CYCLE_COLLECTING_RELEASE(TimeManager
)
24 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TimeManager
, mWindow
)
27 TimeManager::WrapObject(JSContext
* aCx
)
29 return MozTimeManagerBinding::Wrap(aCx
, this);
33 TimeManager::Set(Date
& aDate
)
35 Set(aDate
.TimeStamp());
39 TimeManager::Set(double aTime
)
41 nsCOMPtr
<nsITimeService
> timeService
= do_GetService(TIMESERVICE_CONTRACTID
);
43 timeService
->Set(aTime
);
49 } // namespace mozilla