Inline the TimeDelta::From* construction functions.

With GCC, we don't have much hope of inlining unless the defintion is in the header.  This should also hopefully allow the compiler to do things like constant folding on the multiplications, etc.

Review URL: http://codereview.chromium.org/17802


git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7928 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 9155d5610ba464d0717d536371ff002b4406b0ab
diff --git a/base/time.h b/base/time.h
index cb0eeb8..d50b45f 100644
--- a/base/time.h
+++ b/base/time.h
@@ -342,6 +342,38 @@
   return Time(t.us_ + delta_);
 }
 
+// Inline the TimeDelta factory methods, for fast TimeDelta construction.
+
+// static
+inline TimeDelta TimeDelta::FromDays(int64 days) {
+  return TimeDelta(days * Time::kMicrosecondsPerDay);
+}
+
+// static
+inline TimeDelta TimeDelta::FromHours(int64 hours) {
+  return TimeDelta(hours * Time::kMicrosecondsPerHour);
+}
+
+// static
+inline TimeDelta TimeDelta::FromMinutes(int64 minutes) {
+  return TimeDelta(minutes * Time::kMicrosecondsPerMinute);
+}
+
+// static
+inline TimeDelta TimeDelta::FromSeconds(int64 secs) {
+  return TimeDelta(secs * Time::kMicrosecondsPerSecond);
+}
+
+// static
+inline TimeDelta TimeDelta::FromMilliseconds(int64 ms) {
+  return TimeDelta(ms * Time::kMicrosecondsPerMillisecond);
+}
+
+// static
+inline TimeDelta TimeDelta::FromMicroseconds(int64 us) {
+  return TimeDelta(us);
+}
+
 // TimeTicks ------------------------------------------------------------------
 
 class TimeTicks {