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

Unified Diff: src/js/i18n.js

Issue 1985423003: Invalidate defaultObjects if timezone changes (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fixes after review+DateCacheVersion should be called each time in checkDateCacheCurrent Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/runtime/runtime.h » ('j') | test/cctest/test-date.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/js/i18n.js
diff --git a/src/js/i18n.js b/src/js/i18n.js
index b3a0f5b6ebd1783b8b884c462f207b82bcaf8cff..5836a05cae11709f6c14ee669c5b7f547eb19a2a 100644
--- a/src/js/i18n.js
+++ b/src/js/i18n.js
@@ -1989,6 +1989,23 @@ var defaultObjects = {
'dateformattime': UNDEFINED,
};
+function clearDefaultObjects() {
+ defaultObjects['dateformatall'] = UNDEFINED;
+ defaultObjects['dateformatdate'] = UNDEFINED;
+ defaultObjects['dateformattime'] = UNDEFINED;
+}
+
+var date_cache_version = 0;
+
+function checkDateCacheCurrent() {
+ var date_cache_version_holder = %DateCacheVersion();
jungshik at Google 2016/05/19 23:11:58 nit: What's returned by DateCacheVersion is not a
pgorszkowski 2016/05/20 13:14:56 Done.
+ if (date_cache_version_holder == date_cache_version) {
+ return;
+ }
+ date_cache_version = date_cache_version_holder;
+
+ clearDefaultObjects();
+}
/**
* Returns cached or newly created instance of a given service.
@@ -1997,6 +2014,7 @@ var defaultObjects = {
function cachedOrNewService(service, locales, options, defaults) {
var useOptions = (IS_UNDEFINED(defaults)) ? options : defaults;
if (IS_UNDEFINED(locales) && IS_UNDEFINED(options)) {
+ checkDateCacheCurrent();
if (IS_UNDEFINED(defaultObjects[service])) {
defaultObjects[service] = new savedObjects[service](locales, useOptions);
}
« no previous file with comments | « no previous file | src/runtime/runtime.h » ('j') | test/cctest/test-date.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698