Index: Source/core/workers/WorkerLanguageTasks.cpp |
diff --git a/Source/core/workers/WorkerLanguageTasks.cpp b/Source/core/workers/WorkerLanguageTasks.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0be3feb84ad9c56086e1520b5b579ce3806ee744 |
--- /dev/null |
+++ b/Source/core/workers/WorkerLanguageTasks.cpp |
@@ -0,0 +1,55 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "config.h" |
+ |
+#include "core/workers/WorkerLanguageTasks.h" |
+ |
+#include "core/events/Event.h" |
+#include "core/workers/WorkerGlobalScope.h" |
+#include "core/workers/WorkerNavigator.h" |
+ |
+ |
+namespace blink { |
+ |
+PassOwnPtr<WorkerThreadSetUserPreferredLanguagesTask> WorkerThreadSetUserPreferredLanguagesTask::create(const Vector<String>& languages) |
+{ |
+ return adoptPtr(new WorkerThreadSetUserPreferredLanguagesTask(languages)); |
+} |
+ |
+void WorkerThreadSetUserPreferredLanguagesTask::performTask(ExecutionContext *context) |
+{ |
+ WorkerGlobalScope* workerGlobalScope = toWorkerGlobalScope(context); |
+ |
+ // Get the navigator and set the default language & user preferred languages |
+ workerGlobalScope->navigator()->setUserPreferredLanguagesForWorkers(m_languages); |
+} |
+ |
+WorkerThreadSetUserPreferredLanguagesTask::WorkerThreadSetUserPreferredLanguagesTask(const Vector<String>& languages) |
+{ |
+ ASSERT(languages.size() > 0); |
+ m_languages = languages; |
+} |
+ |
+//---- |
+ |
+PassOwnPtr<WorkerThreadAcceptLanguagesChangedTask> WorkerThreadAcceptLanguagesChangedTask::create() |
+{ |
+ return adoptPtr(new WorkerThreadAcceptLanguagesChangedTask()); |
+} |
+ |
+void WorkerThreadAcceptLanguagesChangedTask::performTask(ExecutionContext *context) |
+{ |
+ WorkerGlobalScope* workerGlobalScope = toWorkerGlobalScope(context); |
+ |
+ // Get the navigator and set the default language & user preferred langauges |
+ workerGlobalScope->navigator()->setLanguagesChanged(); |
+ workerGlobalScope->dispatchEvent(Event::create(EventTypeNames::languagechange)); |
+} |
+ |
+WorkerThreadAcceptLanguagesChangedTask::WorkerThreadAcceptLanguagesChangedTask() |
+{ |
+} |
+ |
+} |