Index: chrome/browser/translate/cld_data_harness_factory.cc |
diff --git a/chrome/browser/translate/cld_data_harness_factory.cc b/chrome/browser/translate/cld_data_harness_factory.cc |
deleted file mode 100644 |
index 607e941932ab401c1c61f0cd89475dc988800245..0000000000000000000000000000000000000000 |
--- a/chrome/browser/translate/cld_data_harness_factory.cc |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-// 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 "chrome/browser/translate/cld_data_harness_factory.h" |
- |
-#include "base/lazy_instance.h" |
-#include "chrome/browser/translate/component_cld_data_harness.h" |
-#include "chrome/browser/translate/standalone_cld_data_harness.h" |
-#include "components/translate/content/browser/browser_cld_utils.h" |
-#include "components/translate/content/common/cld_data_source.h" |
- |
-namespace { |
- |
-// This is the global instance managed by Get/Set |
-test::CldDataHarnessFactory* g_instance = NULL; |
- |
-// The following three instances are used to "cheat" in Create(). Each of them |
-// is just an instance of this class, but because they are singletons they can |
-// be compared using "this" to pick different behaviors in Create() at runtime. |
-// This avoids the need to explicitly define boilerplate classes with no |
-// significant value. |
-// |
-// Embedders can of course specify a different implementation of this class |
-// using Set(CldDataHarnessFactory*), in which case Create() will have whatever |
-// custom behavior is desired. |
-base::LazyInstance<test::CldDataHarnessFactory>::Leaky g_wrapped_component = |
- LAZY_INSTANCE_INITIALIZER; |
-base::LazyInstance<test::CldDataHarnessFactory>::Leaky g_wrapped_standalone = |
- LAZY_INSTANCE_INITIALIZER; |
-base::LazyInstance<test::CldDataHarnessFactory>::Leaky g_wrapped_static = |
- LAZY_INSTANCE_INITIALIZER; |
- |
-} // namespace |
- |
-namespace test { |
- |
-std::unique_ptr<CldDataHarness> CldDataHarnessFactory::CreateCldDataHarness() { |
- // Cheat: Since the three "canned" implementations are all well-known, just |
- // check to see if "this" points to one of the singletons and then return |
- // the right answer. Embedder-provided CldDataHarnessFactory implementations |
- // will of course not have this behavior. |
- if (this == GetStaticDataHarnessFactory()) { |
- return CldDataHarness::CreateStaticDataHarness(); |
- } |
- if (this == GetStandaloneDataHarnessFactory()) { |
- return CldDataHarness::CreateStandaloneDataHarness(); |
- } |
- if (this == GetComponentDataHarnessFactory()) { |
- return CldDataHarness::CreateComponentDataHarness(); |
- } |
- |
- // Embedder did something wrong, failed to override this method. |
- NOTREACHED() << "Subclass failed to override CreateCldDataHarness()"; |
- return CldDataHarness::CreateStaticDataHarness(); |
-} |
- |
-CldDataHarnessFactory* CldDataHarnessFactory::Get() { |
- // First honor any factory set by the embedder. |
- if (g_instance != NULL) return g_instance; |
- |
- // Fall back to defaults: try to find a compatible harness for the currently- |
- // configured CldDataSource. |
- translate::BrowserCldUtils::ConfigureDefaultDataProvider(); |
- if (translate::CldDataSource::IsUsingStaticDataSource()) { |
- return GetStaticDataHarnessFactory(); |
- } |
- if (translate::CldDataSource::IsUsingComponentDataSource()) { |
- return GetComponentDataHarnessFactory(); |
- } |
- if (translate::CldDataSource::IsUsingStandaloneDataSource()) { |
- return GetStandaloneDataHarnessFactory(); |
- } |
- |
- // The CldDataSource must have been set by an embedder, but the embedder has |
- // not configured a corresponding CldDataHarnessFactory. This is an error; the |
- // embedder must specify a harness that works with the corresponding |
- // CldDataSource. Crash for debug builds and return a no-op harness for |
- // everything else. |
- NOTREACHED() << "No CLD data harness factory was configured!"; |
- return GetStaticDataHarnessFactory(); |
-} |
- |
-// static |
-void CldDataHarnessFactory::Set(CldDataHarnessFactory* instance) { |
- g_instance = instance; |
-} |
- |
-// static |
-CldDataHarnessFactory* |
-CldDataHarnessFactory::GetStaticDataHarnessFactory() { |
- return &g_wrapped_static.Get(); |
-} |
- |
-// static |
-CldDataHarnessFactory* |
-CldDataHarnessFactory::GetStandaloneDataHarnessFactory() { |
- return &g_wrapped_standalone.Get(); |
-} |
- |
-// static |
-CldDataHarnessFactory* |
-CldDataHarnessFactory::GetComponentDataHarnessFactory() { |
- return &g_wrapped_component.Get(); |
-} |
- |
-} // namespace test |