Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Side by Side Diff: Source/wtf/DateMath.cpp

Issue 13901012: Remove OS(WINCE) as blink and chromium does not support WinCe. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999-2000 Harri Porten (porten@kde.org) 2 * Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
3 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. 3 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
4 * Copyright (C) 2009 Google Inc. All rights reserved. 4 * Copyright (C) 2009 Google Inc. All rights reserved.
5 * Copyright (C) 2007-2009 Torch Mobile, Inc. 5 * Copyright (C) 2007-2009 Torch Mobile, Inc.
6 * Copyright (C) 2010 &yet, LLC. (nate@andyet.net) 6 * Copyright (C) 2010 &yet, LLC. (nate@andyet.net)
7 * 7 *
8 * The Original Code is Mozilla Communicator client code, released 8 * The Original Code is Mozilla Communicator client code, released
9 * March 31, 1998. 9 * March 31, 1998.
10 * 10 *
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 // See 15.9.1.14 of ECMA-262 5th edition. 125 // See 15.9.1.14 of ECMA-262 5th edition.
126 static const double maxECMAScriptTime = 8.64E15; 126 static const double maxECMAScriptTime = 8.64E15;
127 127
128 // Day of year for the first day of each month, where index 0 is January, and da y 0 is January 1. 128 // Day of year for the first day of each month, where index 0 is January, and da y 0 is January 1.
129 // First for non-leap years, then for leap years. 129 // First for non-leap years, then for leap years.
130 static const int firstDayOfMonth[2][12] = { 130 static const int firstDayOfMonth[2][12] = {
131 {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}, 131 {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334},
132 {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335} 132 {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335}
133 }; 133 };
134 134
135 #if !OS(WINCE)
136 static inline void getLocalTime(const time_t* localTime, struct tm* localTM) 135 static inline void getLocalTime(const time_t* localTime, struct tm* localTM)
137 { 136 {
138 #if COMPILER(MSVC7_OR_LOWER) || COMPILER(MINGW) 137 #if COMPILER(MSVC7_OR_LOWER) || COMPILER(MINGW)
139 *localTM = *localtime(localTime); 138 *localTM = *localtime(localTime);
140 #elif COMPILER(MSVC) 139 #elif COMPILER(MSVC)
141 localtime_s(localTM, localTime); 140 localtime_s(localTM, localTime);
142 #else 141 #else
143 localtime_r(localTime, localTM); 142 localtime_r(localTime, localTM);
144 #endif 143 #endif
145 } 144 }
146 #endif
147 145
148 bool isLeapYear(int year) 146 bool isLeapYear(int year)
149 { 147 {
150 if (year % 4 != 0) 148 if (year % 4 != 0)
151 return false; 149 return false;
152 if (year % 400 == 0) 150 if (year % 400 == 0)
153 return true; 151 return true;
154 if (year % 100 == 0) 152 if (year % 100 == 0)
155 return false; 153 return false;
156 return true; 154 return true;
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 411
414 return static_cast<int32_t>(utcOffset * 1000); 412 return static_cast<int32_t>(utcOffset * 1000);
415 #endif 413 #endif
416 } 414 }
417 415
418 /* 416 /*
419 * Get the DST offset for the time passed in. 417 * Get the DST offset for the time passed in.
420 */ 418 */
421 static double calculateDSTOffsetSimple(double localTimeSeconds, double utcOffset ) 419 static double calculateDSTOffsetSimple(double localTimeSeconds, double utcOffset )
422 { 420 {
423 #if OS(WINCE)
424 UNUSED_PARAM(localTimeSeconds);
425 UNUSED_PARAM(utcOffset);
426 return 0;
427 #else
428 if (localTimeSeconds > maxUnixTime) 421 if (localTimeSeconds > maxUnixTime)
429 localTimeSeconds = maxUnixTime; 422 localTimeSeconds = maxUnixTime;
430 else if (localTimeSeconds < 0) // Go ahead a day to make localtime work (doe s not work with 0) 423 else if (localTimeSeconds < 0) // Go ahead a day to make localtime work (doe s not work with 0)
431 localTimeSeconds += secondsPerDay; 424 localTimeSeconds += secondsPerDay;
432 425
433 //input is UTC so we have to shift back to local time to determine DST thus the + getUTCOffset() 426 //input is UTC so we have to shift back to local time to determine DST thus the + getUTCOffset()
434 double offsetTime = (localTimeSeconds * msPerSecond) + utcOffset; 427 double offsetTime = (localTimeSeconds * msPerSecond) + utcOffset;
435 428
436 // Offset from UTC but doesn't include DST obviously 429 // Offset from UTC but doesn't include DST obviously
437 int offsetHour = msToHours(offsetTime); 430 int offsetHour = msToHours(offsetTime);
438 int offsetMinute = msToMinutes(offsetTime); 431 int offsetMinute = msToMinutes(offsetTime);
439 432
440 // FIXME: time_t has a potential problem in 2038 433 // FIXME: time_t has a potential problem in 2038
441 time_t localTime = static_cast<time_t>(localTimeSeconds); 434 time_t localTime = static_cast<time_t>(localTimeSeconds);
442 435
443 tm localTM; 436 tm localTM;
444 getLocalTime(&localTime, &localTM); 437 getLocalTime(&localTime, &localTM);
445 438
446 double diff = ((localTM.tm_hour - offsetHour) * secondsPerHour) + ((localTM. tm_min - offsetMinute) * 60); 439 double diff = ((localTM.tm_hour - offsetHour) * secondsPerHour) + ((localTM. tm_min - offsetMinute) * 60);
447 440
448 if (diff < 0) 441 if (diff < 0)
449 diff += secondsPerDay; 442 diff += secondsPerDay;
450 443
451 return (diff * msPerSecond); 444 return (diff * msPerSecond);
452 #endif
453 } 445 }
454 446
455 // Get the DST offset, given a time in UTC 447 // Get the DST offset, given a time in UTC
456 double calculateDSTOffset(double ms, double utcOffset) 448 double calculateDSTOffset(double ms, double utcOffset)
457 { 449 {
458 // On Mac OS X, the call to localtime (see calculateDSTOffsetSimple) will re turn historically accurate 450 // On Mac OS X, the call to localtime (see calculateDSTOffsetSimple) will re turn historically accurate
459 // DST information (e.g. New Zealand did not have DST from 1946 to 1974) how ever the JavaScript 451 // DST information (e.g. New Zealand did not have DST from 1946 to 1974) how ever the JavaScript
460 // standard explicitly dictates that historical information should not be co nsidered when 452 // standard explicitly dictates that historical information should not be co nsidered when
461 // determining DST. For this reason we shift away from years that localtime can handle but would 453 // determining DST. For this reason we shift away from years that localtime can handle but would
462 // return historically accurate information. 454 // return historically accurate information.
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 1093
1102 stringBuilder.append(utcOffset > 0 ? '+' : '-'); 1094 stringBuilder.append(utcOffset > 0 ? '+' : '-');
1103 int absoluteUTCOffset = abs(utcOffset); 1095 int absoluteUTCOffset = abs(utcOffset);
1104 stringBuilder.append(twoDigitStringFromNumber(absoluteUTCOffset / 60)); 1096 stringBuilder.append(twoDigitStringFromNumber(absoluteUTCOffset / 60));
1105 stringBuilder.append(twoDigitStringFromNumber(absoluteUTCOffset % 60)); 1097 stringBuilder.append(twoDigitStringFromNumber(absoluteUTCOffset % 60));
1106 1098
1107 return stringBuilder.toString(); 1099 return stringBuilder.toString();
1108 } 1100 }
1109 1101
1110 } // namespace WTF 1102 } // namespace WTF
OLDNEW
« no previous file with comments | « Source/wtf/DataLog.cpp ('k') | Source/wtf/OSAllocator.h » ('j') | Source/wtf/OSAllocator.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698